cli-forge 0.12.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/dist/lib/internal-cli.d.ts +7 -7
- package/dist/lib/internal-cli.js +101 -4
- package/dist/lib/internal-cli.js.map +1 -1
- package/dist/lib/public-api.d.ts +90 -9
- package/dist/lib/public-api.js.map +1 -1
- package/package.json +7 -3
- package/src/lib/documentation.spec.ts +1 -0
- package/src/lib/internal-cli.spec.ts +6 -5
- package/src/lib/internal-cli.ts +130 -8
- package/src/lib/public-api.ts +120 -28
- 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
|
@@ -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
|
*
|
|
@@ -82,8 +82,8 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandler
|
|
|
82
82
|
[key in TCommandName]: CLI<TCommandArgs, TChildHandlerReturn, {}, CLI<TArgs, THandlerReturn, TChildren, TParent>>;
|
|
83
83
|
}, TParent>;
|
|
84
84
|
commands(...a0: Command[] | Command[][]): any;
|
|
85
|
-
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any
|
|
86
|
-
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, 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
87
|
conflicts(...args: [string, string, ...string[]]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
88
88
|
implies(option: string, ...impliedOptions: string[]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
89
89
|
env(a0?: string | EnvOptionConfig | undefined): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
@@ -109,11 +109,11 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandler
|
|
|
109
109
|
runCommand<T extends ParsedArgs>(args: T, originalArgV: string[]): Promise<void>;
|
|
110
110
|
getChildren(): TChildren;
|
|
111
111
|
getParent(): TParent;
|
|
112
|
-
getBuilder<
|
|
113
|
-
unmatched: string[];
|
|
114
|
-
'--'?: string[];
|
|
115
|
-
}>(_?: CLI<T, any, any> | undefined): ((parser: CLI<T, any, any>) => CLI<TArgs, THandlerReturn, TChildren>) | undefined;
|
|
112
|
+
getBuilder(): (<TInit extends ParsedArgs, TInitHandlerReturn, TInitChildren, TInitParent>(parser: CLI<TInit, TInitHandlerReturn, TInitChildren, TInitParent>) => CLI<TInit & TArgs, TInitHandlerReturn, TInitChildren & TChildren, TInitParent>) | undefined;
|
|
116
113
|
getHandler(): ((args: Omit<TArgs, keyof ParsedArgs>) => THandlerReturn) | undefined;
|
|
114
|
+
sdk(): SDKCommand<TArgs, THandlerReturn, TChildren>;
|
|
115
|
+
private buildSDKProxy;
|
|
116
|
+
private collectMiddlewareChain;
|
|
117
117
|
enableInteractiveShell(): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
118
118
|
private versionHandler;
|
|
119
119
|
private withErrorHandlers;
|
package/dist/lib/internal-cli.js
CHANGED
|
@@ -323,10 +323,12 @@ class InternalCLI {
|
|
|
323
323
|
getParent() {
|
|
324
324
|
return this._parent;
|
|
325
325
|
}
|
|
326
|
-
getBuilder(
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
326
|
+
getBuilder() {
|
|
327
|
+
const builder = this.configuration?.builder;
|
|
328
|
+
if (!builder)
|
|
329
|
+
return undefined;
|
|
330
|
+
// Return a composable builder that preserves input types
|
|
331
|
+
return ((parser) => builder(parser));
|
|
330
332
|
}
|
|
331
333
|
getHandler() {
|
|
332
334
|
const context = {
|
|
@@ -338,6 +340,101 @@ class InternalCLI {
|
|
|
338
340
|
}
|
|
339
341
|
return (args) => handler(args, context);
|
|
340
342
|
}
|
|
343
|
+
sdk() {
|
|
344
|
+
return this.buildSDKProxy(this);
|
|
345
|
+
}
|
|
346
|
+
buildSDKProxy(targetCmd) {
|
|
347
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
348
|
+
const self = this;
|
|
349
|
+
const invoke = async (argsOrArgv) => {
|
|
350
|
+
// Clone the target command to avoid mutating the original
|
|
351
|
+
const cmd = targetCmd.clone();
|
|
352
|
+
const handler = cmd._configuration?.handler;
|
|
353
|
+
if (!handler) {
|
|
354
|
+
throw new Error(`Command '${cmd.name}' has no handler`);
|
|
355
|
+
}
|
|
356
|
+
let parsedArgs;
|
|
357
|
+
if (Array.isArray(argsOrArgv)) {
|
|
358
|
+
// String array: full pipeline (parse → validate → middleware)
|
|
359
|
+
// Run the builder first if present
|
|
360
|
+
if (cmd._configuration?.builder) {
|
|
361
|
+
cmd._configuration.builder(cmd);
|
|
362
|
+
}
|
|
363
|
+
parsedArgs = cmd.parser.parse(argsOrArgv);
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
// Object args: skip validation, apply defaults, run middleware
|
|
367
|
+
// Run the builder first to register options and get defaults
|
|
368
|
+
if (cmd._configuration?.builder) {
|
|
369
|
+
cmd._configuration.builder(cmd);
|
|
370
|
+
}
|
|
371
|
+
// Build defaults from configured options
|
|
372
|
+
const defaults = {};
|
|
373
|
+
for (const [key, config] of Object.entries(cmd.parser.configuredOptions)) {
|
|
374
|
+
if (config.default !== undefined) {
|
|
375
|
+
defaults[key] = config.default;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
parsedArgs = {
|
|
379
|
+
...defaults,
|
|
380
|
+
...argsOrArgv,
|
|
381
|
+
unmatched: [],
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
// Collect and run middleware from the command chain
|
|
385
|
+
const middlewares = self.collectMiddlewareChain(targetCmd);
|
|
386
|
+
for (const mw of middlewares) {
|
|
387
|
+
const middlewareResult = await mw(parsedArgs);
|
|
388
|
+
if (middlewareResult !== void 0 &&
|
|
389
|
+
typeof middlewareResult === 'object') {
|
|
390
|
+
parsedArgs = middlewareResult;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Execute handler
|
|
394
|
+
const context = {
|
|
395
|
+
command: cmd,
|
|
396
|
+
};
|
|
397
|
+
const result = await handler(parsedArgs, context);
|
|
398
|
+
// Try to attach $args to the result (fails silently for primitives)
|
|
399
|
+
if (result !== null && typeof result === 'object') {
|
|
400
|
+
try {
|
|
401
|
+
result.$args = parsedArgs;
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
// Cannot attach to frozen objects or primitives, return as-is
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return result;
|
|
408
|
+
};
|
|
409
|
+
// Ensure builder has run to register all subcommands
|
|
410
|
+
if (targetCmd._configuration?.builder) {
|
|
411
|
+
targetCmd._configuration.builder(targetCmd);
|
|
412
|
+
}
|
|
413
|
+
// Create proxy that is both callable and has child properties
|
|
414
|
+
return new Proxy(invoke, {
|
|
415
|
+
get(_, prop) {
|
|
416
|
+
// Handle special properties
|
|
417
|
+
if (prop === 'then' || prop === 'catch' || prop === 'finally') {
|
|
418
|
+
// Don't intercept Promise methods - this prevents issues with await
|
|
419
|
+
return undefined;
|
|
420
|
+
}
|
|
421
|
+
const child = targetCmd.registeredCommands[prop];
|
|
422
|
+
if (child) {
|
|
423
|
+
return self.buildSDKProxy(child);
|
|
424
|
+
}
|
|
425
|
+
return undefined;
|
|
426
|
+
},
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
collectMiddlewareChain(cmd) {
|
|
430
|
+
const chain = [];
|
|
431
|
+
let current = cmd;
|
|
432
|
+
while (current) {
|
|
433
|
+
chain.unshift(current);
|
|
434
|
+
current = current._parent;
|
|
435
|
+
}
|
|
436
|
+
return chain.flatMap((c) => c.registeredMiddleware);
|
|
437
|
+
}
|
|
341
438
|
enableInteractiveShell() {
|
|
342
439
|
if (this.requiresCommand === 'EXPLICIT') {
|
|
343
440
|
throw new Error('Interactive shell is not supported for commands that require a command.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-cli.js","sourceRoot":"","sources":["../../src/lib/internal-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internal-cli.js","sourceRoot":"","sources":["../../src/lib/internal-cli.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,8CAS2B;AAC3B,mCAA+D;AAC/D,2DAA0E;AAS1E,2DAA6D;AAC7D,+CAA2C;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,WAAW;IA2Gb;IAnGT;;OAEG;IACH,kBAAkB,GAAoD,EAAE,CAAC;IAEzE;;OAEG;IACH,YAAY,GAAa,EAAE,CAAC;IAE5B;;;OAGG;IACK,OAAO,CAAmC;IAE1C,eAAe,GAAoC,UAAU,CAAC;IAE9D,cAAc,CAA+B;IAE7C,gBAAgB,CAAU;IAE1B,uBAAuB,GAAwB;QACrD,CAAC,CAAU,EAAE,OAAO,EAAE,EAAE;YACtB,IAAI,CAAC,YAAY,8BAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;IAEM,oBAAoB,GAAiC,EAAE,CAAC;IAEhE;;;;OAIG;IACH,sBAAsB,GAIjB,EAAE,CAAC;IAER,iBAAiB;QACf,OAAO,IAAA,0CAAsB,EAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAY,aAAa,CAAC,KAA8C;QACtE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,GAAG,IAAI,mBAAU,CAAQ;QAC7B,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,4DAA4D;YAC5D,IAAI,cAAc,GAAoC,IAAI,CAAC;YAC3D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,cAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC7B,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,OAAc,CAAC,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;SACC,MAAM,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,WAAW,EAAE,mCAAmC;KACjD,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,qCAAqC;KACnD,CAAC,CAAC;IAEL;;;OAGG;IACH,YACS,IAAY,EACnB,wBAKC;QANM,SAAI,GAAJ,IAAI,CAAQ;QAQnB,IAAI,wBAAwB,EAAE,CAAC;YAC7B,IAAI,CAAC,4BAA4B,CAAC,wBAA+B,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4BAA4B,CAC1B,aAAyD;QAEzD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAwCD,OAAO,CAKL,YAAyD,EACzD,OAAqE;QA+BrE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,YAAY,CAAC;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,4BAA4B,CAAC;oBAChC,GAAG,IAAI,CAAC,cAAc;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAc;oBAC/B,OAAO,EAAE,OAAO,CAAC,OAAc;oBAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,WAAW,CACzB,GAAG,CACJ,CAAC,4BAA4B,CAAC,OAAc,CAAC,CAAC;YAC/C,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,YAAY,YAAY,WAAW,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,YAAY,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YACxC,IAAI,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBAC5C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,YAEO,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAe,IAAI,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAW,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,GAAG,EAA2B;QACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACxC,qFAAqF;gBACrF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,GAEJ,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAGJ,IAAa,EAAE,MAAqB;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,4FAA4F;QAC5F,OAAO,IAAW,CAAC;IACrB,CAAC;IAED,UAAU,CAGR,IAAa,EAAE,MAAqB;QACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,4FAA4F;QAC5F,OAAO,IAAW,CAAC;IACrB,CAAC;IAED,SAAS,CACP,GAAG,IAAmC;QAEtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,OAAO,CACL,MAAc,EACd,GAAG,cAAwB;QAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC;QAC/C,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,GAAG,CACD,KAA2C,IAAA,yCAAgC,EACzE,IAAI,CAAC,IAAI,CACV;QAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,MAAM,KAAK,IAAA,yCAAgC,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,aAAa;QACX,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,aAAa,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;QACrC,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,QAAQ,CACN,GAAG,QAAkB;QAErB,IAAI,CAAC,aAAa,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC9C,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,OAAgB;QACtB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAA,wBAAU,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CACR,QAAmD;QAOnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,sDAAsD;QACtD,6DAA6D;QAC7D,qEAAqE;QACrE,OAAO,IAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAuB,IAAO,EAAE,YAAsB;QACpE,MAAM,WAAW,GAA+B;YAC9C,GAAG,IAAI,CAAC,oBAAoB;SAC7B,CAAC;QACF,4DAA4D;QAC5D,IAAI,GAAG,GAAoC,IAAI,CAAC;QAChD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CACpE,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;gBAC/B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;oBAChD,IACE,gBAAgB,KAAK,KAAK,CAAC;wBAC3B,OAAO,gBAAgB,KAAK,QAAQ,EACpC,CAAC;wBACD,IAAI,GAAG,gBAAqB,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE;oBACrC,OAAO,EAAE,GAAU;iBACpB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBAC1B,8DAA8D;wBAC9D,6BAA6B;oBAC/B,CAAC;yBAAM,IAAI,CAAC,qCAAiB,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,IAAI,oCAAgB,CAC9B,IAAmC,EACnC;4BACE,WAAW,EAAE,YAAY;yBAC1B,CACF,CAAC;wBACF,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;4BAC9B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE;gCACjB,GAAG,CAAC,KAAK,EAAE,CAAC;gCACZ,GAAG,EAAE,CAAC;4BACR,CAAC,CAAC,CACH,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,gDAAgD;gBAChD,gCAAgC;qBAC3B,CAAC;oBACJ,MAAM,IAAI,KAAK,CACb,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CACrE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,WAAW;QACT,yGAAyG;QACzG,MAAM,QAAQ,GAAoD,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;QACxD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,QAAqB,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAkB,CAAC;IACjC,CAAC;IAED,UAAU;QAKR,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,yDAAyD;QACzD,OAAO,CAAC,CAAC,MAA+B,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAQ,CAAC;IACvE,CAAC;IAED,UAAU;QAGR,MAAM,OAAO,GAA0C;YACrD,OAAO,EAAE,IAAoD;SAC9D,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,IAAmC,EAAE,EAAE,CAC7C,OAAO,CACL,IAAa,EACb,OAAsC,CACrB,CAAC;IACxB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAI7B,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,SAA0C;QAC9D,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,MAAM,GAAG,KAAK,EAClB,UAA+C,EACF,EAAE;YAC/C,0DAA0D;YAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAE9B,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC;YAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,UAAe,CAAC;YAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,8DAA8D;gBAC9D,mCAAmC;gBACnC,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;oBAChC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBACzC,CAAC;gBACD,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,6DAA6D;gBAC7D,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;oBAChC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBACzC,CAAC;gBACD,yCAAyC;gBACzC,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CACxC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAC7B,EAAE,CAAC;oBACF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACjC,CAAC;gBACH,CAAC;gBACD,UAAU,GAAG;oBACX,GAAG,QAAQ;oBACX,GAAG,UAAU;oBACb,SAAS,EAAE,EAAE;iBACd,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC3D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC7B,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC9C,IACE,gBAAgB,KAAK,KAAK,CAAC;oBAC3B,OAAO,gBAAgB,KAAK,QAAQ,EACpC,CAAC;oBACD,UAAU,GAAG,gBAAgB,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,kBAAkB;YAClB,MAAM,OAAO,GAAgC;gBAC3C,OAAO,EAAE,GAAyC;aACnD,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAElD,oEAAoE;YACpE,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACF,MAAc,CAAC,KAAK,GAAG,UAAU,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,8DAA8D;gBAChE,CAAC;YACH,CAAC;YAED,OAAO,MAAmD,CAAC;QAC7D,CAAC,CAAC;QAEF,qDAAqD;QACrD,IAAI,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YACtC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,SAAgB,CAAC,CAAC;QACrD,CAAC;QAED,8DAA8D;QAC9D,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACvB,GAAG,CAAC,CAAC,EAAE,IAAY;gBACjB,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC9D,oEAAoE;oBACpE,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAC5B,GAAoC;QAEpC,MAAM,KAAK,GAAsC,EAAE,CAAC;QACpD,IAAI,OAAO,GAAgD,GAAG,CAAC;QAC/D,OAAO,OAAO,EAAE,CAAC;YACf,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;QACvC,QAAQ,KAAK,IAAA,sBAAc,GAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAI,EAAW;QAC5C,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACH,OAAO,CAAC,CAAC,EAAE;wBACT,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;4BACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;qBACF,CAAC,CAAC;oBACH,yCAAyC;oBACzC,MAAM;gBACR,CAAC;gBAAC,MAAM,CAAC;oBACP,sDAAsD;gBACxD,CAAC;YACH,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,YAAY,CACV,OAAqB;QAErB,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,KAAK,CACH,mBAE+D,EAC/D,IAAsB;QAEtB,MAAM,MAAM,GACV,OAAO,mBAAmB,KAAK,QAAQ;YACrC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,IAAuB;gBAC7B,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM;aAC3D,CAAC;QAER,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED,MAAM,CACJ,QAAyD;QAEzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,QAAyD,CAC1D,CAAC;QACF,OAAO,IAAiE,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,GAAG,CAAC,OAAiB,IAAA,gBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;QAChC,oCAAoC;QACpC,mCAAmC;QACnC,iDAAiD;QACjD,IAAI,IAAmD,CAAC;QACxD,IAAI,qBAA+D,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,8BAAqB,EAAE,CAAC;gBACvC,IAAI,GAAG,CAAC,CAAC,WAAoB,CAAC;gBAC9B,qBAAqB,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,4DAA4D;QAC5D,IAAI,cAAc,GAAoC,IAAI,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,cAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,qBAAqB,EAAE,CAAC;YACjC,MAAM,qBAAqB,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GACb,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,OAAO;YAC3D,CAAC,CAAC,CACE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAC1B,IAAW,CAEd,CAAA,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,SAAkB,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEL,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,kBAA2D,CAAC;IAC1E,CAAC;IAED,KAAK;QACH,MAAM,KAAK,GAAG,IAAI,WAAW,CAC3B,IAAI,CAAC,IAAI,CACV,CAAC;QACF,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;QAC9D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,KAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAS,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/vBD,kCA+vBC"}
|
package/dist/lib/public-api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ConfigurationFiles, OptionConfig, OptionConfigToType, ParsedArgs, EnvOptionConfig, ObjectOptionConfig, StringOptionConfig, NumberOptionConfig, BooleanOptionConfig, ArrayOptionConfig, ResolveProperties, WithOptional, MakeUndefinedPropertiesOptional
|
|
1
|
+
import { type ConfigurationFiles, OptionConfig, OptionConfigToType, ParsedArgs, EnvOptionConfig, ObjectOptionConfig, StringOptionConfig, NumberOptionConfig, BooleanOptionConfig, ArrayOptionConfig, ResolveProperties, WithOptional, MakeUndefinedPropertiesOptional } from '@cli-forge/parser';
|
|
2
2
|
import { InternalCLI } from './internal-cli';
|
|
3
3
|
/**
|
|
4
4
|
* Extracts the command name from a Command type.
|
|
@@ -52,7 +52,7 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
52
52
|
* @param options Settings for the new command. See {@link CLICommandOptions}.
|
|
53
53
|
* @returns Updated CLI instance with the new command registered.
|
|
54
54
|
*/
|
|
55
|
-
command<TCommandArgs extends TArgs, TChildHandlerReturn, TKey extends string, TChildChildren = {}>(key: TKey, options: CLICommandOptions<TArgs, TCommandArgs, TChildHandlerReturn,
|
|
55
|
+
command<TCommandArgs extends TArgs, TChildHandlerReturn, TKey extends string, TChildChildren = {}>(key: TKey, options: CLICommandOptions<TArgs, TCommandArgs, TChildHandlerReturn, TChildren, CLI<TArgs, THandlerReturn, TChildren, TParent>, TChildChildren>): CLI<TArgs, THandlerReturn, TChildren & {
|
|
56
56
|
[key in TKey]: CLI<TCommandArgs, TChildHandlerReturn, TChildChildren, CLI<TArgs, THandlerReturn, TChildren, TParent>>;
|
|
57
57
|
}, TParent>;
|
|
58
58
|
/**
|
|
@@ -103,8 +103,8 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
103
103
|
*/
|
|
104
104
|
option<TOption extends string, TCoerce, const TProps extends Record<string, {
|
|
105
105
|
type: string;
|
|
106
|
-
}
|
|
107
|
-
[key in TOption]: WithOptional<unknown extends TCoerce ?
|
|
106
|
+
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
107
|
+
[key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
|
|
108
108
|
}>, THandlerReturn, TChildren, TParent>;
|
|
109
109
|
option<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
110
110
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
@@ -118,7 +118,7 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
118
118
|
option<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
119
119
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
120
120
|
}>, THandlerReturn, TChildren, TParent>;
|
|
121
|
-
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any
|
|
121
|
+
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
122
122
|
[key in TOption]: OptionConfigToType<TOptionConfig>;
|
|
123
123
|
}>, THandlerReturn, TChildren, TParent>;
|
|
124
124
|
/**
|
|
@@ -130,8 +130,8 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
130
130
|
*/
|
|
131
131
|
positional<TOption extends string, TCoerce, const TProps extends Record<string, {
|
|
132
132
|
type: string;
|
|
133
|
-
}
|
|
134
|
-
[key in TOption]: WithOptional<unknown extends TCoerce ?
|
|
133
|
+
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
134
|
+
[key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
|
|
135
135
|
}>, THandlerReturn, TChildren, TParent>;
|
|
136
136
|
positional<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
137
137
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
@@ -145,7 +145,7 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
145
145
|
positional<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
146
146
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
147
147
|
}>, THandlerReturn, TChildren, TParent>;
|
|
148
|
-
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any
|
|
148
|
+
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
149
149
|
[key in TOption]: OptionConfigToType<TOptionConfig>;
|
|
150
150
|
}>, THandlerReturn, TChildren, TParent>;
|
|
151
151
|
/**
|
|
@@ -236,7 +236,50 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
236
236
|
* ```
|
|
237
237
|
*/
|
|
238
238
|
getParent(): TParent;
|
|
239
|
-
|
|
239
|
+
/**
|
|
240
|
+
* Returns a programmatic SDK for invoking this CLI and its subcommands.
|
|
241
|
+
* The SDK provides typed function calls instead of argv parsing.
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```ts
|
|
245
|
+
* const myCLI = cli('my-app')
|
|
246
|
+
* .option('verbose', { type: 'boolean' })
|
|
247
|
+
* .command('build', {
|
|
248
|
+
* builder: (cmd) => cmd.option('watch', { type: 'boolean' }),
|
|
249
|
+
* handler: (args) => ({ success: true, files: ['a.js'] })
|
|
250
|
+
* });
|
|
251
|
+
*
|
|
252
|
+
* const sdk = myCLI.sdk();
|
|
253
|
+
*
|
|
254
|
+
* // Invoke root command (if it has a handler)
|
|
255
|
+
* await sdk({ verbose: true });
|
|
256
|
+
*
|
|
257
|
+
* // Invoke subcommand with typed args
|
|
258
|
+
* const result = await sdk.build({ watch: true });
|
|
259
|
+
* console.log(result.files); // ['a.js']
|
|
260
|
+
* console.log(result.$args.watch); // true
|
|
261
|
+
*
|
|
262
|
+
* // Use CLI-style args for -- support
|
|
263
|
+
* await sdk.build(['--watch', '--', 'extra-arg']);
|
|
264
|
+
* ```
|
|
265
|
+
*
|
|
266
|
+
* @returns An SDK object that is callable (if this command has a handler)
|
|
267
|
+
* and has properties for each subcommand.
|
|
268
|
+
*/
|
|
269
|
+
sdk(): SDKCommand<TArgs, THandlerReturn, TChildren>;
|
|
270
|
+
/**
|
|
271
|
+
* Returns the builder function for this command as a composable builder.
|
|
272
|
+
* The returned function can be used with `chain` to compose multiple builders.
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```ts
|
|
276
|
+
* const siblings = args.getParent().getChildren();
|
|
277
|
+
* const withBuildArgs = siblings.build.getBuilder()!;
|
|
278
|
+
* const withServeArgs = siblings.serve.getBuilder()!;
|
|
279
|
+
* return chain(args, withBuildArgs, withServeArgs);
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
getBuilder(): (<TInit extends ParsedArgs, TInitHandlerReturn, TInitChildren, TInitParent>(parser: CLI<TInit, TInitHandlerReturn, TInitChildren, TInitParent>) => CLI<TInit & TArgs, TInitHandlerReturn, TInitChildren & TChildren, TInitParent>) | undefined;
|
|
240
283
|
getHandler(): ((args: Omit<TArgs, keyof ParsedArgs>) => THandlerReturn) | undefined;
|
|
241
284
|
}
|
|
242
285
|
export interface CLIHandlerContext<TChildren = {}, TParent = any> {
|
|
@@ -322,6 +365,44 @@ export type ErrorHandler = (e: unknown, actions: {
|
|
|
322
365
|
}) => void;
|
|
323
366
|
export type UnknownCLI = CLI<ParsedArgs, any, any, any>;
|
|
324
367
|
export type MiddlewareFunction<TArgs extends ParsedArgs, TArgs2> = (args: TArgs) => TArgs2 | Promise<TArgs2>;
|
|
368
|
+
/**
|
|
369
|
+
* Result type that conditionally includes $args.
|
|
370
|
+
* Only attaches $args when result is an object type.
|
|
371
|
+
* Uses Awaited<T> to handle async handlers that return Promise<U>.
|
|
372
|
+
*/
|
|
373
|
+
export type SDKResult<TArgs, THandlerReturn> = Awaited<THandlerReturn> extends object ? Awaited<THandlerReturn> & {
|
|
374
|
+
$args: TArgs;
|
|
375
|
+
} : Awaited<THandlerReturn>;
|
|
376
|
+
/**
|
|
377
|
+
* The callable signature for a command with a handler.
|
|
378
|
+
* Supports both object-style args (typed, skips validation) and
|
|
379
|
+
* string array args (CLI-style, full validation pipeline).
|
|
380
|
+
*/
|
|
381
|
+
export type SDKInvokable<TArgs, THandlerReturn> = {
|
|
382
|
+
/**
|
|
383
|
+
* Invoke the command with typed object args.
|
|
384
|
+
* Skips validation (TypeScript handles it), applies defaults, runs middleware.
|
|
385
|
+
*/
|
|
386
|
+
(args?: Partial<Omit<TArgs, 'unmatched' | '--'>>): Promise<SDKResult<TArgs, THandlerReturn>>;
|
|
387
|
+
/**
|
|
388
|
+
* Invoke the command with CLI-style string args.
|
|
389
|
+
* Runs full pipeline: parse → validate → middleware → handler.
|
|
390
|
+
* Use this when you need to pass `--` extra args.
|
|
391
|
+
*/
|
|
392
|
+
(args: string[]): Promise<SDKResult<TArgs, THandlerReturn>>;
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Recursively builds SDK type from TChildren.
|
|
396
|
+
* Each child command becomes a property on the SDK object.
|
|
397
|
+
*/
|
|
398
|
+
export type SDKChildren<TChildren> = {
|
|
399
|
+
[K in keyof TChildren]: TChildren[K] extends CLI<infer A, infer R, infer C, infer _P> ? SDKCommand<A, R, C> : never;
|
|
400
|
+
};
|
|
401
|
+
/**
|
|
402
|
+
* A single SDK command - callable if it has a handler, with nested children as properties.
|
|
403
|
+
* Container commands (no handler) are not callable but still provide access to children.
|
|
404
|
+
*/
|
|
405
|
+
export type SDKCommand<TArgs, THandlerReturn, TChildren> = SDKInvokable<TArgs, THandlerReturn> & SDKChildren<TChildren>;
|
|
325
406
|
/**
|
|
326
407
|
* Constructs a CLI instance. See {@link CLI} for more information.
|
|
327
408
|
* @param name Name for the top level CLI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/lib/public-api.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/lib/public-api.ts"],"names":[],"mappings":";;AAk/BA,kBAsBC;AAv/BD,iDAA6C;AA29B7C;;;;;GAKG;AACH,SAAgB,GAAG,CAOjB,IAAW,EACX,wBAOC;IAED,OAAO,IAAI,0BAAW,CAAC,IAAI,EAAE,wBAA+B,CAI3D,CAAC;AACJ,CAAC;AAED,kBAAe,GAAG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-forge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.3.0",
|
|
6
|
-
"@cli-forge/parser": "0.
|
|
6
|
+
"@cli-forge/parser": "1.0.0"
|
|
7
7
|
},
|
|
8
8
|
"peerDependencies": {
|
|
9
9
|
"markdown-factory": "^0.2.0",
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
"optional": true
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"vite": "^5.4.0"
|
|
28
|
+
},
|
|
26
29
|
"type": "commonjs",
|
|
27
30
|
"main": "./dist/index.js",
|
|
28
31
|
"typings": "./dist/index.d.ts",
|
|
@@ -39,7 +42,8 @@
|
|
|
39
42
|
"exports": {
|
|
40
43
|
".": {
|
|
41
44
|
"require": "./dist/index.js",
|
|
42
|
-
"types": "./dist/index.d.ts"
|
|
45
|
+
"types": "./dist/index.d.ts",
|
|
46
|
+
"import": "./dist/index.js"
|
|
43
47
|
},
|
|
44
48
|
"./middleware": {
|
|
45
49
|
"require": "./dist/middleware.js",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { it, describe, expect, afterEach } from 'vitest';
|
|
1
2
|
import { InternalCLI } from './internal-cli';
|
|
2
3
|
import { cli } from './public-api';
|
|
3
4
|
|
|
@@ -77,11 +78,11 @@ describe('cliForge', () => {
|
|
|
77
78
|
alias: ['$0'],
|
|
78
79
|
builder: (argv) => argv,
|
|
79
80
|
handler: makeHandler('bar'),
|
|
80
|
-
}) as InternalCLI
|
|
81
|
-
await test.clone().forge(['f']);
|
|
82
|
-
await test.clone().forge(['foo']);
|
|
83
|
-
await test.clone().forge(['bar']);
|
|
84
|
-
await test.clone().forge([]);
|
|
81
|
+
}) as Partial<InternalCLI>;
|
|
82
|
+
await test.clone?.().forge(['f']);
|
|
83
|
+
await test.clone?.().forge(['foo']);
|
|
84
|
+
await test.clone?.().forge(['bar']);
|
|
85
|
+
await test.clone?.().forge([]);
|
|
85
86
|
expect(ran).toMatchInlineSnapshot(`
|
|
86
87
|
{
|
|
87
88
|
"bar": 2,
|
package/src/lib/internal-cli.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
CLIHandlerContext,
|
|
18
18
|
Command,
|
|
19
19
|
ErrorHandler,
|
|
20
|
+
SDKCommand,
|
|
20
21
|
} from './public-api';
|
|
21
22
|
import { readOptionGroupsForCLI } from './cli-option-groups';
|
|
22
23
|
import { formatHelp } from './format-help';
|
|
@@ -308,7 +309,7 @@ export class InternalCLI<
|
|
|
308
309
|
|
|
309
310
|
option<
|
|
310
311
|
TOption extends string,
|
|
311
|
-
const TOptionConfig extends OptionConfig<any, any, any
|
|
312
|
+
const TOptionConfig extends OptionConfig<any, any, any>
|
|
312
313
|
>(name: TOption, config: TOptionConfig) {
|
|
313
314
|
this.parser.option(name, config);
|
|
314
315
|
// Interface modifies the return type to reflect new params, cast is necessay.... I think 🤔
|
|
@@ -317,7 +318,7 @@ export class InternalCLI<
|
|
|
317
318
|
|
|
318
319
|
positional<
|
|
319
320
|
TOption extends string,
|
|
320
|
-
const TOptionConfig extends OptionConfig<any, any, any
|
|
321
|
+
const TOptionConfig extends OptionConfig<any, any, any>
|
|
321
322
|
>(name: TOption, config: TOptionConfig) {
|
|
322
323
|
this.parser.positional(name, config);
|
|
323
324
|
// Interface modifies the return type to reflect new params, cast is necessay.... I think 🤔
|
|
@@ -497,13 +498,15 @@ export class InternalCLI<
|
|
|
497
498
|
return this._parent as TParent;
|
|
498
499
|
}
|
|
499
500
|
|
|
500
|
-
getBuilder
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
| ((parser: CLI<T, any, any>) => CLI<TArgs, THandlerReturn, TChildren>)
|
|
501
|
+
getBuilder():
|
|
502
|
+
| (<TInit extends ParsedArgs, TInitHandlerReturn, TInitChildren, TInitParent>(
|
|
503
|
+
parser: CLI<TInit, TInitHandlerReturn, TInitChildren, TInitParent>
|
|
504
|
+
) => CLI<TInit & TArgs, TInitHandlerReturn, TInitChildren & TChildren, TInitParent>)
|
|
505
505
|
| undefined {
|
|
506
|
-
|
|
506
|
+
const builder = this.configuration?.builder;
|
|
507
|
+
if (!builder) return undefined;
|
|
508
|
+
// Return a composable builder that preserves input types
|
|
509
|
+
return ((parser: CLI<any, any, any, any>) => builder(parser)) as any;
|
|
507
510
|
}
|
|
508
511
|
|
|
509
512
|
getHandler():
|
|
@@ -523,6 +526,125 @@ export class InternalCLI<
|
|
|
523
526
|
) as THandlerReturn;
|
|
524
527
|
}
|
|
525
528
|
|
|
529
|
+
sdk(): SDKCommand<TArgs, THandlerReturn, TChildren> {
|
|
530
|
+
return this.buildSDKProxy(this) as SDKCommand<
|
|
531
|
+
TArgs,
|
|
532
|
+
THandlerReturn,
|
|
533
|
+
TChildren
|
|
534
|
+
>;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
private buildSDKProxy(targetCmd: InternalCLI<any, any, any, any>): unknown {
|
|
538
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
539
|
+
const self = this;
|
|
540
|
+
|
|
541
|
+
const invoke = async (
|
|
542
|
+
argsOrArgv?: Record<string, unknown> | string[]
|
|
543
|
+
): Promise<THandlerReturn & { $args?: TArgs }> => {
|
|
544
|
+
// Clone the target command to avoid mutating the original
|
|
545
|
+
const cmd = targetCmd.clone();
|
|
546
|
+
|
|
547
|
+
const handler = cmd._configuration?.handler;
|
|
548
|
+
if (!handler) {
|
|
549
|
+
throw new Error(`Command '${cmd.name}' has no handler`);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
let parsedArgs: any;
|
|
553
|
+
|
|
554
|
+
if (Array.isArray(argsOrArgv)) {
|
|
555
|
+
// String array: full pipeline (parse → validate → middleware)
|
|
556
|
+
// Run the builder first if present
|
|
557
|
+
if (cmd._configuration?.builder) {
|
|
558
|
+
cmd._configuration.builder(cmd as any);
|
|
559
|
+
}
|
|
560
|
+
parsedArgs = cmd.parser.parse(argsOrArgv);
|
|
561
|
+
} else {
|
|
562
|
+
// Object args: skip validation, apply defaults, run middleware
|
|
563
|
+
// Run the builder first to register options and get defaults
|
|
564
|
+
if (cmd._configuration?.builder) {
|
|
565
|
+
cmd._configuration.builder(cmd as any);
|
|
566
|
+
}
|
|
567
|
+
// Build defaults from configured options
|
|
568
|
+
const defaults: Record<string, unknown> = {};
|
|
569
|
+
for (const [key, config] of Object.entries(
|
|
570
|
+
cmd.parser.configuredOptions
|
|
571
|
+
)) {
|
|
572
|
+
if (config.default !== undefined) {
|
|
573
|
+
defaults[key] = config.default;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
parsedArgs = {
|
|
577
|
+
...defaults,
|
|
578
|
+
...argsOrArgv,
|
|
579
|
+
unmatched: [],
|
|
580
|
+
};
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
// Collect and run middleware from the command chain
|
|
584
|
+
const middlewares = self.collectMiddlewareChain(targetCmd);
|
|
585
|
+
for (const mw of middlewares) {
|
|
586
|
+
const middlewareResult = await mw(parsedArgs);
|
|
587
|
+
if (
|
|
588
|
+
middlewareResult !== void 0 &&
|
|
589
|
+
typeof middlewareResult === 'object'
|
|
590
|
+
) {
|
|
591
|
+
parsedArgs = middlewareResult;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
// Execute handler
|
|
596
|
+
const context: CLIHandlerContext<any, any> = {
|
|
597
|
+
command: cmd as unknown as CLI<any, any, any, any>,
|
|
598
|
+
};
|
|
599
|
+
const result = await handler(parsedArgs, context);
|
|
600
|
+
|
|
601
|
+
// Try to attach $args to the result (fails silently for primitives)
|
|
602
|
+
if (result !== null && typeof result === 'object') {
|
|
603
|
+
try {
|
|
604
|
+
(result as any).$args = parsedArgs;
|
|
605
|
+
} catch {
|
|
606
|
+
// Cannot attach to frozen objects or primitives, return as-is
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
return result as any as THandlerReturn & { $args?: TArgs };
|
|
611
|
+
};
|
|
612
|
+
|
|
613
|
+
// Ensure builder has run to register all subcommands
|
|
614
|
+
if (targetCmd._configuration?.builder) {
|
|
615
|
+
targetCmd._configuration.builder(targetCmd as any);
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
// Create proxy that is both callable and has child properties
|
|
619
|
+
return new Proxy(invoke, {
|
|
620
|
+
get(_, prop: string) {
|
|
621
|
+
// Handle special properties
|
|
622
|
+
if (prop === 'then' || prop === 'catch' || prop === 'finally') {
|
|
623
|
+
// Don't intercept Promise methods - this prevents issues with await
|
|
624
|
+
return undefined;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
const child = targetCmd.registeredCommands[prop];
|
|
628
|
+
if (child) {
|
|
629
|
+
return self.buildSDKProxy(child);
|
|
630
|
+
}
|
|
631
|
+
return undefined;
|
|
632
|
+
},
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
private collectMiddlewareChain(
|
|
637
|
+
cmd: InternalCLI<any, any, any, any>
|
|
638
|
+
): Array<(args: any) => unknown | Promise<unknown>> {
|
|
639
|
+
const chain: InternalCLI<any, any, any, any>[] = [];
|
|
640
|
+
let current: InternalCLI<any, any, any, any> | undefined = cmd;
|
|
641
|
+
while (current) {
|
|
642
|
+
chain.unshift(current);
|
|
643
|
+
current = current._parent;
|
|
644
|
+
}
|
|
645
|
+
return chain.flatMap((c) => c.registeredMiddleware);
|
|
646
|
+
}
|
|
647
|
+
|
|
526
648
|
enableInteractiveShell(): CLI<TArgs, THandlerReturn, TChildren, TParent> {
|
|
527
649
|
if (this.requiresCommand === 'EXPLICIT') {
|
|
528
650
|
throw new Error(
|