Compare commits
	
		
			81 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2ca886cd6e | |||
| 50e69682b0 | |||
|  | 23ca382590 | ||
|  | 4e4fb1399f | ||
|  | 8dd0f230c0 | ||
|  | 677f730b34 | ||
|  | a2a409a1ff | ||
|  | d6e597111e | ||
|  | b37a2f78c4 | ||
|  | 396099253d | ||
|  | a2a3019e6b | ||
|  | 5753fb80bf | ||
|  | 2a15b35dd5 | ||
|  | 27a12415e6 | ||
|  | 4c0f0f5cc6 | ||
|  | 06d785df6b | ||
|  | 19dc4974b9 | ||
|  | ed9327db8b | ||
|  | e239c8f350 | ||
| 7b8fc67d7f | |||
| 9d3102583d | |||
| 9e640e63d7 | |||
| 081520746e | |||
| 88ffbf3198 | |||
| db0010b3f3 | |||
| ff1a7398da | |||
| 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 | |||
| 5632bd5d0b | |||
| 922d052287 | |||
| b0f8134afa | |||
| d9ff7957e9 | |||
| e92827de57 | |||
| 2782a242be | 
| @@ -1,4 +1,4 @@ | ||||
| image: hosttoday/ht-docker-node | ||||
| image: hosttoday/ht-docker-node:latest | ||||
|  | ||||
| stages: | ||||
| - test | ||||
| @@ -10,13 +10,25 @@ testLTS: | ||||
|     - npmci test lts | ||||
|   tags: | ||||
|     - docker | ||||
|      | ||||
|  | ||||
| before_script: | ||||
|   - npm uninstall -g npmci | ||||
|   - npm install -g npmci | ||||
|     | ||||
| testSTABLE: | ||||
|   stage: test | ||||
|   script: | ||||
|     - npmci test stable | ||||
|   tags: | ||||
|     - docker | ||||
|      | ||||
| testLEGACY: | ||||
|   stage: test | ||||
|   script: | ||||
|     - npmci test legacy | ||||
|   tags: | ||||
|     - docker | ||||
|   allow_failure: true | ||||
|  | ||||
| release: | ||||
|   stage: release | ||||
|   | ||||
							
								
								
									
										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    | ||||
