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