Skip to content

Commit 9f64bb6

Browse files
committed
Merge pull request #24 from coderly/prompt-for-username-password
Prompt for username password
2 parents 7fbbe08 + 2d1e895 commit 9f64bb6

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

lib/cli/publish.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,30 @@
11
#! /usr/bin/env node
22

33
var program = require('commander');
4+
var cliPrompt = require('prompt');
45

56
var dasherize = require('../utils/string').dasherize;
67
var ui = require('../ui');
78

9+
cliPrompt.message = '';
10+
cliPrompt.delimiter = '';
11+
12+
var promptSchema = {
13+
properties: {
14+
username: {
15+
description: 'GitHub username: ',
16+
message: 'A username is required.',
17+
required: true
18+
},
19+
password: {
20+
description: 'GitHub password: ',
21+
message: 'A password is required.',
22+
required: true,
23+
hidden: true
24+
}
25+
}
26+
};
27+
828
program
929
.arguments('<addonName>')
1030
.usage('<addonName> -u <username> -p <password>')
@@ -19,12 +39,29 @@ program
1939
program
2040
.parse(process.argv);
2141

22-
if (program.addonName && program.username && program.password) {
42+
function runPublishTask() {
2343
require('../tasks/publish')({
2444
addonName: dasherize(program.addonName),
2545
username: program.username,
2646
password: program.password
2747
}).catch(ui.error);
48+
}
49+
50+
if (program.addonName) {
51+
if(program.username && program.password) {
52+
runPublishTask();
53+
} else {
54+
cliPrompt.start();
55+
cliPrompt.get(promptSchema, function(error, result) {
56+
if (error) {
57+
return ui.error(error);
58+
} else {
59+
program.username = result.username;
60+
program.password = result.password;
61+
runPublishTask();
62+
}
63+
});
64+
}
2865
} else {
2966
program.outputHelp();
3067
}

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@
4242
"fs-extra": "^0.19.0",
4343
"github": "^0.2.4",
4444
"lodash": "^3.9.3",
45-
"rsvp": "^3.0.18",
46-
"nodegit": "^0.4.1"
45+
"nodegit": "^0.4.1",
46+
"prompt": "^0.2.14",
47+
"rsvp": "^3.0.18"
4748
},
4849
"ember-addon": {
4950
"configPath": "tests/dummy/config"

0 commit comments

Comments
 (0)