cli-forge 1.2.3 → 1.3.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/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/internal-cli.d.ts +14 -2
- package/dist/lib/internal-cli.js +61 -3
- package/dist/lib/internal-cli.js.map +1 -1
- package/dist/lib/prompt-types.d.ts +44 -0
- package/dist/lib/prompt-types.js +3 -0
- package/dist/lib/prompt-types.js.map +1 -0
- package/dist/lib/public-api.d.ts +45 -12
- package/dist/lib/public-api.js.map +1 -1
- package/dist/lib/resolve-prompts.d.ts +13 -0
- package/dist/lib/resolve-prompts.js +121 -0
- package/dist/lib/resolve-prompts.js.map +1 -0
- package/dist/prompt-providers/clack.d.ts +29 -0
- package/dist/prompt-providers/clack.js +136 -0
- package/dist/prompt-providers/clack.js.map +1 -0
- package/package.json +11 -2
- package/src/index.ts +1 -0
- package/src/lib/composable-builder.ts +3 -3
- package/src/lib/internal-cli.spec.ts +300 -0
- package/src/lib/internal-cli.ts +80 -7
- package/src/lib/prompt-types.ts +48 -0
- package/src/lib/public-api.ts +31 -19
- package/src/lib/resolve-prompts.spec.ts +311 -0
- package/src/lib/resolve-prompts.ts +156 -0
- package/src/prompt-providers/clack.spec.ts +376 -0
- package/src/prompt-providers/clack.ts +169 -0
- package/tsconfig.lib.json.tsbuildinfo +1 -1
- package/typedoc.json +10 -0
- package/.eslintrc.json +0 -36
package/dist/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export { chain } from '@cli-forge/parser';
|
|
|
5
5
|
export { makeComposableBuilder } from './lib/composable-builder';
|
|
6
6
|
export type { ComposableBuilder, ExtractArgs, ExtractChildren, } from './lib/composable-builder';
|
|
7
7
|
export type { ArgumentsOf } from './lib/utils';
|
|
8
|
+
export type { PromptConfig, PromptOptionConfig, PromptOption, PromptProvider } from './lib/prompt-types';
|
|
8
9
|
export { ConfigurationProviders } from './lib/configuration-providers';
|
|
9
10
|
export type { LocalizationDictionary, LocalizationFunction } from '@cli-forge/parser';
|
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;AAQ9B,yEAAuE;AAA9D,iIAAA,sBAAsB,OAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArgvParser, EnvOptionConfig, LocalizationDictionary, LocalizationFunction, OptionConfig, ParsedArgs, type ConfigurationFiles } from '@cli-forge/parser';
|
|
2
2
|
import { CLI, CLICommandOptions, Command, ErrorHandler, SDKCommand } from './public-api';
|
|
3
|
+
import type { PromptProvider, PromptOptionConfig } from './prompt-types';
|
|
3
4
|
/**
|
|
4
5
|
* The base class for a CLI application. This class is used to define the structure of the CLI.
|
|
5
6
|
*
|
|
@@ -58,6 +59,12 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandler
|
|
|
58
59
|
private registeredErrorHandlers;
|
|
59
60
|
private registeredMiddleware;
|
|
60
61
|
private registeredInitHooks;
|
|
62
|
+
registeredPromptProviders: PromptProvider[];
|
|
63
|
+
/**
|
|
64
|
+
* Stores prompt config for each option, keyed by option name.
|
|
65
|
+
* Set when .option() is called with a `prompt` property.
|
|
66
|
+
*/
|
|
67
|
+
promptConfigs: Map<string, PromptOptionConfig<any>>;
|
|
61
68
|
/**
|
|
62
69
|
* Set when a `$0` alias replaces the root builder via `.command()`.
|
|
63
70
|
* The $0 builder should only run if no explicit subcommand is given,
|
|
@@ -107,8 +114,12 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandler
|
|
|
107
114
|
[key in TCommandName]: CLI<TCommandArgs, TChildHandlerReturn, {}, CLI<TArgs, THandlerReturn, TChildren, TParent>>;
|
|
108
115
|
}, TParent>;
|
|
109
116
|
commands(...a0: Command[] | Command[][]): any;
|
|
110
|
-
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig
|
|
111
|
-
|
|
117
|
+
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig & {
|
|
118
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
119
|
+
}): any;
|
|
120
|
+
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig & {
|
|
121
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
122
|
+
}): any;
|
|
112
123
|
conflicts(...args: [string, string, ...string[]]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
113
124
|
implies(option: string, ...impliedOptions: string[]): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
114
125
|
env(a0?: string | EnvOptionConfig | undefined): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
@@ -152,6 +163,7 @@ export declare class InternalCLI<TArgs extends ParsedArgs = ParsedArgs, THandler
|
|
|
152
163
|
private versionHandler;
|
|
153
164
|
private withErrorHandlers;
|
|
154
165
|
errorHandler(handler: ErrorHandler): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
166
|
+
withPromptProvider(provider: PromptProvider): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
155
167
|
group(labelOrConfigObject: string | {
|
|
156
168
|
label: string;
|
|
157
169
|
keys: (keyof TArgs)[];
|
package/dist/lib/internal-cli.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InternalCLI = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
5
5
|
const parser_1 = require("@cli-forge/parser");
|
|
6
6
|
const cli_option_groups_1 = require("./cli-option-groups");
|
|
7
7
|
const format_help_1 = require("./format-help");
|
|
8
8
|
const interactive_shell_1 = require("./interactive-shell");
|
|
9
|
+
const resolve_prompts_1 = require("./resolve-prompts");
|
|
9
10
|
const utils_1 = require("./utils");
|
|
10
11
|
/**
|
|
11
12
|
* The base class for a CLI application. This class is used to define the structure of the CLI.
|
|
@@ -79,6 +80,12 @@ class InternalCLI {
|
|
|
79
80
|
];
|
|
80
81
|
registeredMiddleware = new Set();
|
|
81
82
|
registeredInitHooks = [];
|
|
83
|
+
registeredPromptProviders = [];
|
|
84
|
+
/**
|
|
85
|
+
* Stores prompt config for each option, keyed by option name.
|
|
86
|
+
* Set when .option() is called with a `prompt` property.
|
|
87
|
+
*/
|
|
88
|
+
promptConfigs = new Map();
|
|
82
89
|
/**
|
|
83
90
|
* Set when a `$0` alias replaces the root builder via `.command()`.
|
|
84
91
|
* The $0 builder should only run if no explicit subcommand is given,
|
|
@@ -222,12 +229,20 @@ class InternalCLI {
|
|
|
222
229
|
return this;
|
|
223
230
|
}
|
|
224
231
|
option(name, config) {
|
|
225
|
-
|
|
232
|
+
const { prompt, ...parserConfig } = config;
|
|
233
|
+
if (prompt !== undefined) {
|
|
234
|
+
this.promptConfigs.set(name, prompt);
|
|
235
|
+
}
|
|
236
|
+
this.parser.option(name, parserConfig);
|
|
226
237
|
// Interface modifies the return type to reflect new params, cast is necessay.... I think 🤔
|
|
227
238
|
return this;
|
|
228
239
|
}
|
|
229
240
|
positional(name, config) {
|
|
230
|
-
|
|
241
|
+
const { prompt, ...parserConfig } = config;
|
|
242
|
+
if (prompt !== undefined) {
|
|
243
|
+
this.promptConfigs.set(name, prompt);
|
|
244
|
+
}
|
|
245
|
+
this.parser.positional(name, parserConfig);
|
|
231
246
|
// Interface modifies the return type to reflect new params, cast is necessay.... I think 🤔
|
|
232
247
|
return this;
|
|
233
248
|
}
|
|
@@ -568,6 +583,13 @@ class InternalCLI {
|
|
|
568
583
|
this.registeredErrorHandlers.unshift(handler);
|
|
569
584
|
return this;
|
|
570
585
|
}
|
|
586
|
+
withPromptProvider(provider) {
|
|
587
|
+
if (!provider.prompt && !provider.promptBatch) {
|
|
588
|
+
throw new Error("Prompt provider must implement at least one of 'prompt' or 'promptBatch'");
|
|
589
|
+
}
|
|
590
|
+
this.registeredPromptProviders.push(provider);
|
|
591
|
+
return this;
|
|
592
|
+
}
|
|
571
593
|
group(labelOrConfigObject, keys) {
|
|
572
594
|
const config = typeof labelOrConfigObject === 'object'
|
|
573
595
|
? labelOrConfigObject
|
|
@@ -734,6 +756,40 @@ class InternalCLI {
|
|
|
734
756
|
// seeded with the accumulated values from the discovery loop.
|
|
735
757
|
// The alreadyParsed values ensure proper required-option
|
|
736
758
|
// validation and prevent positional re-consumption.
|
|
759
|
+
// Prompt for missing option values before final validation.
|
|
760
|
+
// Collect prompt providers from the full command chain.
|
|
761
|
+
const allPromptProviders = [
|
|
762
|
+
...this.registeredPromptProviders,
|
|
763
|
+
];
|
|
764
|
+
const allPromptConfigs = new Map(this.promptConfigs);
|
|
765
|
+
{
|
|
766
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
767
|
+
let walkCmd = this;
|
|
768
|
+
for (const command of this.commandChain) {
|
|
769
|
+
walkCmd = walkCmd.registeredCommands[command];
|
|
770
|
+
for (const p of walkCmd.registeredPromptProviders) {
|
|
771
|
+
allPromptProviders.push(p);
|
|
772
|
+
}
|
|
773
|
+
for (const [k, v] of walkCmd.promptConfigs) {
|
|
774
|
+
allPromptConfigs.set(k, v);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
if (allPromptProviders.length > 0 || allPromptConfigs.size > 0) {
|
|
779
|
+
const promptedValues = await (0, resolve_prompts_1.resolvePrompts)({
|
|
780
|
+
configuredOptions: this.parser.configuredOptions,
|
|
781
|
+
configuredImplies: this.parser.configuredImplies,
|
|
782
|
+
promptConfigs: allPromptConfigs,
|
|
783
|
+
providers: allPromptProviders,
|
|
784
|
+
currentArgs: mergedArgs,
|
|
785
|
+
});
|
|
786
|
+
// Inject prompted values into accumulated args
|
|
787
|
+
for (const [key, value] of Object.entries(promptedValues)) {
|
|
788
|
+
if (value !== undefined) {
|
|
789
|
+
mergedArgs[key] = value;
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
737
793
|
try {
|
|
738
794
|
argv = this.parser
|
|
739
795
|
.clone({
|
|
@@ -783,6 +839,8 @@ class InternalCLI {
|
|
|
783
839
|
}
|
|
784
840
|
clone.commandChain = [...this.commandChain];
|
|
785
841
|
clone.requiresCommand = this.requiresCommand;
|
|
842
|
+
clone.registeredPromptProviders = [...this.registeredPromptProviders];
|
|
843
|
+
clone.promptConfigs = new Map(this.promptConfigs);
|
|
786
844
|
return clone;
|
|
787
845
|
}
|
|
788
846
|
}
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { InternalOptionConfig } from '@cli-forge/parser';
|
|
2
|
+
/**
|
|
3
|
+
* Static prompt configuration for an option.
|
|
4
|
+
* - `true` — always prompt
|
|
5
|
+
* - `string` — always prompt with this label
|
|
6
|
+
* - `false` — never prompt
|
|
7
|
+
*/
|
|
8
|
+
export type PromptConfig = boolean | string;
|
|
9
|
+
/**
|
|
10
|
+
* Full prompt configuration, including dynamic resolution.
|
|
11
|
+
* When a function is provided, it receives accumulated args and returns
|
|
12
|
+
* a static PromptConfig. Returning null/undefined from the callback
|
|
13
|
+
* is treated as falsy (don't prompt).
|
|
14
|
+
*/
|
|
15
|
+
export type PromptOptionConfig<TArgs = unknown> = PromptConfig | ((args: Partial<TArgs>) => PromptConfig | null | undefined);
|
|
16
|
+
/**
|
|
17
|
+
* An option that needs prompting, passed to prompt providers.
|
|
18
|
+
*/
|
|
19
|
+
export interface PromptOption {
|
|
20
|
+
/** The option name (key) */
|
|
21
|
+
name: string;
|
|
22
|
+
/** The full option config from the parser, with resolved prompt value */
|
|
23
|
+
config: InternalOptionConfig & {
|
|
24
|
+
prompt?: PromptConfig;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A prompt provider that can fulfill missing option values interactively.
|
|
29
|
+
*/
|
|
30
|
+
export interface PromptProvider {
|
|
31
|
+
/**
|
|
32
|
+
* If provided, this provider only handles options where filter returns true.
|
|
33
|
+
* Providers without filters act as fallbacks.
|
|
34
|
+
*/
|
|
35
|
+
filter?: (name: string, config: InternalOptionConfig) => boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Prompt for a single option. Called per-option if promptBatch is not defined.
|
|
38
|
+
*/
|
|
39
|
+
prompt?: (option: PromptOption) => Promise<unknown>;
|
|
40
|
+
/**
|
|
41
|
+
* Prompt for multiple options at once. Preferred over prompt when available.
|
|
42
|
+
*/
|
|
43
|
+
promptBatch?: (options: PromptOption[]) => Promise<Record<string, unknown>>;
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-types.js","sourceRoot":"","sources":["../../src/lib/prompt-types.ts"],"names":[],"mappings":""}
|
package/dist/lib/public-api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ArrayOptionConfig, BooleanOptionConfig, type ConfigurationFiles, EnvOptionConfig, LocalizationDictionary, LocalizationFunction, MakeUndefinedPropertiesOptional, NumberOptionConfig, ObjectOptionConfig, OptionConfig, OptionConfigToType, ParsedArgs, ResolveProperties, StringOptionConfig, WithOptional } from '@cli-forge/parser';
|
|
2
2
|
import { InternalCLI } from './internal-cli';
|
|
3
|
+
import type { PromptOptionConfig, PromptProvider } from './prompt-types';
|
|
3
4
|
/**
|
|
4
5
|
* Extracts the command name from a Command type.
|
|
5
6
|
* Works with both CLI instances and command config objects.
|
|
@@ -93,6 +94,14 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
93
94
|
* @param actions Actions that can be taken by the error handler. Prefer using these over process.exit for better support of interactive shells.
|
|
94
95
|
*/
|
|
95
96
|
errorHandler(handler: ErrorHandler): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
97
|
+
/**
|
|
98
|
+
* Registers a prompt provider for interactive option fulfillment.
|
|
99
|
+
* Multiple providers can be registered. Filtered providers are checked first
|
|
100
|
+
* (in registration order), then fallback providers (no filter).
|
|
101
|
+
*
|
|
102
|
+
* @param provider The prompt provider to register.
|
|
103
|
+
*/
|
|
104
|
+
withPromptProvider(provider: PromptProvider): CLI<TArgs, THandlerReturn, TChildren, TParent>;
|
|
96
105
|
/**
|
|
97
106
|
* Registers a new option for the CLI command. This option will be accessible
|
|
98
107
|
* within the command handler, as well as any subcommands.
|
|
@@ -103,22 +112,34 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
103
112
|
*/
|
|
104
113
|
option<TOption extends string, TCoerce, const TProps extends Record<string, {
|
|
105
114
|
type: string;
|
|
106
|
-
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>
|
|
115
|
+
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps> & {
|
|
116
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
117
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
107
118
|
[key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
|
|
108
119
|
}>, THandlerReturn, TChildren, TParent>;
|
|
109
|
-
option<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
120
|
+
option<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
121
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
122
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
110
123
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
111
124
|
}>, THandlerReturn, TChildren, TParent>;
|
|
112
|
-
option<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
125
|
+
option<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
126
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
127
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
113
128
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
114
129
|
}>, THandlerReturn, TChildren, TParent>;
|
|
115
|
-
option<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
130
|
+
option<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
131
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
132
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
116
133
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
117
134
|
}>, THandlerReturn, TChildren, TParent>;
|
|
118
|
-
option<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
135
|
+
option<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
136
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
137
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
119
138
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
120
139
|
}>, THandlerReturn, TChildren, TParent>;
|
|
121
|
-
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig
|
|
140
|
+
option<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig & {
|
|
141
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
142
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
122
143
|
[key in TOption]: OptionConfigToType<TOptionConfig>;
|
|
123
144
|
}>, THandlerReturn, TChildren, TParent>;
|
|
124
145
|
/**
|
|
@@ -130,22 +151,34 @@ export interface CLI<TArgs extends ParsedArgs = ParsedArgs, THandlerReturn = voi
|
|
|
130
151
|
*/
|
|
131
152
|
positional<TOption extends string, TCoerce, const TProps extends Record<string, {
|
|
132
153
|
type: string;
|
|
133
|
-
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps>
|
|
154
|
+
}>>(name: TOption, config: ObjectOptionConfig<TCoerce, TProps> & {
|
|
155
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
156
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
134
157
|
[key in TOption]: WithOptional<unknown extends TCoerce ? ResolveProperties<TProps> : TCoerce, ObjectOptionConfig<TCoerce, TProps>>;
|
|
135
158
|
}>, THandlerReturn, TChildren, TParent>;
|
|
136
|
-
positional<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
159
|
+
positional<TOption extends string, const TConfig extends StringOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
160
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
161
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
137
162
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
138
163
|
}>, THandlerReturn, TChildren, TParent>;
|
|
139
|
-
positional<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
164
|
+
positional<TOption extends string, const TConfig extends NumberOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
165
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
166
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
140
167
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
141
168
|
}>, THandlerReturn, TChildren, TParent>;
|
|
142
|
-
positional<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
169
|
+
positional<TOption extends string, const TConfig extends BooleanOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
170
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
171
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
143
172
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
144
173
|
}>, THandlerReturn, TChildren, TParent>;
|
|
145
|
-
positional<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig
|
|
174
|
+
positional<TOption extends string, const TConfig extends ArrayOptionConfig<any, any>>(name: TOption, config: TConfig & {
|
|
175
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
176
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
146
177
|
[key in TOption]: OptionConfigToType<TConfig>;
|
|
147
178
|
}>, THandlerReturn, TChildren, TParent>;
|
|
148
|
-
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig
|
|
179
|
+
positional<TOption extends string, const TOptionConfig extends OptionConfig<any, any, any>>(name: TOption, config: TOptionConfig & {
|
|
180
|
+
prompt?: PromptOptionConfig<TArgs>;
|
|
181
|
+
}): CLI<TArgs & MakeUndefinedPropertiesOptional<{
|
|
149
182
|
[key in TOption]: OptionConfigToType<TOptionConfig>;
|
|
150
183
|
}>, THandlerReturn, TChildren, TParent>;
|
|
151
184
|
/**
|
|
@@ -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":";;AAilCA,kBAsBC;AAplCD,iDAA6C;AAwjC7C;;;;;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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InternalOptionConfig } from '@cli-forge/parser';
|
|
2
|
+
import type { PromptOptionConfig, PromptProvider } from './prompt-types';
|
|
3
|
+
/**
|
|
4
|
+
* Collects options that need prompting, matches them to providers,
|
|
5
|
+
* executes prompts, and returns the prompted values.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolvePrompts(opts: {
|
|
8
|
+
configuredOptions: Record<string, InternalOptionConfig>;
|
|
9
|
+
configuredImplies: Record<string, Set<string>>;
|
|
10
|
+
promptConfigs: Map<string, PromptOptionConfig<any>>;
|
|
11
|
+
providers: PromptProvider[];
|
|
12
|
+
currentArgs: Record<string, unknown>;
|
|
13
|
+
}): Promise<Record<string, unknown>>;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolvePrompts = resolvePrompts;
|
|
4
|
+
/**
|
|
5
|
+
* Collects options that need prompting, matches them to providers,
|
|
6
|
+
* executes prompts, and returns the prompted values.
|
|
7
|
+
*/
|
|
8
|
+
async function resolvePrompts(opts) {
|
|
9
|
+
const { configuredOptions, configuredImplies, promptConfigs, providers, currentArgs, } = opts;
|
|
10
|
+
// Step 1: Collect promptable options
|
|
11
|
+
const promptableOptions = [];
|
|
12
|
+
for (const [name, config] of Object.entries(configuredOptions)) {
|
|
13
|
+
// Skip internal options
|
|
14
|
+
if (name === 'help' ||
|
|
15
|
+
name === 'version' ||
|
|
16
|
+
name === 'unmatched' ||
|
|
17
|
+
name === '--') {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
// Already has a value — skip unless prompt is explicitly true/string
|
|
21
|
+
const hasValue = currentArgs[name] !== undefined;
|
|
22
|
+
const promptSetting = promptConfigs.get(name);
|
|
23
|
+
let resolved;
|
|
24
|
+
if (typeof promptSetting === 'function') {
|
|
25
|
+
resolved = promptSetting(currentArgs);
|
|
26
|
+
// Callback: null/undefined treated as false
|
|
27
|
+
if (resolved === null || resolved === undefined) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else if (promptSetting !== undefined) {
|
|
32
|
+
// Static value
|
|
33
|
+
resolved = promptSetting;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// Not specified: prompt only if required and missing value
|
|
37
|
+
if (hasValue)
|
|
38
|
+
continue;
|
|
39
|
+
const isRequired = config.required === true;
|
|
40
|
+
const isImplied = isOptionImplied(name, configuredImplies, currentArgs);
|
|
41
|
+
if (!isRequired && !isImplied)
|
|
42
|
+
continue;
|
|
43
|
+
if (providers.length === 0)
|
|
44
|
+
continue; // No providers, let validation handle it
|
|
45
|
+
resolved = true; // Will prompt
|
|
46
|
+
}
|
|
47
|
+
if (resolved === false)
|
|
48
|
+
continue;
|
|
49
|
+
if (hasValue && resolved !== true && typeof resolved !== 'string')
|
|
50
|
+
continue;
|
|
51
|
+
promptableOptions.push({
|
|
52
|
+
name,
|
|
53
|
+
config: {
|
|
54
|
+
...config,
|
|
55
|
+
prompt: resolved === true ? true : resolved ?? undefined,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
if (promptableOptions.length === 0) {
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
// Step 2: Match options to providers
|
|
63
|
+
const filteredProviders = providers.filter((p) => p.filter);
|
|
64
|
+
const fallbackProviders = providers.filter((p) => !p.filter);
|
|
65
|
+
const providerGroups = new Map();
|
|
66
|
+
const unmatchedOptions = [];
|
|
67
|
+
for (const option of promptableOptions) {
|
|
68
|
+
let matched = false;
|
|
69
|
+
for (const provider of filteredProviders) {
|
|
70
|
+
if (provider.filter(option.name, option.config)) {
|
|
71
|
+
if (!providerGroups.has(provider)) {
|
|
72
|
+
providerGroups.set(provider, []);
|
|
73
|
+
}
|
|
74
|
+
providerGroups.get(provider).push(option);
|
|
75
|
+
matched = true;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!matched) {
|
|
80
|
+
unmatchedOptions.push(option);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Assign unmatched options to first fallback provider
|
|
84
|
+
if (unmatchedOptions.length > 0) {
|
|
85
|
+
if (fallbackProviders.length === 0) {
|
|
86
|
+
const names = unmatchedOptions.map((o) => `'${o.name}'`).join(', ');
|
|
87
|
+
throw new Error(`Option(s) ${names} require prompting but no prompt provider is available`);
|
|
88
|
+
}
|
|
89
|
+
const fallback = fallbackProviders[0];
|
|
90
|
+
if (!providerGroups.has(fallback)) {
|
|
91
|
+
providerGroups.set(fallback, []);
|
|
92
|
+
}
|
|
93
|
+
providerGroups.get(fallback).push(...unmatchedOptions);
|
|
94
|
+
}
|
|
95
|
+
// Step 3: Execute prompts
|
|
96
|
+
const results = {};
|
|
97
|
+
for (const [provider, options] of providerGroups) {
|
|
98
|
+
if (provider.promptBatch) {
|
|
99
|
+
const batchResults = await provider.promptBatch(options);
|
|
100
|
+
Object.assign(results, batchResults);
|
|
101
|
+
}
|
|
102
|
+
else if (provider.prompt) {
|
|
103
|
+
for (const option of options) {
|
|
104
|
+
results[option.name] = await provider.prompt(option);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return results;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Check if an option is implied by another option that has been set.
|
|
112
|
+
*/
|
|
113
|
+
function isOptionImplied(name, configuredImplies, currentArgs) {
|
|
114
|
+
for (const [trigger, implied] of Object.entries(configuredImplies)) {
|
|
115
|
+
if (implied.has(name) && currentArgs[trigger] !== undefined) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=resolve-prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-prompts.js","sourceRoot":"","sources":["../../src/lib/resolve-prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Readable, Writable } from 'node:stream';
|
|
2
|
+
import type { PromptProvider } from '../lib/prompt-types';
|
|
3
|
+
/**
|
|
4
|
+
* Options for {@link createClackPromptProvider}.
|
|
5
|
+
*/
|
|
6
|
+
export interface ClackPromptProviderOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Custom input stream to read from instead of `process.stdin`.
|
|
9
|
+
* Useful for testing — pass a `Readable` with `isTTY = true` and
|
|
10
|
+
* a no-op `setRawMode` to emulate a terminal.
|
|
11
|
+
*/
|
|
12
|
+
input?: Readable;
|
|
13
|
+
/**
|
|
14
|
+
* Custom output stream to write to instead of `process.stdout`.
|
|
15
|
+
*/
|
|
16
|
+
output?: Writable;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a prompt provider backed by @clack/prompts.
|
|
20
|
+
* Requires `@clack/prompts` as a peer dependency.
|
|
21
|
+
*
|
|
22
|
+
* The provider uses dynamic imports so that `@clack/prompts` is only
|
|
23
|
+
* loaded when prompting actually occurs.
|
|
24
|
+
*/
|
|
25
|
+
export declare function createClackPromptProvider(providerOptions?: ClackPromptProviderOptions): PromptProvider;
|
|
26
|
+
/**
|
|
27
|
+
* Default clack prompt provider, uses stdin/stdout
|
|
28
|
+
*/
|
|
29
|
+
export declare const ClackPromptProvider: PromptProvider;
|