UNPKG

npub

Version:

publishing tool for your node projects hosted on github

73 lines (61 loc) 1.82 kB
// Generated by CoffeeScript 1.9.1 var argv, cli, clone, directory, log, minimist, npub, packageJson, publishVersion, semver; log = require('./log'); npub = require('./index'); minimist = require('minimist'); semver = require('semver'); clone = function(obj) { return JSON.parse(JSON.stringify(obj || {})); }; publishVersion = function(str, currentVersion) { var version; if (str == null) { log.error('<version> required for command: npub publish <version>'); process.exit(2); } version = (function() { switch (str) { case "patch": case "minor": case "major": return semver.inc(currentVersion, str); default: return semver.valid(str); } })(); if (!version) { log.error("'" + version + "' is invalid."); process.exit(2); } return version; }; cli = function(argv, directory, packageJson) { var command, config, npubPackageJson, testCommand, version; if (argv.v || argv.version) { npubPackageJson = require('../package.json'); log(npubPackageJson.version); return process.exit(0); } command = argv._[0]; config = clone(packageJson.publishConfig); switch (command) { case 'prep': return npub.prep(directory, log, config); case 'publish': version = publishVersion(argv._[1], packageJson.version); testCommand = argv.t || argv.test; return npub.publish(directory, log, config, version, testCommand); case 'verify': return npub.verify(directory, function(err) { if (err) { return process.exit(2); } }); default: return log.error("invalid command: \"" + command + "\""); } }; argv = minimist(process.argv.slice(2)); directory = process.cwd(); packageJson = require(directory + "/package.json"); cli(argv, directory, packageJson);