Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 94e7f502b3 | |||
| a699d29885 | |||
| 85d50c868b | |||
| 2b4bfbdb39 | |||
| e77a30b2bc | 
							
								
								
									
										11
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										3
									
								
								dist/npmci.ssh.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								dist/npmci.ssh.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -1,3 +1,2 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
| export declare let ssh: () => void; | export declare let ssh: () => any; | ||||||
| export declare let evaluateSshkey: (sshkeyEnvVarArg: any) => void; |  | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								dist/npmci.ssh.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								dist/npmci.ssh.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,25 +1,29 @@ | |||||||
| "use strict"; | "use strict"; | ||||||
| require("typings-global"); | require("typings-global"); | ||||||
| var plugins = require("./npmci.plugins"); | var plugins = require("./npmci.plugins"); | ||||||
| var sshRegex = /^(.*)\|?(.*)\|?(.*)/; | var sshRegex = /^(.*)\|(.*)\|(.*)/; | ||||||
| var sshInstance; | var sshInstance; | ||||||
| exports.ssh = function () { | exports.ssh = function () { | ||||||
|  |     var done = plugins.q.defer(); | ||||||
|     sshInstance = new plugins.smartssh.SshInstance(); |     sshInstance = new plugins.smartssh.SshInstance(); | ||||||
|     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_SSHKEY_*", exports.evaluateSshkey); |     plugins.smartparam.forEachMinimatch(process.env, "NPMCI_SSHKEY_*", evaluateSshEnv); | ||||||
|     sshInstance.writeToDisk(); |     sshInstance.writeToDisk(); | ||||||
|  |     done.resolve(); | ||||||
|  |     return done.promise; | ||||||
| }; | }; | ||||||
| exports.evaluateSshkey = function (sshkeyEnvVarArg) { | var evaluateSshEnv = function (sshkeyEnvVarArg) { | ||||||
|     var resultArray = sshRegex.exec(sshkeyEnvVarArg); |     var resultArray = sshRegex.exec(sshkeyEnvVarArg); | ||||||
|     var sshKey = new plugins.smartssh.SshKey(); |     var sshKey = new plugins.smartssh.SshKey(); | ||||||
|     if (resultArray[1] && resultArray[1] != "undefined") |     if (notUndefined(resultArray[1])) | ||||||
|         sshKey.privKeyBase64 = resultArray[1]; |  | ||||||
|     var publicKey; |  | ||||||
|     if (resultArray[2] && resultArray[2] != "undefined") |  | ||||||
|         sshKey.pubKeyBase64 = resultArray[2]; |  | ||||||
|     var host; |  | ||||||
|     if (resultArray[3] && resultArray[3] != "undefined") |  | ||||||
|         sshKey.host = resultArray[1]; |         sshKey.host = resultArray[1]; | ||||||
|  |     if (notUndefined(resultArray[2])) | ||||||
|  |         sshKey.privKeyBase64 = resultArray[2]; | ||||||
|  |     if (notUndefined(resultArray[3])) | ||||||
|  |         sshKey.pubKeyBase64 = resultArray[3]; | ||||||
|     sshInstance.addKey(sshKey); |     sshInstance.addKey(sshKey); | ||||||
| }; | }; | ||||||
|  | var notUndefined = function (stringArg) { | ||||||
|  |     return (stringArg && stringArg != "undefined" && stringArg != "##"); | ||||||
|  | }; | ||||||
|  |  | ||||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnNzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcscUJBQXFCLENBQUE7QUFDcEMsSUFBSSxXQUF3QyxDQUFDO0FBRWxDLFdBQUcsR0FBRztJQUNiLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFDLGdCQUFnQixFQUFDLHNCQUFjLENBQUMsQ0FBQztJQUNqRixXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRVMsc0JBQWMsR0FBRyxVQUFDLGVBQWU7SUFDeEMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFM0MsRUFBRSxDQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFBQyxNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRixJQUFJLFNBQWdCLENBQUM7SUFDckIsRUFBRSxDQUFBLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUM7UUFBQyxNQUFNLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixJQUFJLElBQVcsQ0FBQztJQUNoQixFQUFFLENBQUEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQztRQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpGLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnNzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcblxubGV0IHNzaFJlZ2V4ID0gL14oLiopXFx8PyguKilcXHw/KC4qKS9cbmxldCBzc2hJbnN0YW5jZTpwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlO1xuXG5leHBvcnQgbGV0IHNzaCA9ICgpID0+IHtcbiAgICBzc2hJbnN0YW5jZSA9IG5ldyBwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlKCk7XG4gICAgcGx1Z2lucy5zbWFydHBhcmFtLmZvckVhY2hNaW5pbWF0Y2gocHJvY2Vzcy5lbnYsXCJOUE1DSV9TU0hLRVlfKlwiLGV2YWx1YXRlU3Noa2V5KTtcbiAgICBzc2hJbnN0YW5jZS53cml0ZVRvRGlzaygpO1xufTtcblxuZXhwb3J0IGxldCBldmFsdWF0ZVNzaGtleSA9IChzc2hrZXlFbnZWYXJBcmcpID0+IHtcbiAgICBsZXQgcmVzdWx0QXJyYXkgPSBzc2hSZWdleC5leGVjKHNzaGtleUVudlZhckFyZyk7XG4gICAgbGV0IHNzaEtleSA9IG5ldyBwbHVnaW5zLnNtYXJ0c3NoLlNzaEtleSgpO1xuICAgIFxuICAgIGlmKHJlc3VsdEFycmF5WzFdICYmIHJlc3VsdEFycmF5WzFdICE9IFwidW5kZWZpbmVkXCIpIHNzaEtleS5wcml2S2V5QmFzZTY0ID0gcmVzdWx0QXJyYXlbMV07XG4gICAgbGV0IHB1YmxpY0tleTpzdHJpbmc7XG4gICAgaWYocmVzdWx0QXJyYXlbMl0gJiYgcmVzdWx0QXJyYXlbMl0gIT0gXCJ1bmRlZmluZWRcIikgc3NoS2V5LnB1YktleUJhc2U2NCA9IHJlc3VsdEFycmF5WzJdO1xuICAgIGxldCBob3N0OnN0cmluZztcbiAgICBpZihyZXN1bHRBcnJheVszXSAmJiByZXN1bHRBcnJheVszXSAhPSBcInVuZGVmaW5lZFwiKSBzc2hLZXkuaG9zdCA9IHJlc3VsdEFycmF5WzFdO1xuICAgIFxuICAgIHNzaEluc3RhbmNlLmFkZEtleShzc2hLZXkpO1xufTsiXX0= | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnNzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsbUJBQW1CLENBQUE7QUFDbEMsSUFBSSxXQUF3QyxDQUFDO0FBRWxDLFdBQUcsR0FBRztJQUNiLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqRCxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxDQUFDLENBQUM7SUFDakYsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksY0FBYyxHQUFHLFVBQUMsZUFBZTtJQUNqQyxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELElBQUksTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUUzQyxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQyxNQUFNLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0RSxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLElBQUksWUFBWSxHQUFHLFVBQUMsU0FBZ0I7SUFDaEMsTUFBTSxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVMsSUFBSSxXQUFXLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFBO0FBQ3ZFLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5zc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5cbmxldCBzc2hSZWdleCA9IC9eKC4qKVxcfCguKilcXHwoLiopL1xubGV0IHNzaEluc3RhbmNlOnBsdWdpbnMuc21hcnRzc2guU3NoSW5zdGFuY2U7XG5cbmV4cG9ydCBsZXQgc3NoID0gKCkgPT4ge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgc3NoSW5zdGFuY2UgPSBuZXcgcGx1Z2lucy5zbWFydHNzaC5Tc2hJbnN0YW5jZSgpO1xuICAgIHBsdWdpbnMuc21hcnRwYXJhbS5mb3JFYWNoTWluaW1hdGNoKHByb2Nlc3MuZW52LFwiTlBNQ0lfU1NIS0VZXypcIixldmFsdWF0ZVNzaEVudik7XG4gICAgc3NoSW5zdGFuY2Uud3JpdGVUb0Rpc2soKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTtcblxubGV0IGV2YWx1YXRlU3NoRW52ID0gKHNzaGtleUVudlZhckFyZykgPT4ge1xuICAgIGxldCByZXN1bHRBcnJheSA9IHNzaFJlZ2V4LmV4ZWMoc3Noa2V5RW52VmFyQXJnKTtcbiAgICBsZXQgc3NoS2V5ID0gbmV3IHBsdWdpbnMuc21hcnRzc2guU3NoS2V5KCk7XG4gICAgXG4gICAgaWYobm90VW5kZWZpbmVkKHJlc3VsdEFycmF5WzFdKSkgc3NoS2V5Lmhvc3QgPSByZXN1bHRBcnJheVsxXTtcbiAgICBpZihub3RVbmRlZmluZWQocmVzdWx0QXJyYXlbMl0pKSBzc2hLZXkucHJpdktleUJhc2U2NCA9IHJlc3VsdEFycmF5WzJdO1xuICAgIGlmKG5vdFVuZGVmaW5lZChyZXN1bHRBcnJheVszXSkpIHNzaEtleS5wdWJLZXlCYXNlNjQgPSByZXN1bHRBcnJheVszXTtcbiAgICBcbiAgICBzc2hJbnN0YW5jZS5hZGRLZXkoc3NoS2V5KTtcbn07XG5cbmxldCBub3RVbmRlZmluZWQgPSAoc3RyaW5nQXJnOnN0cmluZykgPT4ge1xuICAgIHJldHVybiAoc3RyaW5nQXJnICYmIHN0cmluZ0FyZyAhPSBcInVuZGVmaW5lZFwiICYmIHN0cmluZ0FyZyAhPSBcIiMjXCIpXG59Il19 | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "npmci", |   "name": "npmci", | ||||||
|   "version": "2.1.64", |   "version": "2.2.1", | ||||||
|   "description": "", |   "description": "", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|   "bin": { |   "bin": { | ||||||
| @@ -36,7 +36,7 @@ | |||||||
|     "smartcli": "^1.0.4", |     "smartcli": "^1.0.4", | ||||||
|     "smartfile": "^4.0.5", |     "smartfile": "^4.0.5", | ||||||
|     "smartparam": "^0.1.1", |     "smartparam": "^0.1.1", | ||||||
|     "smartssh": "^1.1.0", |     "smartssh": "^1.1.2", | ||||||
|     "smartstring": "^2.0.10", |     "smartstring": "^2.0.10", | ||||||
|     "through2": "^2.0.1", |     "through2": "^2.0.1", | ||||||
|     "typings-global": "^1.0.3" |     "typings-global": "^1.0.3" | ||||||
|   | |||||||
| @@ -2,6 +2,7 @@ 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 * as env from "./npmci.env" | import * as env from "./npmci.env" | ||||||
|  | import * as sshModule from "./npmci.ssh" | ||||||
|  |  | ||||||
| let npm = function(){ | let npm = function(){ | ||||||
|     let done = plugins.q.defer(); |     let done = plugins.q.defer(); | ||||||
| @@ -46,6 +47,13 @@ let dockerGitlab = function(){ | |||||||
|     return done.promise; |     return done.promise; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | let ssh = function(){ | ||||||
|  |     let done = plugins.q.defer(); | ||||||
|  |     sshModule.ssh() | ||||||
|  |         .then(done.resolve); | ||||||
|  |     return done.promise; | ||||||
|  | } | ||||||
|  |  | ||||||
| export let prepare = function(serviceArg:string){ | export let prepare = function(serviceArg:string){ | ||||||
|     switch (serviceArg) { |     switch (serviceArg) { | ||||||
|         case "npm": |         case "npm": | ||||||
| @@ -53,7 +61,9 @@ export let prepare = function(serviceArg:string){ | |||||||
|         case "docker": |         case "docker": | ||||||
|             return docker(); |             return docker(); | ||||||
|         case "docker-gitlab": |         case "docker-gitlab": | ||||||
|             return dockerGitlab() |             return dockerGitlab(); | ||||||
|  |         case "ssh": | ||||||
|  |             return ssh(); | ||||||
|         default: |         default: | ||||||
|             break; |             break; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -1,24 +1,29 @@ | |||||||
| import "typings-global"; | import "typings-global"; | ||||||
| import * as plugins from "./npmci.plugins"; | import * as plugins from "./npmci.plugins"; | ||||||
|  |  | ||||||
| let sshRegex = /^(.*)\|?(.*)\|?(.*)/ | let sshRegex = /^(.*)\|(.*)\|(.*)/ | ||||||
| let sshInstance:plugins.smartssh.SshInstance; | let sshInstance:plugins.smartssh.SshInstance; | ||||||
|  |  | ||||||
| export let ssh = () => { | export let ssh = () => { | ||||||
|  |     let done = plugins.q.defer(); | ||||||
|     sshInstance = new plugins.smartssh.SshInstance(); |     sshInstance = new plugins.smartssh.SshInstance(); | ||||||
|     plugins.smartparam.forEachMinimatch(process.env,"NPMCI_SSHKEY_*",evaluateSshkey); |     plugins.smartparam.forEachMinimatch(process.env,"NPMCI_SSHKEY_*",evaluateSshEnv); | ||||||
|     sshInstance.writeToDisk(); |     sshInstance.writeToDisk(); | ||||||
|  |     done.resolve(); | ||||||
|  |     return done.promise; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| export let evaluateSshkey = (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(); | ||||||
|      |      | ||||||
|     if(resultArray[1] && resultArray[1] != "undefined") sshKey.privKeyBase64 = resultArray[1]; |     if(notUndefined(resultArray[1])) sshKey.host = resultArray[1]; | ||||||
|     let publicKey:string; |     if(notUndefined(resultArray[2])) sshKey.privKeyBase64 = resultArray[2]; | ||||||
|     if(resultArray[2] && resultArray[2] != "undefined") sshKey.pubKeyBase64 = resultArray[2]; |     if(notUndefined(resultArray[3])) sshKey.pubKeyBase64 = resultArray[3]; | ||||||
|     let host:string; |  | ||||||
|     if(resultArray[3] && resultArray[3] != "undefined") sshKey.host = resultArray[1]; |  | ||||||
|      |      | ||||||
|     sshInstance.addKey(sshKey); |     sshInstance.addKey(sshKey); | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | let notUndefined = (stringArg:string) => { | ||||||
|  |     return (stringArg && stringArg != "undefined" && stringArg != "##") | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user