Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b59bf2de8d | |||
| 3653373f12 | |||
| 94e7f502b3 | |||
| a699d29885 | |||
| 85d50c868b | |||
| 2b4bfbdb39 | |||
| e77a30b2bc | |||
| b8a0c788eb | |||
| 713338b2c3 | |||
| 233fa74566 | |||
| 8eadb7449b | |||
| 3ebed47170 | |||
| 9f5c7b0ca0 | |||
| 7de38ce050 | |||
| c495f20b3d |
101
dist/index.js
vendored
101
dist/index.js
vendored
File diff suppressed because one or more lines are too long
4
dist/npmci.install.js
vendored
4
dist/npmci.install.js
vendored
@@ -10,7 +10,7 @@ exports.install = function (versionArg) {
|
|||||||
version = "4";
|
version = "4";
|
||||||
}
|
}
|
||||||
else if (versionArg == "legacy") {
|
else if (versionArg == "legacy") {
|
||||||
version = "4.0.0";
|
version = "0";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
version = versionArg;
|
version = versionArg;
|
||||||
@@ -25,4 +25,4 @@ exports.install = function (versionArg) {
|
|||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNwQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FDQSxjQUFjLEdBQUcsT0FBTztRQUN4Qix3QkFBd0IsR0FBRyxPQUFPLENBQ3JDLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQixpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcblxuZXhwb3J0IGxldCBpbnN0YWxsID0gKHZlcnNpb25BcmcpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5vdyBpbnN0YWxsaW5nIFwiICsgXCJub2RlIFwiLmdyZWVuICsgKFwidmVyc2lvbiBcIiArIHZlcnNpb25BcmcpLnllbGxvdyk7XG4gICAgbGV0IHZlcnNpb246c3RyaW5nO1xuICAgIGlmKHZlcnNpb25BcmcgPT0gXCJsdHNcIil7XG4gICAgICAgIHZlcnNpb24gPSBcIjRcIjtcbiAgICB9IGVsc2UgaWYodmVyc2lvbkFyZyA9PSBcImxlZ2FjeVwiKXtcbiAgICAgICAgdmVyc2lvbiA9IFwiNC4wLjBcIlxuICAgIH0gZWxzZSB7XG4gICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uQXJnO1xuICAgIH07XG4gICAgYmFzaChcbiAgICAgICAgXCJudm0gaW5zdGFsbCBcIiArIHZlcnNpb24gK1xuICAgICAgICBcIiAmJiBudm0gYWxpYXMgZGVmYXVsdCBcIiArIHZlcnNpb25cbiAgICApO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJOb2RlIHZlcnNpb24gXCIgKyB2ZXJzaW9uICsgXCIgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcIik7XG4gICAgYmFzaChcIm5vZGUgLXZcIik7XG4gICAgYmFzaChcIm5wbSAtdlwiKTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufSJdfQ==
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNwQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDOUIsT0FBTyxHQUFHLEdBQUcsQ0FBQTtJQUNqQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FDQSxjQUFjLEdBQUcsT0FBTztRQUN4Qix3QkFBd0IsR0FBRyxPQUFPLENBQ3JDLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQixpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcblxuZXhwb3J0IGxldCBpbnN0YWxsID0gKHZlcnNpb25BcmcpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5vdyBpbnN0YWxsaW5nIFwiICsgXCJub2RlIFwiLmdyZWVuICsgKFwidmVyc2lvbiBcIiArIHZlcnNpb25BcmcpLnllbGxvdyk7XG4gICAgbGV0IHZlcnNpb246c3RyaW5nO1xuICAgIGlmKHZlcnNpb25BcmcgPT0gXCJsdHNcIil7XG4gICAgICAgIHZlcnNpb24gPSBcIjRcIjtcbiAgICB9IGVsc2UgaWYodmVyc2lvbkFyZyA9PSBcImxlZ2FjeVwiKXtcbiAgICAgICAgdmVyc2lvbiA9IFwiMFwiXG4gICAgfSBlbHNlIHtcbiAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25Bcmc7XG4gICAgfTtcbiAgICBiYXNoKFxuICAgICAgICBcIm52bSBpbnN0YWxsIFwiICsgdmVyc2lvbiArXG4gICAgICAgIFwiICYmIG52bSBhbGlhcyBkZWZhdWx0IFwiICsgdmVyc2lvblxuICAgICk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuc3VjY2VzcyhcIk5vZGUgdmVyc2lvbiBcIiArIHZlcnNpb24gKyBcIiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIVwiKTtcbiAgICBiYXNoKFwibm9kZSAtdlwiKTtcbiAgICBiYXNoKFwibnBtIC12XCIpO1xuICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59Il19
|
||||||
|
|||||||
2
dist/npmci.plugins.d.ts
vendored
2
dist/npmci.plugins.d.ts
vendored
@@ -1,6 +1,5 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
export import beautylog = require("beautylog");
|
export import beautylog = require("beautylog");
|
||||||
export declare let commander: any;
|
|
||||||
export declare let gulp: any;
|
export declare let gulp: any;
|
||||||
export declare let gulpFunction: any;
|
export declare let gulpFunction: any;
|
||||||
export import path = require("path");
|
export import path = require("path");
|
||||||
@@ -8,6 +7,7 @@ export import projectinfo = require("projectinfo");
|
|||||||
export declare let q: any;
|
export declare let q: any;
|
||||||
export declare let request: any;
|
export declare let request: any;
|
||||||
export declare let shelljs: any;
|
export declare let shelljs: any;
|
||||||
|
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 smartssh = require("smartssh");
|
export import smartssh = require("smartssh");
|
||||||
|
|||||||
4
dist/npmci.plugins.js
vendored
4
dist/npmci.plugins.js
vendored
@@ -1,7 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-global");
|
require("typings-global");
|
||||||
exports.beautylog = require("beautylog");
|
exports.beautylog = require("beautylog");
|
||||||
exports.commander = require("commander");
|
|
||||||
exports.gulp = require("gulp");
|
exports.gulp = require("gulp");
|
||||||
exports.gulpFunction = require("gulp-function");
|
exports.gulpFunction = require("gulp-function");
|
||||||
exports.path = require("path");
|
exports.path = require("path");
|
||||||
@@ -9,10 +8,11 @@ exports.projectinfo = require("projectinfo");
|
|||||||
exports.q = require("q");
|
exports.q = require("q");
|
||||||
exports.request = require("request");
|
exports.request = require("request");
|
||||||
exports.shelljs = require("shelljs");
|
exports.shelljs = require("shelljs");
|
||||||
|
exports.smartcli = require("smartcli");
|
||||||
exports.smartfile = require("smartfile");
|
exports.smartfile = require("smartfile");
|
||||||
exports.smartparam = require("smartparam");
|
exports.smartparam = require("smartparam");
|
||||||
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;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDdkIsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQixpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLGtCQUFVLFdBQVcsWUFBWSxDQUFDLENBQUM7QUFDbkMsZ0JBQVEsV0FBVyxVQUFVLENBQUMsQ0FBQztBQUMvQixtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDO0FBQ3hDLGdCQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xuZXhwb3J0IGxldCBndWxwID0gcmVxdWlyZShcImd1bHBcIik7XG5leHBvcnQgbGV0IGd1bHBGdW5jdGlvbiA9IHJlcXVpcmUoXCJndWxwLWZ1bmN0aW9uXCIpO1xuZXhwb3J0IGltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5leHBvcnQgaW1wb3J0IHByb2plY3RpbmZvID0gcmVxdWlyZShcInByb2plY3RpbmZvXCIpO1xuZXhwb3J0IGxldCBxID0gcmVxdWlyZShcInFcIik7XG5leHBvcnQgbGV0IHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcbmV4cG9ydCBsZXQgc2hlbGxqcyA9IHJlcXVpcmUoXCJzaGVsbGpzXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHBhcmFtID0gcmVxdWlyZShcInNtYXJ0cGFyYW1cIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3NoID0gcmVxdWlyZShcInNtYXJ0c3NoXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHN0cmluZyA9IHJlcXVpcmUoXCJzbWFydHN0cmluZ1wiKTtcbmV4cG9ydCBsZXQgdGhyb3VnaDIgPSByZXF1aXJlKFwidGhyb3VnaDJcIik7Il19
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsWUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN2QixvQkFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyQyxZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDdkIsbUJBQVcsV0FBVyxhQUFhLENBQUMsQ0FBQztBQUN4QyxTQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZUFBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxQixnQkFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsa0JBQVUsV0FBVyxZQUFZLENBQUMsQ0FBQztBQUNuQyxnQkFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLG1CQUFXLFdBQVcsYUFBYSxDQUFDLENBQUM7QUFDeEMsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgbGV0IGd1bHAgPSByZXF1aXJlKFwiZ3VscFwiKTtcbmV4cG9ydCBsZXQgZ3VscEZ1bmN0aW9uID0gcmVxdWlyZShcImd1bHAtZnVuY3Rpb25cIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBpbXBvcnQgcHJvamVjdGluZm8gPSByZXF1aXJlKFwicHJvamVjdGluZm9cIik7XG5leHBvcnQgbGV0IHEgPSByZXF1aXJlKFwicVwiKTtcbmV4cG9ydCBsZXQgcmVxdWVzdCA9IHJlcXVpcmUoXCJyZXF1ZXN0XCIpO1xuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0Y2xpID0gcmVxdWlyZShcInNtYXJ0Y2xpXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHBhcmFtID0gcmVxdWlyZShcInNtYXJ0cGFyYW1cIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0c3NoID0gcmVxdWlyZShcInNtYXJ0c3NoXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHN0cmluZyA9IHJlcXVpcmUoXCJzbWFydHN0cmluZ1wiKTtcbmV4cG9ydCBsZXQgdGhyb3VnaDIgPSByZXF1aXJlKFwidGhyb3VnaDJcIik7Il19
|
||||||
|
|||||||
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;
|
|
||||||
|
|||||||
43
dist/npmci.ssh.js
vendored
43
dist/npmci.ssh.js
vendored
@@ -1,25 +1,44 @@
|
|||||||
"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();
|
if (!process.env.NPMTS_TEST) {
|
||||||
|
sshInstance.writeToDisk();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
plugins.beautylog.log("In test mode, so not storing SSH keys to disk!");
|
||||||
|
}
|
||||||
|
;
|
||||||
|
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")
|
plugins.beautylog.info("Found SSH identity for " + resultArray[1]);
|
||||||
sshKey.privKeyBase64 = resultArray[1];
|
if (notUndefined(resultArray[1])) {
|
||||||
var publicKey;
|
plugins.beautylog.log("---> host defined!");
|
||||||
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])) {
|
||||||
|
plugins.beautylog.log("---> privKey defined!");
|
||||||
|
sshKey.privKeyBase64 = resultArray[2];
|
||||||
|
}
|
||||||
|
;
|
||||||
|
if (notUndefined(resultArray[3])) {
|
||||||
|
"---> pubKey defined!";
|
||||||
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnNzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsbUJBQW1CLENBQUE7QUFDbEMsSUFBSSxXQUF3QyxDQUFDO0FBRWxDLFdBQUcsR0FBRztJQUNiLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqRCxPQUFPLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxDQUFDLENBQUM7SUFDakYsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7UUFDeEIsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixJQUFJLGNBQWMsR0FBRyxVQUFDLGVBQWU7SUFDakMsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxJQUFJLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsRUFBRSxDQUFBLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQzNDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUFBLENBQUM7SUFDRixFQUFFLENBQUEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDO1FBQzdCLHNCQUFzQixDQUFBO1FBQ3RCLE1BQU0sQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFBQSxDQUFDO0lBRUYsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixJQUFJLFlBQVksR0FBRyxVQUFDLFNBQWdCO0lBQ2hDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUN4RSxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuc3NoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xuXG5sZXQgc3NoUmVnZXggPSAvXiguKilcXHwoLiopXFx8KC4qKS9cbmxldCBzc2hJbnN0YW5jZTpwbHVnaW5zLnNtYXJ0c3NoLlNzaEluc3RhbmNlO1xuXG5leHBvcnQgbGV0IHNzaCA9ICgpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHNzaEluc3RhbmNlID0gbmV3IHBsdWdpbnMuc21hcnRzc2guU3NoSW5zdGFuY2UoKTtcbiAgICBwbHVnaW5zLnNtYXJ0cGFyYW0uZm9yRWFjaE1pbmltYXRjaChwcm9jZXNzLmVudixcIk5QTUNJX1NTSEtFWV8qXCIsZXZhbHVhdGVTc2hFbnYpO1xuICAgIGlmKCFwcm9jZXNzLmVudi5OUE1UU19URVNUKXtcbiAgICAgICAgc3NoSW5zdGFuY2Uud3JpdGVUb0Rpc2soKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIkluIHRlc3QgbW9kZSwgc28gbm90IHN0b3JpbmcgU1NIIGtleXMgdG8gZGlzayFcIik7XG4gICAgfTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTtcblxubGV0IGV2YWx1YXRlU3NoRW52ID0gKHNzaGtleUVudlZhckFyZykgPT4ge1xuICAgIGxldCByZXN1bHRBcnJheSA9IHNzaFJlZ2V4LmV4ZWMoc3Noa2V5RW52VmFyQXJnKTtcbiAgICBsZXQgc3NoS2V5ID0gbmV3IHBsdWdpbnMuc21hcnRzc2guU3NoS2V5KCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIkZvdW5kIFNTSCBpZGVudGl0eSBmb3IgXCIgKyByZXN1bHRBcnJheVsxXSk7XG4gICAgaWYobm90VW5kZWZpbmVkKHJlc3VsdEFycmF5WzFdKSl7XG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIi0tLT4gaG9zdCBkZWZpbmVkIVwiKVxuICAgICAgICBzc2hLZXkuaG9zdCA9IHJlc3VsdEFycmF5WzFdO1xuICAgIH1cbiAgICBpZihub3RVbmRlZmluZWQocmVzdWx0QXJyYXlbMl0pKXtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiLS0tPiBwcml2S2V5IGRlZmluZWQhXCIpXG4gICAgICAgIHNzaEtleS5wcml2S2V5QmFzZTY0ID0gcmVzdWx0QXJyYXlbMl07XG4gICAgfTtcbiAgICBpZihub3RVbmRlZmluZWQocmVzdWx0QXJyYXlbM10pKXtcbiAgICAgICAgXCItLS0+IHB1YktleSBkZWZpbmVkIVwiXG4gICAgICAgIHNzaEtleS5wdWJLZXlCYXNlNjQgPSByZXN1bHRBcnJheVszXTtcbiAgICB9O1xuICAgIFxuICAgIHNzaEluc3RhbmNlLmFkZEtleShzc2hLZXkpO1xufTtcblxubGV0IG5vdFVuZGVmaW5lZCA9IChzdHJpbmdBcmc6c3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIChzdHJpbmdBcmcgJiYgc3RyaW5nQXJnICE9IFwidW5kZWZpbmVkXCIgJiYgc3RyaW5nQXJnICE9IFwiIyNcIik7XG59Il19
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "npmci",
|
"name": "npmci",
|
||||||
"version": "2.1.59",
|
"version": "2.2.2",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
"npmci": "dist/index.js"
|
"npmci": "dist/index.js"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npmts)"
|
"test": "(npmts) && (npm run testVersion)",
|
||||||
|
"testVersion": "node dist/index.js -v"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -26,16 +27,16 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "^5.0.12",
|
"beautylog": "^5.0.12",
|
||||||
"commander": "^2.9.0",
|
|
||||||
"gulp": "^3.9.1",
|
"gulp": "^3.9.1",
|
||||||
"gulp-function": "^1.3.6",
|
"gulp-function": "^1.3.6",
|
||||||
"projectinfo": "^1.0.3",
|
"projectinfo": "^1.0.3",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"request": "^2.72.0",
|
"request": "^2.72.0",
|
||||||
"shelljs": "^0.7.0",
|
"shelljs": "^0.7.0",
|
||||||
|
"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"
|
||||||
|
|||||||
12
test/test.js
12
test/test.js
File diff suppressed because one or more lines are too long
10
test/test.ts
10
test/test.ts
@@ -4,6 +4,7 @@ import path = require("path");
|
|||||||
import * as beautylog from "beautylog"
|
import * as beautylog from "beautylog"
|
||||||
//set up environment
|
//set up environment
|
||||||
process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git";
|
process.env.CI_BUILD_REPO = "https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git";
|
||||||
|
process.env.NPMCI_SSHKEY_1 = "hostString|somePrivKey|##"
|
||||||
process.env.NPMTS_TEST = "true";
|
process.env.NPMTS_TEST = "true";
|
||||||
process.cwd = () => {
|
process.cwd = () => {
|
||||||
return path.join(__dirname,"assets/");
|
return path.join(__dirname,"assets/");
|
||||||
@@ -14,6 +15,7 @@ import npmci = require("../dist/index");
|
|||||||
import NpmciBuildDocker = require("../dist/npmci.build.docker");
|
import NpmciBuildDocker = require("../dist/npmci.build.docker");
|
||||||
import NpmciPublish = require("../dist/npmci.publish");
|
import NpmciPublish = require("../dist/npmci.publish");
|
||||||
import NpmciTest = require("../dist/npmci.test");
|
import NpmciTest = require("../dist/npmci.test");
|
||||||
|
import NpmciSsh = require("../dist/npmci.ssh")
|
||||||
|
|
||||||
|
|
||||||
let dockerfile1:NpmciBuildDocker.Dockerfile;
|
let dockerfile1:NpmciBuildDocker.Dockerfile;
|
||||||
@@ -81,4 +83,12 @@ describe("NPMCI",function(){
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
describe("npmci prepare ssh",function(){
|
||||||
|
it("should pick up SSH keys",function(done){
|
||||||
|
NpmciSsh.ssh()
|
||||||
|
.then(() => {
|
||||||
|
done();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
108
ts/index.ts
108
ts/index.ts
@@ -6,7 +6,7 @@ let npmciInfo = new plugins.projectinfo.ProjectinfoNpm(paths.NpmciPackageRoot);
|
|||||||
plugins.beautylog.log("npmci version: " + npmciInfo.version);
|
plugins.beautylog.log("npmci version: " + npmciInfo.version);
|
||||||
|
|
||||||
import {build} from "./npmci.build"
|
import {build} from "./npmci.build"
|
||||||
import {command as command2} from "./npmci.command";
|
import {command} from "./npmci.command";
|
||||||
import {install} from "./npmci.install";
|
import {install} from "./npmci.install";
|
||||||
import {publish} from "./npmci.publish";
|
import {publish} from "./npmci.publish";
|
||||||
import {prepare} from "./npmci.prepare";
|
import {prepare} from "./npmci.prepare";
|
||||||
@@ -19,55 +19,63 @@ export {build} from "./npmci.build"
|
|||||||
export {install} from "./npmci.install";
|
export {install} from "./npmci.install";
|
||||||
export {publish} from "./npmci.publish";
|
export {publish} from "./npmci.publish";
|
||||||
|
|
||||||
let command;
|
|
||||||
let commandOption:string;
|
|
||||||
|
|
||||||
plugins.commander
|
let smartcli = new plugins.smartcli.Smartcli();
|
||||||
.version(npmciInfo.version)
|
smartcli.addVersion(npmciInfo.version);
|
||||||
.arguments('<commandarg> [commandoptionarg]')
|
|
||||||
.action(function (commandarg, commandoptionarg) {
|
|
||||||
command = commandarg;
|
|
||||||
commandOption = commandoptionarg;
|
|
||||||
});
|
|
||||||
|
|
||||||
plugins.commander.parse(process.argv);
|
|
||||||
|
|
||||||
if (typeof command === 'undefined') {
|
|
||||||
console.error('no command given!');
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (command){
|
// build
|
||||||
case "build":
|
smartcli.addCommand({
|
||||||
build(commandOption)
|
commandName:"build"
|
||||||
.then(NpmciEnv.configStore);
|
}).then((argv) => {
|
||||||
break;
|
build(argv._[1])
|
||||||
case "command":
|
.then(NpmciEnv.configStore);
|
||||||
command2()
|
});
|
||||||
.then(NpmciEnv.configStore);
|
|
||||||
break;
|
|
||||||
case "install":
|
|
||||||
install(commandOption)
|
|
||||||
.then(NpmciEnv.configStore);;
|
|
||||||
break;
|
|
||||||
case "prepare":
|
|
||||||
prepare(commandOption)
|
|
||||||
.then(NpmciEnv.configStore);;
|
|
||||||
break;
|
|
||||||
case "publish":
|
|
||||||
publish(commandOption)
|
|
||||||
.then(NpmciEnv.configStore);;
|
|
||||||
break;
|
|
||||||
case "test":
|
|
||||||
test(commandOption)
|
|
||||||
.then(NpmciEnv.configStore);
|
|
||||||
break;
|
|
||||||
case "trigger":
|
|
||||||
trigger();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
plugins.beautylog.error("command " + commandOption.blue + " not recognised");
|
|
||||||
process.exit(1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// command
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"command"
|
||||||
|
}).then((argv) => {
|
||||||
|
command()
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
// install
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"install"
|
||||||
|
}).then((argv) => {
|
||||||
|
install(argv._[1])
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
// prepare
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"prepare"
|
||||||
|
}).then((argv) => {
|
||||||
|
prepare(argv._[1])
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
// publish
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"publish"
|
||||||
|
}).then((argv) => {
|
||||||
|
publish(argv._[1])
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
// test
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"test"
|
||||||
|
}).then((argv) => {
|
||||||
|
test(argv._[1])
|
||||||
|
.then(NpmciEnv.configStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
// trigger
|
||||||
|
smartcli.addCommand({
|
||||||
|
commandName:"trigger"
|
||||||
|
}).then((argv) => {
|
||||||
|
trigger();
|
||||||
|
});
|
||||||
|
|
||||||
|
smartcli.startParse();
|
||||||
@@ -9,7 +9,7 @@ export let install = (versionArg) => {
|
|||||||
if(versionArg == "lts"){
|
if(versionArg == "lts"){
|
||||||
version = "4";
|
version = "4";
|
||||||
} else if(versionArg == "legacy"){
|
} else if(versionArg == "legacy"){
|
||||||
version = "4.0.0"
|
version = "0"
|
||||||
} else {
|
} else {
|
||||||
version = versionArg;
|
version = versionArg;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import "typings-global";
|
import "typings-global";
|
||||||
export import beautylog = require("beautylog");
|
export import beautylog = require("beautylog");
|
||||||
export let commander = require("commander");
|
|
||||||
export let gulp = require("gulp");
|
export let gulp = require("gulp");
|
||||||
export let gulpFunction = require("gulp-function");
|
export let gulpFunction = require("gulp-function");
|
||||||
export import path = require("path");
|
export import path = require("path");
|
||||||
@@ -8,6 +7,7 @@ export import projectinfo = require("projectinfo");
|
|||||||
export let q = require("q");
|
export let q = require("q");
|
||||||
export let request = require("request");
|
export let request = require("request");
|
||||||
export let shelljs = require("shelljs");
|
export let shelljs = require("shelljs");
|
||||||
|
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 smartssh = require("smartssh");
|
export import smartssh = require("smartssh");
|
||||||
|
|||||||
@@ -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,42 @@
|
|||||||
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();
|
if(!process.env.NPMTS_TEST){
|
||||||
|
sshInstance.writeToDisk()
|
||||||
|
} else {
|
||||||
|
plugins.beautylog.log("In test mode, so not storing SSH keys to disk!");
|
||||||
|
};
|
||||||
|
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();
|
||||||
|
plugins.beautylog.info("Found SSH identity for " + resultArray[1]);
|
||||||
if(resultArray[1] && resultArray[1] != "undefined") sshKey.privKeyBase64 = resultArray[1];
|
if(notUndefined(resultArray[1])){
|
||||||
let publicKey:string;
|
plugins.beautylog.log("---> host defined!")
|
||||||
if(resultArray[2] && resultArray[2] != "undefined") sshKey.pubKeyBase64 = resultArray[2];
|
sshKey.host = resultArray[1];
|
||||||
let host:string;
|
}
|
||||||
if(resultArray[3] && resultArray[3] != "undefined") sshKey.host = resultArray[1];
|
if(notUndefined(resultArray[2])){
|
||||||
|
plugins.beautylog.log("---> privKey defined!")
|
||||||
|
sshKey.privKeyBase64 = resultArray[2];
|
||||||
|
};
|
||||||
|
if(notUndefined(resultArray[3])){
|
||||||
|
"---> pubKey defined!"
|
||||||
|
sshKey.pubKeyBase64 = resultArray[3];
|
||||||
|
};
|
||||||
|
|
||||||
sshInstance.addKey(sshKey);
|
sshInstance.addKey(sshKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let notUndefined = (stringArg:string) => {
|
||||||
|
return (stringArg && stringArg != "undefined" && stringArg != "##");
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user