UNPKG

1.21 kBtext/coffeescriptView Raw
1log = require './log'
2npub = require './index'
3minimist = require 'minimist'
4semver = require 'semver'
5
6clone = (obj) ->
7 JSON.parse(JSON.stringify(obj || {}))
8
9publishVersion = (str, currentVersion) ->
10 if !str?
11 log.error '<version> required for command: npub publish <version>'
12 process.exit(2)
13
14 version = switch str
15 when "patch", "minor", "major"
16 semver.inc(currentVersion, str)
17 else
18 semver.valid(str)
19
20 if !version
21 log.error "'#{version}' is invalid."
22 process.exit(2)
23
24 return version
25
26cli = (argv, directory, packageJson) ->
27 command = argv._[0]
28 config = clone(packageJson.publishConfig)
29
30 switch command
31 when 'prep'
32 return npub.prep(directory, log, config)
33
34 when 'publish'
35 version = publishVersion(argv._[1], packageJson.version)
36 testCommand = argv.t || argv.test
37 return npub.publish(directory, log, config, version, testCommand)
38
39 when 'verify'
40 npub.verify directory, (err) ->
41 process.exit(2) if err
42
43 else
44 log.error "invalid command: \"#{command}\""
45
46argv = minimist process.argv.slice(2)
47directory = process.cwd()
48
49packageJson = require("#{directory}/package.json")
50cli(argv, directory, packageJson)
51