massarg 2.0.0-pre.3 → 2.0.0-pre.5

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/command.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { HelpConfig } from './help';
3
- import { MassargOption, MassargFlag, OptionConfig, TypedOptionConfig } from './option';
3
+ import { MassargOption, MassargFlag, TypedOptionConfig, Prefixes, FlagConfig } from './option';
4
4
  import { DeepRequired } from './utils';
5
5
  import { MassargExample, ExampleConfig } from './example';
6
6
  export declare const CommandConfig: <RunArgs extends object = object>(args: z.ZodType<RunArgs, z.ZodTypeDef, RunArgs>) => z.ZodObject<{
@@ -15,16 +15,32 @@ export declare const CommandConfig: <RunArgs extends object = object>(args: z.Zo
15
15
  * instance of Massarg used to invoke this command (the top-level instance)
16
16
  */
17
17
  run: z.ZodType<Runner<RunArgs>, z.ZodTypeDef, Runner<RunArgs>>;
18
+ /** Prefix of options understood by this command */
19
+ optionPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
20
+ /** Prefix of negated flags understood by this command */
21
+ negateFlagPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
22
+ /** Prefix of aliases of options understood by this command */
23
+ optionAliasPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
24
+ /** Prefix of aliases of negated flags understood by this command */
25
+ negateAliasPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
18
26
  }, "strip", z.ZodTypeAny, {
19
- description: string;
20
27
  name: string;
28
+ description: string;
21
29
  run: Runner<RunArgs>;
22
30
  aliases?: string[] | undefined;
31
+ optionPrefix?: string | undefined;
32
+ negateFlagPrefix?: string | undefined;
33
+ optionAliasPrefix?: string | undefined;
34
+ negateAliasPrefix?: string | undefined;
23
35
  }, {
24
- description: string;
25
36
  name: string;
37
+ description: string;
26
38
  run: Runner<RunArgs>;
27
39
  aliases?: string[] | undefined;
40
+ optionPrefix?: string | undefined;
41
+ negateFlagPrefix?: string | undefined;
42
+ optionAliasPrefix?: string | undefined;
43
+ negateAliasPrefix?: string | undefined;
28
44
  }>;
29
45
  export type CommandConfig<RunArgs extends ArgsObject = ArgsObject> = z.infer<ReturnType<typeof CommandConfig<RunArgs>>>;
30
46
  export type ArgsObject = object;
@@ -59,7 +75,13 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
59
75
  args: Partial<Args>;
60
76
  private _helpConfig;
61
77
  parent?: MassargCommand<any>;
78
+ optionPrefix: string;
79
+ negateFlagPrefix: string;
80
+ optionAliasPrefix: string;
81
+ negateAliasPrefix: string;
62
82
  constructor(options: CommandConfig<Args>, parent?: MassargCommand<any>);
83
+ get optionPrefixes(): Prefixes;
84
+ private getPrefixes;
63
85
  get helpConfig(): DeepRequired<HelpConfig>;
64
86
  /**
65
87
  * Add a sub-command to this command.
@@ -83,7 +105,7 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
83
105
  * or by prefixing the alias with `^` instead of `-`. This is configurable via the command's
84
106
  * configuration.
85
107
  */
86
- flag(config: Omit<OptionConfig<boolean>, 'parse' | 'isDefault'>): MassargCommand<Args>;
108
+ flag(config: FlagConfig): MassargCommand<Args>;
87
109
  flag(config: MassargFlag): MassargCommand<Args>;
88
110
  /**
89
111
  * Adds an option to this command.
@@ -138,6 +160,7 @@ export declare class MassargCommand<Args extends ArgsObject = ArgsObject> {
138
160
  /** Parse the given arguments and return the output args. */
139
161
  getArgs(argv: string[], __args?: Partial<Args>, parent?: MassargCommand<any>, parseCommands?: false): Promise<void> | void;
140
162
  getArgs(argv: string[], __args?: Partial<Args>, parent?: MassargCommand<any>, parseCommands?: true): Args;
163
+ private assertRequired;
141
164
  /**
142
165
  * Generate the help output for this command, and return it as a string.
143
166
  */
package/command.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
package/command.js CHANGED
@@ -22,6 +22,14 @@ const CommandConfig = (args) => zod_1.z.object({
22
22
  .function()
23
23
  .args(args, zod_1.z.any())
24
24
  .returns(zod_1.z.union([zod_1.z.promise(zod_1.z.void()), zod_1.z.void()])),
25
+ /** Prefix of options understood by this command */
26
+ optionPrefix: zod_1.z.string().default(option_1.OPT_FULL_PREFIX).optional(),
27
+ /** Prefix of negated flags understood by this command */
28
+ negateFlagPrefix: zod_1.z.string().default(option_1.NEGATE_FULL_PREFIX).optional(),
29
+ /** Prefix of aliases of options understood by this command */
30
+ optionAliasPrefix: zod_1.z.string().default(option_1.OPT_SHORT_PREFIX).optional(),
31
+ /** Prefix of aliases of negated flags understood by this command */
32
+ negateAliasPrefix: zod_1.z.string().default(option_1.NEGATE_SHORT_PREFIX).optional(),
25
33
  });
26
34
  exports.CommandConfig = CommandConfig;
27
35
  /**
@@ -49,6 +57,10 @@ class MassargCommand {
49
57
  this.options = [];
50
58
  this.examples = [];
51
59
  this.args = {};
60
+ this.optionPrefix = option_1.OPT_FULL_PREFIX;
61
+ this.negateFlagPrefix = option_1.NEGATE_FULL_PREFIX;
62
+ this.optionAliasPrefix = option_1.OPT_SHORT_PREFIX;
63
+ this.negateAliasPrefix = option_1.NEGATE_SHORT_PREFIX;
52
64
  (0, exports.CommandConfig)(zod_1.z.any()).parse(options);
53
65
  this.name = options.name;
54
66
  this.description = options.description;
@@ -57,11 +69,29 @@ class MassargCommand {
57
69
  this._helpConfig = {};
58
70
  this.parent = parent;
59
71
  }
72
+ get optionPrefixes() {
73
+ return this.getPrefixes();
74
+ }
75
+ getPrefixes() {
76
+ return {
77
+ optionPrefix: this.optionPrefix,
78
+ aliasPrefix: this.optionAliasPrefix,
79
+ negateFlagPrefix: this.negateFlagPrefix,
80
+ negateAliasPrefix: this.negateAliasPrefix,
81
+ };
82
+ }
60
83
  get helpConfig() {
61
84
  if (this.parent) {
62
85
  return (0, utils_1.deepMerge)(this.parent.helpConfig, this._helpConfig);
63
86
  }
64
- return (0, utils_1.deepMerge)(help_1.defaultHelpConfig, this._helpConfig);
87
+ return (0, utils_1.deepMerge)(help_1.defaultHelpConfig, (0, utils_1.deepMerge)({
88
+ optionOptions: {
89
+ namePrefix: this.optionPrefix,
90
+ aliasPrefix: this.optionAliasPrefix,
91
+ negatePrefix: this.negateFlagPrefix,
92
+ negateAliasPrefix: this.negateAliasPrefix,
93
+ },
94
+ }, this._helpConfig));
65
95
  }
66
96
  command(config) {
67
97
  try {
@@ -203,15 +233,16 @@ class MassargCommand {
203
233
  this.getArgs(argv, args, parent, true);
204
234
  }
205
235
  parseOption(arg, argv) {
206
- const option = this.options.find((o) => o._match(arg));
236
+ const prefixes = { ...this.optionPrefixes };
237
+ const option = this.options.find((o) => o._match(arg, prefixes));
207
238
  if (!option) {
208
239
  throw new error_1.ValidationError({
209
- path: [option_1.MassargOption.getName(arg)],
240
+ path: [option_1.MassargOption.findNameInArg(arg, prefixes)],
210
241
  code: 'unknown_option',
211
242
  message: 'Unknown option',
212
243
  });
213
244
  }
214
- const res = option._parseDetails([arg, ...argv], { ...this.args });
245
+ const res = option.parseDetails([arg, ...argv], { ...this.args }, prefixes);
215
246
  this.args[res.key] = (0, utils_1.setOrPush)(res.value, this.args[res.key], option.isArray);
216
247
  return res.argv;
217
248
  }
@@ -224,19 +255,20 @@ class MassargCommand {
224
255
  if (option.defaultValue !== undefined && _a[option.name] === undefined) {
225
256
  _args[option.getOutputName()] = option.defaultValue;
226
257
  }
227
- if (this.helpConfig.bindOption && option.name === 'help') {
228
- if (parseCommands) {
229
- this.printHelp();
230
- }
231
- return;
232
- }
233
258
  }
234
259
  // parse options
235
260
  while (_argv.length) {
236
261
  const arg = _argv.shift();
237
262
  // make sure option exists
238
- const found = this.options.some((o) => o._isOption(arg));
263
+ const found = this.options.find((o) => o._isOption(arg, { ...this.optionPrefixes }));
239
264
  if (found) {
265
+ if (this.helpConfig.bindOption && found.name === 'help') {
266
+ if (parseCommands) {
267
+ this.printHelp();
268
+ return;
269
+ }
270
+ return this.args;
271
+ }
240
272
  _argv = this.parseOption(arg, _argv);
241
273
  _args = { ..._args, ...this.args };
242
274
  continue;
@@ -256,6 +288,7 @@ class MassargCommand {
256
288
  const defaultOption = this.options.find((o) => o.isDefault);
257
289
  if (defaultOption) {
258
290
  _argv = this.parseOption(`--${defaultOption.name}`, [arg, ..._argv]);
291
+ _argv.shift();
259
292
  continue;
260
293
  }
261
294
  // not parsed by any step, add to extra key
@@ -264,6 +297,7 @@ class MassargCommand {
264
297
  }
265
298
  // merge args
266
299
  this.args = { ...this.args, ..._args };
300
+ this.assertRequired();
267
301
  // dry run, just exit
268
302
  if (!parseCommands) {
269
303
  return this.args;
@@ -273,6 +307,18 @@ class MassargCommand {
273
307
  this._run(this.args, parent ?? this);
274
308
  }
275
309
  }
310
+ assertRequired() {
311
+ const required = this.options.filter((o) => o.isRequired);
312
+ const missing = required.filter((o) => this.args[o.getOutputName()] === undefined);
313
+ if (missing.length) {
314
+ const plural = missing.length > 1 ? 's' : '';
315
+ throw new error_1.ValidationError({
316
+ code: 'missing_required_options',
317
+ message: `Missing required option${plural}: ${missing.map((o) => o.name).join(', ')}`,
318
+ path: [this.name],
319
+ });
320
+ }
321
+ }
276
322
  /**
277
323
  * Generate the help output for this command, and return it as a string.
278
324
  */
@@ -289,7 +335,7 @@ class MassargCommand {
289
335
  exports.MassargCommand = MassargCommand;
290
336
  class MassargHelpCommand extends MassargCommand {
291
337
  constructor(config = {}) {
292
- super({
338
+ const _config = (0, exports.CommandConfig)(zod_1.z.any()).parse({
293
339
  name: 'help',
294
340
  aliases: ['h'],
295
341
  description: 'Print help for this command, or a subcommand if specified',
@@ -313,11 +359,11 @@ class MassargHelpCommand extends MassargCommand {
313
359
  },
314
360
  ...config,
315
361
  });
362
+ super(_config);
316
363
  this.option({
317
364
  name: 'command',
318
365
  aliases: ['c'],
319
366
  description: 'Command to print help for',
320
- isDefault: true,
321
367
  });
322
368
  }
323
369
  }
package/command.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}