UNPKG

npub

Version:

publishing tool for your node projects hosted on github

57 lines (42 loc) 1.35 kB
log = require './log' npub = require './index' minimist = require 'minimist' semver = require 'semver' clone = (obj) -> JSON.parse(JSON.stringify(obj || {})) publishVersion = (str, currentVersion) -> if !str? log.error '<version> required for command: npub publish <version>' process.exit(2) version = switch str when "patch", "minor", "major" semver.inc(currentVersion, str) else semver.valid(str) if !version log.error "'#{version}' is invalid." process.exit(2) return version cli = (argv, directory, packageJson) -> if argv.v or argv.version npubPackageJson = require '../package.json' log npubPackageJson.version return process.exit(0) command = argv._[0] config = clone(packageJson.publishConfig) switch command when 'prep' return npub.prep(directory, log, config) when 'publish' version = publishVersion(argv._[1], packageJson.version) testCommand = argv.t || argv.test return npub.publish(directory, log, config, version, testCommand) when 'verify' npub.verify directory, (err) -> process.exit(2) if err else log.error "invalid command: \"#{command}\"" argv = minimist process.argv.slice(2) directory = process.cwd() packageJson = require("#{directory}/package.json") cli(argv, directory, packageJson)