icore 1.0.1 → 1.0.2
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/dist/argv.d.ts +11 -0
- package/dist/argv.d.ts.map +1 -1
- package/dist/argv.js +11 -0
- package/dist/argv.js.map +1 -1
- package/dist/cli.d.ts +5 -13
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -13
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +12 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +12 -0
- package/dist/commands.js.map +1 -1
- package/dist/options.d.ts +12 -0
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +12 -0
- package/dist/options.js.map +1 -1
- package/package.json +9 -2
- package/readme.md +64 -23
package/dist/argv.d.ts
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The argv parser module transforms raw CLI tokens into positional segments
|
|
3
|
+
* and unvalidated long-option values.
|
|
4
|
+
*
|
|
5
|
+
* Allowed here:
|
|
6
|
+
* - splitting argv into positionals and named options;
|
|
7
|
+
* - applying option-schema hints only when token ownership is ambiguous;
|
|
8
|
+
* - rejecting duplicate raw option names before schema validation;
|
|
9
|
+
*
|
|
10
|
+
* This file must not contain typed option validation or command resolution.
|
|
11
|
+
*/
|
|
1
12
|
import type { OptionsSchema, RawOptionValue } from './options';
|
|
2
13
|
/**
|
|
3
14
|
* Parsed CLI arguments split into positional command path segments and raw
|
package/dist/argv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA,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,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"}
|
package/dist/argv.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The argv parser module transforms raw CLI tokens into positional segments
|
|
4
|
+
* and unvalidated long-option values.
|
|
5
|
+
*
|
|
6
|
+
* Allowed here:
|
|
7
|
+
* - splitting argv into positionals and named options;
|
|
8
|
+
* - applying option-schema hints only when token ownership is ambiguous;
|
|
9
|
+
* - rejecting duplicate raw option names before schema validation;
|
|
10
|
+
*
|
|
11
|
+
* This file must not contain typed option validation or command resolution.
|
|
12
|
+
*/
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.parseArgv = parseArgv;
|
|
4
15
|
/**
|
package/dist/argv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":";;
|
|
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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The CLI
|
|
3
|
-
* generic user argument parsing.
|
|
2
|
+
* The CLI public barrel module exposes the supported command mechanics API.
|
|
4
3
|
*
|
|
5
4
|
* Allowed here:
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* - checking command paths and extra positionals;
|
|
10
|
-
* - running command handlers with typed options and caller-provided context.
|
|
5
|
+
* - re-exporting public argv parser contracts;
|
|
6
|
+
* - re-exporting public option schema contracts;
|
|
7
|
+
* - re-exporting public command registry contracts;
|
|
11
8
|
*
|
|
12
|
-
*
|
|
13
|
-
* - application-specific business rules;
|
|
14
|
-
* - SDK/API request building;
|
|
15
|
-
* - external client lifecycle management;
|
|
16
|
-
* - JSON/table/CSV output formatting;
|
|
17
|
-
* - domain-specific command DSLs.
|
|
9
|
+
* This file must not contain parser, validator, or command runtime logic.
|
|
18
10
|
*/
|
|
19
11
|
export { parseArgv, type ParsedArgv } from './argv';
|
|
20
12
|
export { defineCommand, defineCommandRegistry, isCommandName, resolveCommand, resolveCommandFromArgs, runCommand, runCommandFromRegistry, type CommandDefinition, type CommandInput, type CommandName, type CommandRegistry, type ResolvedCommand } from './commands';
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* The CLI
|
|
4
|
-
* generic user argument parsing.
|
|
3
|
+
* The CLI public barrel module exposes the supported command mechanics API.
|
|
5
4
|
*
|
|
6
5
|
* Allowed here:
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* - checking command paths and extra positionals;
|
|
11
|
-
* - running command handlers with typed options and caller-provided context.
|
|
6
|
+
* - re-exporting public argv parser contracts;
|
|
7
|
+
* - re-exporting public option schema contracts;
|
|
8
|
+
* - re-exporting public command registry contracts;
|
|
12
9
|
*
|
|
13
|
-
*
|
|
14
|
-
* - application-specific business rules;
|
|
15
|
-
* - SDK/API request building;
|
|
16
|
-
* - external client lifecycle management;
|
|
17
|
-
* - JSON/table/CSV output formatting;
|
|
18
|
-
* - domain-specific command DSLs.
|
|
10
|
+
* This file must not contain parser, validator, or command runtime logic.
|
|
19
11
|
*/
|
|
20
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
13
|
exports.parseOptionsDetailed = exports.parseOptions = exports.mergeOptionsSchema = exports.runCommandFromRegistry = exports.runCommand = exports.resolveCommandFromArgs = exports.resolveCommand = exports.isCommandName = exports.defineCommandRegistry = exports.defineCommand = exports.parseArgv = void 0;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,+BAGgB;AAFd,iGAAA,SAAS,OAAA;AAGX,uCAaoB;AAZlB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,kHAAA,sBAAsB,OAAA;AAOxB,qCAcmB;AAbjB,6GAAA,kBAAkB,OAAA;AAClB,uGAAA,YAAY,OAAA;AACZ,+GAAA,oBAAoB,OAAA"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command mechanics module resolves command paths and runs typed command
|
|
3
|
+
* handlers after argv and option validation.
|
|
4
|
+
*
|
|
5
|
+
* Allowed here:
|
|
6
|
+
* - defining command and registry contracts;
|
|
7
|
+
* - resolving the most specific command path match;
|
|
8
|
+
* - passing parsed options, provided metadata, positionals, and context to handlers;
|
|
9
|
+
*
|
|
10
|
+
* This file must not contain raw token parsing, option schema validation,
|
|
11
|
+
* domain behavior, SDK calls, or output formatting.
|
|
12
|
+
*/
|
|
1
13
|
import { type InferOptions, type InferProvidedOptions, type OptionsSchema } from './options';
|
|
2
14
|
/**
|
|
3
15
|
* Input passed to a command handler after command path and option validation.
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/commands.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The command mechanics module resolves command paths and runs typed command
|
|
4
|
+
* handlers after argv and option validation.
|
|
5
|
+
*
|
|
6
|
+
* Allowed here:
|
|
7
|
+
* - defining command and registry contracts;
|
|
8
|
+
* - resolving the most specific command path match;
|
|
9
|
+
* - passing parsed options, provided metadata, positionals, and context to handlers;
|
|
10
|
+
*
|
|
11
|
+
* This file must not contain raw token parsing, option schema validation,
|
|
12
|
+
* domain behavior, SDK calls, or output formatting.
|
|
13
|
+
*/
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.defineCommand = defineCommand;
|
|
4
16
|
exports.defineCommandRegistry = defineCommandRegistry;
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/options.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The option schema module validates raw option values against declarative
|
|
3
|
+
* primitive option contracts.
|
|
4
|
+
*
|
|
5
|
+
* Allowed here:
|
|
6
|
+
* - defining string, boolean, and number option contracts;
|
|
7
|
+
* - applying and validating default values;
|
|
8
|
+
* - producing typed option values and user-provided metadata;
|
|
9
|
+
*
|
|
10
|
+
* This file must not contain argv tokenization, command resolution, or
|
|
11
|
+
* application-specific validation rules.
|
|
12
|
+
*/
|
|
1
13
|
type OptionBase<TType extends string, TValue> = {
|
|
2
14
|
type: TType;
|
|
3
15
|
required?: boolean;
|
package/dist/options.d.ts.map
CHANGED
|
@@ -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
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The option schema module validates raw option values against declarative
|
|
4
|
+
* primitive option contracts.
|
|
5
|
+
*
|
|
6
|
+
* Allowed here:
|
|
7
|
+
* - defining string, boolean, and number option contracts;
|
|
8
|
+
* - applying and validating default values;
|
|
9
|
+
* - producing typed option values and user-provided metadata;
|
|
10
|
+
*
|
|
11
|
+
* This file must not contain argv tokenization, command resolution, or
|
|
12
|
+
* application-specific validation rules.
|
|
13
|
+
*/
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.mergeOptionsSchema = mergeOptionsSchema;
|
|
4
16
|
exports.parseOptions = parseOptions;
|
package/dist/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "icore",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Declarative command line interface mechanics for Node.js",
|
|
5
5
|
"keywords": [
|
|
6
|
-
"
|
|
6
|
+
"command-line",
|
|
7
|
+
"argv",
|
|
8
|
+
"argument-parser",
|
|
9
|
+
"option-parser",
|
|
10
|
+
"command-registry",
|
|
11
|
+
"command-router",
|
|
12
|
+
"typed-cli",
|
|
13
|
+
"declarative-cli"
|
|
7
14
|
],
|
|
8
15
|
"license": "MIT",
|
|
9
16
|
"author": {
|
package/readme.md
CHANGED
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/icore)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Small dependency-free command line interface mechanics for [Node.js®](https://nodejs.org) applications.
|
|
9
|
+
|
|
10
|
+
### How it works?
|
|
11
|
+
|
|
12
|
+

|
|
9
13
|
|
|
10
14
|
`icore` helps describe CLI commands with small option schemas and keeps command
|
|
11
15
|
handlers focused on application work. It standardizes argument parsing,
|
|
@@ -13,18 +17,18 @@ primitive option validation, defaults, choices, numeric ranges, and positional
|
|
|
13
17
|
argument checks. It can also resolve commands from a registry and report whether
|
|
14
18
|
each option was provided explicitly by the user or filled from a default.
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-

|
|
20
|
+
## Non-goals
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
`icore`.
|
|
22
|
+
`icore` stops at CLI mechanics. It does not build API DTOs, call SDKs,
|
|
23
|
+
format output, manage process lifecycle, or validate business rules.
|
|
23
24
|
|
|
24
25
|
## Table of Contents
|
|
25
26
|
|
|
26
27
|
- [Installation](#installation)
|
|
27
28
|
- [Requirements](#requirements)
|
|
29
|
+
- [Non-goals](#non-goals)
|
|
30
|
+
- [Why icore?](#why-icore)
|
|
31
|
+
- [Supported Syntax](#supported-syntax)
|
|
28
32
|
- [Basic Usage](#basic-usage)
|
|
29
33
|
- [Design Goals](#design-goals)
|
|
30
34
|
- [What icore Handles](#what-icore-handles)
|
|
@@ -43,43 +47,78 @@ npm install icore
|
|
|
43
47
|
- Node.js `>=16.9.0`
|
|
44
48
|
- TypeScript is supported through bundled declaration files.
|
|
45
49
|
|
|
50
|
+
## Why icore?
|
|
51
|
+
|
|
52
|
+
Use `icore` when you need more than raw argument parsing:
|
|
53
|
+
|
|
54
|
+
- typed command definitions;
|
|
55
|
+
- command registry resolution;
|
|
56
|
+
- required options;
|
|
57
|
+
- string choices;
|
|
58
|
+
- number parsing with integer, minimum, and maximum constraints;
|
|
59
|
+
- option presence metadata;
|
|
60
|
+
- typed command handler input.
|
|
61
|
+
|
|
62
|
+
Use [`node:util.parseArgs`](https://nodejs.org/api/util.html#utilparseargsconfig)
|
|
63
|
+
directly when you only need low-level argument parsing.
|
|
64
|
+
|
|
65
|
+
## Supported Syntax
|
|
66
|
+
|
|
67
|
+
| Syntax | Supported | Notes |
|
|
68
|
+
|---|---:|---|
|
|
69
|
+
| `--name value` | yes | string and number options |
|
|
70
|
+
| `--name=value` | yes | string and number options |
|
|
71
|
+
| `--flag` | yes | boolean options |
|
|
72
|
+
| `--flag=true` | no | boolean options are flag-only |
|
|
73
|
+
| `-f` | no | short aliases are not supported |
|
|
74
|
+
| `--no-cache` | no | negative boolean flags are not supported |
|
|
75
|
+
| repeated options | no | duplicates are rejected |
|
|
76
|
+
| multiple values | no | arrays are not supported |
|
|
77
|
+
|
|
46
78
|
## Basic Usage
|
|
47
79
|
|
|
48
80
|
```ts
|
|
49
81
|
import { defineCommand, runCommand } from 'icore';
|
|
50
82
|
|
|
51
|
-
const
|
|
52
|
-
path: ['
|
|
83
|
+
const helloCommand = defineCommand({
|
|
84
|
+
path: ['hello'],
|
|
53
85
|
options: {
|
|
54
|
-
|
|
86
|
+
name: {
|
|
55
87
|
type: 'string',
|
|
56
|
-
|
|
57
|
-
default: 'table'
|
|
88
|
+
default: 'world'
|
|
58
89
|
},
|
|
59
|
-
|
|
90
|
+
upper: {
|
|
60
91
|
type: 'boolean'
|
|
61
92
|
}
|
|
62
93
|
},
|
|
63
|
-
async handle({ options
|
|
64
|
-
const
|
|
94
|
+
async handle({ options }) {
|
|
95
|
+
const message = `Hello, ${options.name}!`;
|
|
65
96
|
|
|
66
|
-
return
|
|
97
|
+
return options.upper ? message.toUpperCase() : message;
|
|
67
98
|
}
|
|
68
99
|
});
|
|
69
100
|
|
|
70
101
|
const output = await runCommand(
|
|
71
|
-
|
|
72
|
-
['
|
|
73
|
-
{
|
|
74
|
-
sdk,
|
|
75
|
-
formatAccounts
|
|
76
|
-
}
|
|
102
|
+
helloCommand,
|
|
103
|
+
['hello', '--name', 'Stanislav', '--upper'],
|
|
104
|
+
{}
|
|
77
105
|
);
|
|
106
|
+
|
|
107
|
+
console.log(output);
|
|
78
108
|
```
|
|
79
109
|
|
|
80
110
|
The command handler receives parsed options, user-provided option metadata,
|
|
81
111
|
remaining positionals, and caller provided context.
|
|
82
112
|
|
|
113
|
+
CommonJS is supported:
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
const {
|
|
117
|
+
defineCommand,
|
|
118
|
+
runCommand
|
|
119
|
+
} = require('icore');
|
|
120
|
+
```
|
|
121
|
+
|
|
83
122
|
## Design Goals
|
|
84
123
|
|
|
85
124
|
- describe CLI mechanics declaratively;
|
|
@@ -569,7 +608,9 @@ type Name = 'users get-accounts';
|
|
|
569
608
|
|
|
570
609
|
## Error Messages
|
|
571
610
|
|
|
572
|
-
`icore` throws regular `Error` objects with
|
|
611
|
+
`icore` throws regular `Error` objects with predictable user-facing messages.
|
|
612
|
+
Applications should treat these messages as display text, not as a
|
|
613
|
+
machine-readable API.
|
|
573
614
|
|
|
574
615
|
Examples:
|
|
575
616
|
|