fix(ci): update
This commit is contained in:
parent
58d4d17e8a
commit
c06ac22a59
@ -3,14 +3,14 @@ image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- .npmci_cache/
|
||||
key: "$CI_BUILD_STAGE"
|
||||
- .npmci_cache/
|
||||
key: '$CI_BUILD_STAGE'
|
||||
|
||||
stages:
|
||||
- security
|
||||
- test
|
||||
- release
|
||||
- metadata
|
||||
- security
|
||||
- test
|
||||
- release
|
||||
- metadata
|
||||
|
||||
# ====================
|
||||
# security stage
|
||||
@ -18,48 +18,65 @@ stages:
|
||||
mirror:
|
||||
stage: security
|
||||
script:
|
||||
- npmci git mirror
|
||||
- npmci git mirror
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
snyk:
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-node:snyk
|
||||
stage: security
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci command npm install -g snyk
|
||||
- npmci command npm install --ignore-scripts
|
||||
- npmci command snyk test
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
# ====================
|
||||
# test stage
|
||||
# ====================
|
||||
|
||||
testLTS:
|
||||
testStable:
|
||||
stage: test
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci node install lts
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- priv
|
||||
|
||||
testBuild:
|
||||
stage: test
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci command npm run build
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
release:
|
||||
stage: release
|
||||
script:
|
||||
- npmci node install lts
|
||||
- npmci npm publish
|
||||
- npmci node install stable
|
||||
- npmci npm publish
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
# ====================
|
||||
# metadata stage
|
||||
@ -69,31 +86,35 @@ codequality:
|
||||
allow_failure: true
|
||||
script:
|
||||
- npmci command npm install -g tslint typescript
|
||||
- npmci npm prepare
|
||||
- npmci npm install
|
||||
- npmci command "tslint -c tslint.json ./ts/**/*.ts"
|
||||
tags:
|
||||
- docker
|
||||
- priv
|
||||
- lossless
|
||||
- docker
|
||||
- priv
|
||||
|
||||
trigger:
|
||||
stage: metadata
|
||||
script:
|
||||
- npmci trigger
|
||||
- npmci trigger
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
pages:
|
||||
image: hosttoday/ht-docker-node:npmci
|
||||
stage: metadata
|
||||
script:
|
||||
- npmci node install lts
|
||||
- npmci command npm install -g @gitzone/tsdoc
|
||||
- npmci npm prepare
|
||||
- npmci npm install
|
||||
- npmci command tsdoc
|
||||
tags:
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
only:
|
||||
@ -101,5 +122,5 @@ pages:
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- public
|
||||
- public
|
||||
allow_failure: true
|
||||
|
53
README.md
53
README.md
@ -1,53 +0,0 @@
|
||||
# @pushrocks/smarthash
|
||||
simplifies access to node hash functions
|
||||
|
||||
## Availabililty and Links
|
||||
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smarthash)
|
||||
* [gitlab.com (source)](https://gitlab.com/pushrocks/smarthash)
|
||||
* [github.com (source mirror)](https://github.com/pushrocks/smarthash)
|
||||
* [docs (typedoc)](https://pushrocks.gitlab.io/smarthash/)
|
||||
|
||||
## Status for master
|
||||
[![build status](https://gitlab.com/pushrocks/smarthash/badges/master/build.svg)](https://gitlab.com/pushrocks/smarthash/commits/master)
|
||||
[![coverage report](https://gitlab.com/pushrocks/smarthash/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smarthash/commits/master)
|
||||
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smarthash.svg)](https://www.npmjs.com/package/@pushrocks/smarthash)
|
||||
[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/smarthash/badge.svg)](https://snyk.io/test/npm/@pushrocks/smarthash)
|
||||
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
|
||||
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
|
||||
|
||||
## Usage
|
||||
|
||||
We recommend the use of TypeScript for best in class intellisense.
|
||||
|
||||
```typescript
|
||||
import * as nodehash from "nodehash";
|
||||
|
||||
// from stream
|
||||
let readStream = fs.createReadStream("./somefile.txt")
|
||||
nodehash.sha256FromStream(readStream)
|
||||
.then((resultString){
|
||||
console.log(resultString); // prints hash of the file
|
||||
});
|
||||
|
||||
// from file
|
||||
nodehash.sha256FromFile("./somefile.txt")
|
||||
.then((resultString){
|
||||
console.log(resultString); // prints hash of the file
|
||||
});
|
||||
|
||||
// from string
|
||||
nodehash.sha256FromString("some weird random string")
|
||||
.then((resultString){
|
||||
console.log(resultString); // prints hash of the file
|
||||
});
|
||||
|
||||
let hashString = nodehash.sha256FromStringSync("some weird random string");
|
||||
```
|
||||
|
||||
For further information read the linked docs at the top of this readme.
|
||||
|
||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
|
||||
|
||||
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)
|
13
package.json
13
package.json
@ -44,13 +44,14 @@
|
||||
"through2": "^3.0.1"
|
||||
},
|
||||
"files": [
|
||||
"ts/*",
|
||||
"ts_web/*",
|
||||
"dist/*",
|
||||
"dist_web/*",
|
||||
"assets/*",
|
||||
"ts/**/*",
|
||||
"ts_web/**/*",
|
||||
"dist/**/*",
|
||||
"dist_web/**/*",
|
||||
"dist_ts_web/**/*",
|
||||
"assets/**/*",
|
||||
"cli.js",
|
||||
"npmextra.json",
|
||||
"readme.md"
|
||||
]
|
||||
}
|
||||
}
|
12
test/test.ts
12
test/test.ts
@ -30,18 +30,18 @@ tap.test('sha256fromFile should convert a Stream to sha256', async () => {
|
||||
|
||||
tap.test('should produce reproducible hash from Object', async () => {
|
||||
const hash1 = await smarthash.sha265FromObject({
|
||||
'hithere': 1,
|
||||
'wow': 'two'
|
||||
hithere: 1,
|
||||
wow: 'two'
|
||||
});
|
||||
|
||||
const hash2 = await smarthash.sha265FromObject({
|
||||
'wow': 'two',
|
||||
'hithere': 1,
|
||||
wow: 'two',
|
||||
hithere: 1
|
||||
});
|
||||
|
||||
const hash3 = await smarthash.sha265FromObject({
|
||||
'wow': 'twoe',
|
||||
'hithere': 1,
|
||||
wow: 'twoe',
|
||||
hithere: 1
|
||||
});
|
||||
expect(hash1).to.equal(hash2);
|
||||
expect(hash1).to.not.equal(hash3);
|
||||
|
@ -1,5 +1,8 @@
|
||||
import * as plugins from './nodehash.plugins';
|
||||
|
||||
export const md5FromString = async (stringToHash: string) => {
|
||||
return plugins.crypto.createHash('md5').update(stringToHash).digest("hex");
|
||||
return plugins.crypto
|
||||
.createHash('md5')
|
||||
.update(stringToHash)
|
||||
.digest('hex');
|
||||
};
|
||||
|
@ -4,25 +4,15 @@ import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as stream from 'stream';
|
||||
|
||||
export {
|
||||
crypto,
|
||||
fs,
|
||||
path,
|
||||
stream
|
||||
};
|
||||
export { crypto, fs, path, stream };
|
||||
|
||||
// pushrocks scope
|
||||
import * as smartpromise from '@pushrocks/smartpromise';
|
||||
import * as smartjson from '@pushrocks/smartjson';
|
||||
|
||||
export {
|
||||
smartpromise,
|
||||
smartjson
|
||||
};
|
||||
export { smartpromise, smartjson };
|
||||
|
||||
// thirdparty scope
|
||||
import through2 from 'through2';
|
||||
|
||||
export {
|
||||
through2
|
||||
};
|
||||
export { through2 };
|
||||
|
@ -35,7 +35,7 @@ export let sha256FromStringSync = (stringArg): string => {
|
||||
/**
|
||||
* Computes sha256 Hash from String
|
||||
*/
|
||||
export const sha256FromString = async(stringArg: string): Promise<string> => {
|
||||
export const sha256FromString = async (stringArg: string): Promise<string> => {
|
||||
const hash = plugins.crypto.createHash('sha256');
|
||||
hash.update(stringArg);
|
||||
const hashResult = hash.digest('hex');
|
||||
|
Loading…
Reference in New Issue
Block a user