|
3 | 3 | var program = require('commander'); |
4 | 4 |
|
5 | 5 | var dasherize = require('../utils/string').dasherize; |
6 | | -var Promise = require('../ext/promise'); |
7 | 6 | var ui = require('../ui'); |
8 | 7 |
|
9 | | -function validateOptions(options) { |
10 | | - return new Promise(function(resolve, reject) { |
11 | | - if (!options.addonName) { |
12 | | - reject('You must provide a name of the addon you wish to publish'); |
13 | | - } else if (!options.username) { |
14 | | - reject('A GitHub username is required'); |
15 | | - } else if (!options.password) { |
16 | | - reject('A GitHub password is required'); |
17 | | - } else { |
18 | | - resolve(options); |
19 | | - } |
20 | | - }); |
21 | | -} |
22 | | - |
23 | | -function run(options) { |
24 | | - return require('../tasks/publish')(options); |
25 | | -} |
26 | | - |
27 | 8 | program |
28 | 9 | .arguments('<addonName>') |
29 | | - .action(function(addonName) { |
30 | | - program.addonName = addonName; |
31 | | - }) |
| 10 | + .usage('<addonName> -u <username> -p <password>') |
32 | 11 | .option('-u, --username <username>', 'GitHub username') |
33 | 12 | .option('-p, --password <password>', 'GitHub password') |
34 | | - .parse(process.argv); |
| 13 | + .action(function(addonName) { |
| 14 | + if (addonName) { |
| 15 | + program.addonName = addonName; |
| 16 | + } |
| 17 | + }); |
35 | 18 |
|
36 | | -var options = { |
37 | | - addonName: program.addonName ? dasherize(program.addonName) : null, |
38 | | - username: program.username ? program.username : null, |
39 | | - password: program.password ? program.password : null |
40 | | -}; |
| 19 | +program |
| 20 | + .parse(process.argv); |
41 | 21 |
|
42 | | -return validateOptions(options) |
43 | | - .then(run) |
44 | | - .catch(ui.error); |
| 22 | +if (program.addonName && program.username && program.password) { |
| 23 | + require('../tasks/publish')({ |
| 24 | + addonName: dasherize(program.addonName), |
| 25 | + username: program.username, |
| 26 | + password: program.password |
| 27 | + }).catch(ui.error); |
| 28 | +} else { |
| 29 | + program.outputHelp(); |
| 30 | +} |
0 commit comments