| ``` | ||||
|  | ||||
							
								
								
									
										13
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -2,13 +2,16 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| var packJson = require("../package.json"); | ||||
| 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"); | ||||
| var npmci_prepare_1 = require("./npmci.prepare"); | ||||
| var npmci_trigger_1 = require("./npmci.trigger"); | ||||
| var command; | ||||
| var commandOption; | ||||
| plugins.commander | ||||
|     .version('0.0.1') | ||||
|     .arguments('<commandarg> [commandoptionarg]') | ||||
|     .action(function (commandarg, commandoptionarg) { | ||||
|     command = commandarg; | ||||
| @@ -26,11 +29,15 @@ switch (command) { | ||||
|     case "test": | ||||
|         npmci_test_1.test(commandOption); | ||||
|         break; | ||||
|     case "prepare": | ||||
|         npmci_prepare_1.prepare(commandOption); | ||||
|         break; | ||||
|     case "publish": | ||||
|         npmci_publish_1.publish(); | ||||
|         npmci_publish_1.publish(commandOption) | ||||
|             .then(npmci_trigger_1.trigger); | ||||
|         break; | ||||
|     default: | ||||
|         break; | ||||
| } | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsOEJBQXNCLGlCQUFpQixDQUFDLENBQUE7QUFDeEMsMkJBQW1CLGNBQWMsQ0FBQyxDQUFBO0FBQ2xDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBR3hDLElBQUksT0FBTyxDQUFDO0FBQ1osSUFBSSxhQUFhLENBQUM7QUFFbEIsT0FBTyxDQUFDLFNBQVM7S0FDWixPQUFPLENBQUMsT0FBTyxDQUFDO0tBQ2hCLFNBQVMsQ0FBQyxpQ0FBaUMsQ0FBQztLQUM1QyxNQUFNLENBQUMsVUFBVSxVQUFVLEVBQUUsZ0JBQWdCO0lBQzFDLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDckIsYUFBYSxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLENBQUMsQ0FBQyxDQUFDO0FBRVAsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXRDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUM7SUFDYixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWLEtBQUssTUFBTTtRQUNQLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxTQUFTO1FBQ1YsdUJBQU8sRUFBRSxDQUFDO1FBQ1YsS0FBSyxDQUFDO0lBQ1Y7UUFDSSxLQUFLLENBQUM7QUFDZCxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxyXG5pbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuXHJcbmltcG9ydCB7aW5zdGFsbH0gZnJvbSBcIi4vbnBtY2kuaW5zdGFsbFwiO1xyXG5pbXBvcnQge3Rlc3R9IGZyb20gXCIuL25wbWNpLnRlc3RcIjtcclxuaW1wb3J0IHtwdWJsaXNofSBmcm9tIFwiLi9ucG1jaS5wdWJsaXNoXCI7XHJcblxyXG5cclxubGV0IGNvbW1hbmQ7XHJcbmxldCBjb21tYW5kT3B0aW9uO1xyXG5cclxucGx1Z2lucy5jb21tYW5kZXJcclxuICAgIC52ZXJzaW9uKCcwLjAuMScpXHJcbiAgICAuYXJndW1lbnRzKCc8Y29tbWFuZGFyZz4gW2NvbW1hbmRvcHRpb25hcmddJylcclxuICAgIC5hY3Rpb24oZnVuY3Rpb24gKGNvbW1hbmRhcmcsIGNvbW1hbmRvcHRpb25hcmcpIHtcclxuICAgICAgICBjb21tYW5kID0gY29tbWFuZGFyZztcclxuICAgICAgICBjb21tYW5kT3B0aW9uID0gY29tbWFuZG9wdGlvbmFyZztcclxuICAgIH0pO1xyXG4gXHJcbnBsdWdpbnMuY29tbWFuZGVyLnBhcnNlKHByb2Nlc3MuYXJndik7XHJcbiBcclxuaWYgKHR5cGVvZiBjb21tYW5kID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgY29uc29sZS5lcnJvcignbm8gY29tbWFuZCBnaXZlbiEnKTtcclxuICAgIHByb2Nlc3MuZXhpdCgxKTtcclxufVxyXG5cclxuc3dpdGNoIChjb21tYW5kKXtcclxuICAgIGNhc2UgXCJpbnN0YWxsXCI6XHJcbiAgICAgICAgaW5zdGFsbChjb21tYW5kT3B0aW9uKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGNhc2UgXCJ0ZXN0XCI6XHJcbiAgICAgICAgdGVzdChjb21tYW5kT3B0aW9uKTtcclxuICAgICAgICBicmVhaztcclxuICAgIGNhc2UgXCJwdWJsaXNoXCI6XHJcbiAgICAgICAgcHVibGlzaCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxufVxyXG5cclxuIl19 | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGlCQUFpQixDQUFDLENBQUE7QUFFM0MsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFMUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRTdELDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4Qyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUN4Qyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUd4QyxJQUFJLE9BQU8sQ0FBQztBQUNaLElBQUksYUFBYSxDQUFDO0FBRWxCLE9BQU8sQ0FBQyxTQUFTO0tBQ1osU0FBUyxDQUFDLGlDQUFpQyxDQUFDO0tBQzVDLE1BQU0sQ0FBQyxVQUFVLFVBQVUsRUFBRSxnQkFBZ0I7SUFDMUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUM7QUFFUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFdEMsRUFBRSxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQztJQUNiLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkIsS0FBSyxDQUFDO0lBQ1YsS0FBSyxNQUFNO1FBQ1AsaUJBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQixLQUFLLENBQUM7SUFDVixLQUFLLFNBQVM7UUFDVix1QkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQztJQUNWLEtBQUssU0FBUztRQUNWLHVCQUFPLENBQUMsYUFBYSxDQUFDO2FBQ2pCLElBQUksQ0FBQyx1QkFBTyxDQUFDLENBQUM7UUFDbkIsS0FBSyxDQUFDO0lBQ1Y7UUFDSSxLQUFLLENBQUM7QUFDZCxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxyXG5pbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuXHJcbmxldCBwYWNrSnNvbiA9IHJlcXVpcmUoXCIuLi9wYWNrYWdlLmpzb25cIik7XHJcblxyXG5wbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwibnBtY2kgdmVyc2lvbjogXCIgKyBwYWNrSnNvbi52ZXJzaW9uKTtcclxuXHJcbmltcG9ydCB7aW5zdGFsbH0gZnJvbSBcIi4vbnBtY2kuaW5zdGFsbFwiO1xyXG5pbXBvcnQge3Rlc3R9IGZyb20gXCIuL25wbWNpLnRlc3RcIjtcclxuaW1wb3J0IHtwdWJsaXNofSBmcm9tIFwiLi9ucG1jaS5wdWJsaXNoXCI7XHJcbmltcG9ydCB7cHJlcGFyZX0gZnJvbSBcIi4vbnBtY2kucHJlcGFyZVwiO1xyXG5pbXBvcnQge3RyaWdnZXJ9IGZyb20gXCIuL25wbWNpLnRyaWdnZXJcIjtcclxuXHJcblxyXG5sZXQgY29tbWFuZDtcclxubGV0IGNvbW1hbmRPcHRpb247XHJcblxyXG5wbHVnaW5zLmNvbW1hbmRlclxyXG4gICAgLmFyZ3VtZW50cygnPGNvbW1hbmRhcmc+IFtjb21tYW5kb3B0aW9uYXJnXScpXHJcbiAgICAuYWN0aW9uKGZ1bmN0aW9uIChjb21tYW5kYXJnLCBjb21tYW5kb3B0aW9uYXJnKSB7XHJcbiAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRhcmc7XHJcbiAgICAgICAgY29tbWFuZE9wdGlvbiA9IGNvbW1hbmRvcHRpb25hcmc7XHJcbiAgICB9KTtcclxuIFxyXG5wbHVnaW5zLmNvbW1hbmRlci5wYXJzZShwcm9jZXNzLmFyZ3YpO1xyXG4gXHJcbmlmICh0eXBlb2YgY29tbWFuZCA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ25vIGNvbW1hbmQgZ2l2ZW4hJyk7XHJcbiAgICBwcm9jZXNzLmV4aXQoMSk7XHJcbn1cclxuXHJcbnN3aXRjaCAoY29tbWFuZCl7XHJcbiAgICBjYXNlIFwiaW5zdGFsbFwiOlxyXG4gICAgICAgIGluc3RhbGwoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwidGVzdFwiOlxyXG4gICAgICAgIHRlc3QoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHJlcGFyZVwiOlxyXG4gICAgICAgIHByZXBhcmUoY29tbWFuZE9wdGlvbik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIFwicHVibGlzaFwiOlxyXG4gICAgICAgIHB1Ymxpc2goY29tbWFuZE9wdGlvbilcclxuICAgICAgICAgICAgLnRoZW4odHJpZ2dlcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG59XHJcblxyXG4iXX0= | ||||
|   | ||||
							
								
								
									
										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 | ||||
							
								
								
									
										2
									
								
								dist/npmci.build.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dist/npmci.build.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| import "typings-global"; | ||||
| export declare let build: (commandArg: any) => any; | ||||
							
								
								
									
										9
									
								
								dist/npmci.build.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								dist/npmci.build.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| exports.build = function (commandArg) { | ||||
|     var done = plugins.q.defer(); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0saUJBQWlCLENBQUMsQ0FBQTtBQUdoQyxhQUFLLEdBQUcsVUFBUyxVQUFVO0lBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmJ1aWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBidWlsZCA9IGZ1bmN0aW9uKGNvbW1hbmRBcmcpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0= | ||||
							
								
								
									
										1
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/npmci.env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| export declare let env: () => void; | ||||
							
								
								
									
										5
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								dist/npmci.env.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| "use strict"; | ||||
| exports.env = function () { | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQVcsV0FBRyxHQUFHO0FBRWpCLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5lbnYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbGV0IGVudiA9IGZ1bmN0aW9uKCl7XHJcbiAgICBcclxufTsiXX0= | ||||
							
								
								
									
										19
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								dist/npmci.install.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,25 +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!"); | ||||
|     npmci_bash_1.bash("node -v"); | ||||
|     npmci_bash_1.bash("npm -v"); | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLGVBQU8sR0FBRyxVQUFDLFVBQVU7SUFDNUIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNuQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sR0FBRyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNoQix3REFBd0Q7UUFDeEQsT0FBTztRQUNQLHFCQUFxQjtRQUNyQixPQUFPO1FBQ1AsSUFBSSxDQUNQLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuZXhwb3J0IGxldCBpbnN0YWxsID0gKHZlcnNpb25BcmcpID0+IHtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBsZXQgdmVyc2lvbjpzdHJpbmc7XHJcbiAgICBpZih2ZXJzaW9uQXJnID0gXCJsdHNcIil7XHJcbiAgICAgICAgdmVyc2lvbiA9IFwiNFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbkFyZztcclxuICAgIH07XHJcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJub3cgaW5zdGFsbGluZyBcIiArIFwibm9kZSBcIi5ncmVlbiArIChcInZlcnNpb24gXCIgKyB2ZXJzaW9uKS55ZWxsb3cpO1xyXG4gICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXHJcbiAgICAgICAgXCJiYXNoIC1jIFxcXCJzb3VyY2UgL3Vzci9sb2NhbC9udm0vbnZtLnNoICYmIG52bSBpbnN0YWxsIFwiK1xyXG4gICAgICAgIHZlcnNpb24gK1xyXG4gICAgICAgIFwiIG52bSBhbGlhcyBkZWZhdWx0IFwiICtcclxuICAgICAgICB2ZXJzaW9uICtcclxuICAgICAgICBcIlxcXCJcIlxyXG4gICAgKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJOb2RlIHZlcnNpb24gXCIgKyB2ZXJzaW9uICsgXCIgc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcIik7XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0= | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLmluc3RhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUFVO0lBQzVCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixJQUFJLE9BQWMsQ0FBQztJQUNuQixFQUFFLENBQUEsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLENBQUEsQ0FBQztRQUNwQixPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLEdBQUcsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBQ0YsaUJBQUksQ0FDQSxjQUFjLEdBQUcsT0FBTztRQUN4Qix3QkFBd0IsR0FBRyxPQUFPLENBQ3JDLENBQUM7SUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsT0FBTyxHQUFHLDBCQUEwQixDQUFDLENBQUM7SUFDbEYsaUJBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQixpQkFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLmluc3RhbGwuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcblxyXG5leHBvcnQgbGV0IGluc3RhbGwgPSAodmVyc2lvbkFyZykgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIm5vdyBpbnN0YWxsaW5nIFwiICsgXCJub2RlIFwiLmdyZWVuICsgKFwidmVyc2lvbiBcIiArIHZlcnNpb25BcmcpLnllbGxvdyk7XHJcbiAgICBsZXQgdmVyc2lvbjpzdHJpbmc7XHJcbiAgICBpZih2ZXJzaW9uQXJnID09IFwibHRzXCIpe1xyXG4gICAgICAgIHZlcnNpb24gPSBcIjRcIjtcclxuICAgIH0gZWxzZSBpZih2ZXJzaW9uQXJnID09IFwibGVnYWN5XCIpe1xyXG4gICAgICAgIHZlcnNpb24gPSBcIjQuMC4wXCJcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25Bcmc7XHJcbiAgICB9O1xyXG4gICAgYmFzaChcclxuICAgICAgICBcIm52bSBpbnN0YWxsIFwiICsgdmVyc2lvbiArXHJcbiAgICAgICAgXCIgJiYgbnZtIGFsaWFzIGRlZmF1bHQgXCIgKyB2ZXJzaW9uXHJcbiAgICApO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuc3VjY2VzcyhcIk5vZGUgdmVyc2lvbiBcIiArIHZlcnNpb24gKyBcIiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIVwiKTtcclxuICAgIGJhc2goXCJub2RlIC12XCIpO1xyXG4gICAgYmFzaChcIm5wbSAtdlwiKTtcclxuICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ== | ||||
|   | ||||
							
								
								
									
										2
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/npmci.plugins.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -2,5 +2,7 @@ import "typings-global"; | ||||
| export import beautylog = require("beautylog"); | ||||
| export declare let commander: any; | ||||
| export declare let q: any; | ||||
| export declare let request: any; | ||||
| export declare let shelljs: any; | ||||
| export declare let smartssh: any; | ||||
| export import smartfile = require("smartfile"); | ||||
|   | ||||
							
								
								
									
										4
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/npmci.plugins.js
									
									
									
									
										vendored
									
									
								
							| @@ -3,7 +3,9 @@ require("typings-global"); | ||||
| exports.beautylog = require("beautylog"); | ||||
| exports.commander = require("commander"); | ||||
| exports.q = require("q"); | ||||
| exports.request = require("request"); | ||||
| 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUNWLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsaUJBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsZ0JBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQyIsImZpbGUiOiJucG1jaS5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xyXG5leHBvcnQgbGV0IGNvbW1hbmRlciA9IHJlcXVpcmUoXCJjb21tYW5kZXJcIik7XHJcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xyXG5leHBvcnQgbGV0IHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcclxuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XHJcbmV4cG9ydCBsZXQgc21hcnRzc2ggPSByZXF1aXJlKFwic21hcnRzc2hcIik7XHJcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTsiXX0= | ||||
|   | ||||
							
								
								
									
										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; | ||||
							
								
								
									
										44
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								dist/npmci.prepare.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| var npmci_bash_1 = require("./npmci.bash"); | ||||
| var docker = function () { | ||||
|     var done = plugins.q.defer(); | ||||
|     var dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/; | ||||
|     if (!process.env.NPMCI_LOGIN_DOCKER) { | ||||
|         plugins.beautylog.error("You have to specify Login Data to the Docker Registry"); | ||||
|         process.exit(1); | ||||
|     } | ||||
|     var dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER); | ||||
|     var username = dockerRegexResultArray[1]; | ||||
|     var password = dockerRegexResultArray[2]; | ||||
|     npmci_bash_1.bash("docker login -u " + username + " -p " + password); | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| }; | ||||
| var npm = function () { | ||||
|     var done = plugins.q.defer(); | ||||
|     var npmrcPrefix = "//registry.npmjs.org/:_authToken="; | ||||
|     var npmToken = process.env.NPMCI_TOKEN_NPM; | ||||
|     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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnByZXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUVsQyxJQUFJLE1BQU0sR0FBRztJQUNULElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsSUFBSSxXQUFXLEdBQUcscUNBQXFDLENBQUE7SUFDdkQsRUFBRSxDQUFBLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUEsQ0FBQztRQUNoQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksc0JBQXNCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsSUFBSSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekMsaUJBQUksQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksR0FBRyxHQUFHO0lBQ04sSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUU3QixJQUFJLFdBQVcsR0FBVSxtQ0FBbUMsQ0FBQztJQUM3RCxJQUFJLFFBQVEsR0FBVSxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQztJQUNsRCxJQUFJLGVBQWUsR0FBRyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBRTdDLEVBQUUsQ0FBQSxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUM7UUFDVCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBQyxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDeEYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBRVMsZUFBTyxHQUFHLFVBQVMsVUFBaUI7SUFDM0MsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqQixLQUFLLEtBQUs7WUFDTixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSyxRQUFRO1lBQ1QsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7QUFDTCxDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kucHJlcGFyZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge2Jhc2h9IGZyb20gXCIuL25wbWNpLmJhc2hcIjtcclxuXHJcbmxldCBkb2NrZXIgPSBmdW5jdGlvbigpe1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIGxldCBkb2NrZXJSZWdleCA9IC9eKFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKS9cclxuICAgIGlmKCFwcm9jZXNzLmVudi5OUE1DSV9MT0dJTl9ET0NLRVIpe1xyXG4gICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmVycm9yKFwiWW91IGhhdmUgdG8gc3BlY2lmeSBMb2dpbiBEYXRhIHRvIHRoZSBEb2NrZXIgUmVnaXN0cnlcIik7XHJcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xyXG4gICAgfVxyXG4gICAgbGV0IGRvY2tlclJlZ2V4UmVzdWx0QXJyYXkgPSBkb2NrZXJSZWdleC5leGVjKHByb2Nlc3MuZW52Lk5QTUNJX0xPR0lOX0RPQ0tFUik7XHJcbiAgICBsZXQgdXNlcm5hbWUgPSBkb2NrZXJSZWdleFJlc3VsdEFycmF5WzFdO1xyXG4gICAgbGV0IHBhc3N3b3JkID0gZG9ja2VyUmVnZXhSZXN1bHRBcnJheVsyXTtcclxuICAgIGJhc2goXCJkb2NrZXIgbG9naW4gLXUgXCIgKyB1c2VybmFtZSArIFwiIC1wIFwiICsgcGFzc3dvcmQpO1xyXG4gICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59XHJcblxyXG5sZXQgbnBtID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBcclxuICAgIGxldCBucG1yY1ByZWZpeDpzdHJpbmcgPSBcIi8vcmVnaXN0cnkubnBtanMub3JnLzpfYXV0aFRva2VuPVwiO1xyXG4gICAgbGV0IG5wbVRva2VuOnN0cmluZyA9IHByb2Nlc3MuZW52Lk5QTUNJX1RPS0VOX05QTTtcclxuICAgIGxldCBucG1yY0ZpbGVTdHJpbmcgPSBucG1yY1ByZWZpeCArIG5wbVRva2VuO1xyXG4gICAgXHJcbiAgICBpZihucG1Ub2tlbil7XHJcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcImZvdW5kIGFjY2VzcyB0b2tlblwiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJubyBhY2Nlc3MgdG9rZW4gZm91bmQhIEV4aXRpbmchXCIpO1xyXG4gICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcclxuICAgIH1cclxuICAgIHBsdWdpbnMuc21hcnRmaWxlLm1lbW9yeS50b0ZzU3luYyhucG1yY0ZpbGVTdHJpbmcse2ZpbGVOYW1lOlwiLm5wbXJjXCIsZmlsZVBhdGg6XCIvcm9vdFwifSk7XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07XHJcblxyXG5leHBvcnQgbGV0IHByZXBhcmUgPSBmdW5jdGlvbihzZXJ2aWNlQXJnOnN0cmluZyl7XHJcbiAgICBzd2l0Y2ggKHNlcnZpY2VBcmcpIHtcclxuICAgICAgICBjYXNlIFwibnBtXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBucG0oKTtcclxuICAgICAgICBjYXNlIFwiZG9ja2VyXCI6XHJcbiAgICAgICAgICAgIHJldHVybiBkb2NrZXIoKTtcclxuICAgIH1cclxufSJdfQ== | ||||
							
								
								
									
										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; | ||||
|   | ||||
							
								
								
									
										44
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								dist/npmci.publish.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,14 +1,44 @@ | ||||
| "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.smartfile.memory.toFs(npmrcFileString, { fileName: ".npmrc", filePath: "/root/" }); | ||||
|     plugins.shelljs.exec("npm publish"); | ||||
|     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"); | ||||
|         done.resolve(); | ||||
|     }); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBRTNDLElBQUksV0FBVyxHQUFVLG1DQUFtQyxDQUFDO0FBQzdELElBQUksUUFBUSxHQUFVLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO0FBQzdDLElBQUksZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFHbEMsZUFBTyxHQUFHO0lBQ2pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBQyxFQUFDLFFBQVEsRUFBQyxRQUFRLEVBQUMsUUFBUSxFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDckYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuXHJcbmxldCBucG1yY1ByZWZpeDpzdHJpbmcgPSBcIi8vcmVnaXN0cnkubnBtanMub3JnLzpfYXV0aFRva2VuPVwiO1xyXG5sZXQgbnBtVG9rZW46c3RyaW5nID0gcHJvY2Vzcy5lbnYuTlBNQ0lUT0tFTjtcclxubGV0IG5wbXJjRmlsZVN0cmluZyA9IG5wbXJjUHJlZml4ICsgbnBtVG9rZW47XHJcblxyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKCkgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIFxyXG4gICAgcGx1Z2lucy5zbWFydGZpbGUubWVtb3J5LnRvRnMobnBtcmNGaWxlU3RyaW5nLHtmaWxlTmFtZTpcIi5ucG1yY1wiLGZpbGVQYXRoOlwiL3Jvb3QvXCJ9KTtcclxuICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwibnBtIHB1Ymxpc2hcIik7XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59OyJdfQ== | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQ3hDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUV2QixlQUFPLEdBQUcsVUFBQyxVQUF5QjtJQUF6QiwwQkFBeUIsR0FBekIsa0JBQXlCO0lBQzNDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztRQUNoQixLQUFLLEtBQUs7WUFDTixVQUFVLEVBQUU7aUJBQ1AsSUFBSSxDQUFDO2dCQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztZQUNQLEtBQUssQ0FBQztRQUNWLEtBQUssUUFBUTtZQUNULGFBQWEsRUFBRTtpQkFDVixJQUFJLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQUVGLElBQUksVUFBVSxHQUFJO0lBQ2QsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLEtBQUssQ0FBQztTQUNULElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdkIsQ0FBQyxDQUFBO0FBRUQsSUFBSSxhQUFhLEdBQUc7SUFDaEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFFBQVEsQ0FBQztTQUNaLElBQUksQ0FBQztRQUNGLGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6Im5wbWNpLnB1Ymxpc2guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtwcmVwYXJlfSBmcm9tIFwiLi9ucG1jaS5wcmVwYXJlXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5cclxuZXhwb3J0IGxldCBwdWJsaXNoID0gKHNlcnZpY2VBcmc6c3RyaW5nID0gXCJucG1cIikgPT4ge1xyXG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcclxuICAgIHN3aXRjaCAoc2VydmljZUFyZyl7XHJcbiAgICAgICAgY2FzZSBcIm5wbVwiOiBcclxuICAgICAgICAgICAgcHVibGlzaE5wbSgpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJkb2NrZXJcIjpcclxuICAgICAgICAgICAgcHVibGlzaERvY2tlcigpXHJcbiAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG59O1xyXG5cclxubGV0IHB1Ymxpc2hOcG0gID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwibnBtXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcIm5wbSBwdWJsaXNoXCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5vayhcIkRvbmUhXCIpIDtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn1cclxuXHJcbmxldCBwdWJsaXNoRG9ja2VyID0gZnVuY3Rpb24oKXtcclxuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XHJcbiAgICBwcmVwYXJlKFwiZG9ja2VyXCIpXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgYmFzaChcImRvY2tlciBwdXNoXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn07Il19 | ||||
|   | ||||
							
								
								
									
										7
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/npmci.test.js
									
									
									
									
										vendored
									
									
								
							| @@ -1,17 +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:"); | ||||
|         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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDhCQUFzQixpQkFBaUIsQ0FBQyxDQUFBO0FBQzdCLFlBQUksR0FBRyxVQUFDLFVBQVU7SUFDekIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3Qix1QkFBTyxDQUFDLFVBQVUsQ0FBQztTQUNkLElBQUksQ0FBQztRQUNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFBO0lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFBIiwiZmlsZSI6Im5wbWNpLnRlc3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL25wbWNpLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtpbnN0YWxsfSBmcm9tIFwiLi9ucG1jaS5pbnN0YWxsXCI7XHJcbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgaW5zdGFsbCh2ZXJzaW9uQXJnKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcIm5wbSB0ZXN0XCIpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5zdWNjZXNzKFwidGVzdCBmaW5pc2hlZFwiKTtcclxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSlcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0= | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBQzNDLDJCQUFtQixjQUFjLENBQUMsQ0FBQTtBQUNsQyw4QkFBc0IsaUJBQWlCLENBQUMsQ0FBQTtBQUU3QixZQUFJLEdBQUcsVUFBQyxVQUFVO0lBQ3pCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0IsdUJBQU8sQ0FBQyxVQUFVLENBQUM7U0FDZCxJQUFJLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5QyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQTtJQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQSIsImZpbGUiOiJucG1jaS50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9ucG1jaS5wbHVnaW5zXCI7XHJcbmltcG9ydCB7YmFzaH0gZnJvbSBcIi4vbnBtY2kuYmFzaFwiO1xyXG5pbXBvcnQge2luc3RhbGx9IGZyb20gXCIuL25wbWNpLmluc3RhbGxcIjtcclxuXHJcbmV4cG9ydCBsZXQgdGVzdCA9ICh2ZXJzaW9uQXJnKSA9PiB7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgaW5zdGFsbCh2ZXJzaW9uQXJnKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgaW5zdGFsbGluZyBkZXBlbmRlbmNpZXM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIGluc3RhbGxcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLmluZm8oXCJub3cgc3RhcnRpbmcgdGVzdHM6XCIpO1xyXG4gICAgICAgICAgICBiYXNoKFwibnBtIHRlc3RcIik7XHJcbiAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLnN1Y2Nlc3MoXCJ0ZXN0IGZpbmlzaGVkXCIpO1xyXG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcclxuICAgICAgICB9KVxyXG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcclxufSJdfQ== | ||||
|   | ||||
							
								
								
									
										2
									
								
								dist/npmci.trigger.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dist/npmci.trigger.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| import "typings-global"; | ||||
| export declare let trigger: () => any; | ||||
							
								
								
									
										27
									
								
								dist/npmci.trigger.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								dist/npmci.trigger.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| "use strict"; | ||||
| require("typings-global"); | ||||
| var plugins = require("./npmci.plugins"); | ||||
| //Variables | ||||
| var triggerEnvPrefix = "NPMCI_TRIGGER_"; | ||||
| exports.trigger = function () { | ||||
|     var done = plugins.q.defer(); | ||||
|     plugins.beautylog.info("now running triggers"); | ||||
|     var triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/; | ||||
|     for (var i = 0; i < 100; i++) { | ||||
|         var iteratorString = i.toString(); | ||||
|         if (process.env[triggerEnvPrefix + iteratorString]) { | ||||
|             var triggerRegexResultArray = triggerRegex.exec(process.env["TRIGGER" + iteratorString]); | ||||
|             var regexDomain = triggerRegexResultArray[1]; | ||||
|             var regexProjectId = triggerRegexResultArray[2]; | ||||
|             var regexProjectTriggerToken = triggerRegexResultArray[3]; | ||||
|             var regexRefName = triggerRegexResultArray[4]; | ||||
|             plugins.beautylog.log("triggering build for ref " + regexRefName); | ||||
|             plugins.beautylog.log("Found TRIGGER" + iteratorString); | ||||
|             plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", { form: { token: regexProjectTriggerToken, ref: regexRefName } }); | ||||
|         } | ||||
|     } | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| }; | ||||
|  | ||||
| //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5wbWNpLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxpQkFBaUIsQ0FBQyxDQUFBO0FBSTNDLFdBQVc7QUFDWCxJQUFJLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRTdCLGVBQU8sR0FBRztJQUNqQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDL0MsSUFBSSxZQUFZLEdBQUcseUVBQXlFLENBQUM7SUFDN0YsR0FBRyxDQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUN6QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsRUFBRSxDQUFBLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFDL0MsSUFBSSx1QkFBdUIsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDekYsSUFBSSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxjQUFjLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUNsRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLENBQUM7WUFDeEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEdBQUcsY0FBYyxHQUFHLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsS0FBSyxFQUFDLHdCQUF3QixFQUFDLEdBQUcsRUFBQyxZQUFZLEVBQUMsRUFBQyxDQUFDLENBQUM7UUFDL0osQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUEiLCJmaWxlIjoibnBtY2kudHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vbnBtY2kucGx1Z2luc1wiO1xyXG5pbXBvcnQge3ByZXBhcmV9IGZyb20gXCIuL25wbWNpLnByZXBhcmVcIjtcclxuaW1wb3J0IHtiYXNofSBmcm9tIFwiLi9ucG1jaS5iYXNoXCI7XHJcblxyXG4vL1ZhcmlhYmxlc1xyXG5sZXQgdHJpZ2dlckVudlByZWZpeCA9IFwiTlBNQ0lfVFJJR0dFUl9cIjtcclxuXHJcbmV4cG9ydCBsZXQgdHJpZ2dlciA9IGZ1bmN0aW9uKCl7XHJcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xyXG4gICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIm5vdyBydW5uaW5nIHRyaWdnZXJzXCIpO1xyXG4gICAgbGV0IHRyaWdnZXJSZWdleCA9IC9eKFthLXpBLVowLTlcXC5dKilcXHwoW2EtekEtWjAtOVxcLl0qKVxcfChbYS16QS1aMC05XFwuXSopXFx8KFthLXpBLVowLTlcXC5dKikvO1xyXG4gICAgZm9yKGxldCBpID0gMDsgaSA8IDEwMDsgaSsrKXtcclxuICAgICAgICBsZXQgaXRlcmF0b3JTdHJpbmcgPSBpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgaWYocHJvY2Vzcy5lbnZbdHJpZ2dlckVudlByZWZpeCArIGl0ZXJhdG9yU3RyaW5nXSl7XHJcbiAgICAgICAgICAgIGxldCB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheSA9IHRyaWdnZXJSZWdleC5leGVjKHByb2Nlc3MuZW52W1wiVFJJR0dFUlwiICsgaXRlcmF0b3JTdHJpbmddKTtcclxuICAgICAgICAgICAgbGV0IHJlZ2V4RG9tYWluID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbMV07XHJcbiAgICAgICAgICAgIGxldCByZWdleFByb2plY3RJZCA9IHRyaWdnZXJSZWdleFJlc3VsdEFycmF5WzJdO1xyXG4gICAgICAgICAgICBsZXQgcmVnZXhQcm9qZWN0VHJpZ2dlclRva2VuID0gdHJpZ2dlclJlZ2V4UmVzdWx0QXJyYXlbM107XHJcbiAgICAgICAgICAgIGxldCByZWdleFJlZk5hbWUgPSB0cmlnZ2VyUmVnZXhSZXN1bHRBcnJheVs0XTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwidHJpZ2dlcmluZyBidWlsZCBmb3IgcmVmIFwiICsgcmVnZXhSZWZOYW1lKTtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiRm91bmQgVFJJR0dFUlwiICsgaXRlcmF0b3JTdHJpbmcpO1xyXG4gICAgICAgICAgICBwbHVnaW5zLnJlcXVlc3QucG9zdChcImh0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjMvcHJvamVjdHMvXCIgKyByZWdleFByb2plY3RJZCArIFwiL3RyaWdnZXIvYnVpbGRzXCIsIHtmb3JtOnt0b2tlbjpyZWdleFByb2plY3RUcmlnZ2VyVG9rZW4scmVmOnJlZ2V4UmVmTmFtZX19KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkb25lLnJlc29sdmUoKTtcclxuICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbn0iXX0= | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "npmci", | ||||
|   "version": "1.0.8", | ||||
|   "version": "2.0.26", | ||||
|   "description": "", | ||||
|   "main": "dist/index.js", | ||||
|   "bin": { | ||||
| @@ -26,8 +26,10 @@ | ||||
|     "beautylog": "^5.0.6", | ||||
|     "commander": "^2.9.0", | ||||
|     "q": "^1.4.1", | ||||
|     "request": "^2.72.0", | ||||
|     "shelljs": "^0.7.0", | ||||
|     "smartfile": "^3.0.10", | ||||
|     "smartssh": "^1.0.4", | ||||
|     "typings-global": "^1.0.3" | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										13
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -2,16 +2,21 @@ | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
|  | ||||
| let packJson = require("../package.json"); | ||||
|  | ||||
| plugins.beautylog.info("npmci version: " + packJson.version); | ||||
|  | ||||
| import {install} from "./npmci.install"; | ||||
| import {test} from "./npmci.test"; | ||||
| import {publish} from "./npmci.publish"; | ||||
| import {prepare} from "./npmci.prepare"; | ||||
| import {trigger} from "./npmci.trigger"; | ||||
|  | ||||
|  | ||||
| let command; | ||||
| let commandOption; | ||||
|  | ||||
| plugins.commander | ||||
|     .version('0.0.1') | ||||
|     .arguments('<commandarg> [commandoptionarg]') | ||||
|     .action(function (commandarg, commandoptionarg) { | ||||
|         command = commandarg; | ||||
| @@ -32,8 +37,12 @@ switch (command){ | ||||
|     case "test": | ||||
|         test(commandOption); | ||||
|         break; | ||||
|     case "prepare": | ||||
|         prepare(commandOption); | ||||
|         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); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										8
									
								
								ts/npmci.build.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								ts/npmci.build.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
| import {bash} from "./npmci.bash"; | ||||
|  | ||||
| export let build = function(commandArg){ | ||||
|     let done = plugins.q.defer(); | ||||
|     return done.promise; | ||||
| } | ||||
							
								
								
									
										3
									
								
								ts/npmci.env.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								ts/npmci.env.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| export let env = function(){ | ||||
|      | ||||
| }; | ||||
| @@ -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; | ||||
| } | ||||
| @@ -2,5 +2,7 @@ import "typings-global"; | ||||
| export import beautylog = require("beautylog"); | ||||
| export let commander = require("commander"); | ||||
| export let q = require("q"); | ||||
| export let request = require("request"); | ||||
| export let shelljs = require("shelljs"); | ||||
| export let smartssh = require("smartssh"); | ||||
| export import smartfile = require("smartfile"); | ||||
							
								
								
									
										45
									
								
								ts/npmci.prepare.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								ts/npmci.prepare.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
| import {bash} from "./npmci.bash"; | ||||
|  | ||||
| let docker = function(){ | ||||
|     let done = plugins.q.defer(); | ||||
|     let dockerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/ | ||||
|     if(!process.env.NPMCI_LOGIN_DOCKER){ | ||||
|         plugins.beautylog.error("You have to specify Login Data to the Docker Registry"); | ||||
|         process.exit(1); | ||||
|     } | ||||
|     let dockerRegexResultArray = dockerRegex.exec(process.env.NPMCI_LOGIN_DOCKER); | ||||
|     let username = dockerRegexResultArray[1]; | ||||
|     let password = dockerRegexResultArray[2]; | ||||
|     bash("docker login -u " + username + " -p " + password); | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| } | ||||
|  | ||||
| let npm = function(){ | ||||
|     let done = plugins.q.defer(); | ||||
|      | ||||
|     let npmrcPrefix:string = "//registry.npmjs.org/:_authToken="; | ||||
|     let npmToken:string = process.env.NPMCI_TOKEN_NPM; | ||||
|     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,15 +1,43 @@ | ||||
| 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.smartfile.memory.toFs(npmrcFileString,{fileName:".npmrc",filePath:"/root/"}); | ||||
|     plugins.shelljs.exec("npm publish"); | ||||
|     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"); | ||||
|             done.resolve(); | ||||
|         }); | ||||
|     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(); | ||||
|         }) | ||||
|   | ||||
							
								
								
									
										28
									
								
								ts/npmci.trigger.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								ts/npmci.trigger.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| import "typings-global"; | ||||
| import * as plugins from "./npmci.plugins"; | ||||
| import {prepare} from "./npmci.prepare"; | ||||
| import {bash} from "./npmci.bash"; | ||||
|  | ||||
| //Variables | ||||
| let triggerEnvPrefix = "NPMCI_TRIGGER_"; | ||||
|  | ||||
| export let trigger = function(){ | ||||
|     let done = plugins.q.defer(); | ||||
|     plugins.beautylog.info("now running triggers"); | ||||
|     let triggerRegex = /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)/; | ||||
|     for(let i = 0; i < 100; i++){ | ||||
|         let iteratorString = i.toString(); | ||||
|         if(process.env[triggerEnvPrefix + iteratorString]){ | ||||
|             let triggerRegexResultArray = triggerRegex.exec(process.env["TRIGGER" + iteratorString]); | ||||
|             let regexDomain = triggerRegexResultArray[1]; | ||||
|             let regexProjectId = triggerRegexResultArray[2]; | ||||
|             let regexProjectTriggerToken = triggerRegexResultArray[3]; | ||||
|             let regexRefName = triggerRegexResultArray[4]; | ||||
|             plugins.beautylog.log("triggering build for ref " + regexRefName); | ||||
|             plugins.beautylog.log("Found TRIGGER" + iteratorString); | ||||
|             plugins.request.post("https://gitlab.com/api/v3/projects/" + regexProjectId + "/trigger/builds", {form:{token:regexProjectTriggerToken,ref:regexRefName}}); | ||||
|         } | ||||
|     } | ||||
|     done.resolve(); | ||||
|     return done.promise; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user