icore 1.0.5 → 1.0.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,aAAa,GACrB,UAAU,CAqEZ"}
1
+ {"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,cAAc,EACf,MAAM,WAAW,CAAC;AAEnB;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC;AAOF;;GAEG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,CAAC,EAAE,aAAa,GACrB,UAAU,CAsHZ"}
package/dist/argv.js CHANGED
@@ -18,17 +18,44 @@ exports.parseArgv = parseArgv;
18
18
  function parseArgv(args, schema) {
19
19
  const positionals = [];
20
20
  const options = {};
21
+ const aliases = buildShortAliasMap(schema);
21
22
  let parseOptions = true;
22
23
  for (let index = 0; index < args.length; index += 1) {
23
24
  const arg = args[index];
24
25
  if (arg === undefined) {
25
26
  continue;
26
27
  }
27
- if (!parseOptions || !arg.startsWith('--') || arg === '--') {
28
- if (arg === '--') {
29
- parseOptions = false;
28
+ if (!parseOptions) {
29
+ positionals.push(arg);
30
+ continue;
31
+ }
32
+ if (arg === '--') {
33
+ parseOptions = false;
34
+ continue;
35
+ }
36
+ if (isShortOptionToken(arg)) {
37
+ const alias = aliases.get(arg.slice(1));
38
+ if (alias === undefined) {
39
+ positionals.push(arg);
30
40
  continue;
31
41
  }
42
+ if (Object.hasOwn(options, alias.name)) {
43
+ throw new Error(`Unexpected duplicate argument '--${alias.name}'`);
44
+ }
45
+ if (alias.definition.type === 'boolean') {
46
+ options[alias.name] = true;
47
+ continue;
48
+ }
49
+ const nextArg = args[index + 1];
50
+ if (nextArg !== undefined && nextArg !== '--') {
51
+ options[alias.name] = nextArg;
52
+ index += 1;
53
+ continue;
54
+ }
55
+ options[alias.name] = true;
56
+ continue;
57
+ }
58
+ if (!arg.startsWith('--')) {
32
59
  positionals.push(arg);
33
60
  continue;
34
61
  }
@@ -40,6 +67,18 @@ function parseArgv(args, schema) {
40
67
  if (name === '') {
41
68
  throw new Error(`Unexpected argument '${arg}'`);
42
69
  }
70
+ const definition = schema?.[name];
71
+ if (separatorIndex === -1 && definition === undefined && name.startsWith('no-')) {
72
+ const negatedName = name.slice(3);
73
+ const negatedDefinition = schema?.[negatedName];
74
+ if (negatedDefinition?.type === 'boolean') {
75
+ if (Object.hasOwn(options, negatedName)) {
76
+ throw new Error(`Unexpected duplicate argument '--${negatedName}'`);
77
+ }
78
+ options[negatedName] = false;
79
+ continue;
80
+ }
81
+ }
43
82
  if (Object.hasOwn(options, name)) {
44
83
  throw new Error(`Unexpected duplicate argument '--${name}'`);
45
84
  }
@@ -47,7 +86,6 @@ function parseArgv(args, schema) {
47
86
  options[name] = option.slice(separatorIndex + 1);
48
87
  continue;
49
88
  }
50
- const definition = schema?.[name];
51
89
  if (definition?.type === 'boolean') {
52
90
  options[name] = true;
53
91
  continue;
@@ -70,4 +108,34 @@ function parseArgv(args, schema) {
70
108
  options
71
109
  };
72
110
  }
111
+ function buildShortAliasMap(schema) {
112
+ const aliases = new Map();
113
+ if (schema === undefined) {
114
+ return aliases;
115
+ }
116
+ for (const name of Object.keys(schema)) {
117
+ const definition = schema[name];
118
+ if (definition === undefined || definition.alias === undefined) {
119
+ continue;
120
+ }
121
+ assertShortAlias(name, definition.alias);
122
+ if (aliases.has(definition.alias)) {
123
+ throw new Error(`Unexpected duplicate alias '-${definition.alias}'`);
124
+ }
125
+ aliases.set(definition.alias, {
126
+ name,
127
+ definition
128
+ });
129
+ }
130
+ return aliases;
131
+ }
132
+ function assertShortAlias(name, alias) {
133
+ if (/^[A-Za-z]$/.test(alias)) {
134
+ return;
135
+ }
136
+ throw new Error(`Expected alias for '--${name}' as single ASCII letter`);
137
+ }
138
+ function isShortOptionToken(arg) {
139
+ return arg.length === 2 && arg.startsWith('-') && !arg.startsWith('--');
140
+ }
73
141
  //# sourceMappingURL=argv.js.map
package/dist/argv.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAgBH,8BAwEC;AA3ED;;GAEG;AACH,SAAgB,SAAS,CACvB,IAAuB,EACvB,MAAsB;IAEtB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,cAAc,KAAK,CAAC,CAAC;YAChC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAEpC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,UAAU,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAEhC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"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"}
@@ -33,13 +33,13 @@ export type CommandDefinition<TSchema extends OptionsSchema, TContext, TResult,
33
33
  allowExtraPositionals?: boolean;
34
34
  handle(input: CommandInput<TSchema, TContext>): TResult | Promise<TResult>;
35
35
  };
36
- type AnyCommandDefinition = CommandDefinition<OptionsSchema, any, any>;
36
+ type AnyCommandDefinition = CommandDefinition<OptionsSchema, unknown, unknown>;
37
37
  type CommandPathName<TPath extends readonly string[]> = number extends TPath['length'] ? string : TPath extends readonly [infer THead extends string] ? THead : TPath extends readonly [
38
38
  infer THead extends string,
39
39
  ...infer TRest extends readonly string[]
40
40
  ] ? `${THead} ${CommandPathName<TRest>}` : never;
41
- type CommandContext<TCommand extends AnyCommandDefinition> = TCommand extends CommandDefinition<OptionsSchema, infer TContext, any> ? TContext : never;
42
- type CommandResult<TCommand extends AnyCommandDefinition> = TCommand extends CommandDefinition<OptionsSchema, any, infer TResult> ? Awaited<TResult> : never;
41
+ type CommandContext<TCommand extends AnyCommandDefinition> = TCommand extends CommandDefinition<OptionsSchema, infer TContext, unknown> ? TContext : never;
42
+ type CommandResult<TCommand extends AnyCommandDefinition> = TCommand extends CommandDefinition<OptionsSchema, unknown, infer TResult> ? Awaited<TResult> : never;
43
43
  /**
44
44
  * Infers the public command name from a command path.
45
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/options.d.ts CHANGED
@@ -12,14 +12,15 @@
12
12
  */
13
13
  type OptionBase<TType extends string, TValue> = {
14
14
  type: TType;
15
+ alias?: string;
15
16
  required?: boolean;
16
17
  default?: TValue;
17
18
  };
18
19
  /**
19
20
  * Raw option value produced by `parseArgv` before schema validation.
20
21
  *
21
- * Long options with a value are stored as strings, and flag-only options are
22
- * stored as `true`.
22
+ * Long options with a value are stored as strings, flag-only options are
23
+ * stored as `true`, and negated boolean options are stored as `false`.
23
24
  */
24
25
  export type RawOptionValue = string | boolean;
25
26
  /**
@@ -34,7 +35,7 @@ export type StringOption<TChoices extends readonly string[] = readonly string[]>
34
35
  /**
35
36
  * Declarative boolean flag contract.
36
37
  *
37
- * Boolean options accept flag form only, for example `--insecure`.
38
+ * Boolean options accept flag form and explicit `true` / `false` values.
38
39
  */
39
40
  export type BooleanOption = OptionBase<'boolean', boolean>;
40
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/options.js CHANGED
@@ -104,10 +104,13 @@ function parseStringOption(name, definition, value) {
104
104
  return value;
105
105
  }
106
106
  function parseBooleanOption(name, value) {
107
- if (value !== true) {
108
- throw new Error(`Expected '--${name}' as boolean flag`);
107
+ if (value === true || value === 'true') {
108
+ return true;
109
109
  }
110
- return true;
110
+ if (value === false || value === 'false') {
111
+ return false;
112
+ }
113
+ throw new Error(`Expected '--${name}' as boolean flag`);
111
114
  }
112
115
  function parseNumberOption(name, definition, value) {
113
116
  if (typeof value !== 'string' || value.trim() === '') {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icore",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Declarative command line interface mechanics for Node.js",
5
5
  "keywords": [
6
6
  "command-line",
package/readme.md CHANGED
@@ -7,6 +7,13 @@
7
7
 
8
8
  Small dependency-free command line interface mechanics for [Node.js®](https://nodejs.org) applications.
9
9
 
10
+ Supports a practical GNU-style option syntax:
11
+
12
+ - long options: `--name value`, `--name=value`;
13
+ - boolean flags: `--flag`, `--flag=true`, `--flag=false`, `--no-flag`;
14
+ - short aliases: `-f`, `-n value`;
15
+ - option terminator: `--`.
16
+
10
17
  ### Installation
11
18
 
12
19
  To use `icore` in your project, run:
@@ -47,8 +54,8 @@ import { parseArgv } from 'icore';
47
54
  const argv = parseArgv([
48
55
  'hello',
49
56
  '--name',
50
- 'User',
51
- '--upper'
57
+ 'Alice',
58
+ '--uppercase'
52
59
  ]);
53
60
  ```
54
61
 
@@ -58,8 +65,8 @@ Result:
58
65
  {
59
66
  positionals: ['hello'],
60
67
  options: {
61
- name: 'User',
62
- upper: true
68
+ name: 'Alice',
69
+ uppercase: true
63
70
  }
64
71
  }
65
72
  ```
@@ -70,10 +77,10 @@ options without consuming the following positional argument:
70
77
  ```ts
71
78
  const argv = parseArgv([
72
79
  'hello',
73
- '--upper',
74
- 'User'
80
+ '--uppercase',
81
+ 'Alice'
75
82
  ], {
76
- upper: {
83
+ uppercase: {
77
84
  type: 'boolean'
78
85
  }
79
86
  });
@@ -83,9 +90,9 @@ Result:
83
90
 
84
91
  ```ts
85
92
  {
86
- positionals: ['hello', 'User'],
93
+ positionals: ['hello', 'Alice'],
87
94
  options: {
88
- upper: true
95
+ uppercase: true
89
96
  }
90
97
  }
91
98
  ```
@@ -102,12 +109,12 @@ const options = parseOptions({
102
109
  type: 'string',
103
110
  default: 'world'
104
111
  },
105
- upper: {
112
+ uppercase: {
106
113
  type: 'boolean'
107
114
  }
108
115
  } as const, {
109
- name: 'User',
110
- upper: true
116
+ name: 'Alice',
117
+ uppercase: true
111
118
  });
112
119
  ```
113
120
 
@@ -115,8 +122,8 @@ Result:
115
122
 
116
123
  ```ts
117
124
  {
118
- name: 'User',
119
- upper: true
125
+ name: 'Alice',
126
+ uppercase: true
120
127
  }
121
128
  ```
122
129
 
@@ -133,11 +140,11 @@ const result = parseOptionsDetailed({
133
140
  type: 'string',
134
141
  default: 'world'
135
142
  },
136
- upper: {
143
+ uppercase: {
137
144
  type: 'boolean'
138
145
  }
139
146
  } as const, {
140
- upper: true
147
+ uppercase: true
141
148
  });
142
149
  ```
143
150
 
@@ -147,11 +154,11 @@ Result:
147
154
  {
148
155
  options: {
149
156
  name: 'world',
150
- upper: true
157
+ uppercase: true
151
158
  },
152
159
  provided: {
153
160
  name: false,
154
- upper: true
161
+ uppercase: true
155
162
  }
156
163
  }
157
164
  ```
@@ -173,14 +180,14 @@ const command = defineCommand({
173
180
  type: 'string',
174
181
  default: 'world'
175
182
  },
176
- upper: {
183
+ uppercase: {
177
184
  type: 'boolean'
178
185
  }
179
186
  },
180
187
  async handle({ options }) {
181
188
  const message = `Hello, ${options.name}!`;
182
189
 
183
- return options.upper ? message.toUpperCase() : message;
190
+ return options.uppercase ? message.toUpperCase() : message;
184
191
  }
185
192
  });
186
193
  ```
@@ -235,7 +242,7 @@ import { resolveCommand } from 'icore';
235
242
  const resolved = resolveCommand(registry, [
236
243
  'hello',
237
244
  'formal',
238
- 'User'
245
+ 'Alice'
239
246
  ]);
240
247
  ```
241
248
 
@@ -246,7 +253,7 @@ Result:
246
253
  name: 'hello formal',
247
254
  path: ['hello', 'formal'],
248
255
  command: helloFormalCommand,
249
- positionals: ['User']
256
+ positionals: ['Alice']
250
257
  }
251
258
  ```
252
259
 
@@ -263,8 +270,8 @@ segments.
263
270
  const resolved = resolveCommandFromArgs(registry, [
264
271
  'hello',
265
272
  '--name',
266
- 'User',
267
- '--upper'
273
+ 'Alice',
274
+ '--uppercase'
268
275
  ]);
269
276
  ```
270
277
 
@@ -275,7 +282,7 @@ Resolves a command from a registry and runs its handler.
275
282
  ```ts
276
283
  const output = await runCommandFromRegistry(
277
284
  registry,
278
- ['hello', '--name', 'User', '--upper'],
285
+ ['hello', '--name', 'Alice', '--uppercase'],
279
286
  context
280
287
  );
281
288
  ```
@@ -299,7 +306,7 @@ const nameOptions = {
299
306
  } as const;
300
307
 
301
308
  const greetingOptions = {
302
- upper: {
309
+ uppercase: {
303
310
  type: 'boolean'
304
311
  }
305
312
  } as const;
@@ -315,7 +322,7 @@ handler.
315
322
  ```ts
316
323
  const output = await runCommand(
317
324
  command,
318
- ['hello', '--name', 'User', '--upper'],
325
+ ['hello', '--name', 'Alice', '--uppercase'],
319
326
  context
320
327
  );
321
328
  ```
@@ -325,7 +332,7 @@ positionals with `allowExtraPositionals: true`.
325
332
 
326
333
  ### How It Works
327
334
 
328
- ![yuml diagram](http://yuml.me/diagram/scruffy;dir:LR;/class/[*argv*%20{bg:gray}|External;hello%20--name%20User%20--upper]->[*matches*%20{bg:lavender}|System;parse,%20resolve,%20validate,%20infer]->[*typed%20result*%20{bg:honeydew}|Container;command=hello;%20name=User;%20upper=true]->[*your%20app*%20{bg:cornsilk}|System;business%20logic%20and%20output])
335
+ ![yuml diagram](http://yuml.me/diagram/scruffy;dir:LR;/class/[*argv*%20{bg:gray}|External;hello%20--name%20Alice%20--uppercase]->[*matches*%20{bg:lavender}|System;parse,%20resolve,%20validate,%20infer]->[*typed%20result*%20{bg:honeydew}|Container;command=hello;%20name=Alice;%20uppercase=true]->[*your%20app*%20{bg:cornsilk}|System;business%20logic%20and%20output])
329
336
 
330
337
 
331
338
  ### Example
@@ -340,20 +347,20 @@ const exampleCommand = defineCommand({
340
347
  type: 'string',
341
348
  default: 'world'
342
349
  },
343
- upper: {
350
+ uppercase: {
344
351
  type: 'boolean'
345
352
  }
346
353
  },
347
354
  async handle({ options }) {
348
355
  const message = `Hello, ${options.name}!`;
349
356
 
350
- return options.upper ? message.toUpperCase() : message;
357
+ return options.uppercase ? message.toUpperCase() : message;
351
358
  }
352
359
  });
353
360
 
354
361
  const output = await runCommand(
355
362
  exampleCommand,
356
- ['hello', '--name', 'User', '--upper'],
363
+ ['hello', '--name', 'Alice', '--uppercase'],
357
364
  {}
358
365
  );
359
366
 
@@ -363,8 +370,8 @@ console.log(output);
363
370
  Terminal output:
364
371
 
365
372
  ```console
366
- $ node cli.js hello --name User --upper
367
- HELLO, USER!
373
+ $ node cli.js hello --name Alice --uppercase
374
+ HELLO, ALICE!
368
375
  ```
369
376
 
370
377
  The command handler receives parsed options, user-provided option metadata,
@@ -378,6 +385,24 @@ Options are described as plain objects.
378
385
  `kebab-case`. Use quoted object keys when your public CLI option contains
379
386
  `-`.
380
387
 
388
+ Each option can define an optional short alias:
389
+
390
+ ```ts
391
+ const schema = {
392
+ name: {
393
+ type: 'string',
394
+ alias: 'n'
395
+ },
396
+ uppercase: {
397
+ type: 'boolean',
398
+ alias: 'u'
399
+ }
400
+ } as const;
401
+ ```
402
+
403
+ Aliases must be a single ASCII letter and unique within the schema. Parsed
404
+ values are always returned by long option name.
405
+
381
406
  #### `type: 'string'`
382
407
 
383
408
  ```ts
@@ -394,32 +419,39 @@ const schema = {
394
419
  } as const;
395
420
  ```
396
421
 
397
- String options reject missing required values, blank strings, boolean flag form,
398
- and values outside `choices`.
422
+ String options reject missing required values, blank strings such as `--name=`,
423
+ boolean flag form, and values outside `choices`.
399
424
 
400
425
  #### `type: 'boolean'`
401
426
 
402
427
  ```ts
403
428
  const schema = {
404
- upper: {
429
+ uppercase: {
405
430
  type: 'boolean'
406
431
  }
407
432
  } as const;
408
433
  ```
409
434
 
410
- Boolean options accept **flag form only**:
435
+ Boolean options accept **flag form**, explicit `true` / `false` values, and
436
+ schema-known negation:
411
437
 
412
438
  ```sh
413
- --upper
439
+ --uppercase
440
+ --uppercase=true
441
+ --uppercase=false
442
+ --no-uppercase
414
443
  ```
415
444
 
416
- Explicit values are rejected:
445
+ Invalid explicit values are rejected:
417
446
 
418
447
  ```sh
419
- --upper true
420
- --upper=true
448
+ --uppercase=yes
449
+ --uppercase=
421
450
  ```
422
451
 
452
+ `--uppercase false` keeps `--uppercase` as `true` and leaves `false` as a positional
453
+ argument.
454
+
423
455
  #### `type: 'number'`
424
456
 
425
457
  ```ts
@@ -449,7 +481,7 @@ const schema = {
449
481
  type: 'string',
450
482
  default: 'world'
451
483
  },
452
- upper: {
484
+ uppercase: {
453
485
  type: 'boolean'
454
486
  }
455
487
  } as const;
@@ -462,7 +494,7 @@ type Options = InferOptions<typeof schema>;
462
494
  ```ts
463
495
  type Options = {
464
496
  name: string;
465
- upper: boolean | undefined;
497
+ uppercase: boolean | undefined;
466
498
  };
467
499
  ```
468
500
 
@@ -504,16 +536,21 @@ type Name = 'hello formal';
504
536
 
505
537
  ### Facade of arguments
506
538
 
507
- The table below provides examples of how to specify the syntax.
539
+ Use `--` to stop option parsing. The terminator itself is not included in
540
+ positionals; every following token is treated as positional, even when it starts
541
+ with `-`.
542
+
543
+ Short syntax is supported only for aliases declared in the option schema.
544
+ Boolean aliases use flag form, such as `-f`; string and number aliases use a
545
+ separate value, such as `-n value`.
508
546
 
509
- | Syntax | Supported |
510
- |---|---:|
511
- | `--name value` | yes |
512
- | `--name=value` | yes |
513
- | `--flag` | yes |
514
- | `--flag=true` | no |
515
- | `-f` | no |
516
- | `--no-cache` | no |
547
+ Attached short values such as `-nvalue` and grouped short booleans such as
548
+ `-abc` are not supported yet. Unknown short tokens remain positional for
549
+ compatibility.
550
+
551
+ Negated syntax such as `--no-cache` is interpreted as `cache: false` when
552
+ `cache` is a known boolean option. Unknown negated options and negation for
553
+ string or number options are rejected.
517
554
 
518
555
  ### Error Messages
519
556
 
@@ -528,8 +565,11 @@ after printing `error.message`, terminal output can look like this:
528
565
  $ node cli.js hello --unknown
529
566
  Unexpected argument '--unknown'
530
567
 
531
- $ node cli.js hello --upper=true
532
- Expected '--upper' as boolean flag
568
+ $ node cli.js hello --uppercase=yes
569
+ Expected '--uppercase' as boolean flag
570
+
571
+ $ node cli.js hello --name=
572
+ Expected '--name' as string
533
573
  ```
534
574
 
535
575
  ### Project Boundary