Compare commits
	
		
			14 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c1fed2c758 | |||
| 9918d81f59 | |||
| 59d8338f6e | |||
| a4f8bd3320 | |||
| 7c2fdb7224 | |||
| 37384aeb57 | |||
| 60efda263f | |||
| 19831037ec | |||
| a1d52af813 | |||
| 0a49ff9b03 | |||
| ca62326b46 | |||
| e1de0ee479 | |||
| 0dea101c07 | |||
| 380a49c59f | 
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -8,9 +8,12 @@ pages/ | ||||
| # installs | ||||
| node_modules/ | ||||
|  | ||||
| # caches and builds | ||||
| # caches | ||||
| .yarn/ | ||||
| .cache/ | ||||
| .rpt2_cache | ||||
|  | ||||
| # builds | ||||
| dist/ | ||||
| dist_web/ | ||||
| dist_serve/ | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| # gitzone standard | ||||
| image: hosttoday/ht-docker-node:npmci | ||||
| # gitzone ci_default | ||||
| image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||
|  | ||||
| cache: | ||||
|   paths: | ||||
| @@ -50,22 +50,10 @@ testLTS: | ||||
|   - docker | ||||
|   - notpriv | ||||
|  | ||||
| testSTABLE: | ||||
|   stage: test | ||||
|   script: | ||||
|   - npmci npm prepare | ||||
|   - npmci node install stable | ||||
|   - npmci npm install | ||||
|   - npmci npm test | ||||
|   coverage: /\d+.?\d+?\%\s*coverage/ | ||||
|   tags: | ||||
|   - docker | ||||
|   - notpriv | ||||
|  | ||||
| release: | ||||
|   stage: release | ||||
|   script: | ||||
|   - npmci node install stable | ||||
|   - npmci node install lts | ||||
|   - npmci npm publish | ||||
|   only: | ||||
|   - tags | ||||
| @@ -78,19 +66,11 @@ release: | ||||
| # ==================== | ||||
| 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] | ||||
|     - npmci command npm install -g tslint typescript | ||||
|     - npmci npm install | ||||
|     - npmci command "tslint -c tslint.json ./ts/**/*.ts" | ||||
|   tags: | ||||
|   - docker | ||||
|   - priv | ||||
| @@ -109,10 +89,10 @@ pages: | ||||
|   image: hosttoday/ht-docker-node:npmci | ||||
|   stage: metadata | ||||
|   script: | ||||
|     - npmci command npm install -g typedoc typescript | ||||
|     - npmci command npm install -g @gitzone/tsdoc | ||||
|     - npmci npm prepare | ||||
|     - npmci npm install | ||||
|     - npmci command typedoc --module "commonjs" --target "ES2016" --out public/ ts/ | ||||
|     - npmci command tsdoc | ||||
|   tags: | ||||
|     - docker | ||||
|     - notpriv | ||||
|   | ||||
							
								
								
									
										521
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										521
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "@shipzone/npmci", | ||||
|   "version": "3.1.27", | ||||
|   "version": "3.1.34", | ||||
|   "lockfileVersion": 1, | ||||
|   "requires": true, | ||||
|   "dependencies": { | ||||
| @@ -334,6 +334,21 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "@pushrocks/smartgit": { | ||||
|       "version": "1.0.9", | ||||
|       "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartgit/-/smartgit-1.0.9.tgz", | ||||
|       "integrity": "sha512-eOsLgMNbvM0OFXJ+fHwQpENULVcRb/Zdu24K9fC+f7fvWMGKD2CB1w9VL9aRxtURCmw8LyLeazI0hHwO6hj7JQ==", | ||||
|       "requires": { | ||||
|         "@pushrocks/smartfile": "^7.0.2", | ||||
|         "@pushrocks/smartpath": "^4.0.1", | ||||
|         "@pushrocks/smartpromise": "^3.0.2", | ||||
|         "@pushrocks/smartshell": "^2.0.23", | ||||
|         "@pushrocks/smartstring": "^3.0.10", | ||||
|         "@types/minimatch": "^3.0.3", | ||||
|         "@types/nodegit": "^0.24.8", | ||||
|         "nodegit": "^0.24.3" | ||||
|       } | ||||
|     }, | ||||
|     "@pushrocks/smarthash": { | ||||
|       "version": "2.0.4", | ||||
|       "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarthash/-/smarthash-2.0.4.tgz", | ||||
| @@ -781,6 +796,14 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.8.tgz", | ||||
|       "integrity": "sha512-b8bbUOTwzIY3V5vDTY1fIJ+ePKDUBqt2hC2woVGotdQQhG/2Sh62HOKHrT7ab+VerXAcPyAiTEipPu/FsreUtg==" | ||||
|     }, | ||||
|     "@types/nodegit": { | ||||
|       "version": "0.24.8", | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2fnodegit/-/nodegit-0.24.8.tgz", | ||||
|       "integrity": "sha512-MgeLmeBsi8sOn0IzQuw+Il4Cw71MLUNm4du44ewd5riLXbni0DZLjWx7PJO2mVegsnv0WNosXrpifQnWJjjNkg==", | ||||
|       "requires": { | ||||
|         "@types/node": "*" | ||||
|       } | ||||
|     }, | ||||
|     "@types/range-parser": { | ||||
|       "version": "1.2.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2frange-parser/-/range-parser-1.2.3.tgz", | ||||
| @@ -848,6 +871,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/@types%2fyargs/-/yargs-12.0.12.tgz", | ||||
|       "integrity": "sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==" | ||||
|     }, | ||||
|     "abbrev": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/abbrev/-/abbrev-1.1.1.tgz", | ||||
|       "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" | ||||
|     }, | ||||
|     "accepts": { | ||||
|       "version": "1.3.7", | ||||
|       "resolved": "https://verdaccio.lossless.one/accepts/-/accepts-1.3.7.tgz", | ||||
| @@ -891,6 +919,20 @@ | ||||
|         "color-convert": "^1.9.0" | ||||
|       } | ||||
|     }, | ||||
|     "aproba": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/aproba/-/aproba-1.2.0.tgz", | ||||
|       "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" | ||||
|     }, | ||||
|     "are-we-there-yet": { | ||||
|       "version": "1.1.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", | ||||
|       "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", | ||||
|       "requires": { | ||||
|         "delegates": "^1.0.0", | ||||
|         "readable-stream": "^2.0.6" | ||||
|       } | ||||
|     }, | ||||
|     "arg": { | ||||
|       "version": "4.1.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/arg/-/arg-4.1.0.tgz", | ||||
| @@ -915,6 +957,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", | ||||
|       "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" | ||||
|     }, | ||||
|     "asap": { | ||||
|       "version": "2.0.6", | ||||
|       "resolved": "https://verdaccio.lossless.one/asap/-/asap-2.0.6.tgz", | ||||
|       "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" | ||||
|     }, | ||||
|     "asn1": { | ||||
|       "version": "0.2.4", | ||||
|       "resolved": "https://verdaccio.lossless.one/asn1/-/asn1-0.2.4.tgz", | ||||
| @@ -999,6 +1046,15 @@ | ||||
|         "file-uri-to-path": "1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "bl": { | ||||
|       "version": "1.2.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/bl/-/bl-1.2.2.tgz", | ||||
|       "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", | ||||
|       "requires": { | ||||
|         "readable-stream": "^2.3.5", | ||||
|         "safe-buffer": "^5.1.1" | ||||
|       } | ||||
|     }, | ||||
|     "blob": { | ||||
|       "version": "0.0.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/blob/-/blob-0.0.5.tgz", | ||||
| @@ -1030,6 +1086,25 @@ | ||||
|         "concat-map": "0.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "buffer-alloc": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/buffer-alloc/-/buffer-alloc-1.2.0.tgz", | ||||
|       "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", | ||||
|       "requires": { | ||||
|         "buffer-alloc-unsafe": "^1.1.0", | ||||
|         "buffer-fill": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "buffer-alloc-unsafe": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", | ||||
|       "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" | ||||
|     }, | ||||
|     "buffer-fill": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/buffer-fill/-/buffer-fill-1.0.0.tgz", | ||||
|       "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" | ||||
|     }, | ||||
|     "buffer-from": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | ||||
| @@ -1038,7 +1113,7 @@ | ||||
|     }, | ||||
|     "builtin-modules": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/builtin-modules/-/builtin-modules-1.1.1.tgz", | ||||
|       "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", | ||||
|       "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", | ||||
|       "dev": true | ||||
|     }, | ||||
| @@ -1112,6 +1187,11 @@ | ||||
|       "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "chownr": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/chownr/-/chownr-1.1.1.tgz", | ||||
|       "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" | ||||
|     }, | ||||
|     "cli-cursor": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", | ||||
| @@ -1212,6 +1292,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||||
|       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" | ||||
|     }, | ||||
|     "console-control-strings": { | ||||
|       "version": "1.1.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/console-control-strings/-/console-control-strings-1.1.0.tgz", | ||||
|       "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" | ||||
|     }, | ||||
|     "content-disposition": { | ||||
|       "version": "0.5.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/content-disposition/-/content-disposition-0.5.3.tgz", | ||||
| @@ -1314,6 +1399,11 @@ | ||||
|         "type-detect": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "deep-extend": { | ||||
|       "version": "0.6.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/deep-extend/-/deep-extend-0.6.0.tgz", | ||||
|       "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" | ||||
|     }, | ||||
|     "defaults": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", | ||||
| @@ -1334,6 +1424,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||||
|       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | ||||
|     }, | ||||
|     "delegates": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/delegates/-/delegates-1.0.0.tgz", | ||||
|       "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" | ||||
|     }, | ||||
|     "depd": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/depd/-/depd-1.1.2.tgz", | ||||
| @@ -1344,6 +1439,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/destroy/-/destroy-1.0.4.tgz", | ||||
|       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | ||||
|     }, | ||||
|     "detect-libc": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/detect-libc/-/detect-libc-1.0.3.tgz", | ||||
|       "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" | ||||
|     }, | ||||
|     "diff": { | ||||
|       "version": "3.5.0", | ||||
|       "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", | ||||
| @@ -1478,7 +1578,7 @@ | ||||
|     }, | ||||
|     "esutils": { | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/esutils/-/esutils-2.0.2.tgz", | ||||
|       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", | ||||
|       "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", | ||||
|       "dev": true | ||||
|     }, | ||||
| @@ -1651,6 +1751,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/fresh/-/fresh-0.5.2.tgz", | ||||
|       "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | ||||
|     }, | ||||
|     "fs-constants": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/fs-constants/-/fs-constants-1.0.0.tgz", | ||||
|       "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" | ||||
|     }, | ||||
|     "fs-extra": { | ||||
|       "version": "7.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", | ||||
| @@ -1661,11 +1766,67 @@ | ||||
|         "universalify": "^0.1.0" | ||||
|       } | ||||
|     }, | ||||
|     "fs-minipass": { | ||||
|       "version": "1.2.6", | ||||
|       "resolved": "https://verdaccio.lossless.one/fs-minipass/-/fs-minipass-1.2.6.tgz", | ||||
|       "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", | ||||
|       "requires": { | ||||
|         "minipass": "^2.2.1" | ||||
|       } | ||||
|     }, | ||||
|     "fs.realpath": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||||
|       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" | ||||
|     }, | ||||
|     "gauge": { | ||||
|       "version": "2.7.4", | ||||
|       "resolved": "https://verdaccio.lossless.one/gauge/-/gauge-2.7.4.tgz", | ||||
|       "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", | ||||
|       "requires": { | ||||
|         "aproba": "^1.0.3", | ||||
|         "console-control-strings": "^1.0.0", | ||||
|         "has-unicode": "^2.0.0", | ||||
|         "object-assign": "^4.1.0", | ||||
|         "signal-exit": "^3.0.0", | ||||
|         "string-width": "^1.0.1", | ||||
|         "strip-ansi": "^3.0.1", | ||||
|         "wide-align": "^1.1.0" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "ansi-regex": { | ||||
|           "version": "2.1.1", | ||||
|           "resolved": "https://verdaccio.lossless.one/ansi-regex/-/ansi-regex-2.1.1.tgz", | ||||
|           "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" | ||||
|         }, | ||||
|         "is-fullwidth-code-point": { | ||||
|           "version": "1.0.0", | ||||
|           "resolved": "https://verdaccio.lossless.one/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", | ||||
|           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", | ||||
|           "requires": { | ||||
|             "number-is-nan": "^1.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "string-width": { | ||||
|           "version": "1.0.2", | ||||
|           "resolved": "https://verdaccio.lossless.one/string-width/-/string-width-1.0.2.tgz", | ||||
|           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", | ||||
|           "requires": { | ||||
|             "code-point-at": "^1.0.0", | ||||
|             "is-fullwidth-code-point": "^1.0.0", | ||||
|             "strip-ansi": "^3.0.0" | ||||
|           } | ||||
|         }, | ||||
|         "strip-ansi": { | ||||
|           "version": "3.0.1", | ||||
|           "resolved": "https://verdaccio.lossless.one/strip-ansi/-/strip-ansi-3.0.1.tgz", | ||||
|           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", | ||||
|           "requires": { | ||||
|             "ansi-regex": "^2.0.0" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "get-caller-file": { | ||||
|       "version": "1.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", | ||||
| @@ -1750,6 +1911,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||||
|       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" | ||||
|     }, | ||||
|     "has-unicode": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/has-unicode/-/has-unicode-2.0.1.tgz", | ||||
|       "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" | ||||
|     }, | ||||
|     "helmet": { | ||||
|       "version": "3.18.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/helmet/-/helmet-3.18.0.tgz", | ||||
| @@ -1855,6 +2021,14 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/ienoopen/-/ienoopen-1.1.0.tgz", | ||||
|       "integrity": "sha512-MFs36e/ca6ohEKtinTJ5VvAJ6oDRAYFdYXweUnGY9L9vcoqFOU4n2ZhmJ0C4z/cwGZ3YIQRSB3XZ1+ghZkY5NQ==" | ||||
|     }, | ||||
|     "ignore-walk": { | ||||
|       "version": "3.0.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/ignore-walk/-/ignore-walk-3.0.1.tgz", | ||||
|       "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", | ||||
|       "requires": { | ||||
|         "minimatch": "^3.0.4" | ||||
|       } | ||||
|     }, | ||||
|     "indexof": { | ||||
|       "version": "0.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", | ||||
| @@ -1874,6 +2048,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||||
|       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" | ||||
|     }, | ||||
|     "ini": { | ||||
|       "version": "1.3.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/ini/-/ini-1.3.5.tgz", | ||||
|       "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" | ||||
|     }, | ||||
|     "invert-kv": { | ||||
|       "version": "2.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", | ||||
| @@ -1970,6 +2149,14 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||||
|       "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||||
|     }, | ||||
|     "json5": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/json5/-/json5-2.1.0.tgz", | ||||
|       "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", | ||||
|       "requires": { | ||||
|         "minimist": "^1.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "jsonfile": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", | ||||
| @@ -2207,23 +2394,37 @@ | ||||
|     "minimist": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | ||||
|       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", | ||||
|       "dev": true | ||||
|       "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" | ||||
|     }, | ||||
|     "minipass": { | ||||
|       "version": "2.3.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/minipass/-/minipass-2.3.5.tgz", | ||||
|       "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", | ||||
|       "requires": { | ||||
|         "safe-buffer": "^5.1.2", | ||||
|         "yallist": "^3.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "minizlib": { | ||||
|       "version": "1.2.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/minizlib/-/minizlib-1.2.1.tgz", | ||||
|       "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", | ||||
|       "requires": { | ||||
|         "minipass": "^2.2.1" | ||||
|       } | ||||
|     }, | ||||
|     "mkdirp": { | ||||
|       "version": "0.5.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/mkdirp/-/mkdirp-0.5.1.tgz", | ||||
|       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | ||||
|       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "minimist": "0.0.8" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "minimist": { | ||||
|           "version": "0.0.8", | ||||
|           "resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz", | ||||
|           "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", | ||||
|           "dev": true | ||||
|           "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | ||||
|           "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| @@ -2248,14 +2449,38 @@ | ||||
|     "nan": { | ||||
|       "version": "2.13.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/nan/-/nan-2.13.2.tgz", | ||||
|       "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", | ||||
|       "dev": true | ||||
|       "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" | ||||
|     }, | ||||
|     "nanoid": { | ||||
|       "version": "2.0.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/nanoid/-/nanoid-2.0.3.tgz", | ||||
|       "integrity": "sha512-NbaoqdhIYmY6FXDRB4eYtDVC9Z9eCbn8TyaiC16LNKtpPv/aqa0tOPD8y6gNE4yUNnaZ7LLhYtXOev/6+cBtfw==" | ||||
|     }, | ||||
|     "needle": { | ||||
|       "version": "2.4.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/needle/-/needle-2.4.0.tgz", | ||||
|       "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", | ||||
|       "requires": { | ||||
|         "debug": "^3.2.6", | ||||
|         "iconv-lite": "^0.4.4", | ||||
|         "sax": "^1.2.4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "debug": { | ||||
|           "version": "3.2.6", | ||||
|           "resolved": "https://verdaccio.lossless.one/debug/-/debug-3.2.6.tgz", | ||||
|           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", | ||||
|           "requires": { | ||||
|             "ms": "^2.1.1" | ||||
|           } | ||||
|         }, | ||||
|         "ms": { | ||||
|           "version": "2.1.2", | ||||
|           "resolved": "https://verdaccio.lossless.one/ms/-/ms-2.1.2.tgz", | ||||
|           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "negotiator": { | ||||
|       "version": "0.6.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/negotiator/-/negotiator-0.6.2.tgz", | ||||
| @@ -2271,11 +2496,111 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/nocache/-/nocache-2.1.0.tgz", | ||||
|       "integrity": "sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==" | ||||
|     }, | ||||
|     "node-gyp": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/node-gyp/-/node-gyp-4.0.0.tgz", | ||||
|       "integrity": "sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==", | ||||
|       "requires": { | ||||
|         "glob": "^7.0.3", | ||||
|         "graceful-fs": "^4.1.2", | ||||
|         "mkdirp": "^0.5.0", | ||||
|         "nopt": "2 || 3", | ||||
|         "npmlog": "0 || 1 || 2 || 3 || 4", | ||||
|         "osenv": "0", | ||||
|         "request": "^2.87.0", | ||||
|         "rimraf": "2", | ||||
|         "semver": "~5.3.0", | ||||
|         "tar": "^4.4.8", | ||||
|         "which": "1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "semver": { | ||||
|           "version": "5.3.0", | ||||
|           "resolved": "https://verdaccio.lossless.one/semver/-/semver-5.3.0.tgz", | ||||
|           "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node-pre-gyp": { | ||||
|       "version": "0.11.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", | ||||
|       "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", | ||||
|       "requires": { | ||||
|         "detect-libc": "^1.0.2", | ||||
|         "mkdirp": "^0.5.1", | ||||
|         "needle": "^2.2.1", | ||||
|         "nopt": "^4.0.1", | ||||
|         "npm-packlist": "^1.1.6", | ||||
|         "npmlog": "^4.0.2", | ||||
|         "rc": "^1.2.7", | ||||
|         "rimraf": "^2.6.1", | ||||
|         "semver": "^5.3.0", | ||||
|         "tar": "^4" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "nopt": { | ||||
|           "version": "4.0.1", | ||||
|           "resolved": "https://verdaccio.lossless.one/nopt/-/nopt-4.0.1.tgz", | ||||
|           "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", | ||||
|           "requires": { | ||||
|             "abbrev": "1", | ||||
|             "osenv": "^0.1.4" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "nodegit": { | ||||
|       "version": "0.24.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/nodegit/-/nodegit-0.24.3.tgz", | ||||
|       "integrity": "sha512-F9XpC5xzpoBgJXmdIRaD2z5DVG+iMttxFlzyCqmOu3y5y/DFuxBpzQtRND75oUOxJZh8sSlReVnXFV3PEyzvIw==", | ||||
|       "requires": { | ||||
|         "fs-extra": "^7.0.0", | ||||
|         "json5": "^2.1.0", | ||||
|         "lodash": "^4.17.11", | ||||
|         "nan": "^2.11.1", | ||||
|         "node-gyp": "^4.0.0", | ||||
|         "node-pre-gyp": "^0.11.0", | ||||
|         "promisify-node": "~0.3.0", | ||||
|         "ramda": "^0.25.0", | ||||
|         "request-promise-native": "^1.0.5", | ||||
|         "tar-fs": "^1.16.3" | ||||
|       } | ||||
|     }, | ||||
|     "nodegit-promise": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/nodegit-promise/-/nodegit-promise-4.0.0.tgz", | ||||
|       "integrity": "sha1-VyKxhPLfcycWEGSnkdLoQskWezQ=", | ||||
|       "requires": { | ||||
|         "asap": "~2.0.3" | ||||
|       } | ||||
|     }, | ||||
|     "nopt": { | ||||
|       "version": "3.0.6", | ||||
|       "resolved": "https://verdaccio.lossless.one/nopt/-/nopt-3.0.6.tgz", | ||||
|       "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", | ||||
|       "requires": { | ||||
|         "abbrev": "1" | ||||
|       } | ||||
|     }, | ||||
|     "normalize-newline": { | ||||
|       "version": "3.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/normalize-newline/-/normalize-newline-3.0.0.tgz", | ||||
|       "integrity": "sha1-HL6oBKukNgAfg5OKsh7AOdaa6dM=" | ||||
|     }, | ||||
|     "npm-bundled": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://verdaccio.lossless.one/npm-bundled/-/npm-bundled-1.0.6.tgz", | ||||
|       "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" | ||||
|     }, | ||||
|     "npm-packlist": { | ||||
|       "version": "1.4.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/npm-packlist/-/npm-packlist-1.4.1.tgz", | ||||
|       "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", | ||||
|       "requires": { | ||||
|         "ignore-walk": "^3.0.1", | ||||
|         "npm-bundled": "^1.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "npm-run-path": { | ||||
|       "version": "2.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", | ||||
| @@ -2284,6 +2609,17 @@ | ||||
|         "path-key": "^2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "npmlog": { | ||||
|       "version": "4.1.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/npmlog/-/npmlog-4.1.2.tgz", | ||||
|       "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", | ||||
|       "requires": { | ||||
|         "are-we-there-yet": "~1.1.2", | ||||
|         "console-control-strings": "~1.1.0", | ||||
|         "gauge": "~2.7.3", | ||||
|         "set-blocking": "~2.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "number-is-nan": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", | ||||
| @@ -2366,6 +2702,11 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "os-homedir": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/os-homedir/-/os-homedir-1.0.2.tgz", | ||||
|       "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" | ||||
|     }, | ||||
|     "os-locale": { | ||||
|       "version": "3.1.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/os-locale/-/os-locale-3.1.0.tgz", | ||||
| @@ -2376,6 +2717,20 @@ | ||||
|         "mem": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "os-tmpdir": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/os-tmpdir/-/os-tmpdir-1.0.2.tgz", | ||||
|       "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" | ||||
|     }, | ||||
|     "osenv": { | ||||
|       "version": "0.1.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/osenv/-/osenv-0.1.5.tgz", | ||||
|       "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", | ||||
|       "requires": { | ||||
|         "os-homedir": "^1.0.0", | ||||
|         "os-tmpdir": "^1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "p-defer": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", | ||||
| @@ -2450,7 +2805,7 @@ | ||||
|     }, | ||||
|     "path-parse": { | ||||
|       "version": "1.0.6", | ||||
|       "resolved": "https://verdaccio.lossless.one/path-parse/-/path-parse-1.0.6.tgz", | ||||
|       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", | ||||
|       "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", | ||||
|       "dev": true | ||||
|     }, | ||||
| @@ -2491,6 +2846,14 @@ | ||||
|       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", | ||||
|       "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" | ||||
|     }, | ||||
|     "promisify-node": { | ||||
|       "version": "0.3.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/promisify-node/-/promisify-node-0.3.0.tgz", | ||||
|       "integrity": "sha1-tLVaz5D6p9K4uQyjlomQhsAwYM8=", | ||||
|       "requires": { | ||||
|         "nodegit-promise": "~4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "proxy-addr": { | ||||
|       "version": "2.0.5", | ||||
|       "resolved": "https://verdaccio.lossless.one/proxy-addr/-/proxy-addr-2.0.5.tgz", | ||||
| @@ -2524,6 +2887,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/qs/-/qs-6.7.0.tgz", | ||||
|       "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" | ||||
|     }, | ||||
|     "ramda": { | ||||
|       "version": "0.25.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/ramda/-/ramda-0.25.0.tgz", | ||||
|       "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==" | ||||
|     }, | ||||
|     "randomatic": { | ||||
|       "version": "3.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", | ||||
| @@ -2550,6 +2918,17 @@ | ||||
|         "unpipe": "1.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "rc": { | ||||
|       "version": "1.2.8", | ||||
|       "resolved": "https://verdaccio.lossless.one/rc/-/rc-1.2.8.tgz", | ||||
|       "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", | ||||
|       "requires": { | ||||
|         "deep-extend": "^0.6.0", | ||||
|         "ini": "~1.3.0", | ||||
|         "minimist": "^1.2.0", | ||||
|         "strip-json-comments": "~2.0.1" | ||||
|       } | ||||
|     }, | ||||
|     "readable-stream": { | ||||
|       "version": "2.3.6", | ||||
|       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | ||||
| @@ -2622,6 +3001,24 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "request-promise-core": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/request-promise-core/-/request-promise-core-1.1.2.tgz", | ||||
|       "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", | ||||
|       "requires": { | ||||
|         "lodash": "^4.17.11" | ||||
|       } | ||||
|     }, | ||||
|     "request-promise-native": { | ||||
|       "version": "1.0.7", | ||||
|       "resolved": "https://verdaccio.lossless.one/request-promise-native/-/request-promise-native-1.0.7.tgz", | ||||
|       "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", | ||||
|       "requires": { | ||||
|         "request-promise-core": "1.1.2", | ||||
|         "stealthy-require": "^1.1.1", | ||||
|         "tough-cookie": "^2.3.3" | ||||
|       } | ||||
|     }, | ||||
|     "require-directory": { | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||||
| @@ -2650,6 +3047,14 @@ | ||||
|         "signal-exit": "^3.0.2" | ||||
|       } | ||||
|     }, | ||||
|     "rimraf": { | ||||
|       "version": "2.6.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/rimraf/-/rimraf-2.6.3.tgz", | ||||
|       "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | ||||
|       "requires": { | ||||
|         "glob": "^7.1.3" | ||||
|       } | ||||
|     }, | ||||
|     "rxjs": { | ||||
|       "version": "6.5.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.5.2.tgz", | ||||
| @@ -2668,6 +3073,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||||
|       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||||
|     }, | ||||
|     "sax": { | ||||
|       "version": "1.2.4", | ||||
|       "resolved": "https://verdaccio.lossless.one/sax/-/sax-1.2.4.tgz", | ||||
|       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" | ||||
|     }, | ||||
|     "semver": { | ||||
|       "version": "5.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", | ||||
| @@ -2902,6 +3312,11 @@ | ||||
|       "resolved": "https://verdaccio.lossless.one/statuses/-/statuses-1.5.0.tgz", | ||||
|       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" | ||||
|     }, | ||||
|     "stealthy-require": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/stealthy-require/-/stealthy-require-1.1.1.tgz", | ||||
|       "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" | ||||
|     }, | ||||
|     "string-width": { | ||||
|       "version": "2.1.1", | ||||
|       "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | ||||
| @@ -2962,6 +3377,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", | ||||
|       "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" | ||||
|     }, | ||||
|     "strip-json-comments": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/strip-json-comments/-/strip-json-comments-2.0.1.tgz", | ||||
|       "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" | ||||
|     }, | ||||
|     "supports-color": { | ||||
|       "version": "5.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", | ||||
| @@ -2975,6 +3395,56 @@ | ||||
|       "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", | ||||
|       "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" | ||||
|     }, | ||||
|     "tar": { | ||||
|       "version": "4.4.10", | ||||
|       "resolved": "https://verdaccio.lossless.one/tar/-/tar-4.4.10.tgz", | ||||
|       "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", | ||||
|       "requires": { | ||||
|         "chownr": "^1.1.1", | ||||
|         "fs-minipass": "^1.2.5", | ||||
|         "minipass": "^2.3.5", | ||||
|         "minizlib": "^1.2.1", | ||||
|         "mkdirp": "^0.5.0", | ||||
|         "safe-buffer": "^5.1.2", | ||||
|         "yallist": "^3.0.3" | ||||
|       } | ||||
|     }, | ||||
|     "tar-fs": { | ||||
|       "version": "1.16.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/tar-fs/-/tar-fs-1.16.3.tgz", | ||||
|       "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", | ||||
|       "requires": { | ||||
|         "chownr": "^1.0.1", | ||||
|         "mkdirp": "^0.5.1", | ||||
|         "pump": "^1.0.0", | ||||
|         "tar-stream": "^1.1.2" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "pump": { | ||||
|           "version": "1.0.3", | ||||
|           "resolved": "https://verdaccio.lossless.one/pump/-/pump-1.0.3.tgz", | ||||
|           "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", | ||||
|           "requires": { | ||||
|             "end-of-stream": "^1.1.0", | ||||
|             "once": "^1.3.1" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "tar-stream": { | ||||
|       "version": "1.6.2", | ||||
|       "resolved": "https://verdaccio.lossless.one/tar-stream/-/tar-stream-1.6.2.tgz", | ||||
|       "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", | ||||
|       "requires": { | ||||
|         "bl": "^1.0.0", | ||||
|         "buffer-alloc": "^1.2.0", | ||||
|         "end-of-stream": "^1.0.0", | ||||
|         "fs-constants": "^1.0.0", | ||||
|         "readable-stream": "^2.3.0", | ||||
|         "to-buffer": "^1.1.1", | ||||
|         "xtend": "^4.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "through2": { | ||||
|       "version": "3.0.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/through2/-/through2-3.0.1.tgz", | ||||
| @@ -2988,6 +3458,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", | ||||
|       "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" | ||||
|     }, | ||||
|     "to-buffer": { | ||||
|       "version": "1.1.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/to-buffer/-/to-buffer-1.1.1.tgz", | ||||
|       "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" | ||||
|     }, | ||||
|     "toidentifier": { | ||||
|       "version": "1.0.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/toidentifier/-/toidentifier-1.0.0.tgz", | ||||
| @@ -3056,7 +3531,7 @@ | ||||
|     }, | ||||
|     "tsutils": { | ||||
|       "version": "2.29.0", | ||||
|       "resolved": "https://verdaccio.lossless.one/tsutils/-/tsutils-2.29.0.tgz", | ||||
|       "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", | ||||
|       "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
| @@ -3196,6 +3671,14 @@ | ||||
|       "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", | ||||
|       "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" | ||||
|     }, | ||||
|     "wide-align": { | ||||
|       "version": "1.1.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/wide-align/-/wide-align-1.1.3.tgz", | ||||
|       "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", | ||||
|       "requires": { | ||||
|         "string-width": "^1.0.2 || 2" | ||||
|       } | ||||
|     }, | ||||
|     "wrap-ansi": { | ||||
|       "version": "2.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", | ||||
| @@ -3266,11 +3749,21 @@ | ||||
|       "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", | ||||
|       "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" | ||||
|     }, | ||||
|     "xtend": { | ||||
|       "version": "4.0.1", | ||||
|       "resolved": "https://verdaccio.lossless.one/xtend/-/xtend-4.0.1.tgz", | ||||
|       "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" | ||||
|     }, | ||||
|     "y18n": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", | ||||
|       "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" | ||||
|     }, | ||||
|     "yallist": { | ||||
|       "version": "3.0.3", | ||||
|       "resolved": "https://verdaccio.lossless.one/yallist/-/yallist-3.0.3.tgz", | ||||
|       "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" | ||||
|     }, | ||||
|     "yargs": { | ||||
|       "version": "12.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", | ||||
|   | ||||
							
								
								
									
										15
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "@shipzone/npmci", | ||||
|   "version": "3.1.27", | ||||
|   "version": "3.1.34", | ||||
|   "private": false, | ||||
|   "description": "node and docker in gitlab ci on steroids", | ||||
|   "main": "dist/index.js", | ||||
| @@ -40,6 +40,7 @@ | ||||
|     "@pushrocks/smartcli": "^3.0.7", | ||||
|     "@pushrocks/smartdelay": "^2.0.3", | ||||
|     "@pushrocks/smartfile": "^7.0.2", | ||||
|     "@pushrocks/smartgit": "^1.0.9", | ||||
|     "@pushrocks/smartlog": "^2.0.19", | ||||
|     "@pushrocks/smartlog-destination-local": "^8.0.2", | ||||
|     "@pushrocks/smartparam": "^1.0.4", | ||||
| @@ -52,5 +53,15 @@ | ||||
|     "@types/shelljs": "^0.8.5", | ||||
|     "@types/through2": "^2.0.34", | ||||
|     "through2": "^3.0.1" | ||||
|   } | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/*", | ||||
|     "ts_web/*", | ||||
|     "dist/*", | ||||
|     "dist_web/*", | ||||
|     "assets/*", | ||||
|     "cli.js", | ||||
|     "npmextra.json", | ||||
|     "readme.md" | ||||
|   ] | ||||
| } | ||||
|   | ||||
| @@ -10,6 +10,9 @@ import { Dockerfile } from './mod.classes.dockerfile'; | ||||
| import { DockerRegistry } from './mod.classes.dockerregistry'; | ||||
| import { RegistryStorage } from './mod.classes.registrystorage'; | ||||
|  | ||||
| // config | ||||
| import { configObject } from '../npmci.config'; | ||||
|  | ||||
| // instances | ||||
| const npmciRegistryStorage = new RegistryStorage(); | ||||
|  | ||||
| @@ -21,7 +24,7 @@ export let modArgvArg; // will be set through the build command | ||||
|  * handle cli input | ||||
|  * @param argvArg | ||||
|  */ | ||||
| export let handleCli = async argvArg => { | ||||
| export const handleCli = async argvArg => { | ||||
|   modArgvArg = argvArg; | ||||
|   if (argvArg._.length >= 2) { | ||||
|     const action: string = argvArg._[1]; | ||||
| @@ -56,7 +59,7 @@ export let handleCli = async argvArg => { | ||||
| /** | ||||
|  * builds a cwd of Dockerfiles by triggering a promisechain | ||||
|  */ | ||||
| export let build = async () => { | ||||
| export const build = async () => { | ||||
|   await prepare(); | ||||
|   logger.log('info', 'now building Dockerfiles...'); | ||||
|   await helpers | ||||
| @@ -69,7 +72,7 @@ export let build = async () => { | ||||
| /** | ||||
|  * login to the DockerRegistries | ||||
|  */ | ||||
| export let login = async () => { | ||||
| export const login = async () => { | ||||
|   await prepare(); | ||||
|   await npmciRegistryStorage.loginAll(); | ||||
| }; | ||||
| @@ -77,7 +80,7 @@ export let login = async () => { | ||||
| /** | ||||
|  * logs in docker | ||||
|  */ | ||||
| export let prepare = async () => { | ||||
| export const prepare = async () => { | ||||
|   // Always login to GitLab Registry | ||||
|   if (!process.env.CI_BUILD_TOKEN || process.env.CI_BUILD_TOKEN === '') { | ||||
|     logger.log('error', 'No registry token specified by gitlab!'); | ||||
| @@ -98,31 +101,54 @@ export let prepare = async () => { | ||||
|   return; | ||||
| }; | ||||
|  | ||||
| export let push = async argvArg => { | ||||
| /** | ||||
|  * pushes an image towards a registry | ||||
|  * @param argvArg | ||||
|  */ | ||||
| export const push = async argvArg => { | ||||
|   await prepare(); | ||||
|   const registryUrlArg = argvArg._[2]; | ||||
|   let dockerRegistryUrls: string[] = []; | ||||
|  | ||||
|   // lets parse the input of cli and npmextra | ||||
|   if (argvArg._.length >= 3 && argvArg._[2] !== 'npmextra') { | ||||
|     dockerRegistryUrls.push(argvArg._[2]); | ||||
|   } else { | ||||
|     if (configObject.dockerRegistries.length === 0) { | ||||
|       logger.log( | ||||
|         'warn', | ||||
|         `There are no docker registries listed in npmextra.json! This is strange!` | ||||
|       ); | ||||
|     } | ||||
|     dockerRegistryUrls = dockerRegistryUrls.concat(configObject.dockerRegistries); | ||||
|   } | ||||
|  | ||||
|   // lets determine the suffix | ||||
|   let suffix = null; | ||||
|   if (argvArg._.length >= 4) { | ||||
|     suffix = argvArg._[3]; | ||||
|   } | ||||
|   const dockerfileArray = await helpers | ||||
|     .readDockerfiles() | ||||
|     .then(helpers.sortDockerfiles) | ||||
|     .then(helpers.mapDockerfiles); | ||||
|   const localDockerRegistry = npmciRegistryStorage.getRegistryByUrl(registryUrlArg); | ||||
|   if (!localDockerRegistry) { | ||||
|     logger.log( | ||||
|       'error', | ||||
|       `Cannot push to registry ${registryUrlArg}, because it was not found in the authenticated registry list.` | ||||
|     ); | ||||
|     process.exit(1); | ||||
|   } | ||||
|   for (const dockerfile of dockerfileArray) { | ||||
|     await dockerfile.push(localDockerRegistry, suffix); | ||||
|  | ||||
|   // lets push to the registries | ||||
|   for (const dockerRegistryUrl of dockerRegistryUrls) { | ||||
|     const dockerfileArray = await helpers | ||||
|       .readDockerfiles() | ||||
|       .then(helpers.sortDockerfiles) | ||||
|       .then(helpers.mapDockerfiles); | ||||
|     const dockerRegistryToPushTo = npmciRegistryStorage.getRegistryByUrl(dockerRegistryUrl); | ||||
|     if (!dockerRegistryToPushTo) { | ||||
|       logger.log( | ||||
|         'error', | ||||
|         `Cannot push to registry ${dockerRegistryUrl}, because it was not found in the authenticated registry list.` | ||||
|       ); | ||||
|       process.exit(1); | ||||
|     } | ||||
|     for (const dockerfile of dockerfileArray) { | ||||
|       await dockerfile.push(dockerRegistryToPushTo, suffix); | ||||
|     } | ||||
|   } | ||||
| }; | ||||
|  | ||||
| export let pull = async argvArg => { | ||||
| export const pull = async argvArg => { | ||||
|   await prepare(); | ||||
|   const registryUrlArg = argvArg._[2]; | ||||
|   let suffix = null; | ||||
| @@ -139,7 +165,10 @@ export let pull = async argvArg => { | ||||
|   } | ||||
| }; | ||||
|  | ||||
| export let test = async () => { | ||||
| /** | ||||
|  * tests docker files | ||||
|  */ | ||||
| export const test = async () => { | ||||
|   await prepare(); | ||||
|   return await helpers.readDockerfiles().then(helpers.testDockerfiles); | ||||
| }; | ||||
|   | ||||
| @@ -42,9 +42,7 @@ export class Dockerfile { | ||||
|   public async build() { | ||||
|     logger.log('info', 'now building Dockerfile for ' + this.cleanTag); | ||||
|     const buildArgsString = await helpers.getDockerBuildArgs(); | ||||
|     const buildCommand = `docker build -t ${this.buildTag} -f ${ | ||||
|       this.filePath | ||||
|     } ${buildArgsString} .`; | ||||
|     const buildCommand = `docker build -t ${this.buildTag} -f ${this.filePath} ${buildArgsString} .`; | ||||
|     await bash(buildCommand); | ||||
|     return; | ||||
|   } | ||||
| @@ -86,9 +84,7 @@ export class Dockerfile { | ||||
|     if (testFileExists) { | ||||
|       // run tests | ||||
|       await bash( | ||||
|         `docker run --name npmci_test_container --entrypoint="bash" ${ | ||||
|           this.buildTag | ||||
|         } -c "mkdir /npmci_test"` | ||||
|         `docker run --name npmci_test_container --entrypoint="bash" ${this.buildTag} -c "mkdir /npmci_test"` | ||||
|       ); | ||||
|       await bash(`docker cp ${testFile} npmci_test_container:/npmci_test/test.sh`); | ||||
|       await bash(`docker commit npmci_test_container npmci_test_image`); | ||||
|   | ||||
| @@ -41,6 +41,9 @@ export let mirror = async () => { | ||||
|   if (githubToken) { | ||||
|     logger.log('info', 'found github token.'); | ||||
|     logger.log('info', 'attempting the mirror the repository to GitHub'); | ||||
|  | ||||
|     plugins.smartgit.GitRepo | ||||
|  | ||||
|     // add the mirror | ||||
|     await bash( | ||||
|       `git remote add mirror https://${githubToken}@github.com/${githubUser}/${githubRepo}.git` | ||||
|   | ||||
| @@ -1 +1,7 @@ | ||||
| export * from '../npmci.plugins'; | ||||
|  | ||||
| import * as smartgit from '@pushrocks/smartgit'; | ||||
|  | ||||
| export { | ||||
|   smartgit | ||||
| }; | ||||
|   | ||||
| @@ -66,25 +66,45 @@ const prepare = async () => { | ||||
|  * publish a package to npm | ||||
|  */ | ||||
| const publish = async () => { | ||||
|   let npmAccessCliString = ``; | ||||
|   let npmRegistryCliString = ``; | ||||
|   const config = await configModule.getConfig(); | ||||
|   const buildPublishCommand = async () => { | ||||
|     let npmAccessCliString = ``; | ||||
|     let npmRegistryCliString = ``; | ||||
|     let publishVerdaccioAsWell = false; | ||||
|     const config = await configModule.getConfig(); | ||||
|     const availableRegistries: string[] = []; | ||||
|     await plugins.smartparam.forEachMinimatch(process.env, 'NPMCI_TOKEN_NPM*', npmEnvArg => { | ||||
|       availableRegistries.push(npmEnvArg.split('|')[0]); | ||||
|     }); | ||||
|  | ||||
|   // -> configure package access level | ||||
|   if ( | ||||
|     config.npmAccessLevel && | ||||
|     (config.npmAccessLevel === 'public' || config.npmAccessLevel === 'private') | ||||
|   ) { | ||||
|     npmAccessCliString = `--access=${config.npmAccessLevel}`; | ||||
|   } | ||||
|     // -> configure package access level | ||||
|     if ( | ||||
|       config.npmAccessLevel | ||||
|     ) { | ||||
|       npmAccessCliString = `--access=${config.npmAccessLevel}`; | ||||
|       if (config.npmAccessLevel === 'public') { | ||||
|         publishVerdaccioAsWell = true; | ||||
|       } | ||||
|     } | ||||
|     // -> configure registry url | ||||
|     if (config.npmRegistryUrl) { | ||||
|       npmRegistryCliString = `--registry=https://${config.npmRegistryUrl}`; | ||||
|     } else { | ||||
|       logger.log('error', `no registry url specified. Can't publish!`); | ||||
|       process.exit(1); | ||||
|     } | ||||
|  | ||||
|   // -> configure registry url | ||||
|   if (config.npmRegistryUrl) { | ||||
|     npmRegistryCliString = `--registry=https://${config.npmRegistryUrl}`; | ||||
|   } else { | ||||
|     logger.log('error', `no registry url specified. Can't publish!`); | ||||
|     process.exit(1); | ||||
|   } | ||||
|     let publishCommand = `npm publish ${npmAccessCliString} ${npmRegistryCliString} `; | ||||
|  | ||||
|     // publishEverywhere | ||||
|     if (publishVerdaccioAsWell) { | ||||
|       const verdaccioRegistry = availableRegistries.find(registryString => registryString.startsWith('verdaccio')); | ||||
|       if (verdaccioRegistry) { | ||||
|         logger.log('info', `package is public and verdaccio registry is specified. Also publishing to Verdaccio!`); | ||||
|         publishCommand = `${publishCommand} && npm publish ${npmAccessCliString} --registry=https://${verdaccioRegistry}`; | ||||
|       } | ||||
|     } | ||||
|     return publishCommand; | ||||
|   }; | ||||
|  | ||||
|   // -> preparing | ||||
|   logger.log('info', `now preparing environment:`); | ||||
| @@ -105,7 +125,7 @@ const publish = async () => { | ||||
|  | ||||
|   // -> publish it | ||||
|   logger.log('info', `now invoking npm to publish the package!`); | ||||
|   await bash(`npm publish ${npmAccessCliString} ${npmRegistryCliString}`); | ||||
|   await bash(await buildPublishCommand()); | ||||
|   logger.log('success', `Package was successfully published!`); | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -5,13 +5,21 @@ import { repo } from './npmci.env'; | ||||
|  | ||||
| import { KeyValueStore } from '@pushrocks/npmextra'; | ||||
|  | ||||
| /** | ||||
|  * the main config interface for npmci | ||||
|  */ | ||||
| export interface INpmciOptions { | ||||
|   projectInfo: plugins.projectinfo.ProjectInfo; | ||||
|  | ||||
|   // npm | ||||
|   npmGlobalTools: string[]; | ||||
|   npmAccessLevel?: 'private' | 'public'; | ||||
|   npmRegistryUrl: string; | ||||
|   dockerRegistryRepoMap: any; | ||||
|   dockerBuildargEnvMap: any; | ||||
|  | ||||
|   // docker | ||||
|   dockerRegistries: string[]; | ||||
|   dockerRegistryRepoMap: { [key: string]: string }; | ||||
|   dockerBuildargEnvMap: { [key: string]: string }; | ||||
| } | ||||
|  | ||||
| // instantiate a kvStorage for the current directory | ||||
| @@ -22,6 +30,7 @@ const npmciNpmextra = new plugins.npmextra.Npmextra(paths.cwd); | ||||
| const defaultConfig: INpmciOptions = { | ||||
|   projectInfo: new plugins.projectinfo.ProjectInfo(paths.cwd), | ||||
|   npmGlobalTools: [], | ||||
|   dockerRegistries: [], | ||||
|   dockerRegistryRepoMap: {}, | ||||
|   npmAccessLevel: 'private', | ||||
|   npmRegistryUrl: 'registry.npmjs.org', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user