piral-cli 0.14.28-beta.4363 → 0.14.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/questionnaire.js +7 -4
- package/lib/questionnaire.js.map +1 -1
- package/package.json +2 -2
- package/src/questionnaire.ts +15 -3
package/lib/questionnaire.js
CHANGED
|
@@ -6,13 +6,16 @@ const commands_1 = require("./commands");
|
|
|
6
6
|
function getCommandData(retrieve) {
|
|
7
7
|
const instructions = [];
|
|
8
8
|
const fn = {
|
|
9
|
+
alias(name, altName) {
|
|
10
|
+
return this.swap(name, (flag) => (Object.assign(Object.assign({}, flag), { alias: [...flag.alias, altName] })));
|
|
11
|
+
},
|
|
9
12
|
positional(name, info) {
|
|
10
|
-
instructions.push(Object.assign(Object.assign({}, info), { name }));
|
|
13
|
+
instructions.push(Object.assign(Object.assign({}, info), { alias: [], name }));
|
|
11
14
|
return this;
|
|
12
15
|
},
|
|
13
16
|
swap(name, swapper) {
|
|
14
17
|
const [flag] = instructions.filter((m) => m.name === name);
|
|
15
|
-
const newFlag = swapper(flag || { name });
|
|
18
|
+
const newFlag = swapper(flag || { name, alias: [] });
|
|
16
19
|
if (!flag) {
|
|
17
20
|
instructions.push(newFlag);
|
|
18
21
|
}
|
|
@@ -83,7 +86,7 @@ function runQuestionnaireFor(command, args, ignoredInstructions = ['base', 'log-
|
|
|
83
86
|
const questions = instructions
|
|
84
87
|
.filter((instruction) => !ignored.includes(instruction.name))
|
|
85
88
|
.filter((instruction) => !acceptAll || (instruction.default === undefined && instruction.required))
|
|
86
|
-
.filter((instruction) =>
|
|
89
|
+
.filter((instruction) => [...instruction.alias, instruction.name].every((m) => args[m] === undefined))
|
|
87
90
|
.filter((instruction) => instruction.type !== 'object')
|
|
88
91
|
.map((instruction) => ({
|
|
89
92
|
name: instruction.name,
|
|
@@ -98,7 +101,7 @@ function runQuestionnaireFor(command, args, ignoredInstructions = ['base', 'log-
|
|
|
98
101
|
const parameters = {};
|
|
99
102
|
for (const instruction of instructions) {
|
|
100
103
|
const name = instruction.name;
|
|
101
|
-
const value = (_b = (_a = answers[name]) !== null && _a !== void 0 ? _a : ignoredInstructions[name]) !== null && _b !== void 0 ? _b :
|
|
104
|
+
const value = (_b = (_a = answers[name]) !== null && _a !== void 0 ? _a : ignoredInstructions[name]) !== null && _b !== void 0 ? _b : [...instruction.alias, instruction.name].map((m) => args[m]).find((v) => v !== undefined);
|
|
102
105
|
parameters[name] = value !== undefined ? getValue(instruction.type, value) : instruction.default;
|
|
103
106
|
}
|
|
104
107
|
return command.run(parameters);
|
package/lib/questionnaire.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../src/questionnaire.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,yCAAsC;
|
|
1
|
+
{"version":3,"file":"questionnaire.js","sourceRoot":"","sources":["../src/questionnaire.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-cli",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.29",
|
|
4
4
|
"description": "The standard CLI for creating and building a Piral instance or a Pilet.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"portal",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"typescript": "^4.0.2",
|
|
80
80
|
"yargs": "^15.4.1"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "ebec021d9d6d469e1a318588a5c45ecedb43b35f"
|
|
83
83
|
}
|
package/src/questionnaire.ts
CHANGED
|
@@ -7,6 +7,7 @@ type FlagType = 'string' | 'number' | 'boolean' | 'object';
|
|
|
7
7
|
interface Flag {
|
|
8
8
|
name: string;
|
|
9
9
|
type?: FlagType;
|
|
10
|
+
alias: Array<string>;
|
|
10
11
|
values?: Array<any>;
|
|
11
12
|
describe?: string;
|
|
12
13
|
default?: any;
|
|
@@ -16,16 +17,23 @@ interface Flag {
|
|
|
16
17
|
function getCommandData(retrieve: any) {
|
|
17
18
|
const instructions: Array<Flag> = [];
|
|
18
19
|
const fn = {
|
|
20
|
+
alias(name: string, altName: string) {
|
|
21
|
+
return this.swap(name, (flag) => ({
|
|
22
|
+
...flag,
|
|
23
|
+
alias: [...flag.alias, altName],
|
|
24
|
+
}));
|
|
25
|
+
},
|
|
19
26
|
positional(name: string, info: Flag) {
|
|
20
27
|
instructions.push({
|
|
21
28
|
...info,
|
|
29
|
+
alias: [],
|
|
22
30
|
name,
|
|
23
31
|
});
|
|
24
32
|
return this;
|
|
25
33
|
},
|
|
26
34
|
swap(name: string, swapper: (flag: Flag) => Flag) {
|
|
27
35
|
const [flag] = instructions.filter((m) => m.name === name);
|
|
28
|
-
const newFlag = swapper(flag || { name });
|
|
36
|
+
const newFlag = swapper(flag || { name, alias: [] });
|
|
29
37
|
|
|
30
38
|
if (!flag) {
|
|
31
39
|
instructions.push(newFlag);
|
|
@@ -135,7 +143,7 @@ export function runQuestionnaireFor(
|
|
|
135
143
|
const questions = instructions
|
|
136
144
|
.filter((instruction) => !ignored.includes(instruction.name))
|
|
137
145
|
.filter((instruction) => !acceptAll || (instruction.default === undefined && instruction.required))
|
|
138
|
-
.filter((instruction) =>
|
|
146
|
+
.filter((instruction) => [...instruction.alias, instruction.name].every((m) => args[m] === undefined))
|
|
139
147
|
.filter((instruction) => instruction.type !== 'object')
|
|
140
148
|
.map((instruction) => ({
|
|
141
149
|
name: instruction.name,
|
|
@@ -146,12 +154,16 @@ export function runQuestionnaireFor(
|
|
|
146
154
|
validate: instruction.type === 'number' ? (input: string) => !isNaN(+input) : () => true,
|
|
147
155
|
}));
|
|
148
156
|
|
|
157
|
+
|
|
149
158
|
return inquirer.prompt(questions).then((answers) => {
|
|
150
159
|
const parameters: any = {};
|
|
151
160
|
|
|
152
161
|
for (const instruction of instructions) {
|
|
153
162
|
const name = instruction.name;
|
|
154
|
-
const value =
|
|
163
|
+
const value =
|
|
164
|
+
answers[name] ??
|
|
165
|
+
ignoredInstructions[name] ??
|
|
166
|
+
[...instruction.alias, instruction.name].map((m) => args[m]).find((v) => v !== undefined);
|
|
155
167
|
parameters[name] = value !== undefined ? getValue(instruction.type, value as any) : instruction.default;
|
|
156
168
|
}
|
|
157
169
|
|