Compare commits
	
		
			29 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7d4c80ed04 | |||
| 5858682946 | |||
| c4aa3a8926 | |||
| f0e62c06e8 | |||
| 61ee70ea8d | |||
| 66bef3cd60 | |||
| 28054b17fc | |||
| 8736530920 | |||
| 2d9c225d28 | |||
| 236df3388f | |||
| 0406998e92 | |||
| 4e865e7bef | |||
| 62e4dd23d2 | |||
| 2962c5f8f9 | |||
| 7e506b8e69 | |||
| 26400b8153 | |||
| a94e1771a4 | |||
| 0213afa46e | |||
| 6f4138e536 | |||
| 5c5ca3ebf0 | |||
| 29ccf9d866 | |||
| a68fc4050f | |||
| 2e965bcb46 | |||
| 73aceb4054 | |||
| 9f63fba3e2 | |||
| 253d69254b | |||
| 44e5d3758c | |||
| 9fc142d931 | |||
| f4c7c0b239 | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| node_modules/ | node_modules/ | ||||||
| coverage/ | coverage/ | ||||||
| docs/ | pages/ | ||||||
| config.json | config.json | ||||||
| @@ -1,17 +1,21 @@ | |||||||
| image: hosttoday/ht-docker-node:lts | image: hosttoday/ht-docker-node:stable | ||||||
|  |  | ||||||
| stages: | stages: | ||||||
| - test | - test | ||||||
| - release | - release | ||||||
| - trigger | - trigger | ||||||
|  | - page | ||||||
|  |  | ||||||
|  |  | ||||||
| before_script: | before_script: | ||||||
|  |   - npm uninstall -g npmci | ||||||
|   - npm install -g npmci |   - npm install -g npmci | ||||||
|  |  | ||||||
| testLTS: | testLTS: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|  |     - npmci install lts | ||||||
|  |     - npmci command npm install -g npmts | ||||||
|     - npmci test lts |     - npmci test lts | ||||||
|   tags: |   tags: | ||||||
|     - docker |     - docker | ||||||
| @@ -19,6 +23,8 @@ testLTS: | |||||||
| testSTABLE: | testSTABLE: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|  |     - npmci install stable | ||||||
|  |     - npmci command npm install -g npmts | ||||||
|     - npmci test stable |     - npmci test stable | ||||||
|   tags: |   tags: | ||||||
|     - docker |     - docker | ||||||
| @@ -26,6 +32,8 @@ testSTABLE: | |||||||
| testLEGACY: | testLEGACY: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|  |     - npmci install legacy | ||||||
|  |     - npmci command npm install -g npmts | ||||||
|     - npmci test legacy |     - npmci test legacy | ||||||
|   tags: |   tags: | ||||||
|     - docker |     - docker | ||||||
| @@ -48,3 +56,16 @@ trigger: | |||||||
|     - tags |     - tags | ||||||
|   tags: |   tags: | ||||||
|     - docker |     - docker | ||||||
|  |  | ||||||
|  | pages: | ||||||
|  |   image: hosttoday/ht-docker-node:npmpage | ||||||
|  |   stage: page | ||||||
|  |   script: | ||||||
|  |     - npmci command npmts | ||||||
|  |     - npmci command npmpage --host gitlab | ||||||
|  |   only: | ||||||
|  |     - tags | ||||||
|  |   artifacts: | ||||||
|  |     expire_in: 1 week | ||||||
|  |     paths: | ||||||
|  |     - public | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| docs/ | pages/ | ||||||
| coverage/ | coverage/ | ||||||
| test/ | test/ | ||||||
| node_modules/ | node_modules/ | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,8 +1,20 @@ | |||||||
| # NPMCI | # NPMCI | ||||||
| npmci is your friend when it comes to handling npm packages during CI builds. It is optimized for GitLab CI | npmci is your friend when it comes to handling npm packages during CI builds. It is optimized for GitLab CI | ||||||
|  |  | ||||||
| ## Status | ## Availabililty | ||||||
|  | [](https://www.npmjs.com/package/npmci) | ||||||
|  | [](https://gitlab.com/pushrocks/npmci) | ||||||
|  | [](https://github.com/pushrocks/npmci) | ||||||
|  | [](https://pushrocks.gitlab.io/npmci/docs) | ||||||
|  |  | ||||||
|  | ## Status for master | ||||||
| [](https://gitlab.com/pushrocks/npmci/commits/master) | [](https://gitlab.com/pushrocks/npmci/commits/master) | ||||||
|  | [](https://gitlab.com/pushrocks/npmci/commits/master) | ||||||
|  | [](https://david-dm.org/pushrocks/npmci) | ||||||
|  | [](https://www.bithound.io/github/pushrocks/npmci/master/dependencies/npm) | ||||||
|  | [](https://www.bithound.io/github/pushrocks/npmci) | ||||||
|  | [](https://nodejs.org/dist/latest-v6.x/docs/api/) | ||||||
|  | [](https://nodejs.org/dist/latest-v6.x/docs/api/) | ||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
| npmci is designed to work in docker CI environments. The following docker images come with npmci presinstalled: | npmci is designed to work in docker CI environments. The following docker images come with npmci presinstalled: | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								appveyor.yml
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								appveyor.yml
									
									
									
									
									
								
							| @@ -1,10 +0,0 @@ | |||||||
| environment: |  | ||||||
|   nodejs_version: "4" |  | ||||||
| install: |  | ||||||
|   - ps: Install-Product node $env:nodejs_version |  | ||||||
|   - npm install |  | ||||||
| test_script: |  | ||||||
|   - node --version |  | ||||||
|   - npm --version |  | ||||||
|   - npm test |  | ||||||
| build: off |  | ||||||
							
								
								
									
										45
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/npmci.bash.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/npmci.bash.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,4 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
|  | export declare let nvmAvailable: boolean; | ||||||
| export declare let bash: (commandArg: string, retryArg?: number, bareArg?: boolean) => string; | export declare let bash: (commandArg: string, retryArg?: number, bareArg?: boolean) => string; | ||||||
| export declare let bashBare: (commandArg: any, retryArg?: number) => string; | export declare let bashBare: (commandArg: any, retryArg?: number) => string; | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								dist/npmci.bash.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								dist/npmci.bash.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,18 +1,28 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| exports.bash = function (commandArg, retryArg, bareArg) { | let nvmSourceString = ""; | ||||||
|     if (retryArg === void 0) { retryArg = 2; } | exports.nvmAvailable = false; | ||||||
|     if (bareArg === void 0) { bareArg = false; } | let checkNvm = () => { | ||||||
|     var exitCode; |     if (plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`, { silent: true }).code === 0) { | ||||||
|     var stdOut; |         nvmSourceString = `source /usr/local/nvm/nvm.sh && `; | ||||||
|     var execResult; |         exports.nvmAvailable = true; | ||||||
|  |     } | ||||||
|  |     else if (plugins.shelljs.exec(`bash -c "source ~/.nvm/nvm.sh"`, { silent: true }).code === 0) { | ||||||
|  |         nvmSourceString = `source ~/.nvm/nvm.sh && `; | ||||||
|  |         exports.nvmAvailable = true; | ||||||
|  |     } | ||||||
|  |     ; | ||||||
|  | }; | ||||||
|  | checkNvm(); | ||||||
|  | exports.bash = (commandArg, retryArg = 2, bareArg = false) => { | ||||||
|  |     let exitCode; | ||||||
|  |     let stdOut; | ||||||
|  |     let execResult; | ||||||
|     if (!process.env.NPMTS_TEST) { |     if (!process.env.NPMTS_TEST) { | ||||||
|         for (var i = 0; i <= retryArg; i++) { |         for (let i = 0; i <= retryArg; i++) { | ||||||
|             if (!bareArg) { |             if (!bareArg) { | ||||||
|                 execResult = plugins.shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh &&" + |                 execResult = plugins.shelljs.exec(`bash -c "${nvmSourceString} ${commandArg}"`); | ||||||
|                     commandArg + |  | ||||||
|                     "\""); |  | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 execResult = plugins.shelljs.exec(commandArg); |                 execResult = plugins.shelljs.exec(commandArg); | ||||||
| @@ -32,13 +42,11 @@ exports.bash = function (commandArg, retryArg, bareArg) { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         plugins.beautylog.log("ShellExec would be: " + commandArg.blue); |         plugins.beautylog.log("ShellExec would be: " + commandArg); | ||||||
|     } |     } | ||||||
|     return stdOut; |     return stdOut; | ||||||
| }; | }; | ||||||
| exports.bashBare = function (commandArg, retryArg) { | exports.bashBare = (commandArg, retryArg = 2) => { | ||||||
|     if (retryArg === void 0) { retryArg = 2; } |  | ||||||
|     return exports.bash(commandArg, retryArg, true); |     return exports.bash(commandArg, retryArg, true); | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRzNDLElBQUksZUFBZSxHQUFXLEVBQUUsQ0FBQztBQUN0QixvQkFBWSxHQUFZLEtBQUssQ0FBQztBQUN6QyxJQUFJLFFBQVEsR0FBRztJQUNYLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxFQUFDLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsZUFBZSxHQUFHLGtDQUFrQyxDQUFBO1FBQ3BELG9CQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUMsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RixlQUFlLEdBQUcsMEJBQTBCLENBQUE7UUFDNUMsb0JBQVksR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUFBLENBQUM7QUFDTixDQUFDLENBQUM7QUFDRixRQUFRLEVBQUUsQ0FBQztBQUVBLFlBQUksR0FBRyxDQUFDLFVBQWtCLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsS0FBSztJQUNoRSxJQUFJLFFBQWdCLENBQUM7SUFDckIsSUFBSSxNQUFjLENBQUM7SUFDbkIsSUFBSSxVQUFVLENBQUM7SUFDZixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDWCxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzdCLFlBQVksZUFBZSxJQUFJLFVBQVUsR0FBRyxDQUMvQyxDQUFDO1lBQ04sQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsUUFBUSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0IsRUFBRSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFEQUFxRDtZQUMzRSxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2xGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDekYsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxVQUFVLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUE7QUFFVSxnQkFBUSxHQUFHLENBQUMsVUFBVSxFQUFFLFFBQVEsR0FBRyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxZQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1QyxDQUFDLENBQUEifQ== | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRWhDLFlBQUksR0FBRyxVQUFDLFVBQWlCLEVBQUMsUUFBWSxFQUFDLE9BQWU7SUFBNUIsd0JBQVksR0FBWixZQUFZO0lBQUMsdUJBQWUsR0FBZixlQUFlO0lBQzdELElBQUksUUFBZSxDQUFDO0lBQ3BCLElBQUksTUFBYSxDQUFDO0lBQ2xCLElBQUksVUFBVSxDQUFDO0lBQ2YsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUNoQyxFQUFFLENBQUEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7Z0JBQ1QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM3QiwyQ0FBMkM7b0JBQzNDLFVBQVU7b0JBQ1YsSUFBSSxDQUNQLENBQUM7WUFDTixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFDRCxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUMzQixFQUFFLENBQUEsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFBLENBQUM7Z0JBQ3JCLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMscURBQXFEO1lBQzNFLENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sR0FBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUE7QUFFVSxnQkFBUSxHQUFHLFVBQUMsVUFBVSxFQUFDLFFBQVk7SUFBWix3QkFBWSxHQUFaLFlBQVk7SUFDMUMsTUFBTSxDQUFDLFlBQUksQ0FBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5iYXNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuXG5leHBvcnQgbGV0IGJhc2ggPSAoY29tbWFuZEFyZzpzdHJpbmcscmV0cnlBcmcgPSAyLGJhcmVBcmcgPSBmYWxzZSkgPT4ge1xuICAgIGxldCBleGl0Q29kZTpudW1iZXI7XG4gICAgbGV0IHN0ZE91dDpzdHJpbmc7XG4gICAgbGV0IGV4ZWNSZXN1bHQ7XG4gICAgaWYoIXByb2Nlc3MuZW52Lk5QTVRTX1RFU1Qpe1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSByZXRyeUFyZzsgaSsrKXtcbiAgICAgICAgICAgIGlmKCFiYXJlQXJnKXtcbiAgICAgICAgICAgICAgICBleGVjUmVzdWx0ID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXG4gICAgICAgICAgICAgICAgICAgIFwiYmFzaCAtYyBcXFwic291cmNlIC91c3IvbG9jYWwvbnZtL252bS5zaCAmJlwiICtcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEFyZyArXG4gICAgICAgICAgICAgICAgICAgIFwiXFxcIlwiXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXhlY1Jlc3VsdCA9IHBsdWdpbnMuc2hlbGxqcy5leGVjKGNvbW1hbmRBcmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXhpdENvZGUgPSBleGVjUmVzdWx0LmNvZGU7XG4gICAgICAgICAgICBzdGRPdXQgPSBleGVjUmVzdWx0LnN0ZG91dDtcbiAgICAgICAgICAgIGlmKGV4aXRDb2RlICE9PSAwICYmIGkgPT0gcmV0cnlBcmcpe1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZihleGl0Q29kZSA9PSAwKXtcbiAgICAgICAgICAgICAgICBpID0gcmV0cnlBcmcgKyAxOyAvLyBpZiBldmVyeXRoaW5nIHdvcmtzIG91dCBvayByZXRyaWFscyBhcmUgbm90IHdhbnRlZFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy53YXJuKFwiU29tZXRoaW5nIHdlbnQgd3JvbmchIEV4aXQgQ29kZTogXCIgKyBleGl0Q29kZS50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiUmV0cnkgXCIgKyAoaSArIDEpLnRvU3RyaW5nKCkgKyBcIiBvZiBcIiArICByZXRyeUFyZy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIlNoZWxsRXhlYyB3b3VsZCBiZTogXCIgKyBjb21tYW5kQXJnLmJsdWUpXG4gICAgfVxuICAgIHJldHVybiBzdGRPdXQ7XG59XG5cbmV4cG9ydCBsZXQgYmFzaEJhcmUgPSAoY29tbWFuZEFyZyxyZXRyeUFyZyA9IDIpID0+IHtcbiAgICByZXR1cm4gYmFzaChjb21tYW5kQXJnLHJldHJ5QXJnLHRydWUpO1xufSJdfQ== |  | ||||||
							
								
								
									
										11
									
								
								dist/npmci.build.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								dist/npmci.build.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,11 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let build: (commandArg: any) => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | /** | ||||||
|  |  * defines possible build services | ||||||
|  |  */ | ||||||
|  | export declare type TBuildService = "docker"; | ||||||
|  | /** | ||||||
|  |  * builds for a specific service | ||||||
|  |  */ | ||||||
|  | export declare let build: (commandArg: any) => plugins.q.Promise<any>; | ||||||
|   | |||||||
							
								
								
									
										82
									
								
								dist/npmci.build.docker.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										82
									
								
								dist/npmci.build.docker.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +1,46 @@ | |||||||
| export declare let build: () => any; | /// <reference types="q" /> | ||||||
| export declare let readDockerfiles: () => any; | /// <reference types="node" /> | ||||||
| export declare let sortDockerfiles: (sortableArrayArg: Dockerfile[]) => any; | import * as plugins from "./npmci.plugins"; | ||||||
| export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => any; | /** | ||||||
| export declare let buildDockerfiles: (sortedArrayArg: Dockerfile[]) => any; |  * builds a cwd of Dockerfiles by triggering a promisechain | ||||||
| export declare let pushDockerfiles: (sortedArrayArg: Dockerfile[]) => any; |  */ | ||||||
| export declare let pullDockerfileImages: (sortableArrayArg: Dockerfile[], registryArg?: string) => any; | export declare let build: () => plugins.q.Promise<{}>; | ||||||
| export declare let testDockerfiles: (sortedArrayArg: Dockerfile[]) => any; | /** | ||||||
|  |  * creates instance of class Dockerfile for all Dockerfiles in cwd | ||||||
|  |  * @returns Promise<Dockerfile[]> | ||||||
|  |  */ | ||||||
|  | export declare let readDockerfiles: () => plugins.q.Promise<Dockerfile[]>; | ||||||
|  | /** | ||||||
|  |  * sorts Dockerfiles into a dependency chain | ||||||
|  |  * @param sortableArrayArg an array of instances of class Dockerfile | ||||||
|  |  * @returns Promise<Dockerfile[]> | ||||||
|  |  */ | ||||||
|  | export declare let sortDockerfiles: (sortableArrayArg: Dockerfile[]) => plugins.q.Promise<Dockerfile[]>; | ||||||
|  | /** | ||||||
|  |  * maps local Dockerfiles dependencies to the correspoding Dockerfile class instances | ||||||
|  |  */ | ||||||
|  | export declare let mapDockerfiles: (sortedArray: Dockerfile[]) => plugins.q.Promise<Dockerfile[]>; | ||||||
|  | /** | ||||||
|  |  * builds the correspoding real docker image for each Dockerfile class instance | ||||||
|  |  */ | ||||||
|  | export declare let buildDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>; | ||||||
|  | /** | ||||||
|  |  * pushes the real Dockerfile images to a Docker registry | ||||||
|  |  */ | ||||||
|  | export declare let pushDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>; | ||||||
|  | /** | ||||||
|  |  * pulls corresponding real Docker images for instances of Dockerfile from a registry. | ||||||
|  |  * This is needed if building, testing, and publishing of Docker images is carried out in seperate CI stages. | ||||||
|  |  */ | ||||||
|  | export declare let pullDockerfileImages: (sortableArrayArg: Dockerfile[], registryArg?: string) => plugins.q.Promise<{}>; | ||||||
|  | /** | ||||||
|  |  * tests all Dockerfiles in by calling class Dockerfile.test(); | ||||||
|  |  * @param sortedArrayArg Dockerfile[] that contains all Dockerfiles in cwd | ||||||
|  |  */ | ||||||
|  | export declare let testDockerfiles: (sortedArrayArg: Dockerfile[]) => plugins.q.Promise<{}>; | ||||||
|  | /** | ||||||
|  |  * class Dockerfile represents a Dockerfile on disk in npmci | ||||||
|  |  */ | ||||||
| export declare class Dockerfile { | export declare class Dockerfile { | ||||||
|     filePath: string; |     filePath: string; | ||||||
|     repo: string; |     repo: string; | ||||||
| @@ -24,13 +59,40 @@ export declare class Dockerfile { | |||||||
|         fileContents?: string | Buffer; |         fileContents?: string | Buffer; | ||||||
|         read?: boolean; |         read?: boolean; | ||||||
|     }); |     }); | ||||||
|     build(): any; |     /** | ||||||
|     push(stageArg: any): any; |      * builds the Dockerfile | ||||||
|  |      */ | ||||||
|  |     build(): plugins.q.Promise<{}>; | ||||||
|  |     /** | ||||||
|  |      * pushes the Dockerfile to a registry | ||||||
|  |      */ | ||||||
|  |     push(stageArg: any): plugins.q.Promise<{}>; | ||||||
|  |     /** | ||||||
|  |      * pulls the Dockerfile from a registry | ||||||
|  |      */ | ||||||
|     pull(registryArg: string): void; |     pull(registryArg: string): void; | ||||||
|  |     /** | ||||||
|  |      * tests the Dockerfile; | ||||||
|  |      */ | ||||||
|     test(): void; |     test(): void; | ||||||
|  |     /** | ||||||
|  |      * gets the id of a Dockerfile | ||||||
|  |      */ | ||||||
|     getId(): string; |     getId(): string; | ||||||
| } | } | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| export declare let dockerFileVersion: (dockerfileNameArg: string) => string; | export declare let dockerFileVersion: (dockerfileNameArg: string) => string; | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| export declare let dockerBaseImage: (dockerfileContentArg: string) => string; | export declare let dockerBaseImage: (dockerfileContentArg: string) => string; | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| export declare let dockerTag: (registryArg: string, repoArg: string, versionArg: string, suffixArg?: string) => string; | export declare let dockerTag: (registryArg: string, repoArg: string, versionArg: string, suffixArg?: string) => string; | ||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  */ | ||||||
| export declare let cleanTagsArrayFunction: (dockerfileArrayArg: Dockerfile[], trackingArrayArg: Dockerfile[]) => string[]; | export declare let cleanTagsArrayFunction: (dockerfileArrayArg: Dockerfile[], trackingArrayArg: Dockerfile[]) => string[]; | ||||||
|   | |||||||
							
								
								
									
										179
									
								
								dist/npmci.build.docker.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										179
									
								
								dist/npmci.build.docker.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										12
									
								
								dist/npmci.build.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/npmci.build.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +1,10 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var buildDocker = require("./npmci.build.docker"); | const buildDocker = require("./npmci.build.docker"); | ||||||
|  | /** | ||||||
|  |  * builds for a specific service | ||||||
|  |  */ | ||||||
| exports.build = function (commandArg) { | exports.build = function (commandArg) { | ||||||
|     switch (commandArg) { |     switch (commandArg) { | ||||||
|         case "docker": |         case "docker": | ||||||
| @@ -9,6 +12,7 @@ exports.build = function (commandArg) { | |||||||
|         default: |         default: | ||||||
|             plugins.beautylog.log("build target " + commandArg + " not recognised!"); |             plugins.beautylog.log("build target " + commandArg + " not recognised!"); | ||||||
|     } |     } | ||||||
|  |     ; | ||||||
|  |     return; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1jaS5idWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFHM0MsTUFBWSxXQUFXLFdBQU0sc0JBSzdCLENBQUMsQ0FMa0Q7QUFPbkQ7O0dBRUc7QUFDUSxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CO1lBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFBQSxDQUFDO0lBQ0YsTUFBTSxDQUFDO0FBQ1gsQ0FBQyxDQUFBIn0= | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUczQyxJQUFZLFdBQVcsV0FBTSxzQkFFN0IsQ0FBQyxDQUZrRDtBQUV4QyxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLE1BQU0sQ0FBQSxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDZixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CO1lBQ0ksT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYnVpbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcbmltcG9ydCAqIGFzIGJ1aWxkRG9ja2VyIGZyb20gXCIuL25wbWNpLmJ1aWxkLmRvY2tlclwiXG5cbmV4cG9ydCBsZXQgYnVpbGQgPSBmdW5jdGlvbihjb21tYW5kQXJnKXtcbiAgICBzd2l0Y2goY29tbWFuZEFyZyl7XG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcbiAgICAgICAgICAgIHJldHVybiBidWlsZERvY2tlci5idWlsZCgpOyAgIFxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiYnVpbGQgdGFyZ2V0IFwiICsgY29tbWFuZEFyZyArIFwiIG5vdCByZWNvZ25pc2VkIVwiKTtcbiAgICB9XG59XG5cblxuXG4iXX0= |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.clean.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.clean.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,7 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
|  | import * as plugins from "./npmci.plugins"; | ||||||
| /** | /** | ||||||
|  * cleans npmci config files |  * cleans npmci config files | ||||||
|  */ |  */ | ||||||
| export declare let clean: () => any; | export declare let clean: () => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								dist/npmci.clean.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								dist/npmci.clean.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,15 +1,14 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var paths = require("./npmci.paths"); | const paths = require("./npmci.paths"); | ||||||
| /** | /** | ||||||
|  * cleans npmci config files |  * cleans npmci config files | ||||||
|  */ |  */ | ||||||
| exports.clean = function () { | exports.clean = () => { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     plugins.smartfile.fs.removeSync(paths.NpmciPackageConfig); |     plugins.smartfile.fs.removeSync(paths.NpmciPackageConfig); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1jaS5jbGVhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsTUFBWSxLQUFLLFdBQU0sZUFLdkIsQ0FBQyxDQUxxQztBQUV0Qzs7R0FFRztBQUNRLGFBQUssR0FBRztJQUNmLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmNsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUMzQyxJQUFZLEtBQUssV0FBTSxlQUt2QixDQUFDLENBTHFDO0FBRXRDOztHQUVHO0FBQ1EsYUFBSyxHQUFHO0lBQ2YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLmNsZWFuLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgcGF0aHMgZnJvbSBcIi4vbnBtY2kucGF0aHNcIlxuXG4vKipcbiAqIGNsZWFucyBucG1jaSBjb25maWcgZmlsZXNcbiAqL1xuZXhwb3J0IGxldCBjbGVhbiA9ICgpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuc21hcnRmaWxlLmZzLnJlbW92ZVN5bmMocGF0aHMuTnBtY2lQYWNrYWdlQ29uZmlnKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXX0= |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.command.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.command.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,4 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let command: () => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | export declare let command: () => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								dist/npmci.command.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								dist/npmci.command.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,12 +1,12 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var npmci_bash_1 = require("./npmci.bash"); | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| exports.command = function () { | exports.command = () => { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     var wrappedCommand = ""; |     let wrappedCommand = ""; | ||||||
|     var argvArray = process.argv; |     let argvArray = process.argv; | ||||||
|     for (var i = 3; i < argvArray.length; i++) { |     for (let i = 3; i < argvArray.length; i++) { | ||||||
|         wrappedCommand = wrappedCommand + argvArray[i]; |         wrappedCommand = wrappedCommand + argvArray[i]; | ||||||
|         if (i + 1 != argvArray.length) |         if (i + 1 != argvArray.length) | ||||||
|             wrappedCommand = wrappedCommand + " "; |             wrappedCommand = wrappedCommand + " "; | ||||||
| @@ -15,5 +15,4 @@ exports.command = function () { | |||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDZCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUc7SUFDakIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM1QixJQUFJLGNBQWMsR0FBVSxFQUFFLENBQUM7SUFDL0IsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixHQUFHLENBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN0QyxjQUFjLEdBQUcsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxFQUFFLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFBQyxjQUFjLEdBQUcsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsaUJBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUN2QixDQUFDLENBQUEifQ== | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUc7SUFDakIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUM1QixJQUFJLGNBQWMsR0FBVSxFQUFFLENBQUM7SUFDL0IsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixHQUFHLENBQUEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN0QyxjQUFjLEdBQUcsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxFQUFFLENBQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFBQyxjQUFjLEdBQUcsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsaUJBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUN2QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuY29tbWFuZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuXG5leHBvcnQgbGV0IGNvbW1hbmQgPSAoKSA9PiB7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKVxuICAgIGxldCB3cmFwcGVkQ29tbWFuZDpzdHJpbmcgPSBcIlwiO1xuICAgIGxldCBhcmd2QXJyYXkgPSBwcm9jZXNzLmFyZ3Y7XG4gICAgZm9yKGxldCBpID0gMzsgaSA8IGFyZ3ZBcnJheS5sZW5ndGg7IGkrKyl7XG4gICAgICAgIHdyYXBwZWRDb21tYW5kID0gd3JhcHBlZENvbW1hbmQgKyBhcmd2QXJyYXlbaV07XG4gICAgICAgIGlmKGkgKyAxICE9IGFyZ3ZBcnJheS5sZW5ndGgpIHdyYXBwZWRDb21tYW5kID0gd3JhcHBlZENvbW1hbmQgKyBcIiBcIjsgXG4gICAgfVxuICAgIGJhc2god3JhcHBlZENvbW1hbmQpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2Vcbn0iXX0= |  | ||||||
							
								
								
									
										3
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,8 @@ import { GitRepo } from "smartstring"; | |||||||
| import { Dockerfile } from "./npmci.build.docker"; | import { Dockerfile } from "./npmci.build.docker"; | ||||||
| export declare let repo: GitRepo; | export declare let repo: GitRepo; | ||||||
| export declare let buildStage: string; | export declare let buildStage: string; | ||||||
| export declare let dockerRegistry: any; | export declare let dockerRegistry: string; | ||||||
|  | export declare let setDockerRegistry: (dockerRegistryArg: string) => void; | ||||||
| export declare let dockerFilesBuilt: Dockerfile[]; | export declare let dockerFilesBuilt: Dockerfile[]; | ||||||
| export declare let dockerFiles: Dockerfile[]; | export declare let dockerFiles: Dockerfile[]; | ||||||
| export declare let config: { | export declare let config: { | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +1,14 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var paths = require("./npmci.paths"); | const paths = require("./npmci.paths"); | ||||||
| var smartstring_1 = require("smartstring"); | const smartstring_1 = require("smartstring"); | ||||||
| if (process.env.CI_BUILD_REPO) | if (process.env.CI_BUILD_REPO) | ||||||
|     exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO); |     exports.repo = new smartstring_1.GitRepo(process.env.CI_BUILD_REPO); | ||||||
| exports.buildStage = process.env.CI_BUILD_STAGE; | exports.buildStage = process.env.CI_BUILD_STAGE; | ||||||
|  | exports.setDockerRegistry = (dockerRegistryArg) => { | ||||||
|  |     exports.dockerRegistry = dockerRegistryArg; | ||||||
|  | }; | ||||||
| exports.dockerFilesBuilt = []; | exports.dockerFilesBuilt = []; | ||||||
| exports.dockerFiles = []; | exports.dockerFiles = []; | ||||||
| exports.config = { | exports.config = { | ||||||
| @@ -14,11 +17,11 @@ exports.config = { | |||||||
|     dockerFiles: exports.dockerFiles, |     dockerFiles: exports.dockerFiles, | ||||||
|     project: undefined |     project: undefined | ||||||
| }; | }; | ||||||
| exports.configStore = function () { | exports.configStore = () => { | ||||||
|     exports.config.dockerRegistry = exports.dockerRegistry; |     exports.config.dockerRegistry = exports.dockerRegistry; | ||||||
|     plugins.smartfile.memory.toFsSync(JSON.stringify(exports.config), paths.NpmciPackageConfig); |     plugins.smartfile.memory.toFsSync(JSON.stringify(exports.config), paths.NpmciPackageConfig); | ||||||
| }; | }; | ||||||
| var configLoad = function () { | let configLoad = () => { | ||||||
|     // internal config to transfer information in between npmci shell calls |     // internal config to transfer information in between npmci shell calls | ||||||
|     try { |     try { | ||||||
|         plugins.lodash.assign(exports.config, plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig, "json")); |         plugins.lodash.assign(exports.config, plugins.smartfile.fs.toObjectSync(paths.NpmciPackageConfig, "json")); | ||||||
| @@ -43,5 +46,4 @@ var configLoad = function () { | |||||||
|     exports.config.dockerFilesBuilt ? exports.dockerFilesBuilt = exports.config.dockerFilesBuilt : void (0); |     exports.config.dockerFilesBuilt ? exports.dockerFilesBuilt = exports.config.dockerFilesBuilt : void (0); | ||||||
| }; | }; | ||||||
| configLoad(); | configLoad(); | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbnBtY2kuZW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsTUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUMzQyxNQUFZLEtBQUssV0FBTSxlQUFlLENBQUMsQ0FBQTtBQUN2Qyw4QkFBc0IsYUFBYSxDQUFDLENBQUE7QUFJcEMsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFBQyxZQUFJLEdBQUcsSUFBSSxxQkFBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFakUsa0JBQVUsR0FBVSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztBQUkvQyx5QkFBaUIsR0FBRyxDQUFDLGlCQUF3QjtJQUNwRCxzQkFBYyxHQUFHLGlCQUFpQixDQUFDO0FBQ3ZDLENBQUMsQ0FBQTtBQUNVLHdCQUFnQixHQUFnQixFQUFFLENBQUM7QUFDbkMsbUJBQVcsR0FBZ0IsRUFBRSxDQUFDO0FBQzlCLGNBQU0sR0FBRztJQUNoQixjQUFjLEVBQUUsU0FBUztJQUN6QixnQkFBZ0IsRUFBRSx3QkFBZ0I7SUFDbEMsV0FBVyxFQUFFLG1CQUFXO0lBQ3hCLE9BQU8sRUFBRSxTQUFTO0NBQ3JCLENBQUM7QUFFUyxtQkFBVyxHQUFHO0lBQ3JCLGNBQU0sQ0FBQyxjQUFjLEdBQUcsc0JBQWMsQ0FBQztJQUN2QyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBTSxDQUFDLEVBQ3RCLEtBQUssQ0FBQyxrQkFBa0IsQ0FDM0IsQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVELElBQUksVUFBVSxHQUFHO0lBQ2IsdUVBQXVFO0lBQ3ZFLElBQUksQ0FBQztRQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQU0sRUFBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDckcsQ0FDQTtJQUFBLEtBQUssQ0FBQSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUM7UUFDUCxtQkFBVyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxpQkFBaUI7SUFDakIsSUFBSSxDQUFDO1FBQ0QsRUFBRSxDQUFBLENBQUMsQ0FBQyxjQUFNLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztZQUNoQixjQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZGLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUFBLENBQUM7SUFDTixDQUNBO0lBQUEsS0FBSyxDQUFBLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQztRQUNQLGNBQU0sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGNBQU0sQ0FBQyxjQUFjLEdBQUcsc0JBQWMsR0FBRyxjQUFNLENBQUMsY0FBYyxHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxjQUFNLENBQUMsZ0JBQWdCLEdBQUcsd0JBQWdCLEdBQUcsY0FBTSxDQUFDLGdCQUFnQixHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUE7QUFDRCxVQUFVLEVBQUUsQ0FBQyJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFDM0MsSUFBWSxLQUFLLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFDdkMsNEJBQXNCLGFBQWEsQ0FBQyxDQUFBO0FBSXBDLEVBQUUsQ0FBQSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQUMsWUFBSSxHQUFHLElBQUkscUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRWpFLGtCQUFVLEdBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7QUFJL0Msd0JBQWdCLEdBQWdCLEVBQUUsQ0FBQztBQUNuQyxtQkFBVyxHQUFnQixFQUFFLENBQUM7QUFDOUIsY0FBTSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLGdCQUFnQixFQUFFLHdCQUFnQjtJQUNsQyxXQUFXLEVBQUUsbUJBQVc7SUFDeEIsT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQUVTLG1CQUFXLEdBQUc7SUFDckIsY0FBTSxDQUFDLGNBQWMsR0FBRyxzQkFBYyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFNLENBQUMsRUFDdEIsS0FBSyxDQUFDLGtCQUFrQixDQUMzQixDQUFDO0FBQ04sQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDYix1RUFBdUU7SUFDdkUsSUFBSSxDQUFDO1FBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBTSxFQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUNBO0lBQUEsS0FBSyxDQUFBLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQztRQUNQLG1CQUFXLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixJQUFJLENBQUM7UUFDRCxFQUFFLENBQUEsQ0FBQyxDQUFDLGNBQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDO1lBQ2hCLGNBQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkYsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQUEsQ0FBQztJQUNOLENBQ0E7SUFBQSxLQUFLLENBQUEsQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFDO1FBQ1AsY0FBTSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsY0FBTSxDQUFDLGNBQWMsR0FBRyxzQkFBYyxHQUFHLGNBQU0sQ0FBQyxjQUFjLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLGNBQU0sQ0FBQyxnQkFBZ0IsR0FBRyx3QkFBZ0IsR0FBRyxjQUFNLENBQUMsZ0JBQWdCLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUMsQ0FBQTtBQUNELFVBQVUsRUFBRSxDQUFDIiwiZmlsZSI6Im5wbWNpLmVudi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcbmltcG9ydCAqIGFzIHBhdGhzIGZyb20gXCIuL25wbWNpLnBhdGhzXCI7XG5pbXBvcnQge0dpdFJlcG99IGZyb20gXCJzbWFydHN0cmluZ1wiO1xuaW1wb3J0IHtEb2NrZXJmaWxlfSBmcm9tIFwiLi9ucG1jaS5idWlsZC5kb2NrZXJcIlxuXG5leHBvcnQgbGV0IHJlcG86R2l0UmVwbztcbmlmKHByb2Nlc3MuZW52LkNJX0JVSUxEX1JFUE8pIHJlcG8gPSBuZXcgR2l0UmVwbyhwcm9jZXNzLmVudi5DSV9CVUlMRF9SRVBPKTtcblxuZXhwb3J0IGxldCBidWlsZFN0YWdlOnN0cmluZyA9IHByb2Nlc3MuZW52LkNJX0JVSUxEX1NUQUdFO1xuXG4vLyBoYW5kbGluZyBjb25maWcgYmV0d2VlbiBjb21tYW5kc1xuZXhwb3J0IGxldCBkb2NrZXJSZWdpc3RyeTsgLy8gd2lsbCBiZSBzZXQgYnkgbnBtY2kucHJlcGFyZVxuZXhwb3J0IGxldCBkb2NrZXJGaWxlc0J1aWx0OkRvY2tlcmZpbGVbXSA9IFtdO1xuZXhwb3J0IGxldCBkb2NrZXJGaWxlczpEb2NrZXJmaWxlW10gPSBbXTtcbmV4cG9ydCBsZXQgY29uZmlnID0ge1xuICAgIGRvY2tlclJlZ2lzdHJ5OiB1bmRlZmluZWQsIC8vIHRoaXMgd2lsbCBiZSBzZXQgbGF0ZXIgb24gc3RvcmVcbiAgICBkb2NrZXJGaWxlc0J1aWx0OiBkb2NrZXJGaWxlc0J1aWx0LFxuICAgIGRvY2tlckZpbGVzOiBkb2NrZXJGaWxlcyxcbiAgICBwcm9qZWN0OiB1bmRlZmluZWRcbn07XG5cbmV4cG9ydCBsZXQgY29uZmlnU3RvcmUgPSAoKSA9PiB7XG4gICAgY29uZmlnLmRvY2tlclJlZ2lzdHJ5ID0gZG9ja2VyUmVnaXN0cnk7XG4gICAgcGx1Z2lucy5zbWFydGZpbGUubWVtb3J5LnRvRnNTeW5jKFxuICAgICAgICBKU09OLnN0cmluZ2lmeShjb25maWcpLFxuICAgICAgICBwYXRocy5OcG1jaVBhY2thZ2VDb25maWdcbiAgICApO1xufVxuXG5sZXQgY29uZmlnTG9hZCA9ICgpID0+IHtcbiAgICAvLyBpbnRlcm5hbCBjb25maWcgdG8gdHJhbnNmZXIgaW5mb3JtYXRpb24gaW4gYmV0d2VlbiBucG1jaSBzaGVsbCBjYWxsc1xuICAgIHRyeSB7XG4gICAgICAgIHBsdWdpbnMubG9kYXNoLmFzc2lnbihjb25maWcscGx1Z2lucy5zbWFydGZpbGUuZnMudG9PYmplY3RTeW5jKHBhdGhzLk5wbWNpUGFja2FnZUNvbmZpZyxcImpzb25cIikpO1xuICAgIH1cbiAgICBjYXRjaChlcnIpe1xuICAgICAgICBjb25maWdTdG9yZSgpO1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJjb25maWcgaW5pdGlhbGl6ZWQhXCIpO1xuICAgIH1cblxuICAgIC8vIHByb2plY3QgY29uZmlnXG4gICAgdHJ5IHtcbiAgICAgICAgaWYoIWNvbmZpZy5wcm9qZWN0KXtcbiAgICAgICAgICAgIGNvbmZpZy5wcm9qZWN0ID0gcGx1Z2lucy5zbWFydGZpbGUuZnMudG9PYmplY3RTeW5jKHBhdGhzLk5wbWNpUHJvamVjdERpcixcIm5wbWNpLmpzb25cIik7XG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcInByb2plY3QgY29uZmlnIGZvdW5kIVwiKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY2F0Y2goZXJyKXtcbiAgICAgICAgY29uZmlnLnByb2plY3QgPSB7fTtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwibm8gcHJvamVjdCBjb25maWcgZm91bmQsIHNvIHByb2NlZWRpbmcgd2l0aCBkZWZhdWx0IGJlaGF2aW91ciFcIik7XG4gICAgfVxuICAgIFxuICAgIGNvbmZpZy5kb2NrZXJSZWdpc3RyeSA/IGRvY2tlclJlZ2lzdHJ5ID0gY29uZmlnLmRvY2tlclJlZ2lzdHJ5IDogdm9pZCgwKTtcbiAgICBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA/IGRvY2tlckZpbGVzQnVpbHQgPSBjb25maWcuZG9ja2VyRmlsZXNCdWlsdCA6IHZvaWQoMCk7XG59XG5jb25maWdMb2FkKCk7Il19 |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.install.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.install.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,4 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let install: (versionArg: any) => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | export declare let install: (versionArg: any) => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										33
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,31 +1,36 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var npmci_bash_1 = require("./npmci.bash"); | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| exports.install = function (versionArg) { | const npmci_bash_2 = require("./npmci.bash"); | ||||||
|     var done = plugins.q.defer(); | exports.install = (versionArg) => { | ||||||
|     plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow); |     let done = plugins.q.defer(); | ||||||
|     var version; |     plugins.beautylog.log(`now installing node version ${versionArg}`); | ||||||
|  |     let version; | ||||||
|     if (versionArg == "stable") { |     if (versionArg == "stable") { | ||||||
|         version = "6.6.2"; |         version = "6.3.0"; | ||||||
|     } |     } | ||||||
|     else if (versionArg == "lts") { |     else if (versionArg == "lts") { | ||||||
|         version = "4.4.7"; |         version = "6.3.0"; | ||||||
|     } |     } | ||||||
|     else if (versionArg == "legacy") { |     else if (versionArg == "legacy") { | ||||||
|         version = "4.4.7"; |         version = "6.3.0"; | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         version = versionArg; |         version = versionArg; | ||||||
|     } |     } | ||||||
|     ; |     ; | ||||||
|     npmci_bash_1.bash("nvm install " + version + |     if (npmci_bash_2.nvmAvailable) { | ||||||
|         " && nvm alias default " + version); |         npmci_bash_1.bash(`nvm install ${version} && nvm alias default ${version}`); | ||||||
|     plugins.beautylog.success("Node version " + version + " successfully installed!"); |         plugins.beautylog.success(`Node version ${version} successfully installed!`); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         plugins.beautylog.warn("Nvm not in path so staying at installed node version!"); | ||||||
|  |     } | ||||||
|  |     ; | ||||||
|     npmci_bash_1.bash("node -v"); |     npmci_bash_1.bash("node -v"); | ||||||
|     npmci_bash_1.bash("npm -v"); |     npmci_bash_1.bash("npm -v"); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDZCQUFxQixjQUFjLENBQUMsQ0FBQTtBQUNwQyw2QkFBNkIsY0FFN0IsQ0FBQyxDQUYwQztBQUVoQyxlQUFPLEdBQUcsQ0FBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFlLENBQUM7SUFDcEIsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdCLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyx5QkFBWSxDQUFDLENBQUMsQ0FBQztRQUNmLGlCQUFJLENBQUMsZUFBZSxPQUFPLHlCQUF5QixPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQzlELE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixPQUFPLDBCQUEwQixDQUFDLENBQUM7SUFDakYsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQUEsQ0FBQztJQUNGLGlCQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEIsaUJBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztRQUN2QixPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxDQUFBLENBQUM7UUFDM0IsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQzlCLE9BQU8sR0FBRyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUFDLElBQUksQ0FBRSxDQUFDO1FBQ0wsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQUEsQ0FBQztJQUNGLGlCQUFJLENBQ0EsY0FBYyxHQUFHLE9BQU87UUFDeEIsd0JBQXdCLEdBQUcsT0FBTyxDQUNyQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xGLGlCQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEIsaUJBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5pbnN0YWxsLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XG5cbmV4cG9ydCBsZXQgaW5zdGFsbCA9ICh2ZXJzaW9uQXJnKSA9PiB7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJub3cgaW5zdGFsbGluZyBcIiArIFwibm9kZSBcIi5ncmVlbiArIChcInZlcnNpb24gXCIgKyB2ZXJzaW9uQXJnKS55ZWxsb3cpO1xuICAgIGxldCB2ZXJzaW9uOnN0cmluZztcbiAgICBpZih2ZXJzaW9uQXJnID09IFwic3RhYmxlXCIpe1xuICAgICAgICB2ZXJzaW9uID0gXCI2LjYuMlwiO1xuICAgIH0gZWxzZSBpZih2ZXJzaW9uQXJnID09IFwibHRzXCIpe1xuICAgICAgICB2ZXJzaW9uID0gXCI0LjQuN1wiO1xuICAgIH0gZWxzZSBpZih2ZXJzaW9uQXJnID09IFwibGVnYWN5XCIpe1xuICAgICAgICB2ZXJzaW9uID0gXCI0LjQuN1wiXG4gICAgfSBlbHNlICB7XG4gICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uQXJnO1xuICAgIH07XG4gICAgYmFzaChcbiAgICAgICAgXCJudm0gaW5zdGFsbCBcIiArIHZlcnNpb24gK1xuICAgICAgICBcIiAmJiBudm0gYWxpYXMgZGVmYXVsdCBcIiArIHZlcnNpb25cbiAgICApO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJOb2RlIHZlcnNpb24gXCIgKyB2ZXJzaW9uICsgXCIgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcIik7XG4gICAgYmFzaChcIm5vZGUgLXZcIik7XG4gICAgYmFzaChcIm5wbSAtdlwiKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufSJdfQ== |  | ||||||
							
								
								
									
										5
									
								
								dist/npmci.paths.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/npmci.paths.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,10 +1,9 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| exports.cwd = process.cwd(); | exports.cwd = process.cwd(); | ||||||
| exports.NpmciPackageRoot = plugins.path.join(__dirname, "../"); | exports.NpmciPackageRoot = plugins.path.join(__dirname, "../"); | ||||||
| exports.NpmciPackageConfig = plugins.path.join(exports.NpmciPackageRoot, "./config.json"); | exports.NpmciPackageConfig = plugins.path.join(exports.NpmciPackageRoot, "./config.json"); | ||||||
| exports.NpmciProjectDir = exports.cwd; | exports.NpmciProjectDir = exports.cwd; | ||||||
| exports.NpmciTestDir = plugins.path.join(exports.cwd, "./test"); | exports.NpmciTestDir = plugins.path.join(exports.cwd, "./test"); | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucGF0aHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9ucG1jaS5wYXRocy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLE1BQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFaEMsV0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUVwQix3QkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEQsMEJBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQWdCLEVBQUMsZUFBZSxDQUFDLENBQUM7QUFDekUsdUJBQWUsR0FBRyxXQUFHLENBQUM7QUFDdEIsb0JBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFHLEVBQUMsUUFBUSxDQUFDLENBQUMifQ== | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBhdGhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUVoQyxXQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRXBCLHdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCwwQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBZ0IsRUFBQyxlQUFlLENBQUMsQ0FBQztBQUN6RSx1QkFBZSxHQUFHLFdBQUcsQ0FBQztBQUN0QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQUcsRUFBQyxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcblxuZXhwb3J0IGxldCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZVJvb3QgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCIuLi9cIik7XG5leHBvcnQgbGV0IE5wbWNpUGFja2FnZUNvbmZpZyA9IHBsdWdpbnMucGF0aC5qb2luKE5wbWNpUGFja2FnZVJvb3QsXCIuL2NvbmZpZy5qc29uXCIpO1xuZXhwb3J0IGxldCBOcG1jaVByb2plY3REaXIgPSBjd2Q7XG5leHBvcnQgbGV0IE5wbWNpVGVzdERpciA9IHBsdWdpbnMucGF0aC5qb2luKGN3ZCxcIi4vdGVzdFwiKTsiXX0= |  | ||||||
							
								
								
									
										5
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -5,12 +5,13 @@ export declare let gulpFunction: any; | |||||||
| export declare let lodash: any; | export declare let lodash: any; | ||||||
| export import path = require("path"); | export import path = require("path"); | ||||||
| export import projectinfo = require("projectinfo"); | export import projectinfo = require("projectinfo"); | ||||||
| export declare let q: any; | export import q = require("q"); | ||||||
| export declare let request: any; | export declare let request: any; | ||||||
| export declare let shelljs: any; | export import shelljs = require("shelljs"); | ||||||
| export import smartcli = require("smartcli"); | export import smartcli = require("smartcli"); | ||||||
| export import smartfile = require("smartfile"); | export import smartfile = require("smartfile"); | ||||||
| export import smartparam = require("smartparam"); | export import smartparam = require("smartparam"); | ||||||
|  | export import smartsocket = require("smartsocket"); | ||||||
| export import smartssh = require("smartssh"); | export import smartssh = require("smartssh"); | ||||||
| export import smartstring = require("smartstring"); | export import smartstring = require("smartstring"); | ||||||
| export declare let through2: any; | export declare let through2: any; | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -12,8 +12,8 @@ exports.shelljs = require("shelljs"); | |||||||
| exports.smartcli = require("smartcli"); | exports.smartcli = require("smartcli"); | ||||||
| exports.smartfile = require("smartfile"); | exports.smartfile = require("smartfile"); | ||||||
| exports.smartparam = require("smartparam"); | exports.smartparam = require("smartparam"); | ||||||
|  | exports.smartsocket = require("smartsocket"); | ||||||
| exports.smartssh = require("smartssh"); | exports.smartssh = require("smartssh"); | ||||||
| exports.smartstring = require("smartstring"); | exports.smartstring = require("smartstring"); | ||||||
| exports.through2 = require("through2"); | exports.through2 = require("through2"); | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN4QyxjQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hCLFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUN2QixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLFNBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNwQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGVBQU8sV0FBVyxTQUFTLENBQUMsQ0FBQztBQUM3QixnQkFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsa0JBQVUsV0FBVyxZQUFZLENBQUMsQ0FBQztBQUNuQyxtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3JDLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxnQkFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN4QyxjQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3hCLFlBQUksV0FBVyxNQUFNLENBQUMsQ0FBQztBQUN2QixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3hDLFNBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakIsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxrQkFBVSxXQUFXLFlBQVksQ0FBQyxDQUFDO0FBQ25DLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxnQkFBUSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgZ3VscCA9IHJlcXVpcmUoXCJndWxwXCIpO1xuZXhwb3J0IGxldCBndWxwRnVuY3Rpb24gPSByZXF1aXJlKFwiZ3VscC1mdW5jdGlvblwiKTtcbmV4cG9ydCBsZXQgbG9kYXNoID0gcmVxdWlyZShcImxvZGFzaFwiKTtcbmV4cG9ydCBpbXBvcnQgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuZXhwb3J0IGltcG9ydCBwcm9qZWN0aW5mbyA9IHJlcXVpcmUoXCJwcm9qZWN0aW5mb1wiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG5leHBvcnQgbGV0IHNoZWxsanMgPSByZXF1aXJlKFwic2hlbGxqc1wiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRjbGkgPSByZXF1aXJlKFwic21hcnRjbGlcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0ZmlsZSA9IHJlcXVpcmUoXCJzbWFydGZpbGVcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0cGFyYW0gPSByZXF1aXJlKFwic21hcnRwYXJhbVwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3RyaW5nID0gcmVxdWlyZShcInNtYXJ0c3RyaW5nXCIpO1xuZXhwb3J0IGxldCB0aHJvdWdoMiA9IHJlcXVpcmUoXCJ0aHJvdWdoMlwiKTsiXX0= |  | ||||||
							
								
								
									
										12
									
								
								dist/npmci.prepare.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/npmci.prepare.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,12 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let prepare: (serviceArg: string) => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | /** | ||||||
|  |  * defines possible prepare services | ||||||
|  |  */ | ||||||
|  | export declare type TPrepService = "npm" | "docker" | "docker-gitlab" | "ssh"; | ||||||
|  | /** | ||||||
|  |  * the main exported prepare function | ||||||
|  |  * @param servieArg describes the service to prepare | ||||||
|  |  */ | ||||||
|  | export declare let prepare: (serviceArg: TPrepService) => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										59
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										59
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										12
									
								
								dist/npmci.publish.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/npmci.publish.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,12 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let publish: (serviceArg?: string) => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | /** | ||||||
|  |  * type of supported services | ||||||
|  |  */ | ||||||
|  | export declare type TPubService = "npm" | "docker"; | ||||||
|  | /** | ||||||
|  |  * the main exported publish function. | ||||||
|  |  * @param pubServiceArg references targeted service to publish to | ||||||
|  |  */ | ||||||
|  | export declare let publish: (pubServiceArg?: TPubService) => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										34
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +1,26 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var npmci_prepare_1 = require("./npmci.prepare"); | const npmci_prepare_1 = require("./npmci.prepare"); | ||||||
| var npmci_bash_1 = require("./npmci.bash"); | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| var NpmciBuildDocker = require("./npmci.build.docker"); | const NpmciBuildDocker = require("./npmci.build.docker"); | ||||||
| exports.publish = function (serviceArg) { | /** | ||||||
|     if (serviceArg === void 0) { serviceArg = "npm"; } |  * the main exported publish function. | ||||||
|     switch (serviceArg) { |  * @param pubServiceArg references targeted service to publish to | ||||||
|  |  */ | ||||||
|  | exports.publish = (pubServiceArg = "npm") => { | ||||||
|  |     switch (pubServiceArg) { | ||||||
|         case "npm": |         case "npm": | ||||||
|             return publishNpm(); |             return publishNpm(); | ||||||
|         case "docker": |         case "docker": | ||||||
|             return publishDocker(); |             return publishDocker(); | ||||||
|     } |     } | ||||||
| }; | }; | ||||||
| var publishNpm = function () { | /** | ||||||
|     var done = plugins.q.defer(); |  * tries to publish current cwd to NPM registry | ||||||
|  |  */ | ||||||
|  | let publishNpm = function () { | ||||||
|  |     let done = plugins.q.defer(); | ||||||
|     npmci_prepare_1.prepare("npm") |     npmci_prepare_1.prepare("npm") | ||||||
|         .then(function () { |         .then(function () { | ||||||
|         npmci_bash_1.bash("npm publish"); |         npmci_bash_1.bash("npm publish"); | ||||||
| @@ -23,13 +29,15 @@ var publishNpm = function () { | |||||||
|     }); |     }); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var publishDocker = function () { | /** | ||||||
|     var done = plugins.q.defer(); |  * tries to pubish current cwd to Docker registry | ||||||
|  |  */ | ||||||
|  | let publishDocker = function () { | ||||||
|  |     let done = plugins.q.defer(); | ||||||
|     NpmciBuildDocker.readDockerfiles() |     NpmciBuildDocker.readDockerfiles() | ||||||
|         .then(NpmciBuildDocker.pullDockerfileImages) |         .then(NpmciBuildDocker.pullDockerfileImages) | ||||||
|         .then(NpmciBuildDocker.pushDockerfiles) |         .then(NpmciBuildDocker.pushDockerfiles) | ||||||
|         .then(done.resolve); |         .then(done.resolve); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLGdDQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDZCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxNQUFZLGdCQUFnQixXQUFNLHNCQUtsQyxDQUFDLENBTHVEO0FBT3hEOzs7R0FHRztBQUNRLGVBQU8sR0FBRyxDQUFDLGFBQWEsR0FBZSxLQUFLO0lBQ25ELE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ04sTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNULE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxhQUFhLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixnQkFBZ0IsQ0FBQyxlQUFlLEVBQUU7U0FDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO1NBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7U0FDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMifQ== | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFZLGdCQUFnQixXQUFNLHNCQUVsQyxDQUFDLENBRnVEO0FBRTdDLGVBQU8sR0FBRyxVQUFDLFVBQXlCO0lBQXpCLDBCQUF5QixHQUF6QixrQkFBeUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixJQUFJLFVBQVUsR0FBSTtJQUNkLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxLQUFLLENBQUM7U0FDVCxJQUFJLENBQUM7UUFDRixpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELElBQUksYUFBYSxHQUFHO0lBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO1NBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xuaW1wb3J0ICogYXMgTnBtY2lFbnYgZnJvbSBcIi4vbnBtY2kuZW52XCI7XG5pbXBvcnQgKiBhcyBOcG1jaUJ1aWxkRG9ja2VyIGZyb20gXCIuL25wbWNpLmJ1aWxkLmRvY2tlclwiXG5cbmV4cG9ydCBsZXQgcHVibGlzaCA9IChzZXJ2aWNlQXJnOnN0cmluZyA9IFwibnBtXCIpID0+IHtcbiAgICBzd2l0Y2ggKHNlcnZpY2VBcmcpe1xuICAgICAgICBjYXNlIFwibnBtXCI6IFxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hOcG0oKTtcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxuICAgICAgICAgICAgcmV0dXJuIHB1Ymxpc2hEb2NrZXIoKTtcbiAgICB9XG59O1xuXG5sZXQgcHVibGlzaE5wbSAgPSBmdW5jdGlvbigpe1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcHJlcGFyZShcIm5wbVwiKVxuICAgICAgICAudGhlbihmdW5jdGlvbigpe1xuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJEb25lIVwiKSA7XG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcbiAgICAgICAgfSk7XG4gICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgcHVibGlzaERvY2tlciA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgTnBtY2lCdWlsZERvY2tlci5yZWFkRG9ja2VyZmlsZXMoKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1bGxEb2NrZXJmaWxlSW1hZ2VzKVxuICAgICAgICAudGhlbihOcG1jaUJ1aWxkRG9ja2VyLnB1c2hEb2NrZXJmaWxlcylcbiAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXX0= |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.servezone.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.servezone.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | /** | ||||||
|  |  * the main run function to submit a service to a servezone | ||||||
|  |  */ | ||||||
|  | export declare let run: (configArg: any) => void; | ||||||
							
								
								
									
										28
									
								
								dist/npmci.servezone.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								dist/npmci.servezone.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | "use strict"; | ||||||
|  | const plugins = require("./npmci.plugins"); | ||||||
|  | /** | ||||||
|  |  * servezoneRegex is the regex that parses the servezone connection data | ||||||
|  |  * parses strings in the form of "servezone.example.com|3000|somepassword" | ||||||
|  |  */ | ||||||
|  | let servezoneRegex = /^(.*)\|(.*)\|(.*)/; | ||||||
|  | /** | ||||||
|  |  * holds the results of the parsed servezone env string | ||||||
|  |  */ | ||||||
|  | let servezoneRegexResultArray = servezoneRegex.exec(process.env.NPMCI_SERVEZONE); | ||||||
|  | /** | ||||||
|  |  * the data object that is used for the smartsocket client object | ||||||
|  |  */ | ||||||
|  | let smartsocketClientConstructorOptions = { | ||||||
|  |     alias: "npmci", | ||||||
|  |     password: servezoneRegexResultArray[3], | ||||||
|  |     port: parseInt(servezoneRegexResultArray[2]), | ||||||
|  |     role: "ci", | ||||||
|  |     url: servezoneRegexResultArray[1] | ||||||
|  | }; | ||||||
|  | /** | ||||||
|  |  * the main run function to submit a service to a servezone | ||||||
|  |  */ | ||||||
|  | exports.run = (configArg) => { | ||||||
|  |     new plugins.smartsocket.SmartsocketClient(smartsocketClientConstructorOptions); | ||||||
|  | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuc2VydmV6b25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbnBtY2kuc2VydmV6b25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDOzs7R0FHRztBQUNILElBQUksY0FBYyxHQUFHLG1CQUFtQixDQUFDO0FBRXpDOztHQUVHO0FBQ0gsSUFBSSx5QkFBeUIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFakY7O0dBRUc7QUFDSCxJQUFJLG1DQUFtQyxHQUFHO0lBQ3RDLEtBQUssRUFBRSxPQUFPO0lBQ2QsUUFBUSxFQUFFLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUN0QyxJQUFJLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLHlCQUF5QixDQUFDLENBQUMsQ0FBQztDQUNwQyxDQUFDO0FBRUY7O0dBRUc7QUFDUSxXQUFHLEdBQUcsQ0FBQyxTQUFTO0lBQ3ZCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FDckMsbUNBQW1DLENBQ3RDLENBQUM7QUFDTixDQUFDLENBQUMifQ== | ||||||
							
								
								
									
										7
									
								
								dist/npmci.ssh.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/npmci.ssh.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,7 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let ssh: () => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | /** | ||||||
|  |  * checks for ENV vars in form of NPMCI_SSHKEY_* and deploys any found ones | ||||||
|  |  */ | ||||||
|  | export declare let ssh: () => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										32
									
								
								dist/npmci.ssh.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								dist/npmci.ssh.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +1,14 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var sshRegex = /^(.*)\|(.*)\|(.*)/; | let sshRegex = /^(.*)\|(.*)\|(.*)/; | ||||||
| var sshInstance; | let sshInstance; | ||||||
| exports.ssh = function () { | /** | ||||||
|     var done = plugins.q.defer(); |  * checks for ENV vars in form of NPMCI_SSHKEY_* and deploys any found ones | ||||||
|     sshInstance = new plugins.smartssh.SshInstance(); |  */ | ||||||
|  | exports.ssh = () => { | ||||||
|  |     let done = plugins.q.defer(); | ||||||
|  |     sshInstance = new plugins.smartssh.SshInstance(); // init ssh instance | ||||||
|     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_SSHKEY_*", evaluateSshEnv); |     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_SSHKEY_*", evaluateSshEnv); | ||||||
|     if (!process.env.NPMTS_TEST) { |     if (!process.env.NPMTS_TEST) { | ||||||
|         sshInstance.writeToDisk(); |         sshInstance.writeToDisk(); | ||||||
| @@ -17,9 +20,12 @@ exports.ssh = function () { | |||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var evaluateSshEnv = function (sshkeyEnvVarArg) { | /** | ||||||
|     var resultArray = sshRegex.exec(sshkeyEnvVarArg); |  * gets called for each found SSH ENV Var and deploys it | ||||||
|     var sshKey = new plugins.smartssh.SshKey(); |  */ | ||||||
|  | let evaluateSshEnv = (sshkeyEnvVarArg) => { | ||||||
|  |     let resultArray = sshRegex.exec(sshkeyEnvVarArg); | ||||||
|  |     let sshKey = new plugins.smartssh.SshKey(); | ||||||
|     plugins.beautylog.info("Found SSH identity for " + resultArray[1]); |     plugins.beautylog.info("Found SSH identity for " + resultArray[1]); | ||||||
|     if (notUndefined(resultArray[1])) { |     if (notUndefined(resultArray[1])) { | ||||||
|         plugins.beautylog.log("---> host defined!"); |         plugins.beautylog.log("---> host defined!"); | ||||||
| @@ -37,8 +43,10 @@ var evaluateSshEnv = function (sshkeyEnvVarArg) { | |||||||
|     ; |     ; | ||||||
|     sshInstance.addKey(sshKey); |     sshInstance.addKey(sshKey); | ||||||
| }; | }; | ||||||
| var notUndefined = function (stringArg) { | /** | ||||||
|  |  * checks if not undefined | ||||||
|  |  */ | ||||||
|  | let notUndefined = (stringArg) => { | ||||||
|     return (stringArg && stringArg != "undefined" && stringArg != "##"); |     return (stringArg && stringArg != "undefined" && stringArg != "##"); | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuc3NoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvbnBtY2kuc3NoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsTUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUUzQyxJQUFJLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQTtBQUNsQyxJQUFJLFdBQXdDLENBQUM7QUFFN0M7O0dBRUc7QUFDUSxXQUFHLEdBQUc7SUFDYixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7SUFDdEUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDLGdCQUFnQixFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pGLEVBQUUsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQSxDQUFDO1FBQ3hCLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxJQUFJLGNBQWMsR0FBRyxDQUFDLGVBQWU7SUFDakMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUFBLENBQUM7SUFDRixFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLHNCQUFzQixDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFBQSxDQUFDO0lBRUYsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILElBQUksWUFBWSxHQUFHLENBQUMsU0FBZ0I7SUFDaEMsTUFBTSxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVMsSUFBSSxXQUFXLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ3hFLENBQUMsQ0FBQSJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnNzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsbUJBQW1CLENBQUE7QUFDbEMsSUFBSSxXQUF3QyxDQUFDO0FBRWxDLFdBQUcsR0FBRztJQUNiLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqRCxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxDQUFDLENBQUM7SUFDakYsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLGNBQWMsR0FBRyxVQUFDLGVBQWU7SUFDakMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUFBLENBQUM7SUFDRixFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLHNCQUFzQixDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFBQSxDQUFDO0lBRUYsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixJQUFJLFlBQVksR0FBRyxVQUFDLFNBQWdCO0lBQ2hDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuc3NoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuXG5sZXQgc3NoUmVnZXggPSAvXiguKilcXHwoLiopXFx8KC4qKS9cbmxldCBzc2hJbnN0YW5jZTpwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlO1xuXG5leHBvcnQgbGV0IHNzaCA9ICgpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHNzaEluc3RhbmNlID0gbmV3IHBsdWdpbnMuc21hcnRzc2guU3NoSW5zdGFuY2UoKTtcbiAgICBwbHVnaW5zLnNtYXJ0cGFyYW0uZm9yRWFjaE1pbmltYXRjaChwcm9jZXNzLmVudixcIk5QTUNJX1NTSEtFWV8qXCIsZXZhbHVhdGVTc2hFbnYpO1xuICAgIGlmKCFwcm9jZXNzLmVudi5OUE1UU19URVNUKXtcbiAgICAgICAgc3NoSW5zdGFuY2Uud3JpdGVUb0Rpc2soKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIkluIHRlc3QgbW9kZSwgc28gbm90IHN0b3JpbmcgU1NIIGtleXMgdG8gZGlzayFcIik7XG4gICAgfTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTtcblxubGV0IGV2YWx1YXRlU3NoRW52ID0gKHNzaGtleUVudlZhckFyZykgPT4ge1xuICAgIGxldCByZXN1bHRBcnJheSA9IHNzaFJlZ2V4LmV4ZWMoc3Noa2V5RW52VmFyQXJnKTtcbiAgICBsZXQgc3NoS2V5ID0gbmV3IHBsdWdpbnMuc21hcnRzc2guU3NoS2V5KCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIkZvdW5kIFNTSCBpZGVudGl0eSBmb3IgXCIgKyByZXN1bHRBcnJheVsxXSk7XG4gICAgaWYobm90VW5kZWZpbmVkKHJlc3VsdEFycmF5WzFdKSl7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIi0tLT4gaG9zdCBkZWZpbmVkIVwiKVxuICAgICAgICBzc2hLZXkuaG9zdCA9IHJlc3VsdEFycmF5WzFdO1xuICAgIH1cbiAgICBpZihub3RVbmRlZmluZWQocmVzdWx0QXJyYXlbMl0pKXtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiLS0tPiBwcml2S2V5IGRlZmluZWQhXCIpXG4gICAgICAgIHNzaEtleS5wcml2S2V5QmFzZTY0ID0gcmVzdWx0QXJyYXlbMl07XG4gICAgfTtcbiAgICBpZihub3RVbmRlZmluZWQocmVzdWx0QXJyYXlbM10pKXtcbiAgICAgICAgXCItLS0+IHB1YktleSBkZWZpbmVkIVwiXG4gICAgICAgIHNzaEtleS5wdWJLZXlCYXNlNjQgPSByZXN1bHRBcnJheVszXTtcbiAgICB9O1xuICAgIFxuICAgIHNzaEluc3RhbmNlLmFkZEtleShzc2hLZXkpO1xufTtcblxubGV0IG5vdFVuZGVmaW5lZCA9IChzdHJpbmdBcmc6c3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChzdHJpbmdBcmcgJiYgc3RyaW5nQXJnICE9IFwidW5kZWZpbmVkXCIgJiYgc3RyaW5nQXJnICE9IFwiIyNcIik7XG59Il19 |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.test.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.test.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,4 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let test: (versionArg: any) => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | export declare let test: (versionArg: any) => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										31
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,14 +1,14 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var npmci_bash_1 = require("./npmci.bash"); | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| var npmci_install_1 = require("./npmci.install"); | const npmci_install_1 = require("./npmci.install"); | ||||||
| var NpmciBuildDocker = require("./npmci.build.docker"); | const NpmciBuildDocker = require("./npmci.build.docker"); | ||||||
| exports.test = function (versionArg) { | exports.test = (versionArg) => { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     if (versionArg == "docker") { |     if (versionArg == "docker") { | ||||||
|         testDocker() |         testDocker() | ||||||
|             .then(function () { |             .then(() => { | ||||||
|             done.resolve(); |             done.resolve(); | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| @@ -16,33 +16,32 @@ exports.test = function (versionArg) { | |||||||
|         npmci_install_1.install(versionArg) |         npmci_install_1.install(versionArg) | ||||||
|             .then(npmDependencies) |             .then(npmDependencies) | ||||||
|             .then(npmTest) |             .then(npmTest) | ||||||
|             .then(function () { |             .then(() => { | ||||||
|             done.resolve(); |             done.resolve(); | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var npmDependencies = function () { | let npmDependencies = function () { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     plugins.beautylog.info("now installing dependencies:"); |     plugins.beautylog.info("now installing dependencies:"); | ||||||
|     npmci_bash_1.bash("npm install"); |     npmci_bash_1.bash("npm install"); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var npmTest = function () { | let npmTest = () => { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     plugins.beautylog.info("now starting tests:"); |     plugins.beautylog.info("now starting tests:"); | ||||||
|     npmci_bash_1.bash("npm test"); |     npmci_bash_1.bash("npm test"); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var testDocker = function () { | let testDocker = function () { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     NpmciBuildDocker.readDockerfiles() |     NpmciBuildDocker.readDockerfiles() | ||||||
|         .then(NpmciBuildDocker.pullDockerfileImages) |         .then(NpmciBuildDocker.pullDockerfileImages) | ||||||
|         .then(NpmciBuildDocker.testDockerfiles) |         .then(NpmciBuildDocker.testDockerfiles) | ||||||
|         .then(done.resolve); |         .then(done.resolve); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDZCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyxnQ0FBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUV4QyxNQUFZLGdCQUFnQixXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFFOUMsWUFBSSxHQUFHLENBQUMsVUFBVTtJQUN6QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLEVBQUUsQ0FBQSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQ3ZCLFVBQVUsRUFBRTthQUNQLElBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLHVCQUFPLENBQUMsVUFBVSxDQUFDO2FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2IsSUFBSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksZUFBZSxHQUFHO0lBQ2xCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN2RCxpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksT0FBTyxHQUFHO0lBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLGlCQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDYixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtTQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7U0FDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztTQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUV4QyxJQUFZLGdCQUFnQixXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFFOUMsWUFBSSxHQUFHLFVBQUMsVUFBVTtJQUN6QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLEVBQUUsQ0FBQSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO1FBQ3ZCLFVBQVUsRUFBRTthQUNQLElBQUksQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLHVCQUFPLENBQUMsVUFBVSxDQUFDO2FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2IsSUFBSSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksZUFBZSxHQUFHO0lBQ2xCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN2RCxpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksT0FBTyxHQUFHO0lBQ1YsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlDLGlCQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDYixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLGdCQUFnQixDQUFDLGVBQWUsRUFBRTtTQUM3QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7U0FDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztTQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcbmltcG9ydCAqIGFzIGVudiBmcm9tIFwiLi9ucG1jaS5lbnZcIjtcbmltcG9ydCAqIGFzIE5wbWNpQnVpbGREb2NrZXIgZnJvbSBcIi4vbnBtY2kuYnVpbGQuZG9ja2VyXCI7XG5cbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBpZih2ZXJzaW9uQXJnID09IFwiZG9ja2VyXCIpe1xuICAgICAgICB0ZXN0RG9ja2VyKClcbiAgICAgICAgICAgIC50aGVuKCgpPT57XG4gICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpbnN0YWxsKHZlcnNpb25BcmcpXG4gICAgICAgICAgICAudGhlbihucG1EZXBlbmRlbmNpZXMpXG4gICAgICAgICAgICAudGhlbihucG1UZXN0KVxuICAgICAgICAgICAgLnRoZW4oKCk9PntcbiAgICAgICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgbnBtRGVwZW5kZW5jaWVzID0gZnVuY3Rpb24oKXtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXM6XCIpO1xuICAgIGJhc2goXCJucG0gaW5zdGFsbFwiKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgbnBtVGVzdCA9ICgpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xuICAgIGJhc2goXCJucG0gdGVzdFwiKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgdGVzdERvY2tlciA9IGZ1bmN0aW9uKCl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBOcG1jaUJ1aWxkRG9ja2VyLnJlYWREb2NrZXJmaWxlcygpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIucHVsbERvY2tlcmZpbGVJbWFnZXMpXG4gICAgICAgIC50aGVuKE5wbWNpQnVpbGREb2NrZXIudGVzdERvY2tlcmZpbGVzKVxuICAgICAgICAudGhlbihkb25lLnJlc29sdmUpXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbn1cblxuIl19 |  | ||||||
							
								
								
									
										4
									
								
								dist/npmci.trigger.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.trigger.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,4 @@ | |||||||
|  | /// <reference types="q" /> | ||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let trigger: () => any; | import * as plugins from "./npmci.plugins"; | ||||||
|  | export declare let trigger: () => plugins.q.Promise<{}>; | ||||||
|   | |||||||
							
								
								
									
										23
									
								
								dist/npmci.trigger.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								dist/npmci.trigger.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,21 +1,21 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| var triggerValueRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/; | let triggerValueRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/; | ||||||
| exports.trigger = function () { | exports.trigger = function () { | ||||||
|     var done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     plugins.beautylog.info("now running triggers"); |     plugins.beautylog.info("now running triggers"); | ||||||
|     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_TRIGGER_*", evaluateTrigger); |     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_TRIGGER_*", evaluateTrigger); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
| var evaluateTrigger = function (triggerEnvVarArg) { | let evaluateTrigger = (triggerEnvVarArg) => { | ||||||
|     var triggerRegexResultArray = triggerValueRegex.exec(triggerEnvVarArg); |     let triggerRegexResultArray = triggerValueRegex.exec(triggerEnvVarArg); | ||||||
|     var regexDomain = triggerRegexResultArray[1]; |     let regexDomain = triggerRegexResultArray[1]; | ||||||
|     var regexProjectId = triggerRegexResultArray[2]; |     let regexProjectId = triggerRegexResultArray[2]; | ||||||
|     var regexProjectTriggerToken = triggerRegexResultArray[3]; |     let regexProjectTriggerToken = triggerRegexResultArray[3]; | ||||||
|     var regexRefName = triggerRegexResultArray[4]; |     let regexRefName = triggerRegexResultArray[4]; | ||||||
|     var regexTriggerName; |     let regexTriggerName; | ||||||
|     if (triggerRegexResultArray.length == 6) { |     if (triggerRegexResultArray.length == 6) { | ||||||
|         regexTriggerName = triggerRegexResultArray[5]; |         regexTriggerName = triggerRegexResultArray[5]; | ||||||
|     } |     } | ||||||
| @@ -26,5 +26,4 @@ var evaluateTrigger = function (triggerEnvVarArg) { | |||||||
|     plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName); |     plugins.beautylog.log("triggering build for ref " + regexRefName + " of " + regexTriggerName); | ||||||
|     plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } }); |     plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } }); | ||||||
| }; | }; | ||||||
|  | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kudHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixNQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSzNDLElBQUksaUJBQWlCLEdBQUcsZ0dBQWdHLENBQUM7QUFFOUcsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDckYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxnQkFBZ0I7SUFDbkMsSUFBSSx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxJQUFJLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELElBQUksWUFBWSxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLElBQUksZ0JBQWdCLENBQUM7SUFDckIsRUFBRSxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZLLENBQUMsQ0FBQSJ9 | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSzNDLElBQUksaUJBQWlCLEdBQUcsZ0dBQWdHLENBQUM7QUFFOUcsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMvQyxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDckYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxlQUFlLEdBQUcsVUFBQyxnQkFBZ0I7SUFDbkMsSUFBSSx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RSxJQUFJLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLHdCQUF3QixHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELElBQUksWUFBWSxHQUFHLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLElBQUksZ0JBQWdCLENBQUM7SUFDckIsRUFBRSxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLGNBQWMsR0FBRyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZLLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50cmlnZ2VyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcblxuXG5sZXQgdHJpZ2dlclZhbHVlUmVnZXggPSAvXihbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8PyhbYS16QS1aMC05XFwuXFwtXFwvXSopLztcblxuZXhwb3J0IGxldCB0cmlnZ2VyID0gZnVuY3Rpb24gKCkge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBydW5uaW5nIHRyaWdnZXJzXCIpO1xuICAgIHBsdWdpbnMuc21hcnRwYXJhbS5mb3JFYWNoTWluaW1hdGNoKHByb2Nlc3MuZW52LCBcIk5QTUNJX1RSSUdHRVJfKlwiLCBldmFsdWF0ZVRyaWdnZXIpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBldmFsdWF0ZVRyaWdnZXIgPSAodHJpZ2dlckVudlZhckFyZykgPT4ge1xuICAgIGxldCB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheSA9IHRyaWdnZXJWYWx1ZVJlZ2V4LmV4ZWModHJpZ2dlckVudlZhckFyZyk7XG4gICAgbGV0IHJlZ2V4RG9tYWluID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMV07XG4gICAgbGV0IHJlZ2V4UHJvamVjdElkID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMl07XG4gICAgbGV0IHJlZ2V4UHJvamVjdFRyaWdnZXJUb2tlbiA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzNdO1xuICAgIGxldCByZWdleFJlZk5hbWUgPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVs0XTtcbiAgICBsZXQgcmVnZXhUcmlnZ2VyTmFtZTtcbiAgICBpZiAodHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXkubGVuZ3RoID09IDYpIHtcbiAgICAgICAgcmVnZXhUcmlnZ2VyTmFtZSA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzVdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJlZ2V4VHJpZ2dlck5hbWUgPSBcIlVubmFtZWQgVHJpZ2dlclwiO1xuICAgIH1cbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiRm91bmQgVHJpZ2dlciFcIik7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwidHJpZ2dlcmluZyBidWlsZCBmb3IgcmVmIFwiICsgcmVnZXhSZWZOYW1lICsgXCIgb2YgXCIgKyByZWdleFRyaWdnZXJOYW1lKTtcbiAgICBwbHVnaW5zLnJlcXVlc3QucG9zdChcImh0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjMvcHJvamVjdHMvXCIgKyByZWdleFByb2plY3RJZCArIFwiL3RyaWdnZXIvYnVpbGRzXCIsIHsgZm9ybTogeyB0b2tlbjogcmVnZXhQcm9qZWN0VHJpZ2dlclRva2VuLCByZWY6IHJlZ2V4UmVmTmFtZSB9IH0pO1xufSJdfQ== |  | ||||||
							
								
								
									
										15
									
								
								docs/book.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								docs/book.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | { | ||||||
|  |     "structure": { | ||||||
|  |         "readme": "index.md" | ||||||
|  |     }, | ||||||
|  |     "plugins": [ | ||||||
|  |         "tonic", | ||||||
|  |         "edit-link" | ||||||
|  |     ], | ||||||
|  |     "pluginsConfig": { | ||||||
|  |         "edit-link": { | ||||||
|  |             "base": "https://gitlab.com/pushrocks/npmts/edit/master/docs/", | ||||||
|  |             "label": "Edit on GitLab" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										66
									
								
								docs/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								docs/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | |||||||
|  | # NPMCI | ||||||
|  | npmci is your friend when it comes to handling npm packages during CI builds. It is optimized for GitLab CI | ||||||
|  |  | ||||||
|  | ## Availabililty | ||||||
|  | [](https://www.npmjs.com/package/npmci) | ||||||
|  | [](https://gitlab.com/pushrocks/npmci) | ||||||
|  | [](https://github.com/pushrocks/npmci) | ||||||
|  | [](https://pushrocks.gitlab.io/npmci/docs) | ||||||
|  | [](https://pushrocks.gitlab.io/npmci/api) | ||||||
|  |  | ||||||
|  | ## Status for master | ||||||
|  | [](https://gitlab.com/pushrocks/npmci/commits/master) | ||||||
|  | [](https://gitlab.com/pushrocks/npmci/commits/master) | ||||||
|  | [](https://david-dm.org/pushrocks/npmci) | ||||||
|  | [](https://www.bithound.io/github/pushrocks/npmci/master/dependencies/npm) | ||||||
|  | [](https://www.bithound.io/github/pushrocks/npmci) | ||||||
|  | [](https://nodejs.org/dist/latest-v6.x/docs/api/) | ||||||
|  | [](https://nodejs.org/dist/latest-v6.x/docs/api/) | ||||||
|  |  | ||||||
|  | ## Usage | ||||||
|  | npmci is designed to work in docker CI environments. The following docker images come with npmci presinstalled: | ||||||
|  |  | ||||||
|  | Docker Hub: | ||||||
|  |  | ||||||
|  | * [hosttoday/ht-docker-node:npmci](https://hub.docker.com/r/hosttoday/ht-docker-node/)   | ||||||
|  | has LTS node version and npmci preinstalled. | ||||||
|  | * [hosttoday/ht-docker-dbase](https://hub.docker.com/r/hosttoday/ht-docker-dbase/)   | ||||||
|  | based on docker:git, can be used to build docker images in conjunction with docker:dind | ||||||
|  |  | ||||||
|  | npmci can be called from commandline: | ||||||
|  | ```shell | ||||||
|  | # Install any node version: | ||||||
|  | npmci install lts # will install latest LTS node version and update PATH for node and npm versions | ||||||
|  | npmci install stable # will install latest stable node version and update PATH for node and npm | ||||||
|  | npmci install legacy # will install latest legacy node version and update PATH for node and npm | ||||||
|  | npmci install x.x.x #  will install any specific node version. | ||||||
|  |  | ||||||
|  | # Install any node version, install dependencies and run test in cwd: | ||||||
|  | npmci test lts # will install latest lts node version and run "npm install" and "npm test". | ||||||
|  | npmci test stable # will install latest stable node version and run "npm install" and "npm test". | ||||||
|  | npmci test legacy # will install latest legacy node version and run "npm install" and "npm test". | ||||||
|  | npmci test x.x.x # will install any specific node version and run "npm install" and "npm test". | ||||||
|  | npmci test docker # will test any build image with tests defined in ./npmci/dockertest_1.sh to ./npmci/dockertest_100.sh | ||||||
|  | ## npmci test docker will look at all Dockerfiles and look for according tags on GitLab container registry | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # prepare tools | ||||||
|  | npmci prepare npm # will look for $NPMCI_TOKEN_NPM env var and create .npmrc, so npm is authenticated | ||||||
|  | npmci prepare docker # will look for $NPMCI_LOGIN_DOCKER in form username|password and authenticate docker | ||||||
|  | npmci prepare docker-gitlab # will authenticate docker for gitlab container registry | ||||||
|  |  | ||||||
|  | # build containers | ||||||
|  | npmci build docker # will build containers | ||||||
|  | ## all Dockerfiles named DOckerfile* are picked up. | ||||||
|  | ## specify tags lake this Dockerfile_[tag] | ||||||
|  | ## uploads all built images as [username]/[reponame]:[tag]_test to GitLab | ||||||
|  | ## then test in next step with "npmci test docker" | ||||||
|  |  | ||||||
|  | # publish npm module | ||||||
|  | npmci publish npm # will look vor $NPMCI_TOKEN_NPM env var and push any module in cwd to npm | ||||||
|  | npmci publish docker | ||||||
|  |  | ||||||
|  | # trigger webhooks | ||||||
|  | npmci trigger # will look for NPMCI_TRIGGER_1 to NPMCI_TRIGGER_100 in form domain|id|token|ref|name   | ||||||
|  | ``` | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								npmextra.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | { | ||||||
|  |     "npmts":{ | ||||||
|  |         "mode":"default" | ||||||
|  |     }, | ||||||
|  |     "npmdocker":{ | ||||||
|  |         "baseImage":"hosttoday/ht-docker-node:npmts" | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										30
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,8 +1,9 @@ | |||||||
| { | { | ||||||
|   "name": "npmci", |   "name": "npmci", | ||||||
|   "version": "2.3.3", |   "version": "2.3.16", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|  |   "typings": "dist/index.d.ts", | ||||||
|   "bin": { |   "bin": { | ||||||
|     "npmci": "dist/index.js" |     "npmci": "dist/index.js" | ||||||
|   }, |   }, | ||||||
| @@ -21,25 +22,30 @@ | |||||||
|   }, |   }, | ||||||
|   "homepage": "https://gitlab.com/pushrocks/npmci#README", |   "homepage": "https://gitlab.com/pushrocks/npmci#README", | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "npmts-g": "^5.2.6", |     "npmts-g": "^5.2.8", | ||||||
|     "should": "^9.0.2", |     "should": "^11.1.0", | ||||||
|     "typings-test": "^1.0.1" |     "typings-test": "^1.0.2" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "beautylog": "^5.0.12", |     "@types/lodash": "^4.14.34", | ||||||
|  |     "@types/q": "0.x.x", | ||||||
|  |     "@types/request": "0.x.x", | ||||||
|  |     "@types/shelljs": "^0.3.30", | ||||||
|  |     "beautylog": "^5.0.23", | ||||||
|     "gulp": "^3.9.1", |     "gulp": "^3.9.1", | ||||||
|     "gulp-function": "^1.3.6", |     "gulp-function": "^1.3.6", | ||||||
|     "lodash": "^4.13.1", |     "lodash": "^4.15.0", | ||||||
|     "projectinfo": "^1.0.3", |     "projectinfo": "^1.0.3", | ||||||
|     "q": "^1.4.1", |     "q": "^1.4.1", | ||||||
|     "request": "^2.72.0", |     "request": "^2.74.0", | ||||||
|     "shelljs": "^0.7.0", |     "shelljs": "^0.7.4", | ||||||
|     "smartcli": "^1.0.4", |     "smartcli": "^1.0.9", | ||||||
|     "smartfile": "^4.0.5", |     "smartfile": "^4.0.15", | ||||||
|     "smartparam": "^0.1.1", |     "smartparam": "^0.1.1", | ||||||
|  |     "smartsocket": "^1.1.4", | ||||||
|     "smartssh": "^1.1.5", |     "smartssh": "^1.1.5", | ||||||
|     "smartstring": "^2.0.10", |     "smartstring": "^2.0.17", | ||||||
|     "through2": "^2.0.1", |     "through2": "^2.0.1", | ||||||
|     "typings-global": "^1.0.3" |     "typings-global": "^1.0.14" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								test/test.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,17 +1,29 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
| import * as plugins from "./npmci.plugins"; | import * as plugins from "./npmci.plugins"; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | let nvmSourceString: string = ""; | ||||||
|  | export let nvmAvailable: boolean = false; | ||||||
|  | let checkNvm = () => { | ||||||
|  |     if (plugins.shelljs.exec(`bash -c "source /usr/local/nvm/nvm.sh"`,{silent:true}).code === 0) { | ||||||
|  |         nvmSourceString = `source /usr/local/nvm/nvm.sh && ` | ||||||
|  |         nvmAvailable = true; | ||||||
|  |     } else if (plugins.shelljs.exec(`bash -c "source ~/.nvm/nvm.sh"`,{silent:true}).code === 0) { | ||||||
|  |         nvmSourceString = `source ~/.nvm/nvm.sh && ` | ||||||
|  |         nvmAvailable = true; | ||||||
|  |     }; | ||||||
|  | }; | ||||||
|  | checkNvm(); | ||||||
|  |  | ||||||
| export let bash = (commandArg: string, retryArg = 2, bareArg = false) => { | export let bash = (commandArg: string, retryArg = 2, bareArg = false) => { | ||||||
|     let exitCode: number; |     let exitCode: number; | ||||||
|     let stdOut: string; |     let stdOut: string; | ||||||
|     let execResult; |     let execResult; | ||||||
|     if(!process.env.NPMTS_TEST){ |     if (!process.env.NPMTS_TEST) { // NPMTS_TEST is used during testing | ||||||
|         for (let i = 0; i <= retryArg; i++) { |         for (let i = 0; i <= retryArg; i++) { | ||||||
|             if (!bareArg) { |             if (!bareArg) { | ||||||
|                 execResult = plugins.shelljs.exec( |                 execResult = plugins.shelljs.exec( | ||||||
|                     "bash -c \"source /usr/local/nvm/nvm.sh &&" + |                     `bash -c "${nvmSourceString} ${commandArg}"` | ||||||
|                     commandArg + |  | ||||||
|                     "\"" |  | ||||||
|                 ); |                 ); | ||||||
|             } else { |             } else { | ||||||
|                 execResult = plugins.shelljs.exec(commandArg); |                 execResult = plugins.shelljs.exec(commandArg); | ||||||
| @@ -28,7 +40,7 @@ export let bash = (commandArg:string,retryArg = 2,bareArg = false) => { | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } else { |     } else { | ||||||
|         plugins.beautylog.log("ShellExec would be: " + commandArg.blue) |         plugins.beautylog.log("ShellExec would be: " + commandArg) | ||||||
|     } |     } | ||||||
|     return stdOut; |     return stdOut; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,6 +3,9 @@ import * as paths from "./npmci.paths"; | |||||||
| import * as NpmciEnv from "./npmci.env"; | import * as NpmciEnv from "./npmci.env"; | ||||||
| import {bashBare} from "./npmci.bash"; | import {bashBare} from "./npmci.bash"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * builds a cwd of Dockerfiles by triggering a promisechain | ||||||
|  |  */ | ||||||
| export let build = function(){ | export let build = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     readDockerfiles() |     readDockerfiles() | ||||||
| @@ -16,8 +19,12 @@ export let build = function(){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
| export let readDockerfiles = function(){ | /** | ||||||
|     let done = plugins.q.defer(); |  * creates instance of class Dockerfile for all Dockerfiles in cwd | ||||||
|  |  * @returns Promise<Dockerfile[]> | ||||||
|  |  */ | ||||||
|  | export let readDockerfiles = function():plugins.q.Promise<Dockerfile[]>{ | ||||||
|  |     let done = plugins.q.defer<Dockerfile[]>(); | ||||||
|     let readDockerfilesArray:Dockerfile[] = [] |     let readDockerfilesArray:Dockerfile[] = [] | ||||||
|     plugins.gulp.src("./Dockerfile*") |     plugins.gulp.src("./Dockerfile*") | ||||||
|         .pipe(plugins.through2.obj(function(file,enc,cb){ |         .pipe(plugins.through2.obj(function(file,enc,cb){ | ||||||
| @@ -33,8 +40,13 @@ export let readDockerfiles = function(){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
| export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]){ | /** | ||||||
|     let done = plugins.q.defer(); |  * sorts Dockerfiles into a dependency chain | ||||||
|  |  * @param sortableArrayArg an array of instances of class Dockerfile | ||||||
|  |  * @returns Promise<Dockerfile[]> | ||||||
|  |  */ | ||||||
|  | export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]):plugins.q.Promise<Dockerfile[]>{ | ||||||
|  |     let done = plugins.q.defer<Dockerfile[]>(); | ||||||
|     let sortedArray:Dockerfile[] = []; |     let sortedArray:Dockerfile[] = []; | ||||||
|     let cleanTagsOriginal = cleanTagsArrayFunction(sortableArrayArg,sortedArray); |     let cleanTagsOriginal = cleanTagsArrayFunction(sortableArrayArg,sortedArray); | ||||||
|     let sorterFunctionCounter:number = 0; |     let sorterFunctionCounter:number = 0; | ||||||
| @@ -59,8 +71,11 @@ export let sortDockerfiles = function(sortableArrayArg:Dockerfile[]){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| export let mapDockerfiles = function(sortedArray:Dockerfile[]){ | /** | ||||||
|     let done = plugins.q.defer(); |  * maps local Dockerfiles dependencies to the correspoding Dockerfile class instances | ||||||
|  |  */ | ||||||
|  | export let mapDockerfiles = function(sortedArray:Dockerfile[]):plugins.q.Promise<Dockerfile[]>{ | ||||||
|  |     let done = plugins.q.defer<Dockerfile[]>(); | ||||||
|     sortedArray.forEach((dockerfileArg) => { |     sortedArray.forEach((dockerfileArg) => { | ||||||
|         if(dockerfileArg.localBaseImageDependent){ |         if(dockerfileArg.localBaseImageDependent){ | ||||||
|             sortedArray.forEach((dockfile2:Dockerfile) => { |             sortedArray.forEach((dockfile2:Dockerfile) => { | ||||||
| @@ -74,6 +89,9 @@ export let mapDockerfiles = function(sortedArray:Dockerfile[]){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * builds the correspoding real docker image for each Dockerfile class instance | ||||||
|  |  */ | ||||||
| export let buildDockerfiles = (sortedArrayArg:Dockerfile[]) => { | export let buildDockerfiles = (sortedArrayArg:Dockerfile[]) => { | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sortedArrayArg.forEach(function(dockerfileArg){ |     sortedArrayArg.forEach(function(dockerfileArg){ | ||||||
| @@ -83,6 +101,9 @@ export let buildDockerfiles = (sortedArrayArg:Dockerfile[]) => { | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * pushes the real Dockerfile images to a Docker registry | ||||||
|  |  */ | ||||||
| export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){ | export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sortedArrayArg.forEach(function(dockerfileArg){ |     sortedArrayArg.forEach(function(dockerfileArg){ | ||||||
| @@ -92,6 +113,10 @@ export let pushDockerfiles = function(sortedArrayArg:Dockerfile[]){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * pulls corresponding real Docker images for instances of Dockerfile from a registry. | ||||||
|  |  * This is needed if building, testing, and publishing of Docker images is carried out in seperate CI stages. | ||||||
|  |  */ | ||||||
| export let pullDockerfileImages = (sortableArrayArg:Dockerfile[],registryArg = "registry.gitlab.com") => { | export let pullDockerfileImages = (sortableArrayArg:Dockerfile[],registryArg = "registry.gitlab.com") => { | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sortableArrayArg.forEach((dockerfileArg) => { |     sortableArrayArg.forEach((dockerfileArg) => { | ||||||
| @@ -101,6 +126,10 @@ export let pullDockerfileImages = (sortableArrayArg:Dockerfile[],registryArg = " | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * tests all Dockerfiles in by calling class Dockerfile.test(); | ||||||
|  |  * @param sortedArrayArg Dockerfile[] that contains all Dockerfiles in cwd | ||||||
|  |  */ | ||||||
| export let testDockerfiles = (sortedArrayArg:Dockerfile[]) => { | export let testDockerfiles = (sortedArrayArg:Dockerfile[]) => { | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sortedArrayArg.forEach(function(dockerfileArg){ |     sortedArrayArg.forEach(function(dockerfileArg){ | ||||||
| @@ -110,6 +139,9 @@ export let testDockerfiles = (sortedArrayArg:Dockerfile[]) => { | |||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * class Dockerfile represents a Dockerfile on disk in npmci | ||||||
|  |  */ | ||||||
| export class Dockerfile { | export class Dockerfile { | ||||||
|     filePath:string; |     filePath:string; | ||||||
|     repo:string; |     repo:string; | ||||||
| @@ -138,6 +170,10 @@ export class Dockerfile { | |||||||
|         this.baseImage = dockerBaseImage(this.content); |         this.baseImage = dockerBaseImage(this.content); | ||||||
|         this.localBaseImageDependent = false; |         this.localBaseImageDependent = false; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * builds the Dockerfile | ||||||
|  |      */ | ||||||
|     build(){ |     build(){ | ||||||
|         let done = plugins.q.defer(); |         let done = plugins.q.defer(); | ||||||
|         plugins.beautylog.info("now building Dockerfile for " + this.cleanTag); |         plugins.beautylog.info("now building Dockerfile for " + this.cleanTag); | ||||||
| @@ -146,6 +182,10 @@ export class Dockerfile { | |||||||
|         done.resolve(); |         done.resolve(); | ||||||
|         return done.promise; |         return done.promise; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * pushes the Dockerfile to a registry | ||||||
|  |      */ | ||||||
|     push(stageArg){ |     push(stageArg){ | ||||||
|         let done = plugins.q.defer(); |         let done = plugins.q.defer(); | ||||||
|         let pushTag; |         let pushTag; | ||||||
| @@ -162,12 +202,20 @@ export class Dockerfile { | |||||||
|         bashBare("docker push " + pushTag); |         bashBare("docker push " + pushTag); | ||||||
|         done.resolve(); |         done.resolve(); | ||||||
|         return done.promise; |         return done.promise; | ||||||
|     } |     }; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * pulls the Dockerfile from a registry | ||||||
|  |      */ | ||||||
|     pull(registryArg:string){ |     pull(registryArg:string){ | ||||||
|         let pullTag = this.testTag; |         let pullTag = this.testTag; | ||||||
|         bashBare("docker pull " + pullTag); |         bashBare("docker pull " + pullTag); | ||||||
|         bashBare("docker tag " + pullTag + " " + this.buildTag); |         bashBare("docker tag " + pullTag + " " + this.buildTag); | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * tests the Dockerfile; | ||||||
|  |      */ | ||||||
|     test(){ |     test(){ | ||||||
|         let testFile:string = plugins.path.join(paths.NpmciTestDir,"test_" + this.version + ".sh"); |         let testFile:string = plugins.path.join(paths.NpmciTestDir,"test_" + this.version + ".sh"); | ||||||
|         let testFileExists:boolean = plugins.smartfile.fs.fileExistsSync(testFile); |         let testFileExists:boolean = plugins.smartfile.fs.fileExistsSync(testFile); | ||||||
| @@ -182,12 +230,19 @@ export class Dockerfile { | |||||||
|             plugins.beautylog.warn("skipping tests for " + this.cleanTag + " because no testfile was found!"); |             plugins.beautylog.warn("skipping tests for " + this.cleanTag + " because no testfile was found!"); | ||||||
|         } |         } | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * gets the id of a Dockerfile | ||||||
|  |      */ | ||||||
|     getId(){ |     getId(){ | ||||||
|         let containerId = bashBare("docker inspect --type=image --format=\"{{.Id}}\" " + this.buildTag); |         let containerId = bashBare("docker inspect --type=image --format=\"{{.Id}}\" " + this.buildTag); | ||||||
|         return containerId; |         return containerId; | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
| export let dockerFileVersion = function(dockerfileNameArg:string):string{ | export let dockerFileVersion = function(dockerfileNameArg:string):string{ | ||||||
|     let versionString:string; |     let versionString:string; | ||||||
|     let versionRegex = /Dockerfile_([a-zA-Z0-9\.]*)$/; |     let versionRegex = /Dockerfile_([a-zA-Z0-9\.]*)$/; | ||||||
| @@ -200,12 +255,18 @@ export let dockerFileVersion = function(dockerfileNameArg:string):string{ | |||||||
|     return versionString; |     return versionString; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
| export let dockerBaseImage = function(dockerfileContentArg:string){ | export let dockerBaseImage = function(dockerfileContentArg:string){ | ||||||
|     let baseImageRegex = /FROM\s([a-zA-z0-9\/\-\:]*)\n?/ |     let baseImageRegex = /FROM\s([a-zA-z0-9\/\-\:]*)\n?/ | ||||||
|     let regexResultArray = baseImageRegex.exec(dockerfileContentArg) |     let regexResultArray = baseImageRegex.exec(dockerfileContentArg) | ||||||
|     return regexResultArray[1]; |     return regexResultArray[1]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
| export let dockerTag = function(registryArg:string,repoArg:string,versionArg:string,suffixArg?:string):string{ | export let dockerTag = function(registryArg:string,repoArg:string,versionArg:string,suffixArg?:string):string{ | ||||||
|     let tagString:string; |     let tagString:string; | ||||||
|     let registry = registryArg; |     let registry = registryArg; | ||||||
| @@ -218,6 +279,9 @@ export let dockerTag = function(registryArg:string,repoArg:string,versionArg:str | |||||||
|     return tagString; |     return tagString; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
| export let cleanTagsArrayFunction = function(dockerfileArrayArg:Dockerfile[],trackingArrayArg:Dockerfile[]):string[]{ | export let cleanTagsArrayFunction = function(dockerfileArrayArg:Dockerfile[],trackingArrayArg:Dockerfile[]):string[]{ | ||||||
|     let cleanTagsArray:string[] = []; |     let cleanTagsArray:string[] = []; | ||||||
|     dockerfileArrayArg.forEach(function(dockerfileArg){ |     dockerfileArrayArg.forEach(function(dockerfileArg){ | ||||||
|   | |||||||
| @@ -4,13 +4,22 @@ import {bash} from "./npmci.bash"; | |||||||
| import * as env from "./npmci.env"; | import * as env from "./npmci.env"; | ||||||
| import * as buildDocker from "./npmci.build.docker" | import * as buildDocker from "./npmci.build.docker" | ||||||
|  |  | ||||||
| export let build = function(commandArg){ | /** | ||||||
|  |  * defines possible build services | ||||||
|  |  */ | ||||||
|  | export type TBuildService = "docker"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * builds for a specific service | ||||||
|  |  */ | ||||||
|  | export let build = function(commandArg):plugins.q.Promise<any> { | ||||||
|     switch(commandArg){ |     switch(commandArg){ | ||||||
|         case "docker": |         case "docker": | ||||||
|             return buildDocker.build();    |             return buildDocker.build();    | ||||||
|         default: |         default: | ||||||
|             plugins.beautylog.log("build target " + commandArg + " not recognised!"); |             plugins.beautylog.log("build target " + commandArg + " not recognised!"); | ||||||
|     } |     }; | ||||||
|  |     return; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -10,7 +10,10 @@ if(process.env.CI_BUILD_REPO) repo = new GitRepo(process.env.CI_BUILD_REPO); | |||||||
| export let buildStage:string = process.env.CI_BUILD_STAGE; | export let buildStage:string = process.env.CI_BUILD_STAGE; | ||||||
|  |  | ||||||
| // handling config between commands | // handling config between commands | ||||||
| export let dockerRegistry; // will be set by npmci.prepare | export let dockerRegistry:string; // will be set by npmci.prepare | ||||||
|  | export let setDockerRegistry = (dockerRegistryArg:string) => { | ||||||
|  |     dockerRegistry = dockerRegistryArg; | ||||||
|  | } | ||||||
| export let dockerFilesBuilt:Dockerfile[] = []; | export let dockerFilesBuilt:Dockerfile[] = []; | ||||||
| export let dockerFiles:Dockerfile[] = []; | export let dockerFiles:Dockerfile[] = []; | ||||||
| export let config = { | export let config = { | ||||||
|   | |||||||
| @@ -1,25 +1,27 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
| import * as plugins from "./npmci.plugins"; | import * as plugins from "./npmci.plugins"; | ||||||
| import { bash } from "./npmci.bash"; | import { bash } from "./npmci.bash"; | ||||||
|  | import { nvmAvailable } from "./npmci.bash" | ||||||
|  |  | ||||||
| export let install = (versionArg) => { | export let install = (versionArg) => { | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow); |     plugins.beautylog.log(`now installing node version ${versionArg}`); | ||||||
|     let version: string; |     let version: string; | ||||||
|     if (versionArg == "stable") { |     if (versionArg == "stable") { | ||||||
|         version = "6.6.2"; |         version = "6.3.0"; | ||||||
|     } else if (versionArg == "lts") { |     } else if (versionArg == "lts") { | ||||||
|         version = "4.4.7"; |         version = "6.3.0"; | ||||||
|     } else if (versionArg == "legacy") { |     } else if (versionArg == "legacy") { | ||||||
|         version = "4.4.7" |         version = "6.3.0" | ||||||
|     } else { |     } else { | ||||||
|         version = versionArg; |         version = versionArg; | ||||||
|     }; |     }; | ||||||
|     bash( |     if (nvmAvailable) { | ||||||
|         "nvm install " + version + |         bash(`nvm install ${version} && nvm alias default ${version}`) | ||||||
|         " && nvm alias default " + version |         plugins.beautylog.success(`Node version ${version} successfully installed!`); | ||||||
|     ); |     } else { | ||||||
|     plugins.beautylog.success("Node version " + version + " successfully installed!"); |         plugins.beautylog.warn("Nvm not in path so staying at installed node version!"); | ||||||
|  |     }; | ||||||
|     bash("node -v"); |     bash("node -v"); | ||||||
|     bash("npm -v"); |     bash("npm -v"); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|   | |||||||
| @@ -5,12 +5,13 @@ export let gulpFunction = require("gulp-function"); | |||||||
| export let lodash = require("lodash"); | export let lodash = require("lodash"); | ||||||
| export import path = require("path"); | export import path = require("path"); | ||||||
| export import projectinfo = require("projectinfo"); | export import projectinfo = require("projectinfo"); | ||||||
| export let q = require("q"); | export import q = require("q"); | ||||||
| export let request = require("request"); | export let request = require("request"); | ||||||
| export let shelljs = require("shelljs"); | export import shelljs = require("shelljs"); | ||||||
| export import smartcli = require("smartcli"); | export import smartcli = require("smartcli"); | ||||||
| export import smartfile = require("smartfile"); | export import smartfile = require("smartfile"); | ||||||
| export import smartparam = require("smartparam"); | export import smartparam = require("smartparam"); | ||||||
|  | export import smartsocket = require("smartsocket"); | ||||||
| export import smartssh = require("smartssh"); | export import smartssh = require("smartssh"); | ||||||
| export import smartstring = require("smartstring"); | export import smartstring = require("smartstring"); | ||||||
| export let through2 = require("through2"); | export let through2 = require("through2"); | ||||||
| @@ -4,6 +4,17 @@ import {bash} from "./npmci.bash"; | |||||||
| import * as env from "./npmci.env" | import * as env from "./npmci.env" | ||||||
| import * as sshModule from "./npmci.ssh" | import * as sshModule from "./npmci.ssh" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //types | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * defines possible prepare services | ||||||
|  |  */ | ||||||
|  | export type TPrepService = "npm" | "docker" | "docker-gitlab" | "ssh"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * authenticates npm with token from env var | ||||||
|  |  */ | ||||||
| let npm = function(){ | let npm = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|      |      | ||||||
| @@ -22,9 +33,12 @@ let npm = function(){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * logs in docker | ||||||
|  |  */ | ||||||
| let docker = function(){ | let docker = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     env.dockerRegistry = "docker.io" |     env.setDockerRegistry("docker.io"); | ||||||
|     let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/ |     let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/ | ||||||
|     if(!process.env.NPMCI_LOGIN_DOCKER){ |     if(!process.env.NPMCI_LOGIN_DOCKER){ | ||||||
|         plugins.beautylog.error("You have to specify Login Data to the Docker Registry"); |         plugins.beautylog.error("You have to specify Login Data to the Docker Registry"); | ||||||
| @@ -39,22 +53,32 @@ let docker = function(){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * prepare docker for gitlab registry | ||||||
|  |  */ | ||||||
| let dockerGitlab = function(){ | let dockerGitlab = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     env.dockerRegistry = "registry.gitlab.com"; |     env.setDockerRegistry("registry.gitlab.com"); | ||||||
|     plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + process.env.CI_BUILD_TOKEN + " " + "registry.gitlab.com"); |     plugins.shelljs.exec("docker login -u gitlab-ci-token -p " + process.env.CI_BUILD_TOKEN + " " + "registry.gitlab.com"); | ||||||
|     done.resolve(); |     done.resolve(); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * prepare ssh | ||||||
|  |  */ | ||||||
| let ssh = function(){ | let ssh = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sshModule.ssh() |     sshModule.ssh() | ||||||
|         .then(done.resolve); |         .then(done.resolve); | ||||||
|     return done.promise; |     return done.promise; | ||||||
| } | }; | ||||||
|  |  | ||||||
| export let prepare = function(serviceArg:string){ | /** | ||||||
|  |  * the main exported prepare function | ||||||
|  |  * @param servieArg describes the service to prepare | ||||||
|  |  */ | ||||||
|  | export let prepare = function(serviceArg:TPrepService){ | ||||||
|     switch (serviceArg) { |     switch (serviceArg) { | ||||||
|         case "npm": |         case "npm": | ||||||
|             return npm(); |             return npm(); | ||||||
|   | |||||||
| @@ -5,8 +5,17 @@ import {bash} from "./npmci.bash"; | |||||||
| import * as NpmciEnv from "./npmci.env"; | import * as NpmciEnv from "./npmci.env"; | ||||||
| import * as NpmciBuildDocker from "./npmci.build.docker" | import * as NpmciBuildDocker from "./npmci.build.docker" | ||||||
|  |  | ||||||
| export let publish = (serviceArg:string = "npm") => { | /** | ||||||
|     switch (serviceArg){ |  * type of supported services | ||||||
|  |  */ | ||||||
|  | export type TPubService = "npm" | "docker"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * the main exported publish function. | ||||||
|  |  * @param pubServiceArg references targeted service to publish to  | ||||||
|  |  */ | ||||||
|  | export let publish = (pubServiceArg:TPubService = "npm") => { | ||||||
|  |     switch (pubServiceArg){ | ||||||
|         case "npm":  |         case "npm":  | ||||||
|             return publishNpm(); |             return publishNpm(); | ||||||
|         case "docker": |         case "docker": | ||||||
| @@ -14,6 +23,9 @@ export let publish = (serviceArg:string = "npm") => { | |||||||
|     } |     } | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * tries to publish current cwd to NPM registry | ||||||
|  |  */ | ||||||
| let publishNpm  = function(){ | let publishNpm  = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     prepare("npm") |     prepare("npm") | ||||||
| @@ -25,6 +37,9 @@ let publishNpm  = function(){ | |||||||
|    return done.promise; |    return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * tries to pubish current cwd to Docker registry | ||||||
|  |  */ | ||||||
| let publishDocker = function(){ | let publishDocker = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|         NpmciBuildDocker.readDockerfiles() |         NpmciBuildDocker.readDockerfiles() | ||||||
|   | |||||||
							
								
								
									
										32
									
								
								ts/npmci.servezone.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								ts/npmci.servezone.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | import * as plugins from "./npmci.plugins"; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * servezoneRegex is the regex that parses the servezone connection data | ||||||
|  |  * parses strings in the form of "servezone.example.com|3000|somepassword" | ||||||
|  |  */ | ||||||
|  | let servezoneRegex = /^(.*)\|(.*)\|(.*)/; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * holds the results of the parsed servezone env string | ||||||
|  |  */ | ||||||
|  | let servezoneRegexResultArray = servezoneRegex.exec(process.env.NPMCI_SERVEZONE); | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * the data object that is used for the smartsocket client object | ||||||
|  |  */ | ||||||
|  | let smartsocketClientConstructorOptions = { | ||||||
|  |     alias: "npmci", | ||||||
|  |     password: servezoneRegexResultArray[3], | ||||||
|  |     port: parseInt(servezoneRegexResultArray[2]), | ||||||
|  |     role: "ci", | ||||||
|  |     url: servezoneRegexResultArray[1] | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * the main run function to submit a service to a servezone | ||||||
|  |  */ | ||||||
|  | export let run = (configArg) => { | ||||||
|  |     new plugins.smartsocket.SmartsocketClient( | ||||||
|  |         smartsocketClientConstructorOptions | ||||||
|  |     ); | ||||||
|  | }; | ||||||
| @@ -4,12 +4,15 @@ import * as plugins from "./npmci.plugins"; | |||||||
| let sshRegex = /^(.*)\|(.*)\|(.*)/ | let sshRegex = /^(.*)\|(.*)\|(.*)/ | ||||||
| let sshInstance:plugins.smartssh.SshInstance; | let sshInstance:plugins.smartssh.SshInstance; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * checks for ENV vars in form of NPMCI_SSHKEY_* and deploys any found ones | ||||||
|  |  */ | ||||||
| export let ssh = () => { | export let ssh = () => { | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
|     sshInstance = new plugins.smartssh.SshInstance(); |     sshInstance = new plugins.smartssh.SshInstance(); // init ssh instance | ||||||
|     plugins.smartparam.forEachMinimatch(process.env,"NPMCI_SSHKEY_*",evaluateSshEnv); |     plugins.smartparam.forEachMinimatch(process.env,"NPMCI_SSHKEY_*",evaluateSshEnv); | ||||||
|     if(!process.env.NPMTS_TEST){ |     if(!process.env.NPMTS_TEST){ | ||||||
|         sshInstance.writeToDisk() |         sshInstance.writeToDisk(); | ||||||
|     } else { |     } else { | ||||||
|         plugins.beautylog.log("In test mode, so not storing SSH keys to disk!"); |         plugins.beautylog.log("In test mode, so not storing SSH keys to disk!"); | ||||||
|     }; |     }; | ||||||
| @@ -17,6 +20,9 @@ export let ssh = () => { | |||||||
|     return done.promise; |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * gets called for each found SSH ENV Var and deploys it  | ||||||
|  |  */ | ||||||
| let evaluateSshEnv = (sshkeyEnvVarArg) => { | let evaluateSshEnv = (sshkeyEnvVarArg) => { | ||||||
|     let resultArray = sshRegex.exec(sshkeyEnvVarArg); |     let resultArray = sshRegex.exec(sshkeyEnvVarArg); | ||||||
|     let sshKey = new plugins.smartssh.SshKey(); |     let sshKey = new plugins.smartssh.SshKey(); | ||||||
| @@ -37,6 +43,9 @@ let evaluateSshEnv = (sshkeyEnvVarArg) => { | |||||||
|     sshInstance.addKey(sshKey); |     sshInstance.addKey(sshKey); | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * checks if not undefined | ||||||
|  |  */ | ||||||
| let notUndefined = (stringArg:string) => { | let notUndefined = (stringArg:string) => { | ||||||
|     return (stringArg && stringArg != "undefined" && stringArg != "##"); |     return (stringArg && stringArg != "undefined" && stringArg != "##"); | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user