Compare commits
	
		
			26 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 657c6870ec | |||
| 566e074cf4 | |||
| 90b9b61a37 | |||
| 88bc772ea7 | |||
| 76530985e7 | |||
| 2525bc1ad4 | |||
| 20bca85a12 | |||
| dd260538a7 | |||
| d511e8c2f7 | |||
| c44d6c036c | |||
| 9cec914c94 | |||
| 52a09bb8dd | |||
| 1224fce295 | |||
| 6343731772 | |||
| 129d22b537 | |||
| 8075281499 | |||
| fe5f602aca | |||
| 577a9b3e49 | |||
| e6ad22547c | |||
| 8adeb5bb5c | |||
| db0d55636e | |||
| 0a73134e1c | |||
| 2994a9ef5b | |||
| af74e730cc | |||
| 798c909f1e | |||
| ba41776c0e | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| node_modules/ | node_modules/ | ||||||
| coverage/ | coverage/ | ||||||
| pages/ |  | ||||||
| public/ | public/ | ||||||
| config.json | config.json | ||||||
|  | .yarn/ | ||||||
|   | |||||||
| @@ -64,6 +64,8 @@ pages: | |||||||
|     - npmci command npmpage --host gitlab |     - npmci command npmpage --host gitlab | ||||||
|   only: |   only: | ||||||
|     - tags |     - tags | ||||||
|  |   tags: | ||||||
|  |     - docker | ||||||
|   artifacts: |   artifacts: | ||||||
|     expire_in: 1 week |     expire_in: 1 week | ||||||
|     paths: |     paths: | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								dist/npmci.bash.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/npmci.bash.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -3,6 +3,7 @@ import * as plugins from './npmci.plugins'; | |||||||
|  * wether nvm is available or not |  * wether nvm is available or not | ||||||
|  */ |  */ | ||||||
| export declare let nvmAvailable: plugins.q.Deferred<boolean>; | export declare let nvmAvailable: plugins.q.Deferred<boolean>; | ||||||
|  | export declare let yarnAvailable: plugins.q.Deferred<boolean>; | ||||||
| /** | /** | ||||||
|  * bash() allows using bash with nvm in path |  * bash() allows using bash with nvm in path | ||||||
|  * @param commandArg - The command to execute |  * @param commandArg - The command to execute | ||||||
|   | |||||||
							
								
								
									
										42
									
								
								dist/npmci.bash.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										42
									
								
								dist/npmci.bash.js
									
									
									
									
										vendored
									
									
								
							| @@ -9,11 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
|  | const paths = require("./npmci.paths"); | ||||||
| const smartq = require("smartq"); | const smartq = require("smartq"); | ||||||
| /** | /** | ||||||
|  * wether nvm is available or not |  * wether nvm is available or not | ||||||
|  */ |  */ | ||||||
| exports.nvmAvailable = smartq.defer(); | exports.nvmAvailable = smartq.defer(); | ||||||
|  | exports.yarnAvailable = smartq.defer(); | ||||||
| /** | /** | ||||||
|  * the smartshell instance for npmci |  * the smartshell instance for npmci | ||||||
|  */ |  */ | ||||||
| @@ -21,21 +23,36 @@ let npmciSmartshell = new plugins.smartshell.Smartshell({ | |||||||
|     executor: 'bash', |     executor: 'bash', | ||||||
|     sourceFilePaths: [] |     sourceFilePaths: [] | ||||||
| }); | }); | ||||||
| let checkNvm = () => __awaiter(this, void 0, void 0, function* () { | /** | ||||||
|  |  * check for tools. | ||||||
|  |  */ | ||||||
|  | let checkToolsAvailable = () => __awaiter(this, void 0, void 0, function* () { | ||||||
|  |     // check for nvm | ||||||
|  |     if (!process.env.NPMTS_TEST) { | ||||||
|         if ((yield plugins.smartshell.execSilent(`bash -c "source /usr/local/nvm/nvm.sh"`)).exitCode === 0) { |         if ((yield plugins.smartshell.execSilent(`bash -c "source /usr/local/nvm/nvm.sh"`)).exitCode === 0) { | ||||||
|         npmciSmartshell.addSourceFiles([`/usr/local/nvm/nvm.sh && `]); |             npmciSmartshell.addSourceFiles([`/usr/local/nvm/nvm.sh`]); | ||||||
|             exports.nvmAvailable.resolve(true); |             exports.nvmAvailable.resolve(true); | ||||||
|         } |         } | ||||||
|         else if ((yield plugins.smartshell.execSilent(`bash -c "source ~/.nvm/nvm.sh"`)).exitCode === 0) { |         else if ((yield plugins.smartshell.execSilent(`bash -c "source ~/.nvm/nvm.sh"`)).exitCode === 0) { | ||||||
|         npmciSmartshell.addSourceFiles([`~/.nvm/nvm.sh && `]); |             npmciSmartshell.addSourceFiles([`~/.nvm/nvm.sh`]); | ||||||
|             exports.nvmAvailable.resolve(true); |             exports.nvmAvailable.resolve(true); | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|             exports.nvmAvailable.resolve(false); |             exports.nvmAvailable.resolve(false); | ||||||
|         } |         } | ||||||
|         ; |         ; | ||||||
|  |         // check for yarn | ||||||
|  |         yield plugins.smartshell.which('yarn').then(() => { | ||||||
|  |             plugins.smartshell.exec(`yarn config set cache-folder ${plugins.path.join(paths.cwd, '.yarn')}`); | ||||||
|  |             exports.yarnAvailable.resolve(true); | ||||||
|  |         }, () => { exports.yarnAvailable.resolve(false); }); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         exports.nvmAvailable.resolve(true); | ||||||
|  |         exports.yarnAvailable.resolve(true); | ||||||
|  |     } | ||||||
| }); | }); | ||||||
| checkNvm(); | checkToolsAvailable(); | ||||||
| /** | /** | ||||||
|  * bash() allows using bash with nvm in path |  * bash() allows using bash with nvm in path | ||||||
|  * @param commandArg - The command to execute |  * @param commandArg - The command to execute | ||||||
| @@ -53,7 +70,7 @@ exports.bash = (commandArg, retryArg = 2, bareArg = false) => __awaiter(this, vo | |||||||
|     if (!process.env.NPMTS_TEST) { |     if (!process.env.NPMTS_TEST) { | ||||||
|         for (let i = 0; i <= retryArg; i++) { |         for (let i = 0; i <= retryArg; i++) { | ||||||
|             if (!bareArg) { |             if (!bareArg) { | ||||||
|                 execResult = yield npmciSmartshell.execSilent(commandArg); |                 execResult = yield npmciSmartshell.exec(commandArg); | ||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 execResult = yield plugins.smartshell.exec(commandArg); |                 execResult = yield plugins.smartshell.exec(commandArg); | ||||||
| @@ -76,6 +93,7 @@ exports.bash = (commandArg, retryArg = 2, bareArg = false) => __awaiter(this, vo | |||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         plugins.beautylog.log('ShellExec would be: ' + commandArg); |         plugins.beautylog.log('ShellExec would be: ' + commandArg); | ||||||
|  |         yield plugins.smartdelay.delayFor(100); | ||||||
|         execResult = { |         execResult = { | ||||||
|             exitCode: 0, |             exitCode: 0, | ||||||
|             stdout: 'testOutput' |             stdout: 'testOutput' | ||||||
| @@ -86,13 +104,13 @@ exports.bash = (commandArg, retryArg = 2, bareArg = false) => __awaiter(this, vo | |||||||
| /** | /** | ||||||
|  * bashBare allows usage of bash without sourcing any files like nvm |  * bashBare allows usage of bash without sourcing any files like nvm | ||||||
|  */ |  */ | ||||||
| exports.bashBare = (commandArg, retryArg = 2) => { | exports.bashBare = (commandArg, retryArg = 2) => __awaiter(this, void 0, void 0, function* () { | ||||||
|     return exports.bash(commandArg, retryArg, true); |     return yield exports.bash(commandArg, retryArg, true); | ||||||
| }; | }); | ||||||
| /** | /** | ||||||
|  * bashNoError allows executing stuff without throwing an error |  * bashNoError allows executing stuff without throwing an error | ||||||
|  */ |  */ | ||||||
| exports.bashNoError = (commandArg) => { | exports.bashNoError = (commandArg) => __awaiter(this, void 0, void 0, function* () { | ||||||
|     return exports.bash(commandArg, -1); |     return yield exports.bash(commandArg, -1); | ||||||
| }; | }); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyxpQ0FBZ0M7QUFFaEM7O0dBRUc7QUFDUSxRQUFBLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUE7QUFFakQ7O0dBRUc7QUFDSCxJQUFJLGVBQWUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQ3RELFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGVBQWUsRUFBRSxFQUFFO0NBQ3BCLENBQUMsQ0FBQTtBQUVGLElBQUksUUFBUSxHQUFHO0lBQ2IsRUFBRSxDQUFDLENBQ0QsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FDL0YsQ0FBQyxDQUFDLENBQUM7UUFDRCxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFBO1FBQzdELG9CQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQ1IsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssQ0FDdkYsQ0FBQyxDQUFDLENBQUM7UUFDRCxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFBO1FBQ3JELG9CQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLG9CQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFBQSxDQUFDO0FBQ0osQ0FBQyxDQUFBLENBQUE7QUFDRCxR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 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyx1Q0FBc0M7QUFFdEMsaUNBQWdDO0FBRWhDOztHQUVHO0FBQ1EsUUFBQSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBVyxDQUFBO0FBQ3RDLFFBQUEsYUFBYSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQVcsQ0FBQTtBQUNsRDs7R0FFRztBQUNILElBQUksZUFBZSxHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDdEQsUUFBUSxFQUFFLE1BQU07SUFDaEIsZUFBZSxFQUFFLEVBQUU7Q0FDcEIsQ0FBQyxDQUFBO0FBRUY7O0dBRUc7QUFDSCxJQUFJLG1CQUFtQixHQUFHO0lBQ3hCLGdCQUFnQjtJQUNoQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QixFQUFFLENBQUMsQ0FDRCxDQUFDLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUMvRixDQUFDLENBQUMsQ0FBQztZQUNELGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBRSx1QkFBdUIsQ0FBRSxDQUFDLENBQUE7WUFDM0Qsb0JBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUIsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFDLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUN2RixDQUFDLENBQUMsQ0FBQztZQUNELGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBRSxlQUFlLENBQUUsQ0FBQyxDQUFBO1lBQ25ELG9CQUFZ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 | ||||||
							
								
								
									
										3
									
								
								dist/npmci.build.docker.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/npmci.build.docker.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -45,7 +45,8 @@ export declare class Dockerfile { | |||||||
|     version: string; |     version: string; | ||||||
|     cleanTag: string; |     cleanTag: string; | ||||||
|     buildTag: string; |     buildTag: string; | ||||||
|     testTag: string; |     gitlabTestTag: string; | ||||||
|  |     gitlabReleaseTag: string; | ||||||
|     releaseTag: string; |     releaseTag: string; | ||||||
|     containerName: string; |     containerName: string; | ||||||
|     content: string; |     content: string; | ||||||
|   | |||||||
							
								
								
									
										39
									
								
								dist/npmci.build.docker.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								dist/npmci.build.docker.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										12
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							| @@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); | |||||||
| const plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
| const configModule = require("./npmci.config"); | const configModule = require("./npmci.config"); | ||||||
| const npmci_bash_1 = require("./npmci.bash"); | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| const npmci_bash_2 = require("./npmci.bash"); |  | ||||||
| /** | /** | ||||||
|  * Install a specific version of node |  * Install a specific version of node | ||||||
|  * @param versionArg |  * @param versionArg | ||||||
| @@ -32,7 +31,7 @@ exports.install = (versionArg) => __awaiter(this, void 0, void 0, function* () { | |||||||
|         version = versionArg; |         version = versionArg; | ||||||
|     } |     } | ||||||
|     ; |     ; | ||||||
|     if (yield npmci_bash_2.nvmAvailable.promise) { |     if (yield npmci_bash_1.nvmAvailable.promise) { | ||||||
|         yield npmci_bash_1.bash(`nvm install ${version} && nvm alias default ${version}`); |         yield 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!`); | ||||||
|     } |     } | ||||||
| @@ -43,7 +42,7 @@ exports.install = (versionArg) => __awaiter(this, void 0, void 0, function* () { | |||||||
|     yield npmci_bash_1.bash('node -v'); |     yield npmci_bash_1.bash('node -v'); | ||||||
|     yield npmci_bash_1.bash('npm -v'); |     yield npmci_bash_1.bash('npm -v'); | ||||||
|     // lets look for further config |     // lets look for further config | ||||||
|     configModule.getConfig() |     yield configModule.getConfig() | ||||||
|         .then((configArg) => __awaiter(this, void 0, void 0, function* () { |         .then((configArg) => __awaiter(this, void 0, void 0, function* () { | ||||||
|         plugins.beautylog.log('Now checking for needed global npm tools...'); |         plugins.beautylog.log('Now checking for needed global npm tools...'); | ||||||
|         for (let npmTool of configArg.globalNpmTools) { |         for (let npmTool of configArg.globalNpmTools) { | ||||||
| @@ -55,10 +54,15 @@ exports.install = (versionArg) => __awaiter(this, void 0, void 0, function* () { | |||||||
|             } |             } | ||||||
|             else { |             else { | ||||||
|                 plugins.beautylog.info(`globally installing ${npmTool} from npm`); |                 plugins.beautylog.info(`globally installing ${npmTool} from npm`); | ||||||
|  |                 if (yield npmci_bash_1.yarnAvailable.promise) { | ||||||
|  |                     yield npmci_bash_1.bash(`yarn global add ${npmTool}`); | ||||||
|  |                 } | ||||||
|  |                 else { | ||||||
|                     yield npmci_bash_1.bash(`npm install ${npmTool} -q -g`); |                     yield npmci_bash_1.bash(`npm install ${npmTool} -q -g`); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|         plugins.beautylog.success('all global npm tools specified in npmextra.json are now available!'); |         plugins.beautylog.success('all global npm tools specified in npmextra.json are now available!'); | ||||||
|     })); |     })); | ||||||
| }); | }); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQywrQ0FBOEM7QUFDOUMsNkNBQWdEO0FBQ2hELDZDQUEyQztBQUUzQzs7O0dBR0c7QUFDUSxRQUFBLE9BQU8sR0FBRyxDQUFPLFVBQVU7SUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLFVBQVUsRUFBRSxDQUFDLENBQUE7SUFDbEUsSUFBSSxPQUFlLENBQUE7SUFDbkIsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUIsT0FBTyxHQUFHLFFBQVEsQ0FBQTtJQUNwQixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxHQUFHLENBQUE7SUFDZixDQUFDO0lBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sR0FBRyxHQUFHLENBQUE7SUFDZixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixPQUFPLEdBQUcsVUFBVSxDQUFBO0lBQ3RCLENBQUM7SUFBQSxDQUFDO0lBQ0YsRUFBRSxDQUFDLENBQUMsTUFBTSx5QkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0IsTUFBTSxpQkFBSSxDQUFDLGVBQWUsT0FBTyx5QkFBeUIsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsT0FBTywwQkFBMEIsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDakYsQ0FBQztJQUFBLENBQUM7SUFDRixNQUFNLGlCQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDckIsTUFBTSxpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3BCLCtCQUErQjtJQUMvQixZQUFZLENBQUMsU0FBUyxFQUFFO1NBQ3JCLElBQUksQ0FBQyxDQUFNLFNBQVM7UUFDbkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQUMsQ0FBQTtRQUNwRSxHQUFHLENBQUMsQ0FBQyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsT0FBTyxHQUFHLENBQUMsQ0FBQTtZQUMxRCxJQUFJLFdBQVcsR0FBVyxNQUFNLHdCQUFXLENBQUMsU0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1lBQy9ELElBQUksYUFBYSxHQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxXQUFXLEtBQUssRUFBRSxDQUFDLENBQUE7WUFDdEYsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxPQUFPLGVBQWUsQ0FBQyxDQUFBO1lBQ3ZELENBQUM7WUFBQyxJQUFJLENBQUMsQ0FBQztnQkFDTixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsT0FBTyxXQUFXLENBQUMsQ0FBQTtnQkFDakUsTUFBTSxpQkFBSSxDQUFDLGVBQWUsT0FBTyxRQUFRLENBQUMsQ0FBQTtZQUM1QyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9FQUFvRSxDQUFDLENBQUE7SUFDakcsQ0FBQyxDQUFBLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQSxDQUFBIn0= | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kuaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQywrQ0FBOEM7QUFDOUMsNkNBSXFDO0FBRXJDOzs7R0FHRztBQUNRLFFBQUEsT0FBTyxHQUFHLENBQU8sVUFBVTtJQUNwQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUNsRSxJQUFJLE9BQWUsQ0FBQTtJQUNuQixFQUFFLENBQUMsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QixPQUFPLEdBQUcsUUFBUSxDQUFBO0lBQ3BCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUNmLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUNmLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLE9BQU8sR0FBRyxVQUFVLENBQUE7SUFDdEIsQ0FBQztJQUFBLENBQUM7SUFDRixFQUFFLENBQUMsQ0FBQyxNQUFNLHlCQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMvQixNQUFNLGlCQUFJLENBQUMsZUFBZSxPQUFPLHlCQUF5QixPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBQ3BFLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixPQUFPLDBCQUEwQixDQUFDLENBQUE7SUFDOUUsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsdURBQXVELENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBQUEsQ0FBQztJQUNGLE1BQU0saUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNyQixNQUFNLGlCQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDcEIsK0JBQStCO0lBQy9CLE1BQU0sWUFBWSxDQUFDLFNBQVMsRUFBRTtTQUMzQixJQUFJLENBQUMsQ0FBTSxTQUFTO1FBQ25CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDcEUsR0FBRyxDQUFDLENBQUMsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLE9BQU8sR0FBRyxDQUFDLENBQUE7WUFDMUQsSUFBSSxXQUFXLEdBQVcsTUFBTSx3QkFBVyxDQUFDLFNBQVMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMvRCxJQUFJLGFBQWEsR0FBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFBO1lBQ3RGLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsT0FBTyxlQUFlLENBQUMsQ0FBQTtZQUN2RCxDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLE9BQU8sV0FBVyxDQUFDLENBQUE7Z0JBQ2pFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sMEJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxNQUFNLGlCQUFJLENBQUMsbUJBQW1CLE9BQU8sRUFBRSxDQUFDLENBQUE7Z0JBQzFDLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sTUFBTSxpQkFBSSxDQUFDLGVBQWUsT0FBTyxRQUFRLENBQUMsQ0FBQTtnQkFDNUMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0VBQW9FLENBQUMsQ0FBQTtJQUNqRyxDQUFDLENBQUEsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFBLENBQUEifQ== | ||||||
							
								
								
									
										3
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,13 +1,14 @@ | |||||||
| export import beautylog = require('beautylog'); | export import beautylog = require('beautylog'); | ||||||
| export declare let gulp: any; | export declare let gulp: any; | ||||||
| export import gulpFunction = require('gulp-function'); | export import gulpFunction = require('gulp-function'); | ||||||
| export declare let lodash: any; | export import lodash = require('lodash'); | ||||||
| export import npmextra = require('npmextra'); | export import npmextra = require('npmextra'); | ||||||
| export import path = require('path'); | export import path = require('path'); | ||||||
| export import projectinfo = require('projectinfo'); | export import projectinfo = require('projectinfo'); | ||||||
| export import q = require('smartq'); | export import q = require('smartq'); | ||||||
| export declare let request: any; | export declare let request: any; | ||||||
| export import smartcli = require('smartcli'); | export import smartcli = require('smartcli'); | ||||||
|  | export import smartdelay = require('smartdelay'); | ||||||
| export import smartfile = require('smartfile'); | export import smartfile = require('smartfile'); | ||||||
| export import shelljs = require('shelljs'); | export import shelljs = require('shelljs'); | ||||||
| export import smartparam = require('smartparam'); | export import smartparam = require('smartparam'); | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); | |||||||
| exports.beautylog = require("beautylog"); | exports.beautylog = require("beautylog"); | ||||||
| exports.gulp = require('gulp'); | exports.gulp = require('gulp'); | ||||||
| exports.gulpFunction = require("gulp-function"); | exports.gulpFunction = require("gulp-function"); | ||||||
| exports.lodash = require('lodash'); | exports.lodash = require("lodash"); | ||||||
| exports.npmextra = require("npmextra"); | exports.npmextra = require("npmextra"); | ||||||
| exports.path = require("path"); | exports.path = require("path"); | ||||||
| exports.projectinfo = require("projectinfo"); | exports.projectinfo = require("projectinfo"); | ||||||
| exports.q = require("smartq"); | exports.q = require("smartq"); | ||||||
| exports.request = require('request'); | exports.request = require('request'); | ||||||
| exports.smartcli = require("smartcli"); | exports.smartcli = require("smartcli"); | ||||||
|  | exports.smartdelay = require("smartdelay"); | ||||||
| exports.smartfile = require("smartfile"); | exports.smartfile = require("smartfile"); | ||||||
| exports.shelljs = require("shelljs"); | exports.shelljs = require("shelljs"); | ||||||
| exports.smartparam = require("smartparam"); | exports.smartparam = require("smartparam"); | ||||||
| @@ -19,4 +20,4 @@ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBOEM7QUFDbkMsUUFBQSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ2pDLGdEQUFxRDtBQUMxQyxRQUFBLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDckMsdUNBQTRDO0FBQzVDLCtCQUFvQztBQUNwQyw2Q0FBa0Q7QUFDbEQsOEJBQW1DO0FBQ3hCLFFBQUEsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2Qyx1Q0FBNEM7QUFDNUMseUNBQThDO0FBQzlDLHFDQUEwQztBQUMxQywyQ0FBZ0Q7QUFDaEQsbUNBQXdDO0FBQ3hDLDJDQUFnRDtBQUNoRCw2Q0FBa0Q7QUFDbEQsdUNBQTRDO0FBQzVDLDZDQUFrRDtBQUNsRCx1Q0FBNEMifQ== | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBOEM7QUFDbkMsUUFBQSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ2pDLGdEQUFxRDtBQUNyRCxtQ0FBd0M7QUFDeEMsdUNBQTRDO0FBQzVDLCtCQUFvQztBQUNwQyw2Q0FBa0Q7QUFDbEQsOEJBQW1DO0FBQ3hCLFFBQUEsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2Qyx1Q0FBNEM7QUFDNUMsMkNBQWdEO0FBQ2hELHlDQUE4QztBQUM5QyxxQ0FBMEM7QUFDMUMsMkNBQWdEO0FBQ2hELG1DQUF3QztBQUN4QywyQ0FBZ0Q7QUFDaEQsNkNBQWtEO0FBQ2xELHVDQUE0QztBQUM1Qyw2Q0FBa0Q7QUFDbEQsdUNBQTRDIn0= | ||||||
							
								
								
									
										5
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							| @@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const plugins = require("./npmci.plugins"); | const plugins = require("./npmci.plugins"); | ||||||
|  | const npmci_bash_1 = require("./npmci.bash"); | ||||||
| const env = require("./npmci.env"); | const env = require("./npmci.env"); | ||||||
| const sshModule = require("./npmci.ssh"); | const sshModule = require("./npmci.ssh"); | ||||||
| /** | /** | ||||||
| @@ -42,7 +43,7 @@ let docker = () => __awaiter(this, void 0, void 0, function* () { | |||||||
|     let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER); |     let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER); | ||||||
|     let username = dockerRegexResultArray[1]; |     let username = dockerRegexResultArray[1]; | ||||||
|     let password = dockerRegexResultArray[2]; |     let password = dockerRegexResultArray[2]; | ||||||
|     plugins.shelljs.exec('docker login -u ' + username + ' -p ' + password); |     yield npmci_bash_1.bash('docker login -u ' + username + ' -p ' + password); | ||||||
|     return; |     return; | ||||||
| }); | }); | ||||||
| /** | /** | ||||||
| @@ -77,4 +78,4 @@ exports.prepare = (serviceArg) => __awaiter(this, void 0, void 0, function* () { | |||||||
|             break; |             break; | ||||||
|     } |     } | ||||||
| }); | }); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucHJlcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUUxQyxtQ0FBa0M7QUFDbEMseUNBQXdDO0FBVXhDOztHQUVHO0FBQ0gsSUFBSSxHQUFHLEdBQUc7SUFDUixJQUFJLFdBQVcsR0FBVyxtQ0FBbUMsQ0FBQTtJQUM3RCxJQUFJLFFBQVEsR0FBVyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQTtJQUNsRCxJQUFJLGVBQWUsR0FBVyxXQUFXLEdBQUcsUUFBUSxDQUFBO0lBQ3BELEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDYixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7UUFDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNqQixDQUFDO0lBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUNsRSxNQUFNLENBQUE7QUFDUixDQUFDLENBQUEsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxNQUFNLEdBQUc7SUFDWCxHQUFHLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDbEMsSUFBSSxXQUFXLEdBQUcscUNBQXFDLENBQUE7SUFDdkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO1FBQ2hGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQyxDQUFBLENBQUMsdUNBQXVDO0lBQzlKLElBQUksc0JBQXNCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDN0UsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEMsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDeEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQTtJQUN2RSxNQUFNLENBQUE7QUFDUixDQUFDLENBQUEsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxZQUFZLEdBQUc7SUFDakIsR0FBRyxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDNUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEdBQUcsR0FBRyxHQUFHLHFCQUFxQixDQUFDLENBQUE7SUFDdEgsTUFBTSxDQUFBO0FBQ1IsQ0FBQyxDQUFBLENBQUE7QUFFRDs7R0FFRztBQUNILElBQUksR0FBRyxHQUFHO0lBQ1IsTUFBTSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUE7QUFDdkIsQ0FBQyxDQUFBLENBQUE7QUFFRDs7O0dBR0c7QUFDUSxRQUFBLE9BQU8sR0FBRyxDQUFPLFVBQXdCO0lBQ2xELE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDbkIsS0FBSyxLQUFLO1lBQ1IsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDcEIsS0FBSyxRQUFRO1lBQ1gsTUFBTSxDQUFDLE1BQU0sTUFBTSxFQUFFLENBQUE7UUFDdkIsS0FBSyxlQUFlO1lBQ2xCLE1BQU0sQ0FBQyxNQUFNLFlBQVksRUFBRSxDQUFBO1FBQzdCLEtBQUssS0FBSztZQUNSLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFBO1FBQ3BCO1lBQ0UsS0FBSyxDQUFBO0lBQ1QsQ0FBQztBQUNILENBQUMsQ0FBQSxDQUFBIn0= | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kucHJlcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyw2Q0FBbUM7QUFDbkMsbUNBQWtDO0FBQ2xDLHlDQUF3QztBQVV4Qzs7R0FFRztBQUNILElBQUksR0FBRyxHQUFHO0lBQ1IsSUFBSSxXQUFXLEdBQVcsbUNBQW1DLENBQUE7SUFDN0QsSUFBSSxRQUFRLEdBQVcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUE7SUFDbEQsSUFBSSxlQUFlLEdBQVcsV0FBVyxHQUFHLFFBQVEsQ0FBQTtJQUNwRCxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUE7SUFDbEUsTUFBTSxDQUFBO0FBQ1IsQ0FBQyxDQUFBLENBQUE7QUFFRDs7R0FFRztBQUNILElBQUksTUFBTSxHQUFHO0lBQ1gsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2xDLElBQUksV0FBVyxHQUFHLHFDQUFxQyxDQUFBO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQTtRQUNoRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcscUJBQXFCLENBQUMsQ0FBQSxDQUFDLHVDQUF1QztJQUM5SixJQUFJLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzdFLElBQUksUUFBUSxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLElBQUksUUFBUSxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0saUJBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFBO0lBQzdELE1BQU0sQ0FBQTtBQUNSLENBQUMsQ0FBQSxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxJQUFJLFlBQVksR0FBRztJQUNqQixHQUFHLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUM1QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxHQUFHLEdBQUcscUJBQXFCLENBQUMsQ0FBQTtJQUN0SCxNQUFNLENBQUE7QUFDUixDQUFDLENBQUEsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsSUFBSSxHQUFHLEdBQUc7SUFDUixNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtBQUN2QixDQUFDLENBQUEsQ0FBQTtBQUVEOzs7R0FHRztBQUNRLFFBQUEsT0FBTyxHQUFHLENBQU8sVUFBd0I7SUFDbEQsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuQixLQUFLLEtBQUs7WUFDUixNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNwQixLQUFLLFFBQVE7WUFDWCxNQUFNLENBQUMsTUFBTSxNQUFNLEVBQUUsQ0FBQTtRQUN2QixLQUFLLGVBQWU7WUFDbEIsTUFBTSxDQUFDLE1BQU0sWUFBWSxFQUFFLENBQUE7UUFDN0IsS0FBSyxLQUFLO1lBQ1IsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDcEI7WUFDRSxLQUFLLENBQUE7SUFDVCxDQUFDO0FBQ0gsQ0FBQyxDQUFBLENBQUEifQ== | ||||||
							
								
								
									
										7
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							| @@ -24,7 +24,12 @@ exports.test = (versionArg) => __awaiter(this, void 0, void 0, function* () { | |||||||
| }); | }); | ||||||
| let npmDependencies = () => __awaiter(this, void 0, void 0, function* () { | let npmDependencies = () => __awaiter(this, void 0, void 0, function* () { | ||||||
|     plugins.beautylog.info('now installing dependencies:'); |     plugins.beautylog.info('now installing dependencies:'); | ||||||
|  |     if (yield npmci_bash_1.yarnAvailable.promise) { | ||||||
|  |         yield npmci_bash_1.bash('yarn upgrade'); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|         yield npmci_bash_1.bash('npm install'); |         yield npmci_bash_1.bash('npm install'); | ||||||
|  |     } | ||||||
| }); | }); | ||||||
| let npmTest = () => __awaiter(this, void 0, void 0, function* () { | let npmTest = () => __awaiter(this, void 0, void 0, function* () { | ||||||
|     plugins.beautylog.info('now starting tests:'); |     plugins.beautylog.info('now starting tests:'); | ||||||
| @@ -35,4 +40,4 @@ let testDocker = () => __awaiter(this, void 0, void 0, function* () { | |||||||
|         .then(NpmciBuildDocker.pullDockerfileImages) |         .then(NpmciBuildDocker.pullDockerfileImages) | ||||||
|         .then(NpmciBuildDocker.testDockerfiles); |         .then(NpmciBuildDocker.testDockerfiles); | ||||||
| }); | }); | ||||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyw2Q0FBbUM7QUFDbkMsbURBQXlDO0FBRXpDLHlEQUF3RDtBQUU3QyxRQUFBLElBQUksR0FBRyxDQUFPLFVBQVU7SUFDakMsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTSxVQUFVLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixNQUFNLHVCQUFPLENBQUMsVUFBVSxDQUFDO2FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDLENBQUEsQ0FBQTtBQUVELElBQUksZUFBZSxHQUFHO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUE7SUFDdEQsTUFBTSxpQkFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQzNCLENBQUMsQ0FBQSxDQUFBO0FBRUQsSUFBSSxPQUFPLEdBQUc7SUFDWixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0lBQzdDLE1BQU0saUJBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUN4QixDQUFDLENBQUEsQ0FBQTtBQUVELElBQUksVUFBVSxHQUFHO0lBQ2YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsZUFBZSxFQUFFO1NBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztTQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUE7QUFDM0MsQ0FBQyxDQUFBLENBQUEifQ== | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL25wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLDJDQUEwQztBQUMxQyw2Q0FBa0Q7QUFDbEQsbURBQXlDO0FBRXpDLHlEQUF3RDtBQUU3QyxRQUFBLElBQUksR0FBRyxDQUFPLFVBQVU7SUFDakMsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTSxVQUFVLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDTixNQUFNLHVCQUFPLENBQUMsVUFBVSxDQUFDO2FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDLENBQUEsQ0FBQTtBQUVELElBQUksZUFBZSxHQUFHO0lBQ3BCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUE7SUFDdEQsRUFBRSxDQUFDLENBQUMsTUFBTSwwQkFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxpQkFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNOLE1BQU0saUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMzQixDQUFDO0FBQ0gsQ0FBQyxDQUFBLENBQUE7QUFFRCxJQUFJLE9BQU8sR0FBRztJQUNaLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUE7SUFDN0MsTUFBTSxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0FBQ3hCLENBQUMsQ0FBQSxDQUFBO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDZixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUU7U0FDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO1NBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUMzQyxDQUFDLENBQUEsQ0FBQSJ9 | ||||||
							
								
								
									
										90
									
								
								docs/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								docs/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | |||||||
|  | # 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/gitzone/npmci) | ||||||
|  | [](https://github.com/gitzone/npmci) | ||||||
|  | [](https://gitzone.gitlab.io/npmci/docs) | ||||||
|  |  | ||||||
|  | ## Status for master | ||||||
|  | [](https://gitlab.com/gitzone/npmci/commits/master) | ||||||
|  | [](https://gitlab.com/gitzone/npmci/commits/master) | ||||||
|  | [](https://david-dm.org/gitzonetools/npmci) | ||||||
|  | [](https://www.bithound.io/github/gitzonetools/npmci/master/dependencies/npm) | ||||||
|  | [](https://www.bithound.io/github/gitzonetools/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 like 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   | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## Configuration | ||||||
|  | npmci supports the use of npmextra. | ||||||
|  |  | ||||||
|  | To configure npmci create a `npmextra.json` file at the root of your project | ||||||
|  |  | ||||||
|  | ```json | ||||||
|  | { | ||||||
|  |     "npmci": { | ||||||
|  |         "globalNpmTools": [ | ||||||
|  |             "npm-check-updates", | ||||||
|  |             "protractor", | ||||||
|  |             "npmts", | ||||||
|  |             "gitzone" | ||||||
|  |         ] | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | **Available options** | ||||||
|  |  | ||||||
|  | setting | example | description | ||||||
|  | --- | --- | --- | ||||||
|  | globalNpmTools | "globalNpmTools": ["gitbook"] | Will look for the specified package names locally and (if not yet present) install them from npm.  | ||||||
|  |  | ||||||
|  | [](https://push.rocks) | ||||||
| @@ -10,7 +10,7 @@ | |||||||
|         ] |         ] | ||||||
|     }, |     }, | ||||||
|     "npmdocker":{ |     "npmdocker":{ | ||||||
|         "baseImage":"hosttoday/ht-docker-node:npmts", |         "baseImage":"hosttoday/ht-docker-node:npmci", | ||||||
|         "command": "npmci test stable" |         "command": "npmci test stable" | ||||||
|     } |     } | ||||||
| } | } | ||||||
							
								
								
									
										11
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "npmci", |   "name": "npmci", | ||||||
|   "version": "2.3.43", |   "version": "2.3.54", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|   "typings": "dist/index.d.ts", |   "typings": "dist/index.d.ts", | ||||||
| @@ -22,9 +22,7 @@ | |||||||
|   }, |   }, | ||||||
|   "homepage": "https://gitlab.com/gitzone/npmci#README", |   "homepage": "https://gitlab.com/gitzone/npmci#README", | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@types/should": "^8.1.30", |     "tapbundle": "^1.0.5", | ||||||
|     "npmts-g": "^6.0.0", |  | ||||||
|     "should": "^11.2.1", |  | ||||||
|     "typings-test": "^1.0.3" |     "typings-test": "^1.0.3" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
| @@ -33,7 +31,7 @@ | |||||||
|     "@types/request": "0.x.x", |     "@types/request": "0.x.x", | ||||||
|     "@types/shelljs": "^0.7.0", |     "@types/shelljs": "^0.7.0", | ||||||
|     "@types/through2": "^2.0.32", |     "@types/through2": "^2.0.32", | ||||||
|     "beautylog": "^6.1.3", |     "beautylog": "^6.1.5", | ||||||
|     "gulp": "^3.9.1", |     "gulp": "^3.9.1", | ||||||
|     "gulp-function": "^2.2.3", |     "gulp-function": "^2.2.3", | ||||||
|     "lodash": "^4.17.4", |     "lodash": "^4.17.4", | ||||||
| @@ -42,10 +40,11 @@ | |||||||
|     "request": "^2.81.0", |     "request": "^2.81.0", | ||||||
|     "shelljs": "^0.7.7", |     "shelljs": "^0.7.7", | ||||||
|     "smartcli": "^2.0.1", |     "smartcli": "^2.0.1", | ||||||
|  |     "smartdelay": "^1.0.1", | ||||||
|     "smartfile": "^4.1.7", |     "smartfile": "^4.1.7", | ||||||
|     "smartparam": "^0.1.1", |     "smartparam": "^0.1.1", | ||||||
|     "smartq": "^1.1.1", |     "smartq": "^1.1.1", | ||||||
|     "smartshell": "^1.0.2", |     "smartshell": "^1.0.6", | ||||||
|     "smartsocket": "^1.1.7", |     "smartsocket": "^1.1.7", | ||||||
|     "smartssh": "^1.2.1", |     "smartssh": "^1.2.1", | ||||||
|     "smartstring": "^2.0.24", |     "smartstring": "^2.0.24", | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								test/test.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | |||||||
| import 'typings-test'; |  | ||||||
							
								
								
									
										95
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										95
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -1,5 +1,4 @@ | |||||||
| import 'typings-test' | import { tap, expect } from 'tapbundle' | ||||||
| import * as should from 'should' |  | ||||||
| import * as path from 'path' | import * as path from 'path' | ||||||
|  |  | ||||||
| // set up environment | // set up environment | ||||||
| @@ -22,79 +21,57 @@ let dockerfile1: NpmciBuildDocker.Dockerfile | |||||||
| let dockerfile2: NpmciBuildDocker.Dockerfile | let dockerfile2: NpmciBuildDocker.Dockerfile | ||||||
| let sortableArray: NpmciBuildDocker.Dockerfile[] | let sortableArray: NpmciBuildDocker.Dockerfile[] | ||||||
|  |  | ||||||
| describe('NPMCI',function(){ |  | ||||||
|     describe('build.docker',function(){ | tap.test('should return valid Dockerfiles', async () => { | ||||||
|         it('should return valid Dockerfiles',function(){ |  | ||||||
|   dockerfile1 = new NpmciBuildDocker.Dockerfile({ filePath: './Dockerfile', read: true }) |   dockerfile1 = new NpmciBuildDocker.Dockerfile({ filePath: './Dockerfile', read: true }) | ||||||
|   dockerfile2 = new NpmciBuildDocker.Dockerfile({ filePath: './Dockerfile_sometag1', read: true }) |   dockerfile2 = new NpmciBuildDocker.Dockerfile({ filePath: './Dockerfile_sometag1', read: true }) | ||||||
|             should(dockerfile1.version).equal('latest') |   expect(dockerfile1.version).to.equal('latest') | ||||||
|             should(dockerfile2.version).equal('sometag1') |   return expect(dockerfile2.version).to.equal('sometag1') | ||||||
|         }) | }).catch(tap.threw) | ||||||
|  |  | ||||||
|         it('should read a directory of Dockerfiles',function(done){ | tap.test('should read a directory of Dockerfiles', async () => { | ||||||
|             NpmciBuildDocker.readDockerfiles() |   return NpmciBuildDocker.readDockerfiles() | ||||||
|                 .then(function(readDockerfilesArrayArg: NpmciBuildDocker.Dockerfile[]){ |     .then(async (readDockerfilesArrayArg: NpmciBuildDocker.Dockerfile[]) => { | ||||||
|                     should(readDockerfilesArrayArg[1].version).equal('sometag1') |  | ||||||
|       sortableArray = readDockerfilesArrayArg |       sortableArray = readDockerfilesArrayArg | ||||||
|                     done() |       return expect(readDockerfilesArrayArg[ 1 ].version).to.equal('sometag1') | ||||||
|                 }) |  | ||||||
|     }) |     }) | ||||||
|  | }).catch(tap.threw) | ||||||
|  |  | ||||||
|         it('should sort an array of Dockerfiles',function(done){ | tap.test('should sort an array of Dockerfiles', async () => { | ||||||
|             NpmciBuildDocker.sortDockerfiles(sortableArray) |   return NpmciBuildDocker.sortDockerfiles(sortableArray) | ||||||
|                 .then(function(sortedArrayArg: NpmciBuildDocker.Dockerfile[]){ |     .then(async (sortedArrayArg: NpmciBuildDocker.Dockerfile[]) => { | ||||||
|       console.log(sortedArrayArg) |       console.log(sortedArrayArg) | ||||||
|                     done() |  | ||||||
|                 }) |  | ||||||
|     }) |     }) | ||||||
|  | }).catch(tap.threw) | ||||||
|  |  | ||||||
|         it('should correctly chain Dockerfile handling', function(done){ | tap.test('should correctly chain Dockerfile handling', async () => { | ||||||
|             NpmciBuildDocker.build() |   return NpmciBuildDocker.build() | ||||||
|                 .then(() => { | }).catch(tap.threw) | ||||||
|                     done() |  | ||||||
|                 }) |  | ||||||
|         }) |  | ||||||
|     }) |  | ||||||
|  |  | ||||||
|     describe('.publish.docker',function(){ | tap.test('should publish all built Dockerfiles', async () => { | ||||||
|         it('should publish all built Dockerfiles',function(done){ |   return NpmciPublish.publish('docker') | ||||||
|             NpmciPublish.publish('docker') | }).catch(tap.threw) | ||||||
|                 .then(() => { |  | ||||||
|                     done() |  | ||||||
|                 }) |  | ||||||
|         }) |  | ||||||
|     }) |  | ||||||
|  |  | ||||||
|     describe('.test.npm',function(){ | tap.test('should source nvm using bash and install a specific node version, then test it', async () => { | ||||||
|         it('should source nvm using bash and install a specific node version, then test it',function(done){ |   return NpmciTest.test('legacy') | ||||||
|             NpmciTest.test('legacy') |  | ||||||
|     .then(() => { |     .then(() => { | ||||||
|       return NpmciTest.test('lts') |       return NpmciTest.test('lts') | ||||||
|     }) |     }) | ||||||
|     .then(() => { |     .then(() => { | ||||||
|       return NpmciTest.test('stable') |       return NpmciTest.test('stable') | ||||||
|     }) |     }) | ||||||
|                 .then(() => { | }).catch(tap.threw) | ||||||
|                     done() |  | ||||||
|                 }) |  | ||||||
|         }) |  | ||||||
|     }) |  | ||||||
|  |  | ||||||
|     describe('test.docker',function(){ | tap.test('should test dockerfiles', async () => { | ||||||
|         it('should test dockerfiles',function(done){ |   return NpmciTest.test('docker') | ||||||
|             NpmciTest.test('docker') | }).catch(tap.threw) | ||||||
|                 .then(() => { |  | ||||||
|                     done() |  | ||||||
|                 }) |  | ||||||
|         }) |  | ||||||
|     }) |  | ||||||
|  |  | ||||||
|     describe('npmci prepare ssh',function(){ | tap.test('should pick up SSH keys', async () => { | ||||||
|         it('should pick up SSH keys',function(done){ |   return NpmciSsh.ssh() | ||||||
|             NpmciSsh.ssh() | }).catch(tap.threw) | ||||||
|                 .then(() => { |  | ||||||
|                     done() | tap.test('reset paths', async () => { | ||||||
|                 }) |   process.cwd = () => { | ||||||
|         }) |     return path.join(__dirname, '../') | ||||||
|     }) |   } | ||||||
| }) | }).catch(tap.threw) | ||||||
|   | |||||||
| @@ -1,11 +1,13 @@ | |||||||
| import * as plugins from './npmci.plugins' | import * as plugins from './npmci.plugins' | ||||||
|  | import * as paths from './npmci.paths' | ||||||
|  |  | ||||||
| import * as smartq from 'smartq' | import * as smartq from 'smartq' | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * wether nvm is available or not |  * wether nvm is available or not | ||||||
|  */ |  */ | ||||||
| export let nvmAvailable = smartq.defer<boolean>() | export let nvmAvailable = smartq.defer<boolean>() | ||||||
|  | export let yarnAvailable = smartq.defer<boolean>() | ||||||
| /** | /** | ||||||
|  * the smartshell instance for npmci |  * the smartshell instance for npmci | ||||||
|  */ |  */ | ||||||
| @@ -14,24 +16,40 @@ let npmciSmartshell = new plugins.smartshell.Smartshell({ | |||||||
|   sourceFilePaths: [] |   sourceFilePaths: [] | ||||||
| }) | }) | ||||||
|  |  | ||||||
| let checkNvm = async () => { | /** | ||||||
|  |  * check for tools. | ||||||
|  |  */ | ||||||
|  | let checkToolsAvailable = async () => { | ||||||
|  |   // check for nvm | ||||||
|  |   if (!process.env.NPMTS_TEST) { | ||||||
|     if ( |     if ( | ||||||
|       (await plugins.smartshell.execSilent(`bash -c "source /usr/local/nvm/nvm.sh"`)).exitCode === 0 |       (await plugins.smartshell.execSilent(`bash -c "source /usr/local/nvm/nvm.sh"`)).exitCode === 0 | ||||||
|     ) { |     ) { | ||||||
|     npmciSmartshell.addSourceFiles([`/usr/local/nvm/nvm.sh && `]) |       npmciSmartshell.addSourceFiles([ `/usr/local/nvm/nvm.sh` ]) | ||||||
|       nvmAvailable.resolve(true) |       nvmAvailable.resolve(true) | ||||||
|     } else if ( |     } else if ( | ||||||
|       (await plugins.smartshell.execSilent(`bash -c "source ~/.nvm/nvm.sh"`)).exitCode === 0 |       (await plugins.smartshell.execSilent(`bash -c "source ~/.nvm/nvm.sh"`)).exitCode === 0 | ||||||
|     ) { |     ) { | ||||||
|     npmciSmartshell.addSourceFiles([`~/.nvm/nvm.sh && `]) |       npmciSmartshell.addSourceFiles([ `~/.nvm/nvm.sh` ]) | ||||||
|       nvmAvailable.resolve(true) |       nvmAvailable.resolve(true) | ||||||
|     } else { |     } else { | ||||||
|       nvmAvailable.resolve(false) |       nvmAvailable.resolve(false) | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  |     // check for yarn | ||||||
|  |     await plugins.smartshell.which('yarn').then( | ||||||
|  |       () => { | ||||||
|  |         plugins.smartshell.exec(`yarn config set cache-folder ${plugins.path.join(paths.cwd, '.yarn')}`) | ||||||
|  |         yarnAvailable.resolve(true) | ||||||
|  |       }, | ||||||
|  |       () => { yarnAvailable.resolve(false) } | ||||||
|  |     ) | ||||||
|  |   } else { | ||||||
|  |     nvmAvailable.resolve(true) | ||||||
|  |     yarnAvailable.resolve(true) | ||||||
|   } |   } | ||||||
| checkNvm() | } | ||||||
|  | checkToolsAvailable() | ||||||
|  |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * bash() allows using bash with nvm in path |  * bash() allows using bash with nvm in path | ||||||
| @@ -52,7 +70,7 @@ export let bash = async (commandArg: string, retryArg: number = 2, bareArg: bool | |||||||
|   if (!process.env.NPMTS_TEST) { // NPMTS_TEST is used during testing |   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 = await npmciSmartshell.execSilent(commandArg) |         execResult = await npmciSmartshell.exec(commandArg) | ||||||
|       } else { |       } else { | ||||||
|         execResult = await plugins.smartshell.exec(commandArg) |         execResult = await plugins.smartshell.exec(commandArg) | ||||||
|       } |       } | ||||||
| @@ -72,6 +90,7 @@ export let bash = async (commandArg: string, retryArg: number = 2, bareArg: bool | |||||||
|     } |     } | ||||||
|   } else { |   } else { | ||||||
|     plugins.beautylog.log('ShellExec would be: ' + commandArg) |     plugins.beautylog.log('ShellExec would be: ' + commandArg) | ||||||
|  |     await plugins.smartdelay.delayFor(100) | ||||||
|     execResult = { |     execResult = { | ||||||
|       exitCode: 0, |       exitCode: 0, | ||||||
|       stdout: 'testOutput' |       stdout: 'testOutput' | ||||||
| @@ -83,13 +102,13 @@ export let bash = async (commandArg: string, retryArg: number = 2, bareArg: bool | |||||||
| /** | /** | ||||||
|  * bashBare allows usage of bash without sourcing any files like nvm |  * bashBare allows usage of bash without sourcing any files like nvm | ||||||
|  */ |  */ | ||||||
| export let bashBare = (commandArg: string, retryArg: number = 2): Promise<string> => { | export let bashBare = async (commandArg: string, retryArg: number = 2): Promise<string> => { | ||||||
|   return bash(commandArg, retryArg, true) |   return await bash(commandArg, retryArg, true) | ||||||
| } | } | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * bashNoError allows executing stuff without throwing an error |  * bashNoError allows executing stuff without throwing an error | ||||||
|  */ |  */ | ||||||
| export let bashNoError = (commandArg: string): Promise<string> => { | export let bashNoError = async (commandArg: string): Promise<string> => { | ||||||
|   return bash(commandArg, -1) |   return await bash(commandArg, -1) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -86,9 +86,9 @@ export let mapDockerfiles = async (sortedArray: Dockerfile[]): Promise<Dockerfil | |||||||
|  * builds the correspoding real docker image for each Dockerfile class instance |  * builds the correspoding real docker image for each Dockerfile class instance | ||||||
|  */ |  */ | ||||||
| export let buildDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | export let buildDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | ||||||
|   sortedArrayArg.forEach(async function (dockerfileArg) { |   for (let dockerfileArg of sortedArrayArg) { | ||||||
|     await dockerfileArg.build() |     await dockerfileArg.build() | ||||||
|   }) |   } | ||||||
|   return sortedArrayArg |   return sortedArrayArg | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -96,9 +96,9 @@ export let buildDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | |||||||
|  * pushes the real Dockerfile images to a Docker registry |  * pushes the real Dockerfile images to a Docker registry | ||||||
|  */ |  */ | ||||||
| export let pushDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | export let pushDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | ||||||
|   sortedArrayArg.forEach(async (dockerfileArg) => { |   for (let dockerfileArg of sortedArrayArg) { | ||||||
|     await dockerfileArg.push(NpmciEnv.buildStage) |     await dockerfileArg.push(NpmciEnv.buildStage) | ||||||
|   }) |   } | ||||||
|   return sortedArrayArg |   return sortedArrayArg | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -107,9 +107,9 @@ export let pushDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | |||||||
|  * This is needed if building, testing, and publishing of Docker images is carried out in seperate CI stages. |  * This is needed if building, testing, and publishing of Docker images is carried out in seperate CI stages. | ||||||
|  */ |  */ | ||||||
| export let pullDockerfileImages = async (sortableArrayArg: Dockerfile[], registryArg = 'registry.gitlab.com') => { | export let pullDockerfileImages = async (sortableArrayArg: Dockerfile[], registryArg = 'registry.gitlab.com') => { | ||||||
|   sortableArrayArg.forEach(async (dockerfileArg) => { |   for (let dockerfileArg of sortableArrayArg) { | ||||||
|     await dockerfileArg.pull(registryArg) |     await dockerfileArg.pull(registryArg) | ||||||
|   }) |   } | ||||||
|   return sortableArrayArg |   return sortableArrayArg | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -118,9 +118,9 @@ export let pullDockerfileImages = async (sortableArrayArg: Dockerfile[], registr | |||||||
|  * @param sortedArrayArg Dockerfile[] that contains all Dockerfiles in cwd |  * @param sortedArrayArg Dockerfile[] that contains all Dockerfiles in cwd | ||||||
|  */ |  */ | ||||||
| export let testDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | export let testDockerfiles = async (sortedArrayArg: Dockerfile[]) => { | ||||||
|   sortedArrayArg.forEach(async (dockerfileArg) => { |   for (let dockerfileArg of sortedArrayArg) { | ||||||
|     await dockerfileArg.test() |     await dockerfileArg.test() | ||||||
|   }) |   } | ||||||
|   return sortedArrayArg |   return sortedArrayArg | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -133,7 +133,8 @@ export class Dockerfile { | |||||||
|   version: string |   version: string | ||||||
|   cleanTag: string |   cleanTag: string | ||||||
|   buildTag: string |   buildTag: string | ||||||
|   testTag: string |   gitlabTestTag: string | ||||||
|  |   gitlabReleaseTag: string | ||||||
|   releaseTag: string |   releaseTag: string | ||||||
|   containerName: string |   containerName: string | ||||||
|   content: string |   content: string | ||||||
| @@ -146,7 +147,8 @@ export class Dockerfile { | |||||||
|     this.version = dockerFileVersion(plugins.path.parse(options.filePath).base) |     this.version = dockerFileVersion(plugins.path.parse(options.filePath).base) | ||||||
|     this.cleanTag = this.repo + ':' + this.version |     this.cleanTag = this.repo + ':' + this.version | ||||||
|     this.buildTag = this.cleanTag |     this.buildTag = this.cleanTag | ||||||
|     this.testTag = dockerTag('registry.gitlab.com', this.repo, this.version, 'test') |     this.gitlabTestTag = dockerTag('registry.gitlab.com', this.repo, this.version, 'test') | ||||||
|  |     this.gitlabReleaseTag = dockerTag('registry.gitlab.com', this.repo, this.version) | ||||||
|     this.releaseTag = dockerTag(NpmciEnv.dockerRegistry, this.repo, this.version) |     this.releaseTag = dockerTag(NpmciEnv.dockerRegistry, this.repo, this.version) | ||||||
|     this.containerName = 'dockerfile-' + this.version |     this.containerName = 'dockerfile-' + this.version | ||||||
|     if (options.filePath && options.read) { |     if (options.filePath && options.read) { | ||||||
| @@ -163,31 +165,36 @@ export class Dockerfile { | |||||||
|     plugins.beautylog.info('now building Dockerfile for ' + this.cleanTag) |     plugins.beautylog.info('now building Dockerfile for ' + this.cleanTag) | ||||||
|     await bashBare('docker build -t ' + this.buildTag + ' -f ' + this.filePath + ' .') |     await bashBare('docker build -t ' + this.buildTag + ' -f ' + this.filePath + ' .') | ||||||
|     NpmciEnv.dockerFilesBuilt.push(this) |     NpmciEnv.dockerFilesBuilt.push(this) | ||||||
|  |     return | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * pushes the Dockerfile to a registry |    * pushes the Dockerfile to a registry | ||||||
|    */ |    */ | ||||||
|   async push(stageArg) { |   async push(stageArg) { | ||||||
|     let pushTag |  | ||||||
|     switch (stageArg) { |     switch (stageArg) { | ||||||
|       case 'release': |       case 'release': | ||||||
|         pushTag = this.releaseTag |         await bashBare(`docker tag ${this.buildTag} ${this.releaseTag}`) | ||||||
|  |         await bashBare(`docker push ${this.releaseTag}`) | ||||||
|  |  | ||||||
|  |         // if release registry is different from gitlab | ||||||
|  |         if (NpmciEnv.dockerRegistry !== 'registry.gitlab.com') { | ||||||
|  |           await bashBare(`docker tag ${this.buildTag} ${this.gitlabReleaseTag}`) | ||||||
|  |           await bashBare(`docker push ${this.gitlabReleaseTag}`) | ||||||
|  |         } | ||||||
|         break |         break | ||||||
|       case 'test': |       case 'test': | ||||||
|       default: |       default: | ||||||
|         pushTag = this.testTag |         await bashBare(`docker push ${this.gitlabTestTag}`) | ||||||
|         break |         break | ||||||
|     } |     } | ||||||
|     await bashBare('docker tag ' + this.buildTag + ' ' + pushTag) |  | ||||||
|     await bashBare('docker push ' + pushTag) |  | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * pulls the Dockerfile from a registry |    * pulls the Dockerfile from a registry | ||||||
|    */ |    */ | ||||||
|   async pull(registryArg: string) { |   async pull(registryArg: string) { | ||||||
|     let pullTag = this.testTag |     let pullTag = this.gitlabTestTag | ||||||
|     await bashBare('docker pull ' + pullTag) |     await bashBare('docker pull ' + pullTag) | ||||||
|     await bashBare('docker tag ' + pullTag + ' ' + this.buildTag) |     await bashBare('docker tag ' + pullTag + ' ' + this.buildTag) | ||||||
|   }; |   }; | ||||||
|   | |||||||
| @@ -1,7 +1,10 @@ | |||||||
| import * as plugins from './npmci.plugins' | import * as plugins from './npmci.plugins' | ||||||
| import * as configModule from './npmci.config' | import * as configModule from './npmci.config' | ||||||
| import { bash, bashNoError } from './npmci.bash' | import { | ||||||
| import { nvmAvailable } from './npmci.bash' |   bash, | ||||||
|  |   bashNoError, | ||||||
|  |   nvmAvailable, | ||||||
|  |   yarnAvailable } from './npmci.bash' | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Install a specific version of node |  * Install a specific version of node | ||||||
| @@ -28,7 +31,7 @@ export let install = async (versionArg) => { | |||||||
|   await bash('node -v') |   await bash('node -v') | ||||||
|   await bash('npm -v') |   await bash('npm -v') | ||||||
|   // lets look for further config |   // lets look for further config | ||||||
|   configModule.getConfig() |   await configModule.getConfig() | ||||||
|     .then(async configArg => { |     .then(async configArg => { | ||||||
|       plugins.beautylog.log('Now checking for needed global npm tools...') |       plugins.beautylog.log('Now checking for needed global npm tools...') | ||||||
|       for (let npmTool of configArg.globalNpmTools) { |       for (let npmTool of configArg.globalNpmTools) { | ||||||
| @@ -39,9 +42,13 @@ export let install = async (versionArg) => { | |||||||
|           plugins.beautylog.log(`Tool ${npmTool} is available`) |           plugins.beautylog.log(`Tool ${npmTool} is available`) | ||||||
|         } else { |         } else { | ||||||
|           plugins.beautylog.info(`globally installing ${npmTool} from npm`) |           plugins.beautylog.info(`globally installing ${npmTool} from npm`) | ||||||
|  |           if (await yarnAvailable.promise) { | ||||||
|  |             await bash(`yarn global add ${npmTool}`) | ||||||
|  |           } else { | ||||||
|             await bash(`npm install ${npmTool} -q -g`) |             await bash(`npm install ${npmTool} -q -g`) | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |       } | ||||||
|       plugins.beautylog.success('all global npm tools specified in npmextra.json are now available!') |       plugins.beautylog.success('all global npm tools specified in npmextra.json are now available!') | ||||||
|     }) |     }) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,13 +1,14 @@ | |||||||
| export import beautylog = require('beautylog') | export import beautylog = require('beautylog') | ||||||
| export let gulp = require('gulp') | export let gulp = require('gulp') | ||||||
| export import gulpFunction = require('gulp-function') | export import gulpFunction = require('gulp-function') | ||||||
| export let lodash = require('lodash') | export import lodash = require('lodash') | ||||||
| export import npmextra = require('npmextra') | export import npmextra = require('npmextra') | ||||||
| export import path = require('path') | export import path = require('path') | ||||||
| export import projectinfo = require('projectinfo') | export import projectinfo = require('projectinfo') | ||||||
| export import q = require('smartq') | export import q = require('smartq') | ||||||
| export let request = require('request') | export let request = require('request') | ||||||
| export import smartcli = require('smartcli') | export import smartcli = require('smartcli') | ||||||
|  | export import smartdelay = require('smartdelay') | ||||||
| export import smartfile = require('smartfile') | export import smartfile = require('smartfile') | ||||||
| export import shelljs = require('shelljs') | export import shelljs = require('shelljs') | ||||||
| export import smartparam = require('smartparam') | export import smartparam = require('smartparam') | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ let docker = async () => { | |||||||
|   let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER) |   let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER) | ||||||
|   let username = dockerRegexResultArray[1] |   let username = dockerRegexResultArray[1] | ||||||
|   let password = dockerRegexResultArray[2] |   let password = dockerRegexResultArray[2] | ||||||
|   plugins.shelljs.exec('docker login -u ' + username + ' -p ' + password) |   await bash('docker login -u ' + username + ' -p ' + password) | ||||||
|   return |   return | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import * as plugins from './npmci.plugins' | import * as plugins from './npmci.plugins' | ||||||
| import { bash } from './npmci.bash' | import { bash, yarnAvailable } from './npmci.bash' | ||||||
| import { install } from './npmci.install' | import { install } from './npmci.install' | ||||||
| import * as env from './npmci.env' | import * as env from './npmci.env' | ||||||
| import * as NpmciBuildDocker from './npmci.build.docker' | import * as NpmciBuildDocker from './npmci.build.docker' | ||||||
| @@ -16,8 +16,12 @@ export let test = async (versionArg): Promise<void> => { | |||||||
|  |  | ||||||
| let npmDependencies = async (): Promise<void> => { | let npmDependencies = async (): Promise<void> => { | ||||||
|   plugins.beautylog.info('now installing dependencies:') |   plugins.beautylog.info('now installing dependencies:') | ||||||
|  |   if (await yarnAvailable.promise) { | ||||||
|  |     await bash('yarn upgrade') | ||||||
|  |   } else { | ||||||
|     await bash('npm install') |     await bash('npm install') | ||||||
|   } |   } | ||||||
|  | } | ||||||
|  |  | ||||||
| let npmTest = async (): Promise<void> => { | let npmTest = async (): Promise<void> => { | ||||||
|   plugins.beautylog.info('now starting tests:') |   plugins.beautylog.info('now starting tests:') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user