Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 412e6ec9ba | |||
| 8d67cf2a8f | |||
| 3a6e2d6f3d | |||
| aafa5bd1e9 | |||
| 3c82c4c62b | |||
| a382d98892 | |||
| 06e96e7778 | |||
| 1efc425a46 | |||
| 501ff7beb7 | |||
| 3fe173e59c | |||
| 8fec378a53 | |||
|
|
3bb06781f9 | ||
|
|
8970deec3f | ||
|
|
8ff08240fd | ||
|
|
955474e296 | ||
|
|
12e3cda903 | ||
|
|
43726b22b2 | ||
| 34f29bb4b4 | |||
| a434b366ff | |||
| 827af44f9e | |||
| 18edee400c | |||
| bac99d4bf8 | |||
| d2db827348 | |||
| 96981798b8 | |||
| 101b701e66 | |||
| 774a1bc21f | |||
| 07149d0fdd | |||
| a0f3b4e4b4 | |||
| f0eff7b83c | |||
| af117c1fbe | |||
| 09188e5733 | |||
| 76f67a449d | |||
| 2fd0e131a5 | |||
| 90490b928c | |||
| 86d29325cb | |||
| 73de81d912 | |||
| 7d5162e631 | |||
| 6101d716c1 | |||
| 69f93bb817 | |||
| ca272d1282 | |||
| 884d9f8a34 | |||
| b2968005aa | |||
| e759b731ea | |||
| e28d864d17 | |||
| 993b99891a | |||
| baea86e087 | |||
| bc3679d614 | |||
| 61e3edc827 | |||
| 77ce4eea00 |
@@ -18,6 +18,13 @@ testSTABLE:
|
||||
tags:
|
||||
- docker
|
||||
|
||||
testLEGACY:
|
||||
stage: test
|
||||
script:
|
||||
- npmci test legacy
|
||||
tags:
|
||||
- docker
|
||||
|
||||
release:
|
||||
stage: release
|
||||
script:
|
||||
|
||||
31
README.md
Normal file
31
README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# NPMCI
|
||||
npmci is your friend when it comes to handling npm packages during CI builds.
|
||||
|
||||
## Status
|
||||
[](https://gitlab.com/pushrocks/npmci/commits/master)
|
||||
[](https://ci.appveyor.com/project/philkunz/npmci/branch/master)
|
||||
|
||||
## Usage
|
||||
npmci is designed to work in docker CI environments. The following docker images come with npmci presinstalled:
|
||||
|
||||
Docker Hub:
|
||||
|
||||
* [hosttoday/ht-docker-node](https://hub.docker.com/r/hosttoday/ht-docker-node/)
|
||||
has LTS node version preinstalled. Change it with npmci
|
||||
* [hosttoday/ht-docker-node-python-3](https://hub.docker.com/r/hosttoday/ht-docker-node-python3/)
|
||||
like ht-docker-node, but with python3 instead of python2.7
|
||||
|
||||
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 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".
|
||||
|
||||
# publish npm module
|
||||
npmci publish # will look vor $NPMCITOKEN env var and push any module in cwd to npm
|
||||
```
|
||||
|
||||
8
dist/index.js
vendored
8
dist/index.js
vendored
@@ -3,7 +3,7 @@
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var packJson = require("../package.json");
|
||||
plugins.beautylog.log("npmci in version" + packJson.version);
|
||||
plugins.beautylog.info("npmci version: " + packJson.version);
|
||||
var npmci_install_1 = require("./npmci.install");
|
||||
var npmci_test_1 = require("./npmci.test");
|
||||
var npmci_publish_1 = require("./npmci.publish");
|
||||
@@ -27,11 +27,13 @@ switch (command) {
|
||||
case "test":
|
||||
npmci_test_1.test(commandOption);
|
||||
break;
|
||||
case "prepare":
|
||||
break;
|
||||
case "publish":
|
||||
npmci_publish_1.publish();
|
||||
npmci_publish_1.publish(commandOption);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTdELDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUd4QyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksYUFBYSxDQUFDO0FBRWxCLE9BQU8sQ0FBQyxTQUFTO0tBQ1osU0FBUyxDQUFDLGlDQUFpQyxDQUFDO0tBQzVDLE1BQU0sQ0FBQyxVQUFVLFVBQVUsRUFBRSxnQkFBZ0I7SUFDMUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdEMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztJQUNiLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxNQUFNO1FBQ1AsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxFQUFFLENBQUM7UUFDVixLQUFLLENBQUM7SUFDVjtRQUNJLEtBQUssQ0FBQztBQUNkLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXHJcbmltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5cclxubGV0IHBhY2tKc29uID0gcmVxdWlyZShcIi4uL3BhY2thZ2UuanNvblwiKTtcclxuXHJcbnBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5wbWNpIGluIHZlcnNpb25cIiArIHBhY2tKc29uLnZlcnNpb24pO1xyXG5cclxuaW1wb3J0IHtpbnN0YWxsfSBmcm9tIFwiLi9ucG1jaS5pbnN0YWxsXCI7XHJcbmltcG9ydCB7dGVzdH0gZnJvbSBcIi4vbnBtY2kudGVzdFwiO1xyXG5pbXBvcnQge3B1Ymxpc2h9IGZyb20gXCIuL25wbWNpLnB1Ymxpc2hcIjtcclxuXHJcblxyXG5sZXQgY29tbWFuZDtcclxubGV0IGNvbW1hbmRPcHRpb247XHJcblxyXG5wbHVnaW5zLmNvbW1hbmRlclxyXG4gICAgLmFyZ3VtZW50cygnPGNvbW1hbmRhcmc+IFtjb21tYW5kb3B0aW9uYXJnXScpXHJcbiAgICAuYWN0aW9uKGZ1bmN0aW9uIChjb21tYW5kYXJnLCBjb21tYW5kb3B0aW9uYXJnKSB7XHJcbiAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRhcmc7XHJcbiAgICAgICAgY29tbWFuZE9wdGlvbiA9IGNvbW1hbmRvcHRpb25hcmc7XHJcbiAgICB9KTtcclxuIFxyXG5wbHVnaW5zLmNvbW1hbmRlci5wYXJzZShwcm9jZXNzLmFyZ3YpO1xyXG4gXHJcbmlmICh0eXBlb2YgY29tbWFuZCA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ25vIGNvbW1hbmQgZ2l2ZW4hJyk7XHJcbiAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbn1cclxuXHJcbnN3aXRjaCAoY29tbWFuZCl7XHJcbiAgICBjYXNlIFwiaW5zdGFsbFwiOlxyXG4gICAgICAgIGluc3RhbGwoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwidGVzdFwiOlxyXG4gICAgICAgIHRlc3QoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHVibGlzaFwiOlxyXG4gICAgICAgIHB1Ymxpc2goKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbn1cclxuXHJcbiJdfQ==
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTdELDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUd4QyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksYUFBYSxDQUFDO0FBRWxCLE9BQU8sQ0FBQyxTQUFTO0tBQ1osU0FBUyxDQUFDLGlDQUFpQyxDQUFDO0tBQzVDLE1BQU0sQ0FBQyxVQUFVLFVBQVUsRUFBRSxnQkFBZ0I7SUFDMUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdEMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztJQUNiLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxNQUFNO1FBQ1AsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFFVixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWO1FBQ0ksS0FBSyxDQUFDO0FBQ2QsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcclxuaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcblxyXG5sZXQgcGFja0pzb24gPSByZXF1aXJlKFwiLi4vcGFja2FnZS5qc29uXCIpO1xyXG5cclxucGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5wbWNpIHZlcnNpb246IFwiICsgcGFja0pzb24udmVyc2lvbik7XHJcblxyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuaW1wb3J0IHt0ZXN0fSBmcm9tIFwiLi9ucG1jaS50ZXN0XCI7XHJcbmltcG9ydCB7cHVibGlzaH0gZnJvbSBcIi4vbnBtY2kucHVibGlzaFwiO1xyXG5cclxuXHJcbmxldCBjb21tYW5kO1xyXG5sZXQgY29tbWFuZE9wdGlvbjtcclxuXHJcbnBsdWdpbnMuY29tbWFuZGVyXHJcbiAgICAuYXJndW1lbnRzKCc8Y29tbWFuZGFyZz4gW2NvbW1hbmRvcHRpb25hcmddJylcclxuICAgIC5hY3Rpb24oZnVuY3Rpb24gKGNvbW1hbmRhcmcsIGNvbW1hbmRvcHRpb25hcmcpIHtcclxuICAgICAgICBjb21tYW5kID0gY29tbWFuZGFyZztcclxuICAgICAgICBjb21tYW5kT3B0aW9uID0gY29tbWFuZG9wdGlvbmFyZztcclxuICAgIH0pO1xyXG4gXHJcbnBsdWdpbnMuY29tbWFuZGVyLnBhcnNlKHByb2Nlc3MuYXJndik7XHJcbiBcclxuaWYgKHR5cGVvZiBjb21tYW5kID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgY29uc29sZS5lcnJvcignbm8gY29tbWFuZCBnaXZlbiEnKTtcclxuICAgIHByb2Nlc3MuZXhpdCgxKTtcclxufVxyXG5cclxuc3dpdGNoIChjb21tYW5kKXtcclxuICAgIGNhc2UgXCJpbnN0YWxsXCI6XHJcbiAgICAgICAgaW5zdGFsbChjb21tYW5kT3B0aW9uKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGNhc2UgXCJ0ZXN0XCI6XHJcbiAgICAgICAgdGVzdChjb21tYW5kT3B0aW9uKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGNhc2UgXCJwcmVwYXJlXCI6XHJcbiAgICAgICAgXHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHVibGlzaFwiOlxyXG4gICAgICAgIHB1Ymxpc2goY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG59XHJcblxyXG4iXX0=
|
||||
|
||||
2
dist/npmci.bash.d.ts
vendored
Normal file
2
dist/npmci.bash.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let bash: (commandArg: any) => void;
|
||||
13
dist/npmci.bash.js
vendored
Normal file
13
dist/npmci.bash.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
exports.bash = function (commandArg) {
|
||||
var exitCode = plugins.shelljs.exec("bash -c \"source /usr/local/nvm/nvm.sh &&" +
|
||||
commandArg +
|
||||
"\"").code;
|
||||
if (exitCode !== 0) {
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQy9CLDJDQUEyQztRQUMzQyxVQUFVO1FBQ1YsSUFBSSxDQUNQLENBQUMsSUFBSSxDQUFDO0lBQ1AsRUFBRSxDQUFBLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxDQUFBLENBQUM7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kuYmFzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5leHBvcnQgbGV0IGJhc2ggPSAoY29tbWFuZEFyZykgPT4ge1xyXG4gICAgbGV0IGV4aXRDb2RlID0gcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXHJcbiAgICAgICAgXCJiYXNoIC1jIFxcXCJzb3VyY2UgL3Vzci9sb2NhbC9udm0vbnZtLnNoICYmXCIgK1xyXG4gICAgICAgIGNvbW1hbmRBcmcgK1xyXG4gICAgICAgIFwiXFxcIlwiXHJcbiAgICApLmNvZGU7XHJcbiAgICBpZihleGl0Q29kZSAhPT0gMCl7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG59Il19
|
||||
21
dist/npmci.install.js
vendored
21
dist/npmci.install.js
vendored
@@ -1,27 +1,28 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var npmci_bash_1 = require("./npmci.bash");
|
||||
exports.install = function (versionArg) {
|
||||
var done = plugins.q.defer();
|
||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
||||
var version;
|
||||
if (versionArg = "lts") {
|
||||
if (versionArg == "lts") {
|
||||
version = "4";
|
||||
}
|
||||
else if (versionArg == "legacy") {
|
||||
version = "4.0.0";
|
||||
}
|
||||
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 +
|
||||
"\"");
|
||||
npmci_bash_1.bash("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");
|
||||
npmci_bash_1.bash("node -v");
|
||||
npmci_bash_1.bash("npm -v");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLGVBQU8sR0FBRyxVQUFDLFVBQVU7SUFDNUIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNuQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNoQix3REFBd0Q7UUFDeEQsT0FBTztRQUNQLHFCQUFxQjtRQUNyQixPQUFPO1FBQ1AsSUFBSSxDQUNQLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuZXhwb3J0IGxldCBpbnN0YWxsID0gKHZlcnNpb25BcmcpID0+IHtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBsZXQgdmVyc2lvbjpzdHJpbmc7XHJcbiAgICBpZih2ZXJzaW9uQXJnID0gXCJsdHNcIil7XHJcbiAgICAgICAgdmVyc2lvbiA9IFwiNFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbkFyZztcclxuICAgIH07XHJcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJub3cgaW5zdGFsbGluZyBcIiArIFwibm9kZSBcIi5ncmVlbiArIChcInZlcnNpb24gXCIgKyB2ZXJzaW9uKS55ZWxsb3cpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXHJcbiAgICAgICAgXCJiYXNoIC1jIFxcXCJzb3VyY2UgL3Vzci9sb2NhbC9udm0vbnZtLnNoICYmIG52bSBpbnN0YWxsIFwiK1xyXG4gICAgICAgIHZlcnNpb24gK1xyXG4gICAgICAgIFwiIG52bSBhbGlhcyBkZWZhdWx0IFwiICtcclxuICAgICAgICB2ZXJzaW9uICtcclxuICAgICAgICBcIlxcXCJcIlxyXG4gICAgKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJOb2RlIHZlcnNpb24gXCIgKyB2ZXJzaW9uICsgXCIgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcIik7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5vZGUgLXZcIik7XHJcbiAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5wbSAtdlwiKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNwQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FDQSxjQUFjLEdBQUcsT0FBTztRQUN4Qix3QkFBd0IsR0FBRyxPQUFPLENBQ3JDLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQixpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcblxyXG5leHBvcnQgbGV0IGluc3RhbGwgPSAodmVyc2lvbkFyZykgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5vdyBpbnN0YWxsaW5nIFwiICsgXCJub2RlIFwiLmdyZWVuICsgKFwidmVyc2lvbiBcIiArIHZlcnNpb25BcmcpLnllbGxvdyk7XHJcbiAgICBsZXQgdmVyc2lvbjpzdHJpbmc7XHJcbiAgICBpZih2ZXJzaW9uQXJnID09IFwibHRzXCIpe1xyXG4gICAgICAgIHZlcnNpb24gPSBcIjRcIjtcclxuICAgIH0gZWxzZSBpZih2ZXJzaW9uQXJnID09IFwibGVnYWN5XCIpe1xyXG4gICAgICAgIHZlcnNpb24gPSBcIjQuMC4wXCJcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25Bcmc7XHJcbiAgICB9O1xyXG4gICAgYmFzaChcclxuICAgICAgICBcIm52bSBpbnN0YWxsIFwiICsgdmVyc2lvbiArXHJcbiAgICAgICAgXCIgJiYgbnZtIGFsaWFzIGRlZmF1bHQgXCIgKyB2ZXJzaW9uXHJcbiAgICApO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuc3VjY2VzcyhcIk5vZGUgdmVyc2lvbiBcIiArIHZlcnNpb24gKyBcIiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIVwiKTtcclxuICAgIGJhc2goXCJub2RlIC12XCIpO1xyXG4gICAgYmFzaChcIm5wbSAtdlwiKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
|
||||
|
||||
1
dist/npmci.plugins.d.ts
vendored
1
dist/npmci.plugins.d.ts
vendored
@@ -3,4 +3,5 @@ export import beautylog = require("beautylog");
|
||||
export declare let commander: any;
|
||||
export declare let q: any;
|
||||
export declare let shelljs: any;
|
||||
export declare let smartssh: any;
|
||||
export import smartfile = require("smartfile");
|
||||
|
||||
3
dist/npmci.plugins.js
vendored
3
dist/npmci.plugins.js
vendored
@@ -4,6 +4,7 @@ exports.beautylog = require("beautylog");
|
||||
exports.commander = require("commander");
|
||||
exports.q = require("q");
|
||||
exports.shelljs = require("shelljs");
|
||||
exports.smartssh = require("smartssh");
|
||||
exports.smartfile = require("smartfile");
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xyXG5leHBvcnQgbGV0IHEgPSByZXF1aXJlKFwicVwiKTtcclxuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XHJcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTsiXX0=
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGdCQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxuZXhwb3J0IGxldCBjb21tYW5kZXIgPSByZXF1aXJlKFwiY29tbWFuZGVyXCIpO1xyXG5leHBvcnQgbGV0IHEgPSByZXF1aXJlKFwicVwiKTtcclxuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XHJcbmV4cG9ydCBsZXQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XHJcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTsiXX0=
|
||||
|
||||
2
dist/npmci.prepare.d.ts
vendored
Normal file
2
dist/npmci.prepare.d.ts
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let prepare: (serviceArg: string) => any;
|
||||
31
dist/npmci.prepare.js
vendored
Normal file
31
dist/npmci.prepare.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var docker = function () {
|
||||
};
|
||||
var npm = function () {
|
||||
var done = plugins.q.defer();
|
||||
var npmrcPrefix = "//registry.npmjs.org/:_authToken=";
|
||||
var npmToken = process.env.NPMCITOKEN;
|
||||
var npmrcFileString = npmrcPrefix + npmToken;
|
||||
if (npmToken) {
|
||||
plugins.beautylog.info("found access token");
|
||||
}
|
||||
else {
|
||||
plugins.beautylog.error("no access token found! Exiting!");
|
||||
process.exit(1);
|
||||
}
|
||||
plugins.smartfile.memory.toFsSync(npmrcFileString, { fileName: ".npmrc", filePath: "/root" });
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
exports.prepare = function (serviceArg) {
|
||||
switch (serviceArg) {
|
||||
case "npm":
|
||||
return npm();
|
||||
case "docker":
|
||||
return docker();
|
||||
}
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDLElBQUksTUFBTSxHQUFHO0FBRWIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxHQUFHLEdBQUc7SUFDTixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRTdCLElBQUksV0FBVyxHQUFVLG1DQUFtQyxDQUFDO0lBQzdELElBQUksUUFBUSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0lBQzdDLElBQUksZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFFN0MsRUFBRSxDQUFBLENBQUMsUUFBUSxDQUFDLENBQUEsQ0FBQztRQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFDLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN4RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFUyxlQUFPLEdBQUcsVUFBUyxVQUFpQjtJQUMzQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLEtBQUssS0FBSztZQUNOLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLFFBQVE7WUFDVCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztBQUNMLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS5wcmVwYXJlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcblxyXG5sZXQgZG9ja2VyID0gZnVuY3Rpb24oKXtcclxuICAgIFxyXG59XHJcblxyXG5sZXQgbnBtID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBcclxuICAgIGxldCBucG1yY1ByZWZpeDpzdHJpbmcgPSBcIi8vcmVnaXN0cnkubnBtanMub3JnLzpfYXV0aFRva2VuPVwiO1xyXG4gICAgbGV0IG5wbVRva2VuOnN0cmluZyA9IHByb2Nlc3MuZW52Lk5QTUNJVE9LRU47XHJcbiAgICBsZXQgbnBtcmNGaWxlU3RyaW5nID0gbnBtcmNQcmVmaXggKyBucG1Ub2tlbjtcclxuICAgIFxyXG4gICAgaWYobnBtVG9rZW4pe1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJmb3VuZCBhY2Nlc3MgdG9rZW5cIik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwibm8gYWNjZXNzIHRva2VuIGZvdW5kISBFeGl0aW5nIVwiKTtcclxuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbiAgICB9XHJcbiAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9Gc1N5bmMobnBtcmNGaWxlU3RyaW5nLHtmaWxlTmFtZTpcIi5ucG1yY1wiLGZpbGVQYXRoOlwiL3Jvb3RcIn0pO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59O1xyXG5cclxuZXhwb3J0IGxldCBwcmVwYXJlID0gZnVuY3Rpb24oc2VydmljZUFyZzpzdHJpbmcpe1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlQXJnKSB7XHJcbiAgICAgICAgY2FzZSBcIm5wbVwiOlxyXG4gICAgICAgICAgICByZXR1cm4gbnBtKCk7XHJcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxyXG4gICAgICAgICAgICByZXR1cm4gZG9ja2VyKCk7XHJcbiAgICB9XHJcbn0iXX0=
|
||||
2
dist/npmci.publish.d.ts
vendored
2
dist/npmci.publish.d.ts
vendored
@@ -1,2 +1,2 @@
|
||||
import "typings-global";
|
||||
export declare let publish: () => any;
|
||||
export declare let publish: (serviceArg?: string) => any;
|
||||
|
||||
45
dist/npmci.publish.js
vendored
45
dist/npmci.publish.js
vendored
@@ -1,16 +1,43 @@
|
||||
"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 npmci_prepare_1 = require("./npmci.prepare");
|
||||
var npmci_bash_1 = require("./npmci.bash");
|
||||
exports.publish = function (serviceArg) {
|
||||
if (serviceArg === void 0) { serviceArg = "npm"; }
|
||||
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!");
|
||||
switch (serviceArg) {
|
||||
case "npm":
|
||||
publishNpm()
|
||||
.then(function () {
|
||||
done.resolve();
|
||||
});
|
||||
break;
|
||||
case "docker":
|
||||
publishDocker()
|
||||
.then(function () {
|
||||
done.resolve();
|
||||
});
|
||||
}
|
||||
return done.promise;
|
||||
};
|
||||
var publishNpm = function () {
|
||||
var done = plugins.q.defer();
|
||||
npmci_prepare_1.prepare("npm")
|
||||
.then(function () {
|
||||
npmci_bash_1.bash("npm publish");
|
||||
plugins.beautylog.ok("Done!");
|
||||
done.resolve();
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
var publishDocker = function () {
|
||||
var done = plugins.q.defer();
|
||||
npmci_prepare_1.prepare("docker")
|
||||
.then(function () {
|
||||
npmci_bash_1.bash("docker push");
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDLElBQUksV0FBVyxHQUFVLG1DQUFtQyxDQUFDO0FBQzdELElBQUksUUFBUSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzdDLElBQUksZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFHbEMsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUM3RCxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFDLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUNyRixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5cclxubGV0IG5wbXJjUHJlZml4OnN0cmluZyA9IFwiLy9yZWdpc3RyeS5ucG1qcy5vcmcvOl9hdXRoVG9rZW49XCI7XHJcbmxldCBucG1Ub2tlbjpzdHJpbmcgPSBwcm9jZXNzLmVudi5OUE1DSVRPS0VOO1xyXG5sZXQgbnBtcmNGaWxlU3RyaW5nID0gbnBtcmNQcmVmaXggKyBucG1Ub2tlbjtcclxuXHJcblxyXG5leHBvcnQgbGV0IHB1Ymxpc2ggPSAoKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJUZXN0cyBwYXNzZWQsIG5vdyBwdWJsaXNoaW5nIHRvIG5wbSFcIik7XHJcbiAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9GcyhucG1yY0ZpbGVTdHJpbmcse2ZpbGVOYW1lOlwiLm5wbXJjXCIsZmlsZVBhdGg6XCIvcm9vdC9cIn0pO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJucG0gcHVibGlzaFwiKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLm9rKFwiRG9uZSFcIilcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07Il19
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixVQUFVLEVBQUU7aUJBQ1AsSUFBSSxDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUNQLEtBQUssQ0FBQztRQUNWLEtBQUssUUFBUTtZQUNULGFBQWEsRUFBRTtpQkFDVixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksVUFBVSxHQUFJO0lBQ2QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLEtBQUssQ0FBQztTQUNULElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdkIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxhQUFhLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFFBQVEsQ0FBQztTQUNaLElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUMiLCJmaWxlIjoibnBtY2kucHVibGlzaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcblxyXG5leHBvcnQgbGV0IHB1Ymxpc2ggPSAoc2VydmljZUFyZzpzdHJpbmcgPSBcIm5wbVwiKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlQXJnKXtcclxuICAgICAgICBjYXNlIFwibnBtXCI6IFxyXG4gICAgICAgICAgICBwdWJsaXNoTnBtKClcclxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBcImRvY2tlclwiOlxyXG4gICAgICAgICAgICBwdWJsaXNoRG9ja2VyKClcclxuICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07XHJcblxyXG5sZXQgcHVibGlzaE5wbSAgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHByZXBhcmUoXCJucG1cIilcclxuICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIHB1Ymxpc2hcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLm9rKFwiRG9uZSFcIikgO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufVxyXG5cclxubGV0IHB1Ymxpc2hEb2NrZXIgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHByZXBhcmUoXCJkb2NrZXJcIilcclxuICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBiYXNoKFwiZG9ja2VyIHB1c2hcIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59OyJdfQ==
|
||||
|
||||
7
dist/npmci.test.js
vendored
7
dist/npmci.test.js
vendored
@@ -1,19 +1,20 @@
|
||||
"use strict";
|
||||
require("typings-global");
|
||||
var plugins = require("./npmci.plugins");
|
||||
var npmci_bash_1 = require("./npmci.bash");
|
||||
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");
|
||||
npmci_bash_1.bash("npm install");
|
||||
plugins.beautylog.info("now starting tests:");
|
||||
plugins.shelljs.exec("npm test");
|
||||
npmci_bash_1.bash("npm test");
|
||||
plugins.beautylog.success("test finished");
|
||||
done.resolve();
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQzdCLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFVBQVUsQ0FBQztTQUNkLElBQUksQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUE7SUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kudGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuZXhwb3J0IGxldCB0ZXN0ID0gKHZlcnNpb25BcmcpID0+IHtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBpbnN0YWxsKHZlcnNpb25BcmcpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBpbnN0YWxsaW5nIGRlcGVuZGVuY2llczpcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5wbSB0ZXN0XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5zdWNjZXNzKFwidGVzdCBmaW5pc2hlZFwiKTtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSlcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0=
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUU3QixZQUFJLEdBQUcsVUFBQyxVQUFVO0lBQ3pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxVQUFVLENBQUM7U0FDZCxJQUFJLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQTtJQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuXHJcbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgaW5zdGFsbCh2ZXJzaW9uQXJnKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIHRlc3RcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJ0ZXN0IGZpbmlzaGVkXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KVxyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ==
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmci",
|
||||
"version": "1.0.11",
|
||||
"version": "2.0.10",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
@@ -28,6 +28,7 @@
|
||||
"q": "^1.4.1",
|
||||
"shelljs": "^0.7.0",
|
||||
"smartfile": "^3.0.10",
|
||||
"smartssh": "^1.0.4",
|
||||
"typings-global": "^1.0.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,12 @@ import * as plugins from "./npmci.plugins";
|
||||
|
||||
let packJson = require("../package.json");
|
||||
|
||||
plugins.beautylog.log("npmci in version" + packJson.version);
|
||||
plugins.beautylog.info("npmci version: " + packJson.version);
|
||||
|
||||
import {install} from "./npmci.install";
|
||||
import {test} from "./npmci.test";
|
||||
import {publish} from "./npmci.publish";
|
||||
import {trigger} from "./npmci.trigger";
|
||||
|
||||
|
||||
let command;
|
||||
@@ -34,9 +35,13 @@ switch (command){
|
||||
break;
|
||||
case "test":
|
||||
test(commandOption);
|
||||
break;
|
||||
case "prepare":
|
||||
|
||||
break;
|
||||
case "publish":
|
||||
publish();
|
||||
publish(commandOption)
|
||||
.then(trigger);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
12
ts/npmci.bash.ts
Normal file
12
ts/npmci.bash.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
export let bash = (commandArg) => {
|
||||
let exitCode = plugins.shelljs.exec(
|
||||
"bash -c \"source /usr/local/nvm/nvm.sh &&" +
|
||||
commandArg +
|
||||
"\""
|
||||
).code;
|
||||
if(exitCode !== 0){
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,25 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {bash} from "./npmci.bash";
|
||||
|
||||
export let install = (versionArg) => {
|
||||
let done = plugins.q.defer();
|
||||
plugins.beautylog.log("now installing " + "node ".green + ("version " + versionArg).yellow);
|
||||
let version:string;
|
||||
if(versionArg = "lts"){
|
||||
if(versionArg == "lts"){
|
||||
version = "4";
|
||||
} else if(versionArg == "legacy"){
|
||||
version = "4.0.0"
|
||||
} 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 +
|
||||
"\""
|
||||
bash(
|
||||
"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");
|
||||
bash("node -v");
|
||||
bash("npm -v");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
@@ -3,4 +3,5 @@ export import beautylog = require("beautylog");
|
||||
export let commander = require("commander");
|
||||
export let q = require("q");
|
||||
export let shelljs = require("shelljs");
|
||||
export let smartssh = require("smartssh");
|
||||
export import smartfile = require("smartfile");
|
||||
33
ts/npmci.prepare.ts
Normal file
33
ts/npmci.prepare.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
|
||||
let docker = function(){
|
||||
|
||||
}
|
||||
|
||||
let npm = function(){
|
||||
let done = plugins.q.defer();
|
||||
|
||||
let npmrcPrefix:string = "//registry.npmjs.org/:_authToken=";
|
||||
let npmToken:string = process.env.NPMCITOKEN;
|
||||
let npmrcFileString = npmrcPrefix + npmToken;
|
||||
|
||||
if(npmToken){
|
||||
plugins.beautylog.info("found access token");
|
||||
} else {
|
||||
plugins.beautylog.error("no access token found! Exiting!");
|
||||
process.exit(1);
|
||||
}
|
||||
plugins.smartfile.memory.toFsSync(npmrcFileString,{fileName:".npmrc",filePath:"/root"});
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
export let prepare = function(serviceArg:string){
|
||||
switch (serviceArg) {
|
||||
case "npm":
|
||||
return npm();
|
||||
case "docker":
|
||||
return docker();
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,42 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {prepare} from "./npmci.prepare";
|
||||
import {bash} from "./npmci.bash";
|
||||
|
||||
let npmrcPrefix:string = "//registry.npmjs.org/:_authToken=";
|
||||
let npmToken:string = process.env.NPMCITOKEN;
|
||||
let npmrcFileString = npmrcPrefix + npmToken;
|
||||
|
||||
|
||||
export let publish = () => {
|
||||
export let publish = (serviceArg:string = "npm") => {
|
||||
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!")
|
||||
switch (serviceArg){
|
||||
case "npm":
|
||||
publishNpm()
|
||||
.then(function(){
|
||||
done.resolve();
|
||||
});
|
||||
break;
|
||||
case "docker":
|
||||
publishDocker()
|
||||
.then(function(){
|
||||
done.resolve();
|
||||
});
|
||||
}
|
||||
return done.promise;
|
||||
};
|
||||
|
||||
let publishNpm = function(){
|
||||
let done = plugins.q.defer();
|
||||
prepare("npm")
|
||||
.then(function(){
|
||||
bash("npm publish");
|
||||
plugins.beautylog.ok("Done!") ;
|
||||
done.resolve();
|
||||
});
|
||||
return done.promise;
|
||||
}
|
||||
|
||||
let publishDocker = function(){
|
||||
let done = plugins.q.defer();
|
||||
prepare("docker")
|
||||
.then(function(){
|
||||
bash("docker push");
|
||||
});
|
||||
return done.promise;
|
||||
};
|
||||
@@ -1,14 +1,16 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {bash} from "./npmci.bash";
|
||||
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");
|
||||
bash("npm install");
|
||||
plugins.beautylog.info("now starting tests:");
|
||||
plugins.shelljs.exec("npm test");
|
||||
bash("npm test");
|
||||
plugins.beautylog.success("test finished");
|
||||
done.resolve();
|
||||
})
|
||||
|
||||
18
ts/npmci.trigger.ts
Normal file
18
ts/npmci.trigger.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import "typings-global";
|
||||
import * as plugins from "./npmci.plugins";
|
||||
import {prepare} from "./npmci.prepare";
|
||||
import {bash} from "./npmci.bash";
|
||||
|
||||
export let trigger = function(){
|
||||
let done = plugins.q.defer();
|
||||
plugins.beautylog.info("now running triggers");
|
||||
for(let i = 0; i < 100; i++){
|
||||
let iteratorString = i.toString();
|
||||
if(process.env["TRIGGER" + iteratorString]){
|
||||
plugins.beautylog.log("Found TRIGGER" + iteratorString);
|
||||
bash("curl -X POST " + process.env["TRIGGER" + iteratorString]);
|
||||
}
|
||||
}
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
}
|
||||
Reference in New Issue
Block a user