fix(npm publishing): update
This commit is contained in:
		
							
								
								
									
										109
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @@ -3,69 +3,140 @@ image: hosttoday/ht-docker-node:npmci | |||||||
|  |  | ||||||
| cache: | cache: | ||||||
|   paths: |   paths: | ||||||
|   - .yarn/ |   - .npmci_cache/ | ||||||
|   key: "$CI_BUILD_STAGE" |   key: "$CI_BUILD_STAGE" | ||||||
|  |  | ||||||
| stages: | stages: | ||||||
|  | - security | ||||||
| - test | - test | ||||||
| - release | - release | ||||||
| - trigger | - metadata | ||||||
| - pages |  | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # security stage | ||||||
|  | # ==================== | ||||||
|  | mirror: | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |   - npmci git mirror | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | snyk: | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |     - npmci command npm install -g snyk | ||||||
|  |     - npmci command npm install --ignore-scripts | ||||||
|  |     - npmci command snyk test | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # test stage | ||||||
|  | # ==================== | ||||||
| testLEGACY: | testLEGACY: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|     - npmci test legacy |   - npmci node install legacy | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|     - docker |   - docker | ||||||
|  |   - notpriv | ||||||
|   allow_failure: true |   allow_failure: true | ||||||
|  |  | ||||||
| testLTS: | testLTS: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|     - npmci test lts |   - npmci node install lts | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|     - docker |   - docker | ||||||
|  |   - notpriv | ||||||
|      |      | ||||||
| testSTABLE: | testSTABLE: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|     - npmci test stable |   - npmci node install stable | ||||||
|  |   - npmci npm install | ||||||
|  |   - npmci npm test | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|     - docker |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
| release: | release: | ||||||
|   stage: release |   stage: release | ||||||
|   script: |   script: | ||||||
|     - npmci publish |   - npmci node install stable | ||||||
|  |   - npmci npm publish | ||||||
|   only: |   only: | ||||||
|     - tags |   - tags | ||||||
|   tags: |   tags: | ||||||
|     - docker |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
|  | # ==================== | ||||||
|  | # metadata stage | ||||||
|  | # ==================== | ||||||
|  | codequality: | ||||||
|  |   stage: metadata | ||||||
|  |   image: docker:stable | ||||||
|  |   allow_failure: true | ||||||
|  |   services: | ||||||
|  |     - docker:stable-dind | ||||||
|  |   script: | ||||||
|  |     - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/') | ||||||
|  |     - docker run | ||||||
|  |         --env SOURCE_CODE="$PWD" | ||||||
|  |         --volume "$PWD":/code | ||||||
|  |         --volume /var/run/docker.sock:/var/run/docker.sock | ||||||
|  |         "registry.gitlab.com/gitlab-org/security-products/codequality:$SP_VERSION" /code | ||||||
|  |   artifacts: | ||||||
|  |     paths: [codeclimate.json] | ||||||
|  |   tags: | ||||||
|  |   - docker | ||||||
|  |   - priv | ||||||
|  |  | ||||||
| trigger: | trigger: | ||||||
|   stage: trigger |   stage: metadata | ||||||
|   script: |   script: | ||||||
|     - npmci trigger |   - npmci trigger | ||||||
|   only: |   only: | ||||||
|     - tags |   - tags | ||||||
|   tags: |   tags: | ||||||
|     - docker |   - docker | ||||||
|  |   - notpriv | ||||||
|  |  | ||||||
| pages: | pages: | ||||||
|   image: hosttoday/ht-docker-node:npmci |   image: hosttoday/ht-docker-node:npmci | ||||||
|   stage: pages |   stage: metadata | ||||||
|   script: |   script: | ||||||
|     - npmci command yarn global add npmpage |     - npmci command npm install -g typedoc typescript | ||||||
|     - npmci command npmpage |     - npmci npm install | ||||||
|  |     - npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/ | ||||||
|   tags: |   tags: | ||||||
|     - docker |     - docker | ||||||
|  |     - notpriv | ||||||
|   only: |   only: | ||||||
|     - tags |     - tags | ||||||
|   artifacts: |   artifacts: | ||||||
|     expire_in: 1 week |     expire_in: 1 week | ||||||
|     paths: |     paths: | ||||||
|     - public |     - public | ||||||
|  |   allow_failure: true | ||||||
|  |  | ||||||
|  | windowsCompatibility: | ||||||
|  |   image: stefanscherer/node-windows:10-build-tools | ||||||
|  |   stage: metadata | ||||||
|  |   script: | ||||||
|  |   - npm install & npm test | ||||||
|  |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|  |   tags: | ||||||
|  |   - windows | ||||||
|  |   allow_failure: true | ||||||
|   | |||||||
| @@ -1,13 +1,16 @@ | |||||||
| # smartacme | # smartacme | ||||||
|  |  | ||||||
| acme implementation in TypeScript | acme implementation in TypeScript | ||||||
|  |  | ||||||
| ## Availabililty | ## Availabililty | ||||||
|  |  | ||||||
| [](https://www.npmjs.com/package/smartacme) | [](https://www.npmjs.com/package/smartacme) | ||||||
| [](https://GitLab.com/umbrellazone/smartacme) | [](https://GitLab.com/umbrellazone/smartacme) | ||||||
| [](https://github.com/umbrellazone/smartacme) | [](https://github.com/umbrellazone/smartacme) | ||||||
| [](https://umbrellazone.gitlab.io/smartacme/) | [](https://umbrellazone.gitlab.io/smartacme/) | ||||||
|  |  | ||||||
| ## Status for master | ## Status for master | ||||||
|  |  | ||||||
| [](https://GitLab.com/umbrellazone/smartacme/commits/master) | [](https://GitLab.com/umbrellazone/smartacme/commits/master) | ||||||
| [](https://GitLab.com/umbrellazone/smartacme/commits/master) | [](https://GitLab.com/umbrellazone/smartacme/commits/master) | ||||||
| [](https://www.npmjs.com/package/smartacme) | [](https://www.npmjs.com/package/smartacme) | ||||||
| @@ -19,11 +22,12 @@ acme implementation in TypeScript | |||||||
| [](http://standardjs.com/) | [](http://standardjs.com/) | ||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| Use TypeScript for best in class instellisense. | Use TypeScript for best in class instellisense. | ||||||
|  |  | ||||||
| For further information read the linked docs at the top of this README. | For further information read the linked docs at the top of this README. | ||||||
|  |  | ||||||
| > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) | > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) | ||||||
| | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | > | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | ||||||
|  |  | ||||||
| [](https://umbrella.zone) | [](https://umbrella.zone) | ||||||
|   | |||||||
| @@ -1,13 +1,16 @@ | |||||||
| # smartacme | # smartacme | ||||||
|  |  | ||||||
| acme implementation in TypeScript | acme implementation in TypeScript | ||||||
|  |  | ||||||
| ## Availabililty | ## Availabililty | ||||||
|  |  | ||||||
| [](https://www.npmjs.com/package/smartacme) | [](https://www.npmjs.com/package/smartacme) | ||||||
| [](https://GitLab.com/umbrellazone/smartacme) | [](https://GitLab.com/umbrellazone/smartacme) | ||||||
| [](https://github.com/umbrellazone/smartacme) | [](https://github.com/umbrellazone/smartacme) | ||||||
| [](https://umbrellazone.gitlab.io/smartacme/) | [](https://umbrellazone.gitlab.io/smartacme/) | ||||||
|  |  | ||||||
| ## Status for master | ## Status for master | ||||||
|  |  | ||||||
| [](https://GitLab.com/umbrellazone/smartacme/commits/master) | [](https://GitLab.com/umbrellazone/smartacme/commits/master) | ||||||
| [](https://GitLab.com/umbrellazone/smartacme/commits/master) | [](https://GitLab.com/umbrellazone/smartacme/commits/master) | ||||||
| [](https://www.npmjs.com/package/smartacme) | [](https://www.npmjs.com/package/smartacme) | ||||||
| @@ -19,41 +22,42 @@ acme implementation in TypeScript | |||||||
| [](http://standardjs.com/) | [](http://standardjs.com/) | ||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| Use TypeScript for best in class instellisense. | Use TypeScript for best in class instellisense. | ||||||
|  |  | ||||||
| ```javascript | ```javascript | ||||||
| import { SmartAcme } from 'smartacme' | import { SmartAcme } from 'smartacme'; | ||||||
|  |  | ||||||
| let smac = new SmartAcme() | let smac = new SmartAcme()(async () => { | ||||||
|  |   // learn async/await, it'll make your life easier | ||||||
|  |  | ||||||
| (async () => { // learn async/await, it'll make your life easier |   // optionally accepts a filePath Arg with a stored acmeaccount.json | ||||||
|  |   // will create an account and | ||||||
|  |   let myAccount = await smac.createAcmeAccount(); | ||||||
|  |  | ||||||
|     // optionally accepts a filePath Arg with a stored acmeaccount.json |   // will return a dnsHash to set in your DNS record | ||||||
|     // will create an account and  |   let myCert = await myAccount.createAcmeCert('example.com'); | ||||||
|     let myAccount = await smac.createAcmeAccount() |  | ||||||
|      |  | ||||||
|     // will return a dnsHash to set in your DNS record |  | ||||||
|     let myCert = await myAccount.createAcmeCert('example.com') |  | ||||||
|  |  | ||||||
|     // gets and accepts the specified challenge |   // gets and accepts the specified challenge | ||||||
|     // first argument optional, defaults to dns-01 (which is the cleanest method for production use) |   // first argument optional, defaults to dns-01 (which is the cleanest method for production use) | ||||||
|     let myChallenge = await myCert.getChallenge('dns-01') |   let myChallenge = await myCert.getChallenge('dns-01'); | ||||||
|  |  | ||||||
|     /* ---------- |   /* ---------- | ||||||
|     Now you need to set the challenge in your DNS |     Now you need to set the challenge in your DNS | ||||||
|     myChallenge.domainNamePrefixed is the address for the record |     myChallenge.domainNamePrefixed is the address for the record | ||||||
|     myChallenge.dnsKeyHash is the ready to use txt record value expected by letsencrypt |     myChallenge.dnsKeyHash is the ready to use txt record value expected by letsencrypt | ||||||
|     -------------*/ |     -------------*/ | ||||||
| })() | })(); | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| ## Other relevant npm modules | ## Other relevant npm modules | ||||||
| module name | description |  | ||||||
| --- | --- | | module name | description                                                         | | ||||||
| cert | a higlevel production module that uses smartacme to manage certs | | ----------- | ------------------------------------------------------------------- | | ||||||
| smartnginx | a highlevel production tool for docker environments to manage nginx  | | cert        | a higlevel production module that uses smartacme to manage certs    | | ||||||
|  | | smartnginx  | a highlevel production tool for docker environments to manage nginx | | ||||||
|  |  | ||||||
| > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) | > MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) | ||||||
| | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | > | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html) | ||||||
|  |  | ||||||
| [](https://umbrella.zone | [](https://umbrella.zone | ||||||
|   | |||||||
| @@ -1,7 +1,6 @@ | |||||||
| { | { | ||||||
|     "npmci": { |   "npmci": { | ||||||
|         "globalNpmTools": [ |     "npmGlobalTools": [], | ||||||
|             "npmts" |     "npmAccessLevel": "public" | ||||||
|         ] |   } | ||||||
|     } | } | ||||||
| } |  | ||||||
|   | |||||||
| @@ -1,11 +1,13 @@ | |||||||
| { | { | ||||||
|   "name": "smartacme", |   "name": "smartacme", | ||||||
|   "version": "1.1.1", |   "version": "1.1.1", | ||||||
|  |   "private": false, | ||||||
|   "description": "acme implementation in TypeScript", |   "description": "acme implementation in TypeScript", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|   "typings": "dist/index.d.ts", |   "typings": "dist/index.d.ts", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "test": "(tstest test/)" |     "test": "(tstest test/)", | ||||||
|  |     "build": "echo \"Not needed for now\"" | ||||||
|   }, |   }, | ||||||
|   "repository": { |   "repository": { | ||||||
|     "type": "git", |     "type": "git", | ||||||
| @@ -37,4 +39,4 @@ | |||||||
|     "qenv": "^1.1.7", |     "qenv": "^1.1.7", | ||||||
|     "tapbundle": "^2.0.2" |     "tapbundle": "^2.0.2" | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -4,11 +4,11 @@ import * as smartacme from '../ts/index'; | |||||||
|  |  | ||||||
| let smartAcmeInstance: smartacme.SmartAcme; | let smartAcmeInstance: smartacme.SmartAcme; | ||||||
|  |  | ||||||
| tap.test('should create a valid instance of SmartAcme' , async () => { | tap.test('should create a valid instance of SmartAcme', async () => { | ||||||
|   smartAcmeInstance = new smartacme.SmartAcme(); |   smartAcmeInstance = new smartacme.SmartAcme(); | ||||||
|   await smartAcmeInstance.init() |   await smartAcmeInstance.init(); | ||||||
|   console.log(smartAcmeInstance.directoryUrls); |   console.log(smartAcmeInstance.directoryUrls); | ||||||
|   await smartAcmeInstance.getCertificateForDomain('bleu.de'); |   await smartAcmeInstance.getCertificateForDomain('bleu.de'); | ||||||
| }) | }); | ||||||
|  |  | ||||||
| tap.start(); | tap.start(); | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from './smartacme.classes.smartacme' | export * from './smartacme.classes.smartacme'; | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ import * as plugins from './smartacme.plugins'; | |||||||
| const rsa = require('rsa-compat').RSA; | const rsa = require('rsa-compat').RSA; | ||||||
|  |  | ||||||
| export class KeyPair { | export class KeyPair { | ||||||
|   rsaKeyPair: any |   rsaKeyPair: any; | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * generates a fresh rsa keyPair |    * generates a fresh rsa keyPair | ||||||
| @@ -11,7 +11,7 @@ export class KeyPair { | |||||||
|     const done = plugins.smartpromise.defer(); |     const done = plugins.smartpromise.defer(); | ||||||
|     var options = { bitlen: 2048, exp: 65537, public: true, pem: true, internal: true }; |     var options = { bitlen: 2048, exp: 65537, public: true, pem: true, internal: true }; | ||||||
|     rsa.generateKeypair(options, function(err, keypair) { |     rsa.generateKeypair(options, function(err, keypair) { | ||||||
|       if(err) { |       if (err) { | ||||||
|         console.log(err); |         console.log(err); | ||||||
|       } |       } | ||||||
|       done.resolve(keypair); |       done.resolve(keypair); | ||||||
|   | |||||||
| @@ -1,9 +1,6 @@ | |||||||
| const acme = require('acme-v2').ACME.create({ | const acme = require('acme-v2').ACME.create({ | ||||||
|   RSA: require('rsa-compat').RSA, |   RSA: require('rsa-compat').RSA, | ||||||
|  |  | ||||||
|   // other overrides |  | ||||||
|   promisify: require('util').promisify, |  | ||||||
|  |  | ||||||
|   // used for constructing user-agent |   // used for constructing user-agent | ||||||
|   os: require('os'), |   os: require('os'), | ||||||
|   process: require('process'), |   process: require('process'), | ||||||
|   | |||||||
| @@ -1,7 +1,4 @@ | |||||||
| import * as smartpromise from '@pushrocks/smartpromise'; | import * as smartpromise from '@pushrocks/smartpromise'; | ||||||
| import * as smartdelay from '@pushrocks/smartdelay'; | import * as smartdelay from '@pushrocks/smartdelay'; | ||||||
|  |  | ||||||
| export { | export { smartpromise, smartdelay }; | ||||||
|   smartpromise, |  | ||||||
|   smartdelay |  | ||||||
| } |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user