Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b0f8134afa | |||
| d9ff7957e9 | |||
| e92827de57 | |||
| 2782a242be | |||
| eef63f6b38 | |||
| ce9f3871b4 | |||
| 3e9a62e4c9 | |||
| 242c5f2873 | |||
| 57e2fd8da1 | |||
| 742899472c | |||
| 3f126d849f | |||
| 911392e00e | |||
| 3f5d4ee091 | |||
| c13ab8e428 | |||
| d82e28f5d1 | |||
|
|
9de91b91e1 | ||
|
|
271fc6bcc1 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,3 @@
|
||||
node_modules/
|
||||
dist/
|
||||
coverage/
|
||||
docs/
|
||||
28
.gitlab-ci.yml
Normal file
28
.gitlab-ci.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
image: hosttoday/ht-docker-node:latest
|
||||
|
||||
stages:
|
||||
- test
|
||||
- release
|
||||
|
||||
testLTS:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test lts
|
||||
tags:
|
||||
- docker
|
||||
|
||||
testSTABLE:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test stable
|
||||
tags:
|
||||
- docker
|
||||
|
||||
release:
|
||||
stage: release
|
||||
script:
|
||||
- npmci publish
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
1
alias.json
Normal file
1
alias.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
10
appveyor.yml
Normal file
10
appveyor.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
environment:
|
||||
nodejs_version: "4"
|
||||
install:
|
||||
- ps: Install-Product node $env:nodejs_version
|
||||
- npm install
|
||||
test_script:
|
||||
- node --version
|
||||
- npm --version
|
||||
- npm test
|
||||
build: off
|
||||
1
dist/index.d.ts
vendored
Normal file
1
dist/index.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import "typings-global";
|
||||
36
dist/index.js
vendored
Normal file
36
dist/index.js
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env node
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
plugins.beautylog.log("npmci in version 1.0.10");
|
||||
var npmci_install_1 = require("./npmci.install");
|
||||
var npmci_test_1 = require("./npmci.test");
|
||||
var npmci_publish_1 = require("./npmci.publish");
|
||||
var command;
|
||||
var commandOption;
|
||||
plugins.commander
|
||||
.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) {
|
||||
case "install":
|
||||
npmci_install_1.install(commandOption);
|
||||
break;
|
||||
case "test":
|
||||
npmci_test_1.test(commandOption);
|
||||
break;
|
||||
case "publish":
|
||||
npmci_publish_1.publish();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUVqRCw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4QywyQkFBbUIsY0FBYyxDQUFDLENBQUE7QUFDbEMsOEJBQXNCLGlCQUFpQixDQUFDLENBQUE7QUFHeEMsSUFBSSxPQUFPLENBQUM7QUFDWixJQUFJLGFBQWEsQ0FBQztBQUVsQixPQUFPLENBQUMsU0FBUztLQUNaLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQztLQUM1QyxNQUFNLENBQUMsVUFBVSxVQUFVLEVBQUUsZ0JBQWdCO0lBQzFDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDckIsYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBRVAsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXRDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7SUFDYixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWLEtBQUssTUFBTTtRQUNQLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxTQUFTO1FBQ1YsdUJBQU8sRUFBRSxDQUFDO1FBQ1YsS0FBSyxDQUFDO0lBQ1Y7UUFDSSxLQUFLLENBQUM7QUFDZCxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxyXG5pbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuXHJcbnBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5wbWNpIGluIHZlcnNpb24gMS4wLjEwXCIpO1xyXG5cclxuaW1wb3J0IHtpbnN0YWxsfSBmcm9tIFwiLi9ucG1jaS5pbnN0YWxsXCI7XHJcbmltcG9ydCB7dGVzdH0gZnJvbSBcIi4vbnBtY2kudGVzdFwiO1xyXG5pbXBvcnQge3B1Ymxpc2h9IGZyb20gXCIuL25wbWNpLnB1Ymxpc2hcIjtcclxuXHJcblxyXG5sZXQgY29tbWFuZDtcclxubGV0IGNvbW1hbmRPcHRpb247XHJcblxyXG5wbHVnaW5zLmNvbW1hbmRlclxyXG4gICAgLmFyZ3VtZW50cygnPGNvbW1hbmRhcmc+IFtjb21tYW5kb3B0aW9uYXJnXScpXHJcbiAgICAuYWN0aW9uKGZ1bmN0aW9uIChjb21tYW5kYXJnLCBjb21tYW5kb3B0aW9uYXJnKSB7XHJcbiAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRhcmc7XHJcbiAgICAgICAgY29tbWFuZE9wdGlvbiA9IGNvbW1hbmRvcHRpb25hcmc7XHJcbiAgICB9KTtcclxuIFxyXG5wbHVnaW5zLmNvbW1hbmRlci5wYXJzZShwcm9jZXNzLmFyZ3YpO1xyXG4gXHJcbmlmICh0eXBlb2YgY29tbWFuZCA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ25vIGNvbW1hbmQgZ2l2ZW4hJyk7XHJcbiAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbn1cclxuXHJcbnN3aXRjaCAoY29tbWFuZCl7XHJcbiAgICBjYXNlIFwiaW5zdGFsbFwiOlxyXG4gICAgICAgIGluc3RhbGwoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwidGVzdFwiOlxyXG4gICAgICAgIHRlc3QoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHVibGlzaFwiOlxyXG4gICAgICAgIHB1Ymxpc2goKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbn1cclxuXHJcbiJdfQ==
|
||||
2
dist/npmci.install.d.ts
vendored
Normal file
2
dist/npmci.install.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let install: (versionArg: any) => any;
|
||||
27
dist/npmci.install.js
vendored
Normal file
27
dist/npmci.install.js
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
exports.install = function (versionArg) {
|
||||
var done = plugins.q.defer();
|
||||
var version;
|
||||
if (versionArg = "lts") {
|
||||
version = "4";
|
||||
}
|
||||
else {
|
||||
version = versionArg;
|
||||
}
|
||||
;
|
||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + version).yellow);
|
||||
plugins.shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh && nvm install " +
|
||||
version +
|
||||
" nvm alias default " +
|
||||
version +
|
||||
"\"");
|
||||
plugins.beautylog.success("Node version " + version + " successfully installed!");
|
||||
plugins.shelljs.exec("node -v");
|
||||
plugins.shelljs.exec("npm -v");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLGVBQU8sR0FBRyxVQUFDLFVBQVU7SUFDNUIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNuQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNoQix3REFBd0Q7UUFDeEQsT0FBTztRQUNQLHFCQUFxQjtRQUNyQixPQUFPO1FBQ1AsSUFBSSxDQUNQLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuZXhwb3J0IGxldCBpbnN0YWxsID0gKHZlcnNpb25BcmcpID0+IHtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBsZXQgdmVyc2lvbjpzdHJpbmc7XHJcbiAgICBpZih2ZXJzaW9uQXJnID0gXCJsdHNcIil7XHJcbiAgICAgICAgdmVyc2lvbiA9IFwiNFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbkFyZztcclxuICAgIH07XHJcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJub3cgaW5zdGFsbGluZyBcIiArIFwibm9kZSBcIi5ncmVlbiArIChcInZlcnNpb24gXCIgKyB2ZXJzaW9uKS55ZWxsb3cpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXHJcbiAgICAgICAgXCJiYXNoIC1jIFxcXCJzb3VyY2UgL3Vzci9sb2NhbC9udm0vbnZtLnNoICYmIG52bSBpbnN0YWxsIFwiK1xyXG4gICAgICAgIHZlcnNpb24gK1xyXG4gICAgICAgIFwiIG52bSBhbGlhcyBkZWZhdWx0IFwiICtcclxuICAgICAgICB2ZXJzaW9uICtcclxuICAgICAgICBcIlxcXCJcIlxyXG4gICAgKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJOb2RlIHZlcnNpb24gXCIgKyB2ZXJzaW9uICsgXCIgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcIik7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5vZGUgLXZcIik7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5wbSAtdlwiKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
|
||||
6
dist/npmci.plugins.d.ts
vendored
Normal file
6
dist/npmci.plugins.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import "typings-global";
|
||||
export import beautylog = require("beautylog");
|
||||
export declare let commander: any;
|
||||
export declare let q: any;
|
||||
export declare let shelljs: any;
|
||||
export import smartfile = require("smartfile");
|
||||
9
dist/npmci.plugins.js
vendored
Normal file
9
dist/npmci.plugins.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
exports.beautylog = require("beautylog");
|
||||
exports.commander = require("commander");
|
||||
exports.q = require("q");
|
||||
exports.shelljs = require("shelljs");
|
||||
exports.smartfile = require("smartfile");
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xyXG5leHBvcnQgbGV0IHEgPSByZXF1aXJlKFwicVwiKTtcclxuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XHJcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTsiXX0=
|
||||
2
dist/npmci.publish.d.ts
vendored
Normal file
2
dist/npmci.publish.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let publish: () => any;
|
||||
16
dist/npmci.publish.js
vendored
Normal file
16
dist/npmci.publish.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var npmrcPrefix = "//registry.npmjs.org/:_authToken=";
|
||||
var npmToken = process.env.NPMCITOKEN;
|
||||
var npmrcFileString = npmrcPrefix + npmToken;
|
||||
exports.publish = function () {
|
||||
var done = plugins.q.defer();
|
||||
plugins.beautylog.ok("Tests passed, now publishing to npm!");
|
||||
plugins.smartfile.memory.toFs(npmrcFileString, { fileName: ".npmrc", filePath: "/root/" });
|
||||
plugins.shelljs.exec("npm publish");
|
||||
plugins.beautylog.ok("Done!");
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDLElBQUksV0FBVyxHQUFVLG1DQUFtQyxDQUFDO0FBQzdELElBQUksUUFBUSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzdDLElBQUksZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFHbEMsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUM3RCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUNyRixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5cclxubGV0IG5wbXJjUHJlZml4OnN0cmluZyA9IFwiLy9yZWdpc3RyeS5ucG1qcy5vcmcvOl9hdXRoVG9rZW49XCI7XHJcbmxldCBucG1Ub2tlbjpzdHJpbmcgPSBwcm9jZXNzLmVudi5OUE1DSVRPS0VOO1xyXG5sZXQgbnBtcmNGaWxlU3RyaW5nID0gbnBtcmNQcmVmaXggKyBucG1Ub2tlbjtcclxuXHJcblxyXG5leHBvcnQgbGV0IHB1Ymxpc2ggPSAoKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJUZXN0cyBwYXNzZWQsIG5vdyBwdWJsaXNoaW5nIHRvIG5wbSFcIik7XHJcbiAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9GcyhucG1yY0ZpbGVTdHJpbmcse2ZpbGVOYW1lOlwiLm5wbXJjXCIsZmlsZVBhdGg6XCIvcm9vdC9cIn0pO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJucG0gcHVibGlzaFwiKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLm9rKFwiRG9uZSFcIilcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07Il19
|
||||
2
dist/npmci.test.d.ts
vendored
Normal file
2
dist/npmci.test.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let test: (versionArg: any) => any;
|
||||
19
dist/npmci.test.js
vendored
Normal file
19
dist/npmci.test.js
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var npmci_install_1 = require("./npmci.install");
|
||||
exports.test = function (versionArg) {
|
||||
var done = plugins.q.defer();
|
||||
npmci_install_1.install(versionArg)
|
||||
.then(function () {
|
||||
plugins.beautylog.info("now installing dependencies:");
|
||||
plugins.shelljs.exec("npm install");
|
||||
plugins.beautylog.info("now starting tests:");
|
||||
plugins.shelljs.exec("npm test");
|
||||
plugins.beautylog.success("test finished");
|
||||
done.resolve();
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQzdCLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFVBQVUsQ0FBQztTQUNkLElBQUksQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuZXhwb3J0IGxldCB0ZXN0ID0gKHZlcnNpb25BcmcpID0+IHtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBpbnN0YWxsKHZlcnNpb25BcmcpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBpbnN0YWxsaW5nIGRlcGVuZGVuY2llczpcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5wbSB0ZXN0XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5zdWNjZXNzKFwidGVzdCBmaW5pc2hlZFwiKTtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSlcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0=
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmci",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.10",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
@@ -20,11 +20,14 @@
|
||||
},
|
||||
"homepage": "https://gitlab.com/pushrocks/npmci#README",
|
||||
"devDependencies": {
|
||||
"npmts": "^5.1.15"
|
||||
"npmts": "^5.1.18"
|
||||
},
|
||||
"dependencies": {
|
||||
"beautylog": "^5.0.6",
|
||||
"commander": "^2.9.0",
|
||||
"q": "^1.4.1",
|
||||
"shelljs": "^0.7.0",
|
||||
"smartfile": "^3.0.10",
|
||||
"typings-global": "^1.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
55
ts/index.ts
55
ts/index.ts
@@ -1,25 +1,42 @@
|
||||
#!/usr/bin/env node
|
||||
import "typings-global"
|
||||
let shelljs = require("shelljs");
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
|
||||
let program = require('commander');
|
||||
let cmdValue;
|
||||
let nodeValue;
|
||||
plugins.beautylog.log("npmci in version 1.0.10");
|
||||
|
||||
program
|
||||
.version('0.0.1')
|
||||
.arguments('<cmd> [node]')
|
||||
.action(function (cmd, node) {
|
||||
cmdValue = cmd;
|
||||
nodeValue = node;
|
||||
});
|
||||
import {install} from "./npmci.install";
|
||||
import {test} from "./npmci.test";
|
||||
import {publish} from "./npmci.publish";
|
||||
|
||||
|
||||
let command;
|
||||
let commandOption;
|
||||
|
||||
plugins.commander
|
||||
.arguments('<commandarg> [commandoptionarg]')
|
||||
.action(function (commandarg, commandoptionarg) {
|
||||
command = commandarg;
|
||||
commandOption = commandoptionarg;
|
||||
});
|
||||
|
||||
program.parse(process.argv);
|
||||
plugins.commander.parse(process.argv);
|
||||
|
||||
if (typeof cmdValue === 'undefined') {
|
||||
console.error('no command given!');
|
||||
process.exit(1);
|
||||
if (typeof command === 'undefined') {
|
||||
console.error('no command given!');
|
||||
process.exit(1);
|
||||
}
|
||||
console.log('command:', cmdValue);
|
||||
console.log('node Version:', nodeValue);
|
||||
shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh && nvm install "+ nodeValue + " nvm alias default " + nodeValue" "\"");
|
||||
|
||||
switch (command){
|
||||
case "install":
|
||||
install(commandOption);
|
||||
break;
|
||||
case "test":
|
||||
test(commandOption);
|
||||
break;
|
||||
case "publish":
|
||||
publish();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
24
ts/npmci.install.ts
Normal file
24
ts/npmci.install.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
export let install = (versionArg) => {
|
||||
let done = plugins.q.defer();
|
||||
let version:string;
|
||||
if(versionArg = "lts"){
|
||||
version = "4";
|
||||
} else {
|
||||
version = versionArg;
|
||||
};
|
||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + version).yellow);
|
||||
plugins.shelljs.exec(
|
||||
"bash -c \"source /usr/local/nvm/nvm.sh && nvm install "+
|
||||
version +
|
||||
" nvm alias default " +
|
||||
version +
|
||||
"\""
|
||||
);
|
||||
plugins.beautylog.success("Node version " + version + " successfully installed!");
|
||||
plugins.shelljs.exec("node -v");
|
||||
plugins.shelljs.exec("npm -v");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
6
ts/npmci.plugins.ts
Normal file
6
ts/npmci.plugins.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import "typings-global";
|
||||
export import beautylog = require("beautylog");
|
||||
export let commander = require("commander");
|
||||
export let q = require("q");
|
||||
export let shelljs = require("shelljs");
|
||||
export import smartfile = require("smartfile");
|
||||
16
ts/npmci.publish.ts
Normal file
16
ts/npmci.publish.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
|
||||
let npmrcPrefix:string = "//registry.npmjs.org/:_authToken=";
|
||||
let npmToken:string = process.env.NPMCITOKEN;
|
||||
let npmrcFileString = npmrcPrefix + npmToken;
|
||||
|
||||
|
||||
export let publish = () => {
|
||||
let done = plugins.q.defer();
|
||||
plugins.beautylog.ok("Tests passed, now publishing to npm!");
|
||||
plugins.smartfile.memory.toFs(npmrcFileString,{fileName:".npmrc",filePath:"/root/"});
|
||||
plugins.shelljs.exec("npm publish");
|
||||
plugins.beautylog.ok("Done!")
|
||||
return done.promise;
|
||||
};
|
||||
16
ts/npmci.test.ts
Normal file
16
ts/npmci.test.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {install} from "./npmci.install";
|
||||
export let test = (versionArg) => {
|
||||
let done = plugins.q.defer();
|
||||
install(versionArg)
|
||||
.then(function(){
|
||||
plugins.beautylog.info("now installing dependencies:");
|
||||
plugins.shelljs.exec("npm install");
|
||||
plugins.beautylog.info("now starting tests:");
|
||||
plugins.shelljs.exec("npm test");
|
||||
plugins.beautylog.success("test finished");
|
||||
done.resolve();
|
||||
})
|
||||
return done.promise;
|
||||
}
|
||||
Reference in New Issue
Block a user