cli-forge 0.11.0 → 1.0.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/.eslintrc.json +1 -0
- package/README.md +181 -5
- package/dist/bin/cli.d.ts +18 -1
- package/dist/bin/commands/generate-documentation.d.ts +8 -8
- package/dist/bin/commands/generate-documentation.js.map +1 -1
- package/dist/bin/commands/init.d.ts +10 -10
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/composable-builder.d.ts +22 -1
- package/dist/lib/composable-builder.js +11 -1
- package/dist/lib/composable-builder.js.map +1 -1
- package/dist/lib/documentation.js.map +1 -1
- package/dist/lib/internal-cli.d.ts +39 -22
- package/dist/lib/internal-cli.js +137 -2
- package/dist/lib/internal-cli.js.map +1 -1
- package/dist/lib/public-api.d.ts +221 -58
- package/dist/lib/public-api.js.map +1 -1
- package/package.json +8 -3
- package/src/bin/commands/generate-documentation.ts +1 -1
- package/src/index.ts +5 -0
- package/src/lib/composable-builder.ts +52 -4
- package/src/lib/documentation.spec.ts +1 -0
- package/src/lib/documentation.ts +1 -1
- package/src/lib/internal-cli.spec.ts +6 -5
- package/src/lib/internal-cli.ts +335 -53
- package/src/lib/public-api.ts +678 -92
- package/src/lib/sdk.spec.ts +285 -0
- package/src/lib/test-harness.spec.ts +1 -0
- package/src/lib/utils.spec.ts +1 -0
- package/tsconfig.lib.json.tsbuildinfo +1 -1
package/.eslintrc.json
CHANGED
package/README.md
CHANGED
|
@@ -1,11 +1,187 @@
|
|
|
1
1
|
# cli-forge
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**A type-safe CLI builder for Node.js with first-class TypeScript support.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
CLI Forge is a modern framework for building command-line interfaces in Node.js, designed with TypeScript developers in mind. It provides full type inference for parsed arguments, automatic help generation, middleware support, and comprehensive documentation tooling.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Installation
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
```bash
|
|
10
|
+
npm install cli-forge
|
|
11
|
+
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
Create a new CLI project:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx cli-forge init my-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Or add to an existing project:
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { cli } from 'cli-forge';
|
|
25
|
+
|
|
26
|
+
cli('my-app')
|
|
27
|
+
.command('hello', {
|
|
28
|
+
description: 'Say hello to someone',
|
|
29
|
+
builder: (args) =>
|
|
30
|
+
args.option('name', {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Name to greet',
|
|
33
|
+
default: 'World',
|
|
34
|
+
}),
|
|
35
|
+
handler: (args) => {
|
|
36
|
+
console.log(`Hello, ${args.name}!`);
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
.forge();
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Run it:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node my-app.js hello --name "Developer"
|
|
46
|
+
# Output: Hello, Developer!
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Key Features
|
|
50
|
+
|
|
51
|
+
- **Full type inference** for parsed arguments based on your option definitions
|
|
52
|
+
- **Flexible option types**: strings, numbers, booleans, arrays, and nested objects
|
|
53
|
+
- **Command hierarchy** with unlimited nesting and inherited options
|
|
54
|
+
- **Middleware system** for transforming arguments before handler execution
|
|
55
|
+
- **Interactive shell** (opt-in) for easier exploration of complex command trees
|
|
56
|
+
- **Automatic documentation generation** to markdown or JSON formats
|
|
57
|
+
- **Configuration file support** with inheritance via `extends`
|
|
58
|
+
- **Built-in test harness** for unit testing your CLI commands
|
|
59
|
+
- **Comprehensive validation** with custom validators, choices, and cross-option constraints
|
|
60
|
+
|
|
61
|
+
## Option Types
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
cli('app')
|
|
65
|
+
.option('name', { type: 'string' })
|
|
66
|
+
.option('port', { type: 'number', default: 3000 })
|
|
67
|
+
.option('verbose', { type: 'boolean', alias: ['v'] })
|
|
68
|
+
.option('tags', { type: 'array', items: 'string' })
|
|
69
|
+
.option('config', {
|
|
70
|
+
type: 'object',
|
|
71
|
+
properties: {
|
|
72
|
+
host: { type: 'string' },
|
|
73
|
+
timeout: { type: 'number' },
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Subcommands
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
cli('git')
|
|
82
|
+
.command('remote', {
|
|
83
|
+
builder: (args) =>
|
|
84
|
+
args
|
|
85
|
+
.command('add', {
|
|
86
|
+
builder: (a) =>
|
|
87
|
+
a
|
|
88
|
+
.positional('name', { type: 'string' })
|
|
89
|
+
.positional('url', { type: 'string' }),
|
|
90
|
+
handler: (args) => {
|
|
91
|
+
console.log(`Adding remote ${args.name}: ${args.url}`);
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
.command('remove', {
|
|
95
|
+
builder: (a) => a.positional('name', { type: 'string' }),
|
|
96
|
+
handler: (args) => {
|
|
97
|
+
console.log(`Removing remote ${args.name}`);
|
|
98
|
+
},
|
|
99
|
+
}),
|
|
100
|
+
})
|
|
101
|
+
.forge();
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Middleware
|
|
105
|
+
|
|
106
|
+
Transform arguments before they reach your handler:
|
|
107
|
+
|
|
108
|
+
```typescript
|
|
109
|
+
cli('app')
|
|
110
|
+
.middleware((args) => ({
|
|
111
|
+
...args,
|
|
112
|
+
timestamp: Date.now(),
|
|
113
|
+
}))
|
|
114
|
+
.command('run', {
|
|
115
|
+
handler: (args) => {
|
|
116
|
+
console.log(`Started at: ${args.timestamp}`);
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Zod Validation
|
|
122
|
+
|
|
123
|
+
Optional Zod integration for schema validation:
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
import { cli } from 'cli-forge';
|
|
127
|
+
import { zodMiddleware } from 'cli-forge/middleware/zod';
|
|
128
|
+
import { z } from 'zod';
|
|
129
|
+
|
|
130
|
+
cli('app')
|
|
131
|
+
.option('port', { type: 'number' })
|
|
132
|
+
.middleware(
|
|
133
|
+
zodMiddleware(
|
|
134
|
+
z.object({
|
|
135
|
+
port: z.number().min(1).max(65535),
|
|
136
|
+
})
|
|
137
|
+
)
|
|
138
|
+
)
|
|
139
|
+
.forge();
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Interactive Shell
|
|
143
|
+
|
|
144
|
+
Enable an interactive REPL for your CLI:
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
cli('my-app')
|
|
148
|
+
.enableInteractiveShell()
|
|
149
|
+
.command('hello', { /* ... */ })
|
|
150
|
+
.forge();
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Testing
|
|
154
|
+
|
|
155
|
+
Use the built-in test harness:
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
import { TestHarness } from 'cli-forge';
|
|
159
|
+
import myCLI from './my-cli';
|
|
160
|
+
|
|
161
|
+
const harness = new TestHarness(myCLI);
|
|
162
|
+
|
|
163
|
+
const { args, commandChain } = await harness.parse(['hello', '--name', 'World']);
|
|
164
|
+
assert.strictEqual(args.name, 'World');
|
|
165
|
+
assert.deepStrictEqual(commandChain, ['hello']);
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Documentation Generation
|
|
169
|
+
|
|
170
|
+
Generate markdown or JSON documentation:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
npx cli-forge generate-docs ./my-cli.ts
|
|
174
|
+
npx cli-forge generate-docs ./my-cli.ts --format json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Related Packages
|
|
178
|
+
|
|
179
|
+
- [`@cli-forge/parser`](https://www.npmjs.com/package/@cli-forge/parser) - Low-level argument parser with type inference
|
|
180
|
+
|
|
181
|
+
## Documentation
|
|
182
|
+
|
|
183
|
+
Full documentation available at: https://craigory.dev/cli-forge/
|
|
184
|
+
|
|
185
|
+
## License
|
|
186
|
+
|
|
187
|
+
ISC
|
package/dist/bin/cli.d.ts
CHANGED
|
@@ -2,5 +2,22 @@
|
|
|
2
2
|
declare const mycli: import("../lib/public-api").CLI<{
|
|
3
3
|
unmatched: string[];
|
|
4
4
|
'--'?: string[];
|
|
5
|
-
}
|
|
5
|
+
}, void, import("../lib/public-api").CommandToChildEntry<import("../lib/public-api").CLI<any, any, any, undefined>, import("../lib/public-api").CLI<{
|
|
6
|
+
unmatched: string[];
|
|
7
|
+
'--'?: string[];
|
|
8
|
+
}, void, {}, undefined>> & import("../lib/public-api").CommandToChildEntry<import("../lib/public-api").CLI<{
|
|
9
|
+
unmatched: string[];
|
|
10
|
+
'--'?: string[];
|
|
11
|
+
} & {} & {
|
|
12
|
+
cliName: string;
|
|
13
|
+
} & {
|
|
14
|
+
output?: string | undefined;
|
|
15
|
+
} & {} & {} & {
|
|
16
|
+
format: "ts" | "js";
|
|
17
|
+
} & {} & {
|
|
18
|
+
initialVersion: string;
|
|
19
|
+
}, Promise<void>, {}, undefined>, import("../lib/public-api").CLI<{
|
|
20
|
+
unmatched: string[];
|
|
21
|
+
'--'?: string[];
|
|
22
|
+
}, void, {}, undefined>>, undefined>;
|
|
6
23
|
export default mycli;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ParsedArgs } from '@cli-forge/parser';
|
|
2
2
|
import { CLI } from '../..';
|
|
3
|
-
export declare function withGenerateDocumentationArgs<T extends ParsedArgs>(cmd: CLI<T>): CLI<T & {
|
|
3
|
+
export declare function withGenerateDocumentationArgs<T extends ParsedArgs>(cmd: CLI<T>): CLI<T & {} & {
|
|
4
4
|
cli: string;
|
|
5
|
-
} & {
|
|
5
|
+
} & {} & {
|
|
6
6
|
output: string;
|
|
7
|
-
} & {
|
|
7
|
+
} & {} & {
|
|
8
8
|
format: "md" | "json";
|
|
9
9
|
} & {
|
|
10
|
-
export
|
|
11
|
-
} & {
|
|
12
|
-
tsconfig
|
|
13
|
-
}>;
|
|
14
|
-
export declare const generateDocumentationCommand: CLI
|
|
10
|
+
export?: string | undefined;
|
|
11
|
+
} & {} & {
|
|
12
|
+
tsconfig?: string | undefined;
|
|
13
|
+
} & {}, void, {}, undefined>;
|
|
14
|
+
export declare const generateDocumentationCommand: CLI<any, any, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-documentation.js","sourceRoot":"","sources":["../../../src/bin/commands/generate-documentation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-documentation.js","sourceRoot":"","sources":["../../../src/bin/commands/generate-documentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import type { ParsedArgs } from '@cli-forge/parser';
|
|
2
2
|
import { CLI } from '../..';
|
|
3
|
-
export declare function withInitArgs<T extends ParsedArgs>(cmd: CLI<T>): CLI<T & {
|
|
3
|
+
export declare function withInitArgs<T extends ParsedArgs>(cmd: CLI<T>): CLI<T & {} & {
|
|
4
4
|
cliName: string;
|
|
5
5
|
} & {
|
|
6
|
-
output
|
|
7
|
-
} & {
|
|
6
|
+
output?: string | undefined;
|
|
7
|
+
} & {} & {} & {
|
|
8
8
|
format: "ts" | "js";
|
|
9
|
-
} & {
|
|
9
|
+
} & {} & {
|
|
10
10
|
initialVersion: string;
|
|
11
|
-
}>;
|
|
11
|
+
}, void, {}, undefined>;
|
|
12
12
|
export declare const initCommand: CLI<{
|
|
13
13
|
unmatched: string[];
|
|
14
14
|
'--'?: string[];
|
|
15
|
-
} & {
|
|
15
|
+
} & {} & {
|
|
16
16
|
cliName: string;
|
|
17
17
|
} & {
|
|
18
|
-
output
|
|
19
|
-
} & {
|
|
18
|
+
output?: string | undefined;
|
|
19
|
+
} & {} & {} & {
|
|
20
20
|
format: "ts" | "js";
|
|
21
|
-
} & {
|
|
21
|
+
} & {} & {
|
|
22
22
|
initialVersion: string;
|
|
23
|
-
}>;
|
|
23
|
+
}, Promise<void>, {}, undefined>;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ export * from './lib/public-api';
|
|
|
3
3
|
export { default } from './lib/public-api';
|
|
4
4
|
export { chain } from '@cli-forge/parser';
|
|
5
5
|
export { makeComposableBuilder } from './lib/composable-builder';
|
|
6
|
+
export type { ComposableBuilder, ExtractArgs, ExtractChildren, } from './lib/composable-builder';
|
|
6
7
|
export type { ArgumentsOf } from './lib/utils';
|
|
7
8
|
export { ConfigurationProviders } from './lib/configuration-providers';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mDAAiD;AAAxC,2GAAA,WAAW,OAAA;AACpB,2DAAiC;AACjC,+CAA2C;AAAlC,8HAAA,OAAO,OAAA;AAChB,4CAA0C;AAAjC,+FAAA,KAAK,OAAA;AACd,+DAAiE;AAAxD,2HAAA,qBAAqB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mDAAiD;AAAxC,2GAAA,WAAW,OAAA;AACpB,2DAAiC;AACjC,+CAA2C;AAAlC,8HAAA,OAAO,OAAA;AAChB,4CAA0C;AAAjC,+FAAA,KAAK,OAAA;AACd,+DAAiE;AAAxD,2HAAA,qBAAqB,OAAA;AAO9B,yEAAuE;AAA9D,iIAAA,sBAAsB,OAAA"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
1
|
import { ParsedArgs } from '@cli-forge/parser';
|
|
2
2
|
import { CLI } from './public-api';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Extracts the TChildren type parameter from a CLI type.
|
|
5
|
+
*/
|
|
6
|
+
export type ExtractChildren<T> = T extends CLI<any, any, infer C, any> ? C : never;
|
|
7
|
+
/**
|
|
8
|
+
* Extracts the TArgs type parameter from a CLI type.
|
|
9
|
+
*/
|
|
10
|
+
export type ExtractArgs<T> = T extends CLI<infer A, any, any, any> ? A : never;
|
|
11
|
+
/**
|
|
12
|
+
* Type for a composable builder function that transforms a CLI.
|
|
13
|
+
* Used with `chain` to compose multiple builders.
|
|
14
|
+
*/
|
|
15
|
+
export type ComposableBuilder<TArgs2 extends ParsedArgs, TAddedChildren = {}> = <TInit extends ParsedArgs, THandlerReturn, TChildren, TParent>(init: CLI<TInit, THandlerReturn, TChildren, TParent>) => CLI<TInit & TArgs2, THandlerReturn, TChildren & TAddedChildren, TParent>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a composable builder function that can be used with `chain`.
|
|
18
|
+
* Can be used to add options, commands, or any other CLI modifications.
|
|
19
|
+
* Children added by the builder function are properly tracked in the type.
|
|
20
|
+
*
|
|
21
|
+
* @typeParam TArgs2 - The args type after the builder runs
|
|
22
|
+
* @typeParam TChildren2 - The children type added by the builder
|
|
23
|
+
*/
|
|
24
|
+
export declare function makeComposableBuilder<TArgs2 extends ParsedArgs, TChildren2 = {}>(fn: (init: CLI<ParsedArgs, any, {}, any>) => CLI<TArgs2, any, TChildren2, any>): <TInit extends ParsedArgs, THandlerReturn, TChildren, TParent>(init: CLI<TInit, THandlerReturn, TChildren, TParent>) => CLI<TInit & TArgs2, THandlerReturn, TChildren & TChildren2, TParent>;
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeComposableBuilder = makeComposableBuilder;
|
|
4
|
+
/**
|
|
5
|
+
* Creates a composable builder function that can be used with `chain`.
|
|
6
|
+
* Can be used to add options, commands, or any other CLI modifications.
|
|
7
|
+
* Children added by the builder function are properly tracked in the type.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam TArgs2 - The args type after the builder runs
|
|
10
|
+
* @typeParam TChildren2 - The children type added by the builder
|
|
11
|
+
*/
|
|
4
12
|
function makeComposableBuilder(fn) {
|
|
5
|
-
return (init) =>
|
|
13
|
+
return (init) =>
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
15
|
+
fn(init);
|
|
6
16
|
}
|
|
7
17
|
//# sourceMappingURL=composable-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composable-builder.js","sourceRoot":"","sources":["../../src/lib/composable-builder.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"composable-builder.js","sourceRoot":"","sources":["../../src/lib/composable-builder.ts"],"names":[],"mappings":";;AAmCA,sDAoBC;AA5BD;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAKnC,EAGsC;IAEtC,OAAO,CACL,IAAoD,EACpD,EAAE;IACF,wDAAwD;IACxD,EAAE,CAAC,IAAgD,CAKlD,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/lib/documentation.ts"],"names":[],"mappings":";;AA+CA,sDA2DC;AA1GD,8CAI2B;AAmB3B,SAAS,qCAAqC,CAC5C,MAAS,EACT,GAAW;IAEX,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACrD,IAAI,eAA2D,CAAC;IAChE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;QAC7D,eAAe,GAAG,WAAW,IAAI,YAAY,CAAC;IAChD,CAAC;IACD,MAAM,MAAM,GAGR,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;IACrB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAMD,SAAgB,qBAAqB,CACnC,GAAgB,EAChB,eAAyB,EAAE;IAE3B,8CAA8C;IAC9C,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAC/B,gDAAgD;QAChD,qDAAqD;QACrD,uBAAuB;QACvB,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/lib/documentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ArgvParser, EnvOptionConfig, OptionConfig, ParsedArgs, type ConfigurationFiles } from '@cli-forge/parser';
|
|
2
|
-
import { CLI, CLICommandOptions, Command, ErrorHandler } from './public-api';
|
|
2
|
+
import { CLI, CLICommandOptions, Command, ErrorHandler, SDKCommand } from './public-api';
|
|
3
3
|
/**
|
|
4
4
|
* The base class for a CLI application. This class is used to define the structure of the CLI.
|
|
5
5
|
*
|
|
@@ -19,16 +19,21 @@ import { CLI, CLICommandOptions, Command, ErrorHandler } from './public-api';
|
|
|
19
19
|
* }).forge();
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs> implements CLI<TArgs> {
|
|
22
|
+
export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = void, TChildren = {}, TParent = undefined> implements CLI<TArgs, THandlerReturn, TChildren, TParent> {
|
|
23
23
|
name: string;
|
|
24
24
|
/**
|
|
25
25
|
* For internal use only. Stick to properties available on {@link CLI}.
|
|
26
26
|
*/
|
|
27
|
-
registeredCommands: Record<string, InternalCLI<any>>;
|
|
27
|
+
registeredCommands: Record<string, InternalCLI<any, any, any, any>>;
|
|
28
28
|
/**
|
|
29
29
|
* For internal use only. Stick to properties available on {@link CLI}.
|
|
30
30
|
*/
|
|
31
31
|
commandChain: string[];
|
|
32
|
+
/**
|
|
33
|
+
* Reference to the parent CLI instance, if this command was registered as a subcommand.
|
|
34
|
+
* For internal use only. Use `getParent()` instead.
|
|
35
|
+
*/
|
|
36
|
+
private _parent?;
|
|
32
37
|
private requiresCommand;
|
|
33
38
|
private _configuration?;
|
|
34
39
|
private _versionOverride?;
|
|
@@ -68,19 +73,24 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs> implemen
|
|
|
68
73
|
* @param name What should the name of the cli command be?
|
|
69
74
|
* @param configuration Configuration for the current CLI command.
|
|
70
75
|
*/
|
|
71
|
-
constructor(name: string, rootCommandConfiguration?: CLICommandOptions<TArgs>);
|
|
72
|
-
withRootCommandConfiguration<TRootCommandArgs extends TArgs>(configuration: CLICommandOptions<TArgs, TRootCommandArgs>): InternalCLI<TArgs>;
|
|
73
|
-
command<TCommandArgs extends TArgs>(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
constructor(name: string, rootCommandConfiguration?: CLICommandOptions<TArgs, any, THandlerReturn, TChildren>);
|
|
77
|
+
withRootCommandConfiguration<TRootCommandArgs extends TArgs>(configuration: CLICommandOptions<TArgs, TRootCommandArgs>): InternalCLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
78
|
+
command<TCommandArgs extends TArgs>(cmd: Command<TArgs, TCommandArgs>): CLI<TArgs, THandlerReturn, TChildren & (typeof cmd extends Command<TArgs, infer TCmdArgs, infer TCmdName> ? {
|
|
79
|
+
[key in TCmdName]: CLI<TCmdArgs, void, {}, CLI<TArgs, THandlerReturn, TChildren, TParent>>;
|
|
80
|
+
} : {}), TParent>;
|
|
81
|
+
command<TCommandArgs extends TArgs, TChildHandlerReturn = void, TCommandName extends string = string>(key: TCommandName, options: CLICommandOptions<TArgs, TCommandArgs, TChildHandlerReturn>): CLI<TArgs, THandlerReturn, TChildren & {
|
|
82
|
+
[key in TCommandName]: CLI<TCommandArgs, TChildHandlerReturn, {}, CLI<TArgs, THandlerReturn, TChildren, TParent>>;
|
|
83
|
+
}, TParent>;
|
|
84
|
+
commands(...a0: Command[] | Command[][]): any;
|
|
85
|
+
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): any;
|
|
86
|
+
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): any;
|
|
87
|
+
conflicts(...args: [string, string, ...string[]]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
88
|
+
implies(option: string, ...impliedOptions: string[]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
89
|
+
env(a0?: string | EnvOptionConfig | undefined): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
90
|
+
demandCommand(): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
91
|
+
usage(usageText: string): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
92
|
+
examples(...examples: string[]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
93
|
+
version(version?: string): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
84
94
|
/**
|
|
85
95
|
* Gets help text for the current command as a string.
|
|
86
96
|
* @returns Help text for the current command.
|
|
@@ -90,23 +100,30 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs> implemen
|
|
|
90
100
|
* Prints help text for the current command to the console.
|
|
91
101
|
*/
|
|
92
102
|
printHelp(): void;
|
|
93
|
-
middleware<TArgs2>(callback: (args: TArgs) => TArgs2 | Promise<TArgs2>): CLI<TArgs2 extends void ? TArgs : TArgs & TArgs2>;
|
|
103
|
+
middleware<TArgs2>(callback: (args: TArgs) => TArgs2 | Promise<TArgs2>): CLI<TArgs2 extends void ? TArgs : TArgs & TArgs2, THandlerReturn, TChildren, TParent>;
|
|
94
104
|
/**
|
|
95
105
|
* Runs the current command.
|
|
96
106
|
* @param cmd The command to run.
|
|
97
107
|
* @param args The arguments to pass to the command.
|
|
98
108
|
*/
|
|
99
109
|
runCommand<T extends ParsedArgs>(args: T, originalArgV: string[]): Promise<void>;
|
|
100
|
-
|
|
110
|
+
getChildren(): TChildren;
|
|
111
|
+
getParent(): TParent;
|
|
112
|
+
getBuilder(): (<TInit extends ParsedArgs, TInitHandlerReturn, TInitChildren, TInitParent>(parser: CLI<TInit, TInitHandlerReturn, TInitChildren, TInitParent>) => CLI<TInit & TArgs, TInitHandlerReturn, TInitChildren & TChildren, TInitParent>) | undefined;
|
|
113
|
+
getHandler(): ((args: Omit<TArgs, keyof ParsedArgs>) => THandlerReturn) | undefined;
|
|
114
|
+
sdk(): SDKCommand<TArgs, THandlerReturn, TChildren>;
|
|
115
|
+
private buildSDKProxy;
|
|
116
|
+
private collectMiddlewareChain;
|
|
117
|
+
enableInteractiveShell(): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
101
118
|
private versionHandler;
|
|
102
119
|
private withErrorHandlers;
|
|
103
|
-
errorHandler(handler: ErrorHandler):
|
|
120
|
+
errorHandler(handler: ErrorHandler): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
104
121
|
group(labelOrConfigObject: string | {
|
|
105
122
|
label: string;
|
|
106
123
|
keys: (keyof TArgs)[];
|
|
107
124
|
sortOrder: number;
|
|
108
|
-
}, keys?: (keyof TArgs)[]): CLI<TArgs>;
|
|
109
|
-
config(provider: ConfigurationFiles.ConfigurationProvider<TArgs>): CLI<TArgs>;
|
|
125
|
+
}, keys?: (keyof TArgs)[]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
126
|
+
config(provider: ConfigurationFiles.ConfigurationProvider<TArgs>): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
110
127
|
/**
|
|
111
128
|
* Parses argv and executes the CLI
|
|
112
129
|
* @param args argv. Defaults to process.argv.slice(2)
|
|
@@ -119,5 +136,5 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs> implemen
|
|
|
119
136
|
version: boolean | undefined;
|
|
120
137
|
}>;
|
|
121
138
|
getSubcommands(): Readonly<Record<string, InternalCLI>>;
|
|
122
|
-
clone(): InternalCLI<TArgs>;
|
|
139
|
+
clone(): InternalCLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
123
140
|
}
|