UNPKG

1.82 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.9.1
2var argv, cli, clone, directory, log, minimist, npub, packageJson, publishVersion, semver;
3
4log = require('./log');
5
6npub = require('./index');
7
8minimist = require('minimist');
9
10semver = require('semver');
11
12clone = function(obj) {
13 return JSON.parse(JSON.stringify(obj || {}));
14};
15
16publishVersion = function(str, currentVersion) {
17 var version;
18 if (str == null) {
19 log.error('<version> required for command: npub publish <version>');
20 process.exit(2);
21 }
22 version = (function() {
23 switch (str) {
24 case "patch":
25 case "minor":
26 case "major":
27 return semver.inc(currentVersion, str);
28 default:
29 return semver.valid(str);
30 }
31 })();
32 if (!version) {
33 log.error("'" + version + "' is invalid.");
34 process.exit(2);
35 }
36 return version;
37};
38
39cli = function(argv, directory, packageJson) {
40 var command, config, npubPackageJson, testCommand, version;
41 if (argv.v || argv.version) {
42 npubPackageJson = require('../package.json');
43 log(npubPackageJson.version);
44 return process.exit(0);
45 }
46 command = argv._[0];
47 config = clone(packageJson.publishConfig);
48 switch (command) {
49 case 'prep':
50 return npub.prep(directory, log, config);
51 case 'publish':
52 version = publishVersion(argv._[1], packageJson.version);
53 testCommand = argv.t || argv.test;
54 return npub.publish(directory, log, config, version, testCommand);
55 case 'verify':
56 return npub.verify(directory, function(err) {
57 if (err) {
58 return process.exit(2);
59 }
60 });
61 default:
62 return log.error("invalid command: \"" + command + "\"");
63 }
64};
65
66argv = minimist(process.argv.slice(2));
67
68directory = process.cwd();
69
70packageJson = require(directory + "/package.json");
71
72cli(argv, directory, packageJson);