@cli-forge/parser 0.3.0 → 0.5.0
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/package.json +1 -1
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/lib/helpers.d.ts +1 -0
- package/src/lib/helpers.js +28 -0
- package/src/lib/helpers.js.map +1 -0
- package/src/lib/parser.d.ts +73 -4
- package/src/lib/parser.js +200 -17
- package/src/lib/parser.js.map +1 -1
- package/src/lib/utils.d.ts +2 -0
- package/src/lib/utils.js +39 -0
- package/src/lib/utils.js.map +1 -1
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./lib/parser"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./lib/utils"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./lib/helpers"), exports);
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/parser/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/parser/src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,sDAA4B;AAC5B,wDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function hideBin(argv: string[]): string[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Pulled from https://github.com/yargs/yargs/blob/main/lib/utils/process-argv.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.hideBin = hideBin;
|
|
5
|
+
function getProcessArgvBinIndex() {
|
|
6
|
+
// The binary name is the first command line argument for:
|
|
7
|
+
// - bundled Electron apps: bin argv1 argv2 ... argvn
|
|
8
|
+
if (isBundledElectronApp())
|
|
9
|
+
return 0;
|
|
10
|
+
// or the second one (default) for:
|
|
11
|
+
// - standard node apps: node bin.js argv1 argv2 ... argvn
|
|
12
|
+
// - unbundled Electron apps: electron bin.js argv1 arg2 ... argvn
|
|
13
|
+
return 1;
|
|
14
|
+
}
|
|
15
|
+
function isBundledElectronApp() {
|
|
16
|
+
// process.defaultApp is either set by electron in an electron unbundled app, or undefined
|
|
17
|
+
// see https://github.com/electron/electron/blob/main/docs/api/process.md#processdefaultapp-readonly
|
|
18
|
+
return isElectronApp() && !process.defaultApp;
|
|
19
|
+
}
|
|
20
|
+
function isElectronApp() {
|
|
21
|
+
// process.versions.electron is either set by electron, or undefined
|
|
22
|
+
// see https://github.com/electron/electron/blob/main/docs/api/process.md#processversionselectron-readonly
|
|
23
|
+
return !!process.versions.electron;
|
|
24
|
+
}
|
|
25
|
+
function hideBin(argv) {
|
|
26
|
+
return argv.slice(getProcessArgvBinIndex() + 1);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../packages/parser/src/lib/helpers.ts"],"names":[],"mappings":";AAAA,iFAAiF;;AAwBjF,0BAEC;AAxBD,SAAS,sBAAsB;IAC7B,0DAA0D;IAC1D,qDAAqD;IACrD,IAAI,oBAAoB,EAAE;QAAE,OAAO,CAAC,CAAC;IACrC,mCAAmC;IACnC,0DAA0D;IAC1D,kEAAkE;IAClE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB;IAC3B,0FAA0F;IAC1F,oGAAoG;IACpG,OAAO,aAAa,EAAE,IAAI,CAAE,OAA2B,CAAC,UAAU,CAAC;AACrE,CAAC;AAED,SAAS,aAAa;IACpB,oEAAoE;IACpE,0GAA0G;IAC1G,OAAO,CAAC,CAAE,OAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC1D,CAAC;AAED,SAAgB,OAAO,CAAC,IAAc;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
package/src/lib/parser.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
type Flatten<T> = T extends Array<infer U> ? U : T;
|
|
1
2
|
export type CommonOptionConfig<T, TCoerce = T> = {
|
|
2
3
|
/**
|
|
3
4
|
* If set to true, the option will be treated as a positional argument.
|
|
@@ -7,6 +8,10 @@ export type CommonOptionConfig<T, TCoerce = T> = {
|
|
|
7
8
|
* Provide an array of aliases for the option.
|
|
8
9
|
*/
|
|
9
10
|
alias?: string[];
|
|
11
|
+
/**
|
|
12
|
+
* Provide an array of choices for the option. Values not in the array will throw an error.
|
|
13
|
+
*/
|
|
14
|
+
choices?: Flatten<T>[] | (() => Flatten<T>[]);
|
|
10
15
|
/**
|
|
11
16
|
* Provide a default value for the option.
|
|
12
17
|
*/
|
|
@@ -31,6 +36,26 @@ export type CommonOptionConfig<T, TCoerce = T> = {
|
|
|
31
36
|
* If true, the option is required.
|
|
32
37
|
*/
|
|
33
38
|
required?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* If set, the option will be populated from the environment variable `${env}_${optionName}`.
|
|
41
|
+
* If set to true, the environment variable will be `${optionName}`.
|
|
42
|
+
* If explicitly set to false, environment variable population will be disabled for this option.
|
|
43
|
+
*/
|
|
44
|
+
env?: string | boolean | {
|
|
45
|
+
/**
|
|
46
|
+
* What key should the value be read from in process.env
|
|
47
|
+
*/
|
|
48
|
+
key: string;
|
|
49
|
+
/**
|
|
50
|
+
* If set to false, ignore prefix provided by .env() call.
|
|
51
|
+
*/
|
|
52
|
+
prefix?: boolean;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* If set, the option will be marked as deprecated, with the provided message. This will not effect runtime behavior,
|
|
56
|
+
* but will be displayed in help output and generated docs.
|
|
57
|
+
*/
|
|
58
|
+
deprecated?: string;
|
|
34
59
|
};
|
|
35
60
|
export type StringOptionConfig<TCoerce = string> = {
|
|
36
61
|
type: 'string';
|
|
@@ -73,7 +98,7 @@ type InternalOptionConfig = OptionConfig & {
|
|
|
73
98
|
/**
|
|
74
99
|
* Base type for parsed arguments.
|
|
75
100
|
*/
|
|
76
|
-
export type ParsedArgs = {
|
|
101
|
+
export type ParsedArgs<T = never> = [T] extends [never] ? {
|
|
77
102
|
/**
|
|
78
103
|
* Contains any unmatched arguments as originally passed to the parser.
|
|
79
104
|
*/
|
|
@@ -82,7 +107,16 @@ export type ParsedArgs = {
|
|
|
82
107
|
* Contains any arguments passed after `--`, which halts parsing of flags.
|
|
83
108
|
*/
|
|
84
109
|
'--'?: string[];
|
|
85
|
-
}
|
|
110
|
+
} : {
|
|
111
|
+
/**
|
|
112
|
+
* Contains any unmatched arguments as originally passed to the parser.
|
|
113
|
+
*/
|
|
114
|
+
unmatched: string[];
|
|
115
|
+
/**
|
|
116
|
+
* Contains any arguments passed after `--`, which halts parsing of flags.
|
|
117
|
+
*/
|
|
118
|
+
'--'?: string[];
|
|
119
|
+
} & T;
|
|
86
120
|
/**
|
|
87
121
|
* Extra options for the parser
|
|
88
122
|
*/
|
|
@@ -122,6 +156,14 @@ export declare class ArgvParser<TArgs extends ParsedArgs = {
|
|
|
122
156
|
* The configured positional arguments for the parser
|
|
123
157
|
*/
|
|
124
158
|
configuredPositionals: InternalOptionConfig[];
|
|
159
|
+
/**
|
|
160
|
+
* The configured conflicts for the parser. If an option is set, and a conflicting option is also set, an error will be thrown.
|
|
161
|
+
*/
|
|
162
|
+
configuredConflicts: Record<string, Set<string>>;
|
|
163
|
+
/**
|
|
164
|
+
* The configured implies for the parser. If an option is set, the implied option must also be set.
|
|
165
|
+
*/
|
|
166
|
+
configuredImplies: Record<string, Set<string>>;
|
|
125
167
|
/**
|
|
126
168
|
* The configuration for the parser itself
|
|
127
169
|
*/
|
|
@@ -130,6 +172,11 @@ export declare class ArgvParser<TArgs extends ParsedArgs = {
|
|
|
130
172
|
* The parsers used to parse individual option types.
|
|
131
173
|
*/
|
|
132
174
|
parserMap: Record<string, Parser<any>>;
|
|
175
|
+
/**
|
|
176
|
+
* If set, options can be populated from environment variables of the form `${envPrefix}_${optionName}`.
|
|
177
|
+
*/
|
|
178
|
+
private envPrefix?;
|
|
179
|
+
private shouldReadFromEnv?;
|
|
133
180
|
/**
|
|
134
181
|
* Creates a new parser. Normally using {@link parser} is preferred.
|
|
135
182
|
* @param options
|
|
@@ -154,14 +201,32 @@ export declare class ArgvParser<TArgs extends ParsedArgs = {
|
|
|
154
201
|
* @returns Updated parser instance with the new positional argument registered.
|
|
155
202
|
*/
|
|
156
203
|
positional<TOption extends string>(name: TOption, config: OptionConfig): ArgvParser<TArgs & { [key in TOption]: string | number | boolean | (string | number)[]; }>;
|
|
204
|
+
/**
|
|
205
|
+
* Enables environment variable population for options.
|
|
206
|
+
* @param envPrefix Prefix for environment variables. The full environment variable name will be `${envPrefix}_${optionName}`.
|
|
207
|
+
*/
|
|
208
|
+
env(envPrefix?: string): this;
|
|
157
209
|
/**
|
|
158
210
|
* Parses an array of arguments into a structured object.
|
|
159
211
|
* @param argv The array of arguments to parse
|
|
160
212
|
* @returns The parsed arguments
|
|
161
213
|
*/
|
|
162
|
-
parse(argv
|
|
214
|
+
parse(argv?: string[]): TArgs;
|
|
215
|
+
private normalizeOptions;
|
|
216
|
+
private validateAndNormalizeResults;
|
|
217
|
+
private readFromEnv;
|
|
218
|
+
/**
|
|
219
|
+
* Registers that a set of options cannot be provided at the same time.
|
|
220
|
+
* @param options The options that cannot be provided together.
|
|
221
|
+
*/
|
|
222
|
+
conflicts(...options: [string, string, ...string[]]): this;
|
|
163
223
|
/**
|
|
164
|
-
*
|
|
224
|
+
* Registers that the presence of one option implies the presence of one or more other options.
|
|
225
|
+
* @param options The options that imply the other option.
|
|
226
|
+
*/
|
|
227
|
+
implies(option: string, ...options: string[]): this;
|
|
228
|
+
/**
|
|
229
|
+
* Used to combine two parsers into a single parser. Mutates `this`, but returns with updated typings
|
|
165
230
|
* @param parser The parser to augment the current parser with.
|
|
166
231
|
* @returns The updated parser instance.
|
|
167
232
|
*/
|
|
@@ -183,4 +248,8 @@ export declare class NoValueError extends Error {
|
|
|
183
248
|
constructor();
|
|
184
249
|
}
|
|
185
250
|
type Parser<TConfig extends OptionConfig, T = any> = (config: TConfig, tokens: string[], current?: T) => T;
|
|
251
|
+
export declare class ValidationFailedError<T> extends AggregateError {
|
|
252
|
+
partialArgV: Partial<T>;
|
|
253
|
+
constructor(errors: Error[], message: string, partialArgV: Partial<T>);
|
|
254
|
+
}
|
|
186
255
|
export {};
|
package/src/lib/parser.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NoValueError = exports.ArgvParser = void 0;
|
|
3
|
+
exports.ValidationFailedError = exports.NoValueError = exports.ArgvParser = void 0;
|
|
4
4
|
exports.parser = parser;
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
5
6
|
const utils_1 = require("./utils");
|
|
6
7
|
/**
|
|
7
8
|
* The main parser class. This class is used to configure and parse arguments.
|
|
@@ -17,6 +18,14 @@ class ArgvParser {
|
|
|
17
18
|
* The configured positional arguments for the parser
|
|
18
19
|
*/
|
|
19
20
|
configuredPositionals;
|
|
21
|
+
/**
|
|
22
|
+
* The configured conflicts for the parser. If an option is set, and a conflicting option is also set, an error will be thrown.
|
|
23
|
+
*/
|
|
24
|
+
configuredConflicts = {};
|
|
25
|
+
/**
|
|
26
|
+
* The configured implies for the parser. If an option is set, the implied option must also be set.
|
|
27
|
+
*/
|
|
28
|
+
configuredImplies = {};
|
|
20
29
|
/**
|
|
21
30
|
* The configuration for the parser itself
|
|
22
31
|
*/
|
|
@@ -25,6 +34,11 @@ class ArgvParser {
|
|
|
25
34
|
* The parsers used to parse individual option types.
|
|
26
35
|
*/
|
|
27
36
|
parserMap;
|
|
37
|
+
/**
|
|
38
|
+
* If set, options can be populated from environment variables of the form `${envPrefix}_${optionName}`.
|
|
39
|
+
*/
|
|
40
|
+
envPrefix;
|
|
41
|
+
shouldReadFromEnv;
|
|
28
42
|
/**
|
|
29
43
|
* Creates a new parser. Normally using {@link parser} is preferred.
|
|
30
44
|
* @param options
|
|
@@ -80,12 +94,21 @@ class ArgvParser {
|
|
|
80
94
|
positional: true,
|
|
81
95
|
});
|
|
82
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Enables environment variable population for options.
|
|
99
|
+
* @param envPrefix Prefix for environment variables. The full environment variable name will be `${envPrefix}_${optionName}`.
|
|
100
|
+
*/
|
|
101
|
+
env(envPrefix) {
|
|
102
|
+
this.envPrefix = envPrefix;
|
|
103
|
+
this.shouldReadFromEnv = true;
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
83
106
|
/**
|
|
84
107
|
* Parses an array of arguments into a structured object.
|
|
85
108
|
* @param argv The array of arguments to parse
|
|
86
109
|
* @returns The parsed arguments
|
|
87
110
|
*/
|
|
88
|
-
parse(argv) {
|
|
111
|
+
parse(argv = (0, helpers_1.hideBin)(process.argv)) {
|
|
89
112
|
const argvClone = [...argv];
|
|
90
113
|
const result = {
|
|
91
114
|
unmatched: [],
|
|
@@ -148,23 +171,143 @@ class ArgvParser {
|
|
|
148
171
|
arg = argvClone.shift();
|
|
149
172
|
}
|
|
150
173
|
}
|
|
174
|
+
return this.validateAndNormalizeResults(result);
|
|
175
|
+
}
|
|
176
|
+
normalizeOptions(result) {
|
|
177
|
+
const normalized = { ...result };
|
|
178
|
+
for (const key in this.configuredOptions) {
|
|
179
|
+
const configuration = this.configuredOptions[key];
|
|
180
|
+
if (normalized[key] === undefined) {
|
|
181
|
+
if ((configuration.env !== false && this.shouldReadFromEnv) ||
|
|
182
|
+
configuration.env) {
|
|
183
|
+
const envValue = this.readFromEnv(configuration);
|
|
184
|
+
if (envValue) {
|
|
185
|
+
normalized[configuration.key] = envValue;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (configuration.default !== undefined) {
|
|
189
|
+
normalized[configuration.key] ??= configuration.default;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
for (const configuration of this.configuredPositionals) {
|
|
194
|
+
if (configuration.default !== undefined) {
|
|
195
|
+
normalized[configuration.key] ??= configuration.default;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return normalized;
|
|
199
|
+
}
|
|
200
|
+
validateAndNormalizeResults(result) {
|
|
201
|
+
const errors = [];
|
|
202
|
+
const normalized = this.normalizeOptions(result);
|
|
203
|
+
const partial = { ...normalized };
|
|
204
|
+
const validateConflicts = (configuration) => {
|
|
205
|
+
if (this.configuredConflicts[configuration.key]) {
|
|
206
|
+
for (const conflict of this.configuredConflicts[configuration.key]) {
|
|
207
|
+
if (normalized[conflict] !== undefined) {
|
|
208
|
+
const error = new Error(`Provided option ${configuration.key} conflicts with ${conflict}`);
|
|
209
|
+
delete partial[configuration.key];
|
|
210
|
+
delete partial[conflict];
|
|
211
|
+
delete error.stack;
|
|
212
|
+
errors.push(error);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const validateImplications = (configuration) => {
|
|
218
|
+
if (this.configuredImplies[configuration.key]) {
|
|
219
|
+
for (const imply of this.configuredImplies[configuration.key]) {
|
|
220
|
+
if (normalized[imply] === undefined) {
|
|
221
|
+
const error = new Error(`If ${configuration.key} is set, ${imply} is required.`);
|
|
222
|
+
delete partial[configuration.key];
|
|
223
|
+
delete error.stack;
|
|
224
|
+
errors.push(error);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
};
|
|
151
229
|
for (const configurationKey in this.configuredOptions) {
|
|
152
230
|
const configuration = this.configuredOptions[configurationKey];
|
|
153
|
-
|
|
154
|
-
|
|
231
|
+
try {
|
|
232
|
+
validateOption(configuration, normalized[configuration.key]);
|
|
233
|
+
if (normalized[configuration.key] !== undefined) {
|
|
234
|
+
validateConflicts(configuration);
|
|
235
|
+
validateImplications(configuration);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch (e) {
|
|
239
|
+
delete partial[configuration.key];
|
|
240
|
+
errors.push(e);
|
|
155
241
|
}
|
|
156
|
-
validateOption(configuration, result[configuration.key]);
|
|
157
242
|
}
|
|
158
243
|
for (const configuration of this.configuredPositionals) {
|
|
159
|
-
|
|
160
|
-
|
|
244
|
+
try {
|
|
245
|
+
validateOption(configuration, normalized[configuration.key]);
|
|
246
|
+
if (normalized[configuration.key] !== undefined) {
|
|
247
|
+
validateConflicts(configuration);
|
|
248
|
+
validateImplications(configuration);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch (e) {
|
|
252
|
+
delete partial[configuration.key];
|
|
253
|
+
errors.push(e);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (errors.length) {
|
|
257
|
+
const error = new ValidationFailedError(errors.map((error) => error instanceof Error ? error : new Error(error)), `Validation failed for one or more options`, partial);
|
|
258
|
+
if (process.env[this.envPrefix
|
|
259
|
+
? `${this.envPrefix}_VERBOSE_LOGGING`
|
|
260
|
+
: 'CLI_VERBOSE_LOGGING'] !== 'true') {
|
|
261
|
+
error.stack = undefined;
|
|
262
|
+
}
|
|
263
|
+
throw error;
|
|
264
|
+
}
|
|
265
|
+
return normalized;
|
|
266
|
+
}
|
|
267
|
+
readFromEnv(configuration) {
|
|
268
|
+
const { envKey: configuredKey, prefix } = typeof configuration.env === 'string'
|
|
269
|
+
? { envKey: configuration.env, prefix: this.envPrefix }
|
|
270
|
+
: typeof configuration.env === 'boolean'
|
|
271
|
+
? { envKey: configuration.key, prefix: this.envPrefix }
|
|
272
|
+
: {
|
|
273
|
+
envKey: configuration.env?.key ?? configuration.key,
|
|
274
|
+
prefix: configuration.env?.prefix === false ? undefined : this.envPrefix,
|
|
275
|
+
};
|
|
276
|
+
const envKey = (0, utils_1.getEnvKey)(prefix, configuredKey);
|
|
277
|
+
const envValue = process.env[envKey];
|
|
278
|
+
if (envValue) {
|
|
279
|
+
return tryParseValue(this.parserMap[configuration.type], configuration, [envValue], null);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Registers that a set of options cannot be provided at the same time.
|
|
284
|
+
* @param options The options that cannot be provided together.
|
|
285
|
+
*/
|
|
286
|
+
conflicts(...options) {
|
|
287
|
+
for (let i = 0; i < options.length; i++) {
|
|
288
|
+
const option = options[i];
|
|
289
|
+
this.configuredConflicts[option] ??= new Set();
|
|
290
|
+
for (let j = 0; j < options.length; j++) {
|
|
291
|
+
if (i !== j) {
|
|
292
|
+
this.configuredConflicts[option].add(options[j]);
|
|
293
|
+
}
|
|
161
294
|
}
|
|
162
|
-
validateOption(configuration, result[configuration.key]);
|
|
163
295
|
}
|
|
164
|
-
return
|
|
296
|
+
return this;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Registers that the presence of one option implies the presence of one or more other options.
|
|
300
|
+
* @param options The options that imply the other option.
|
|
301
|
+
*/
|
|
302
|
+
implies(option, ...options) {
|
|
303
|
+
this.configuredImplies[option] ??= new Set();
|
|
304
|
+
for (const opt of options) {
|
|
305
|
+
this.configuredImplies[option].add(opt);
|
|
306
|
+
}
|
|
307
|
+
return this;
|
|
165
308
|
}
|
|
166
309
|
/**
|
|
167
|
-
* Used to combine two parsers into a single parser.
|
|
310
|
+
* Used to combine two parsers into a single parser. Mutates `this`, but returns with updated typings
|
|
168
311
|
* @param parser The parser to augment the current parser with.
|
|
169
312
|
* @returns The updated parser instance.
|
|
170
313
|
*/
|
|
@@ -200,17 +343,49 @@ function parser(opts) {
|
|
|
200
343
|
return new ArgvParser(opts);
|
|
201
344
|
}
|
|
202
345
|
function validateOption(optionConfig, value) {
|
|
203
|
-
if (optionConfig.
|
|
204
|
-
const
|
|
346
|
+
if (optionConfig.choices) {
|
|
347
|
+
const choices = [
|
|
348
|
+
...new Set([
|
|
349
|
+
typeof optionConfig.choices === 'function'
|
|
350
|
+
? optionConfig.choices()
|
|
351
|
+
: optionConfig.choices,
|
|
352
|
+
].flat()),
|
|
353
|
+
];
|
|
354
|
+
optionConfig.validate ??= () => true;
|
|
355
|
+
optionConfig.validate = (val) => {
|
|
356
|
+
if (!(Array.isArray(val)
|
|
357
|
+
? // If option config is an array, check if all values are in choices
|
|
358
|
+
val.every((v) => choices.includes(v))
|
|
359
|
+
: // If option config is not an array, check if value is in choices
|
|
360
|
+
choices.includes(val))) {
|
|
361
|
+
return `Invalid value "${val}" for${optionConfig.positional ? ' positional' : ''} option ${optionConfig.key}. Valid values are: ${choices.join(', ')}`;
|
|
362
|
+
}
|
|
363
|
+
return true;
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
if (optionConfig.validate && value !== undefined) {
|
|
367
|
+
let result;
|
|
368
|
+
try {
|
|
369
|
+
result = optionConfig.validate(value);
|
|
370
|
+
}
|
|
371
|
+
catch (e) {
|
|
372
|
+
throw new Error(`Validation failed for${optionConfig.positional ? ' positional' : ''} option ${optionConfig.key}`, { cause: e });
|
|
373
|
+
}
|
|
205
374
|
if (typeof result === 'string') {
|
|
206
|
-
|
|
375
|
+
const e = new Error(result);
|
|
376
|
+
delete e.stack;
|
|
377
|
+
throw e;
|
|
207
378
|
}
|
|
208
|
-
if (
|
|
209
|
-
|
|
379
|
+
if (result === false) {
|
|
380
|
+
const e = new Error(`Invalid value "${value}" for${optionConfig.positional ? ' positional' : ''} option ${optionConfig.key}`);
|
|
381
|
+
delete e.stack;
|
|
382
|
+
throw e;
|
|
210
383
|
}
|
|
211
384
|
}
|
|
212
385
|
if (optionConfig.required && value === undefined) {
|
|
213
|
-
|
|
386
|
+
const e = new Error(`Missing required${optionConfig.positional ? ' positional' : ''} option ${optionConfig.key}`);
|
|
387
|
+
delete e.stack;
|
|
388
|
+
throw e;
|
|
214
389
|
}
|
|
215
390
|
}
|
|
216
391
|
function getConfiguredOptionKey(key, configuredOptions) {
|
|
@@ -226,7 +401,7 @@ function getConfiguredOptionKey(key, configuredOptions) {
|
|
|
226
401
|
return undefined;
|
|
227
402
|
}
|
|
228
403
|
function isNextFlag(str) {
|
|
229
|
-
return str.startsWith('--' || str.startsWith('-')
|
|
404
|
+
return str.startsWith('--') || str.startsWith('-');
|
|
230
405
|
}
|
|
231
406
|
const booleanParser = (_, tokens) => {
|
|
232
407
|
const val = tokens.shift();
|
|
@@ -366,4 +541,12 @@ function readArgKeys(str) {
|
|
|
366
541
|
}
|
|
367
542
|
throw new Error(`Invalid flag ${str}`);
|
|
368
543
|
}
|
|
544
|
+
class ValidationFailedError extends AggregateError {
|
|
545
|
+
partialArgV;
|
|
546
|
+
constructor(errors, message, partialArgV) {
|
|
547
|
+
super(errors, message);
|
|
548
|
+
this.partialArgV = partialArgV;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
exports.ValidationFailedError = ValidationFailedError;
|
|
369
552
|
//# sourceMappingURL=parser.js.map
|
package/src/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../packages/parser/src/lib/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../packages/parser/src/lib/parser.ts"],"names":[],"mappings":";;;AAwlBA,wBAEC;AA1lBD,uCAAoC;AACpC,mCAA2D;AAqL3D;;;;GAIG;AACH,MAAa,UAAU;IAMrB;;OAEG;IACH,iBAAiB,CAAiD;IAElE;;OAEG;IACH,qBAAqB,CAAyB;IAE9C;;OAEG;IACH,mBAAmB,GAAgC,EAAE,CAAC;IAEtD;;OAEG;IACH,iBAAiB,GAAgC,EAAE,CAAC;IAEpD;;OAEG;IACH,OAAO,CAA0B;IAEjC;;OAEG;IACH,SAAS,CAA8B;IAEvC;;OAEG;IACK,SAAS,CAAU;IACnB,iBAAiB,CAAW;IAEpC;;;OAGG;IACH,YAAY,OAAuB;QACjC,IAAI,CAAC,iBAAiB,GAAG,EAA+C,CAAC;QACzE,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG;YACb,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK;YAC5B,GAAG,OAAO;SACX,CAAC;QACF,IAAI,CAAC,SAAS,GAAG;YACf,GAAG,SAAS;YACZ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CACJ,IAAa,EACb,MAAqB;QAErB,MAAM,aAAa,GAAG,IAErB,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBACvC,GAAG,EAAE,IAAI;gBACT,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG;gBACtC,GAAG,EAAE,IAAI;gBACT,GAAG,MAAM;aACc,CAAC;QAC5B,CAAC;QAED,OAAO,IAeN,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAyB,IAAa,EAAE,MAAoB;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACvB,GAAG,MAAM;YACT,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,SAAkB;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAiB,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAQ;YAClB,SAAS,EAAE,EAAE;SACd,CAAC;QACF,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,uBAAuB;YACvB,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,QAAwB,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,sBAAsB,CAAQ,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAC3D,CAAC;gBACF,0BAA0B;gBAC1B,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;oBACpD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;wBACvD,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;wBACxB,SAAS;oBACX,CAAC;oBACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC7B,6CAA6C;oBAC7C,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC3B,CAAC;oBACD,GAAG,GAAG,IAAI,CAAC;oBACX,SAAS;gBACX,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC;gBACD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;oBAC3C,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;wBAC5D,MAAM,KAAK,GAAG,aAAa,CACzB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,aAAa,EACb,SAAS,EACT,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAC1B,CAAC;wBACF,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;wBAClC,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,8BAA8B;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;gBACrE,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACvD,MAAM,KAAK,GAAG,aAAa,CACzB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,aAAa,EACb,CAAC,GAAG,CAAC,EACL,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAC1B,CAAC;oBACF,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAClC,kBAAkB,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;wBACvD,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;wBACxB,SAAS;oBACX,CAAC;oBACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBACD,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAU,CAAC;IAC3D,CAAC;IAEO,gBAAgB,CAAC,MAAW;QAClC,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClC,IACE,CAAC,aAAa,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC;oBACvD,aAAa,CAAC,GAAG,EACjB,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACxC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACvD,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC;YAC1D,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,2BAA2B,CAAC,MAAW;QAC7C,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QAElC,MAAM,iBAAiB,GAAG,CAAC,aAAmC,EAAE,EAAE;YAChE,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;wBACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,mBAAmB,aAAa,CAAC,GAAG,mBAAmB,QAAQ,EAAE,CAClE,CAAC;wBACF,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAClC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACzB,OAAO,KAAK,CAAC,KAAK,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,aAAmC,EAAE,EAAE;YACnE,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9D,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;wBACpC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,MAAM,aAAa,CAAC,GAAG,YAAY,KAAK,eAAe,CACxD,CAAC;wBACF,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAClC,OAAO,KAAK,CAAC,KAAK,CAAC;wBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACjC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChD,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACjC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,qBAAqB,CACrC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAClD,EACD,2CAA2C,EAC3C,OAAO,CACR,CAAC;YACF,IACE,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS;gBACZ,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,kBAAkB;gBACrC,CAAC,CAAC,qBAAqB,CAC1B,KAAK,MAAM,EACZ,CAAC;gBACD,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YAC1B,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,WAAW,CAAC,aAAmC;QACrD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GACrC,OAAO,aAAa,CAAC,GAAG,KAAK,QAAQ;YACnC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;YACvD,CAAC,CAAC,OAAO,aAAa,CAAC,GAAG,KAAK,SAAS;gBACxC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;gBACvD,CAAC,CAAC;oBACE,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG;oBACnD,MAAM,EACJ,aAAa,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;iBACnE,CAAC;QACR,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAClB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,aAAa,EACb,CAAC,QAAQ,CAAC,EACV,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,GAAG,OAAsC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACZ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,MAAc,EAAE,GAAG,OAAiB;QAC1C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,MAA4B;QAE5B,MAAM,aAAa,GAAG,IAA2C,CAAC;QAClE,aAAa,CAAC,iBAAiB,GAAG;YAChC,GAAG,IAAI,CAAC,iBAAiB;YACzB,GAAG,MAAM,CAAC,iBAAiB;SAC5B,CAAC;QACF,aAAa,CAAC,qBAAqB,GAAG;YACpC,GAAG,IAAI,CAAC,qBAAqB;YAC7B,GAAG,MAAM,CAAC,qBAAqB;SAChC,CAAC;QACF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,KAAK,CAAC,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxD,KAAK,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtZD,gCAsZC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CAAC,IAAoB;IACzC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,cAAc,CAAI,YAAkC,EAAE,KAAQ;IACrE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG;YACd,GAAG,IAAI,GAAG,CACR;gBACE,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU;oBACxC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;oBACxB,CAAC,CAAC,YAAY,CAAC,OAAO;aACzB,CAAC,IAAI,EAAS,CAChB;SACF,CAAC;QACF,YAAY,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC;QACrC,YAAY,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE;YAC9B,IACE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAClB,CAAC,CAAC,mEAAmE;oBACnE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,iEAAiE;oBACjE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC1B,CAAC;gBACD,OAAO,kBAAkB,GAAG,QAC1B,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC5C,WAAW,YAAY,CAAC,GAAG,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,IAAI,MAAiE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,wBACE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC5C,WAAW,YAAY,CAAC,GAAG,EAAE,EAC7B,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC,KAAK,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,IAAI,KAAK,CACjB,kBAAkB,KAAK,QACrB,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC5C,WAAW,YAAY,CAAC,GAAG,EAAE,CAC9B,CAAC;YACF,OAAO,CAAC,CAAC,KAAK,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,QAAQ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,IAAI,KAAK,CACjB,mBAAmB,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAC7D,YAAY,CAAC,GACf,EAAE,CACH,CAAC;QACF,OAAO,CAAC,CAAC,KAAK,CAAC;QACf,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAW,EACX,iBAAyD;IAEzD,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC7B,OAAO,GAAc,CAAC;IACxB,CAAC;IACD,KAAK,MAAM,aAAa,IAAI,iBAAiB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,aAAwB,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,aAAa,GAAgC,CAAC,CAAC,EAAE,MAAgB,EAAE,EAAE;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAa,YAAa,SAAQ,KAAK;IACrC;QACE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5B,CAAC;CACF;AAJD,oCAIC;AAED,MAAM,YAAY,GAA+B,CAAC,GAAG,EAAE,MAAgB,EAAE,EAAE;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,YAAY,GAA+B,CAAC,CAAC,EAAE,MAAgB,EAAE,EAAE;IACvE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,YAAY,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;CACA,CAAC;AAEX,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;IAChC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,GAAoC,KAAK,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;gBACvB,OAAO,GAAG,IAA+B,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,GAAG,GAAG,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,WAAW,GAA+C,CAG9D,MAA4B,EAC5B,MAAgB,EAChB,OAAa,EACb,EAAE;IACF,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAM;QACvB,CAAC,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAM,CAAC;IACpC,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACzB,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM;QACR,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC,CAAC;AAQF,SAAS,aAAa,CACpB,MAA4B,EAC5B,MAA4B,EAC5B,MAAgB,EAChB,OAAa;IAEb,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,CAAC,GAAG,cAAc,MAAM,CAAC,IAAI,EAAE,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAQ,MAAM,CAAC,MAA0B,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAgC;IAC7C,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,SAAS,MAAM,CAAC,GAAW;IACzB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,GAAiB;IACpC,0BAA0B;IAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,IAAA,6BAAqB,EAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,sCAAsC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,MAAa,qBAAyB,SAAQ,cAAc;IAIjD;IAHT,YACE,MAAe,EACf,OAAe,EACR,WAAuB;QAE9B,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAFhB,gBAAW,GAAX,WAAW,CAAY;IAGhC,CAAC;CACF;AARD,sDAQC"}
|
package/src/lib/utils.d.ts
CHANGED
package/src/lib/utils.js
CHANGED
|
@@ -1,7 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fromDashedToCamelCase = fromDashedToCamelCase;
|
|
4
|
+
exports.fromCamelOrDashedCaseToConstCase = fromCamelOrDashedCaseToConstCase;
|
|
5
|
+
exports.getEnvKey = getEnvKey;
|
|
4
6
|
function fromDashedToCamelCase(str) {
|
|
5
7
|
return str.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());
|
|
6
8
|
}
|
|
9
|
+
function fromCamelOrDashedCaseToConstCase(str) {
|
|
10
|
+
const parts = [];
|
|
11
|
+
let currentPart = '';
|
|
12
|
+
let prev;
|
|
13
|
+
for (const char of str) {
|
|
14
|
+
if (char === '-') {
|
|
15
|
+
if (currentPart.length) {
|
|
16
|
+
parts.push(currentPart);
|
|
17
|
+
}
|
|
18
|
+
currentPart = '';
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
// Previous was lower case and current is upper case
|
|
22
|
+
if (prev && prev?.toLowerCase() === prev && char === char.toUpperCase()) {
|
|
23
|
+
parts.push(currentPart);
|
|
24
|
+
currentPart = char;
|
|
25
|
+
// Handle someCLITool -> SOME_CLI_TOOL
|
|
26
|
+
}
|
|
27
|
+
else if (prev?.toUpperCase() === prev &&
|
|
28
|
+
char === char.toLowerCase() &&
|
|
29
|
+
currentPart.length > 1) {
|
|
30
|
+
parts.push(currentPart.slice(0, -1));
|
|
31
|
+
currentPart = currentPart.slice(-1) + char;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
currentPart += char;
|
|
35
|
+
}
|
|
36
|
+
prev = char;
|
|
37
|
+
}
|
|
38
|
+
parts.push(currentPart);
|
|
39
|
+
return parts.join('_').toUpperCase();
|
|
40
|
+
}
|
|
41
|
+
function getEnvKey(prefix, key) {
|
|
42
|
+
return prefix
|
|
43
|
+
? `${prefix}_${fromCamelOrDashedCaseToConstCase(key)}`
|
|
44
|
+
: fromCamelOrDashedCaseToConstCase(key);
|
|
45
|
+
}
|
|
7
46
|
//# sourceMappingURL=utils.js.map
|
package/src/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/parser/src/lib/utils.ts"],"names":[],"mappings":";;AAAA,sDAEC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/parser/src/lib/utils.ts"],"names":[],"mappings":";;AAAA,sDAEC;AAED,4EA+BC;AAED,8BAIC;AAzCD,SAAgB,qBAAqB,CAAC,GAAW;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAgB,gCAAgC,CAAC,GAAW;IAC1D,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,IAAwB,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,CAAC;YACD,WAAW,GAAG,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,oDAAoD;QACpD,IAAI,IAAI,IAAI,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,sCAAsC;QACxC,CAAC;aAAM,IACL,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI;YAC5B,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE;YAC3B,WAAW,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,WAAW,IAAI,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,SAAgB,SAAS,CAAC,MAA0B,EAAE,GAAW;IAC/D,OAAO,MAAM;QACX,CAAC,CAAC,GAAG,MAAM,IAAI,gCAAgC,CAAC,GAAG,CAAC,EAAE;QACtD,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
|