padrone 1.0.0 → 1.1.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/CHANGELOG.md +14 -0
- package/README.md +37 -24
- package/dist/index.d.mts +117 -7
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +97 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
- package/src/create.ts +30 -1
- package/src/index.ts +1 -0
- package/src/options.ts +1 -1
- package/src/type-helpers.ts +2 -2
- package/src/types.ts +64 -3
- package/src/wrap.ts +181 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# padrone
|
|
2
|
+
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
Initial stable release of Padrone - a TypeScript CLI framework with Zod schema support.
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Type-safe argument and option parsing with Zod schemas
|
|
10
|
+
- Interactive prompts with validation
|
|
11
|
+
- AI integration support via Vercel AI SDK
|
|
12
|
+
- Standard Schema compatibility
|
|
13
|
+
- Terminal UI components
|
|
14
|
+
- Command builder pattern
|
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ import * as z from 'zod/v4';
|
|
|
51
51
|
const program = createPadrone('myapp')
|
|
52
52
|
.command('greet', (c) =>
|
|
53
53
|
c
|
|
54
|
-
.
|
|
54
|
+
.arguments(
|
|
55
55
|
z.object({
|
|
56
56
|
names: z.array(z.string()).describe('Names to greet'),
|
|
57
57
|
prefix: z
|
|
@@ -120,7 +120,7 @@ api.greet({ names: ['Alice', 'Bob'], prefix: 'Dr.' });
|
|
|
120
120
|
const program = createPadrone('weather')
|
|
121
121
|
.command('forecast', (c) =>
|
|
122
122
|
c
|
|
123
|
-
.
|
|
123
|
+
.arguments(
|
|
124
124
|
z.object({
|
|
125
125
|
city: z.string().describe('City name'),
|
|
126
126
|
days: z.number().optional().default(3).describe('Number of days'),
|
|
@@ -132,7 +132,7 @@ const program = createPadrone('weather')
|
|
|
132
132
|
})
|
|
133
133
|
.command('extended', (c) =>
|
|
134
134
|
c
|
|
135
|
-
.
|
|
135
|
+
.arguments(
|
|
136
136
|
z.object({
|
|
137
137
|
city: z.string().describe('City name'),
|
|
138
138
|
}),
|
|
@@ -154,7 +154,7 @@ program.cli('forecast extended London');
|
|
|
154
154
|
const program = createPadrone('app')
|
|
155
155
|
.command('serve', (c) =>
|
|
156
156
|
c
|
|
157
|
-
.
|
|
157
|
+
.arguments(
|
|
158
158
|
z.object({
|
|
159
159
|
port: z
|
|
160
160
|
.number()
|
|
@@ -181,26 +181,37 @@ const program = createPadrone('app')
|
|
|
181
181
|
|
|
182
182
|
### Environment Variables and Config Files
|
|
183
183
|
|
|
184
|
-
Padrone supports
|
|
184
|
+
Padrone supports loading options from environment variables and config files using dedicated schema methods:
|
|
185
185
|
|
|
186
186
|
```typescript
|
|
187
187
|
const program = createPadrone('app')
|
|
188
|
-
.configure({
|
|
189
|
-
configFiles: ['app.config.json', '.apprc'],
|
|
190
|
-
})
|
|
191
188
|
.command('serve', (c) =>
|
|
192
189
|
c
|
|
193
|
-
.
|
|
190
|
+
.arguments(
|
|
194
191
|
z.object({
|
|
195
192
|
port: z.number().default(3000).describe('Port to listen on'),
|
|
196
193
|
apiKey: z.string().describe('API key for authentication'),
|
|
197
194
|
}),
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
)
|
|
196
|
+
// Map environment variables to options
|
|
197
|
+
.env(
|
|
198
|
+
z
|
|
199
|
+
.object({
|
|
200
|
+
APP_PORT: z.coerce.number().optional(),
|
|
201
|
+
API_KEY: z.string().optional(),
|
|
202
|
+
})
|
|
203
|
+
.transform((env) => ({
|
|
204
|
+
port: env.APP_PORT,
|
|
205
|
+
apiKey: env.API_KEY,
|
|
206
|
+
})),
|
|
207
|
+
)
|
|
208
|
+
// Load config from JSON file with matching schema
|
|
209
|
+
.configFile(
|
|
210
|
+
'app.config.json',
|
|
211
|
+
z.object({
|
|
212
|
+
port: z.number().optional(),
|
|
213
|
+
apiKey: z.string().optional(),
|
|
214
|
+
}),
|
|
204
215
|
)
|
|
205
216
|
.action((options) => {
|
|
206
217
|
console.log(`Server running on port ${options.port}`);
|
|
@@ -208,6 +219,8 @@ const program = createPadrone('app')
|
|
|
208
219
|
);
|
|
209
220
|
```
|
|
210
221
|
|
|
222
|
+
**Precedence order** (highest to lowest): CLI args > environment variables > config file
|
|
223
|
+
|
|
211
224
|
## 🤖 AI SDK Integration
|
|
212
225
|
|
|
213
226
|
Padrone provides first-class support for the [Vercel AI SDK](https://ai-sdk.dev/), making it easy to expose your CLI as an AI tool:
|
|
@@ -220,7 +233,7 @@ import * as z from 'zod/v4';
|
|
|
220
233
|
const weatherCli = createPadrone('weather')
|
|
221
234
|
.command('current', (c) =>
|
|
222
235
|
c
|
|
223
|
-
.
|
|
236
|
+
.arguments(
|
|
224
237
|
z.object({
|
|
225
238
|
city: z.string().describe('City name'),
|
|
226
239
|
}),
|
|
@@ -271,9 +284,11 @@ Creates a new CLI program with the given name.
|
|
|
271
284
|
|
|
272
285
|
| Method | Description |
|
|
273
286
|
|--------|-------------|
|
|
274
|
-
| `.configure(config)` | Configure program properties (title, description, version
|
|
287
|
+
| `.configure(config)` | Configure program properties (title, description, version) |
|
|
275
288
|
| `.command(name, builder)` | Add a command to the program |
|
|
276
|
-
| `.
|
|
289
|
+
| `.arguments(schema, meta?)` | Define options schema with optional positional args |
|
|
290
|
+
| `.env(schema)` | Define schema for parsing environment variables into options |
|
|
291
|
+
| `.configFile(file, schema?)` | Configure config file path(s) and schema |
|
|
277
292
|
| `.action(handler)` | Set the command handler function |
|
|
278
293
|
| `.cli(input?)` | Run as CLI (parses `process.argv` or input string) |
|
|
279
294
|
| `.run(command, options)` | Run a command programmatically |
|
|
@@ -286,14 +301,14 @@ Creates a new CLI program with the given name.
|
|
|
286
301
|
|
|
287
302
|
### Options Meta
|
|
288
303
|
|
|
289
|
-
Use the second argument of `.
|
|
304
|
+
Use the second argument of `.arguments()` to configure positional arguments and per-option metadata:
|
|
290
305
|
|
|
291
306
|
```typescript
|
|
292
|
-
.
|
|
307
|
+
.arguments(schema, {
|
|
293
308
|
positional: ['source', '...files', 'dest'], // '...files' is variadic
|
|
294
309
|
options: {
|
|
295
|
-
verbose: { alias: 'v'
|
|
296
|
-
|
|
310
|
+
verbose: { alias: 'v' },
|
|
311
|
+
format: { deprecated: 'Use --output instead' },
|
|
297
312
|
},
|
|
298
313
|
})
|
|
299
314
|
```
|
|
@@ -308,8 +323,6 @@ z.string().meta({
|
|
|
308
323
|
examples: ['value'], // Example values for help text
|
|
309
324
|
deprecated: 'message', // Mark as deprecated
|
|
310
325
|
hidden: true, // Hide from help output
|
|
311
|
-
env: 'MY_VAR', // Bind to environment variable
|
|
312
|
-
configKey: 'path.key', // Bind to config file key
|
|
313
326
|
})
|
|
314
327
|
```
|
|
315
328
|
|
package/dist/index.d.mts
CHANGED
|
@@ -89,7 +89,7 @@ type PositionalArgs<TObj> = TObj extends Record<string, any> ? { [K in keyof TOb
|
|
|
89
89
|
*
|
|
90
90
|
* @example
|
|
91
91
|
* ```ts
|
|
92
|
-
* .
|
|
92
|
+
* .arguments(schema, {
|
|
93
93
|
* positional: ['source', '...files', 'dest'], // '...files' is variadic
|
|
94
94
|
* })
|
|
95
95
|
* ```
|
|
@@ -154,6 +154,59 @@ type CommandIsUnknownable<TCommand> = IsGeneric<TCommand> extends true ? true :
|
|
|
154
154
|
*/
|
|
155
155
|
type PickCommandByPossibleCommands<TCommands extends AnyPadroneCommand[], TCommand extends PossibleCommands<TCommands, true, true> | SafeString> = CommandIsUnknownable<TCommand> extends true ? FlattenCommands<TCommands> : TCommand extends AnyPadroneCommand ? TCommand : TCommand extends string ? TCommand extends GetCommandPathsOrAliases<TCommands> ? PickCommandByName<TCommands, TCommand> : SplitLastSpace<TCommand> extends [infer Prefix extends string, infer Rest] ? IsNever<Rest> extends true ? PickCommandByName<TCommands, Prefix> : PickCommandByPossibleCommands<TCommands, Prefix> : never : never;
|
|
156
156
|
//#endregion
|
|
157
|
+
//#region src/wrap.d.ts
|
|
158
|
+
/**
|
|
159
|
+
* Configuration options for wrapping an external CLI tool.
|
|
160
|
+
*/
|
|
161
|
+
type WrapConfig<TCommandOpts extends PadroneSchema = PadroneSchema, TWrapOpts extends PadroneSchema = TCommandOpts> = {
|
|
162
|
+
/**
|
|
163
|
+
* The command to execute (e.g., 'git', 'docker', 'npm').
|
|
164
|
+
*/
|
|
165
|
+
command: string;
|
|
166
|
+
/**
|
|
167
|
+
* Optional fixed arguments that always precede the options (e.g., ['commit'] for 'git commit').
|
|
168
|
+
*/
|
|
169
|
+
args?: string[];
|
|
170
|
+
/**
|
|
171
|
+
* Positional argument configuration for the external command.
|
|
172
|
+
* If not provided, defaults to the wrapping command's positional configuration.
|
|
173
|
+
*/
|
|
174
|
+
positional?: string[];
|
|
175
|
+
/**
|
|
176
|
+
* Whether to inherit stdio streams (stdin, stdout, stderr) from the parent process.
|
|
177
|
+
* Default: true
|
|
178
|
+
*/
|
|
179
|
+
inheritStdio?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Optional schema that transforms command options to external CLI arguments.
|
|
182
|
+
* The schema's input type should match the command options, and its output type defines
|
|
183
|
+
* the arguments expected by the external command.
|
|
184
|
+
* If not provided, command options are passed through as-is.
|
|
185
|
+
*/
|
|
186
|
+
schema?: TWrapOpts | ((commandOptions: TCommandOpts) => TWrapOpts);
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Result from executing a wrapped CLI tool.
|
|
190
|
+
*/
|
|
191
|
+
type WrapResult = {
|
|
192
|
+
/**
|
|
193
|
+
* The exit code of the process.
|
|
194
|
+
*/
|
|
195
|
+
exitCode: number;
|
|
196
|
+
/**
|
|
197
|
+
* Standard output from the process (only if inheritStdio is false).
|
|
198
|
+
*/
|
|
199
|
+
stdout?: string;
|
|
200
|
+
/**
|
|
201
|
+
* Standard error from the process (only if inheritStdio is false).
|
|
202
|
+
*/
|
|
203
|
+
stderr?: string;
|
|
204
|
+
/**
|
|
205
|
+
* Whether the process exited successfully (exit code 0).
|
|
206
|
+
*/
|
|
207
|
+
success: boolean;
|
|
208
|
+
};
|
|
209
|
+
//#endregion
|
|
157
210
|
//#region src/types.d.ts
|
|
158
211
|
type UnknownRecord = Record<string, unknown>;
|
|
159
212
|
type EmptyRecord = Record<string, never>;
|
|
@@ -253,7 +306,7 @@ type PadroneBuilderMethods<TProgramName extends string, TName extends string, TP
|
|
|
253
306
|
* @example
|
|
254
307
|
* ```ts
|
|
255
308
|
* // Direct schema
|
|
256
|
-
* .
|
|
309
|
+
* .arguments(z.object({
|
|
257
310
|
* source: z.string(),
|
|
258
311
|
* files: z.string().array(),
|
|
259
312
|
* dest: z.string(),
|
|
@@ -266,7 +319,7 @@ type PadroneBuilderMethods<TProgramName extends string, TName extends string, TP
|
|
|
266
319
|
* @example
|
|
267
320
|
* ```ts
|
|
268
321
|
* // Function-based schema extending parent options
|
|
269
|
-
* .
|
|
322
|
+
* .arguments((parentOpts) => {
|
|
270
323
|
* return z.object({
|
|
271
324
|
* ...parentOpts.shape,
|
|
272
325
|
* verbose: z.boolean().default(false),
|
|
@@ -274,7 +327,7 @@ type PadroneBuilderMethods<TProgramName extends string, TName extends string, TP
|
|
|
274
327
|
* })
|
|
275
328
|
* ```
|
|
276
329
|
*/
|
|
277
|
-
|
|
330
|
+
arguments: <TNewOpts extends PadroneSchema = PadroneSchema<void>>(options?: TNewOpts | ((parentOptions: TParentOpts) => TNewOpts), meta?: GetMeta<TNewOpts>) => BuilderOrProgram<TReturn, TProgramName, TName, TParentName, TNewOpts, TRes, TCommands, TParentOpts, TConfig, TEnv>;
|
|
278
331
|
/**
|
|
279
332
|
* Configures config file path(s) and schema for parsing config files.
|
|
280
333
|
* @example
|
|
@@ -297,6 +350,63 @@ type PadroneBuilderMethods<TProgramName extends string, TName extends string, TP
|
|
|
297
350
|
* Defines the handler function to be executed when the command is run.
|
|
298
351
|
*/
|
|
299
352
|
action: <TNewRes>(handler?: (options: StandardSchemaV1.InferOutput<TOpts>) => TNewRes) => BuilderOrProgram<TReturn, TProgramName, TName, TParentName, TOpts, TNewRes, TCommands, TParentOpts, TConfig, TEnv>;
|
|
353
|
+
/**
|
|
354
|
+
* Wraps an external CLI tool with optional schema transformation.
|
|
355
|
+
* The config can include a schema that transforms command options to external CLI arguments.
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```ts
|
|
359
|
+
* // No transformation - pass options as-is
|
|
360
|
+
* .arguments(z.object({
|
|
361
|
+
* message: z.string(),
|
|
362
|
+
* }))
|
|
363
|
+
* .wrap({
|
|
364
|
+
* command: 'echo',
|
|
365
|
+
* })
|
|
366
|
+
* ```
|
|
367
|
+
*
|
|
368
|
+
* @example
|
|
369
|
+
* ```ts
|
|
370
|
+
* // With transformation schema
|
|
371
|
+
* .arguments(z.object({
|
|
372
|
+
* message: z.string(),
|
|
373
|
+
* all: z.boolean().optional(),
|
|
374
|
+
* }), {
|
|
375
|
+
* positional: ['message'],
|
|
376
|
+
* })
|
|
377
|
+
* .wrap({
|
|
378
|
+
* command: 'git',
|
|
379
|
+
* args: ['commit'],
|
|
380
|
+
* positional: ['m'],
|
|
381
|
+
* schema: z.object({
|
|
382
|
+
* message: z.string(),
|
|
383
|
+
* all: z.boolean().optional(),
|
|
384
|
+
* }).transform(opts => ({
|
|
385
|
+
* m: opts.message,
|
|
386
|
+
* a: opts.all,
|
|
387
|
+
* })),
|
|
388
|
+
* })
|
|
389
|
+
* ```
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```ts
|
|
393
|
+
* // Using function-based schema for type inference
|
|
394
|
+
* .arguments(z.object({
|
|
395
|
+
* image: z.string(),
|
|
396
|
+
* detach: z.boolean().optional(),
|
|
397
|
+
* }))
|
|
398
|
+
* .wrap({
|
|
399
|
+
* command: 'docker',
|
|
400
|
+
* args: ['run'],
|
|
401
|
+
* positional: ['image'],
|
|
402
|
+
* schema: (cmdOpts) => cmdOpts.transform(opts => ({
|
|
403
|
+
* d: opts.detach,
|
|
404
|
+
* image: opts.image,
|
|
405
|
+
* })),
|
|
406
|
+
* })
|
|
407
|
+
* ```
|
|
408
|
+
*/
|
|
409
|
+
wrap: <TWrapOpts extends PadroneSchema = TOpts>(config: WrapConfig<TOpts, TWrapOpts>) => BuilderOrProgram<TReturn, TProgramName, TName, TParentName, TOpts, Promise<WrapResult>, TCommands, TParentOpts, TConfig, TEnv>;
|
|
300
410
|
/**
|
|
301
411
|
* Creates a nested command within the current command with the given name and builder function.
|
|
302
412
|
* The name can be a single string or a tuple of [name, ...aliases] where additional strings are aliases.
|
|
@@ -478,8 +588,8 @@ type InferEnvOutput<T extends AnyPadroneCommand> = T['envSchema'] extends Padron
|
|
|
478
588
|
* ```ts
|
|
479
589
|
* const program = createPadrone('cli')
|
|
480
590
|
* .command('config', c => c
|
|
481
|
-
* .command('set', c => c.
|
|
482
|
-
* .command('get', c => c.
|
|
591
|
+
* .command('set', c => c.arguments(...).action(...))
|
|
592
|
+
* .command('get', c => c.arguments(...).action(...))
|
|
483
593
|
* );
|
|
484
594
|
*
|
|
485
595
|
* type SetCommand = InferCommand<typeof program, 'config set'>;
|
|
@@ -488,5 +598,5 @@ type InferEnvOutput<T extends AnyPadroneCommand> = T['envSchema'] extends Padron
|
|
|
488
598
|
*/
|
|
489
599
|
type InferCommand<T extends AnyPadroneCommand | AnyPadroneProgram, TPath extends PossibleCommands<T extends AnyPadroneCommand ? [T] : T['~types']['commands'], true, true>> = T extends AnyPadroneProgram ? PickCommandByName<[PadroneCommand<'', '', any, any, T['~types']['commands']>], TPath> : T extends AnyPadroneCommand ? PickCommandByName<[T], TPath> : never;
|
|
490
600
|
//#endregion
|
|
491
|
-
export { type AnyPadroneCommand, type AnyPadroneProgram, type HelpArgumentInfo, type HelpFormat, type HelpInfo, type HelpOptionInfo, type HelpOptions, type HelpSubcommandInfo, type InferCommand, type InferConfigInput, type InferConfigOutput, type InferEnvInput, type InferEnvOutput, type InferOptionsInput, type InferOptionsOutput, type PadroneBuilder, type PadroneCommand, type PadroneCommandConfig, type PadroneCommandResult, type PadroneOptionsMeta, type PadroneParseOptions, type PadroneParseResult, type PadroneProgram, type PadroneSchema, createPadrone };
|
|
601
|
+
export { type AnyPadroneCommand, type AnyPadroneProgram, type HelpArgumentInfo, type HelpFormat, type HelpInfo, type HelpOptionInfo, type HelpOptions, type HelpSubcommandInfo, type InferCommand, type InferConfigInput, type InferConfigOutput, type InferEnvInput, type InferEnvOutput, type InferOptionsInput, type InferOptionsOutput, type PadroneBuilder, type PadroneCommand, type PadroneCommandConfig, type PadroneCommandResult, type PadroneOptionsMeta, type PadroneParseOptions, type PadroneParseResult, type PadroneProgram, type PadroneSchema, type WrapConfig, type WrapResult, createPadrone };
|
|
492
602
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/formatter.ts","../src/help.ts","../src/options.ts","../src/type-utils.ts","../src/types.ts","../src/create.ts","../src/type-helpers.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/formatter.ts","../src/help.ts","../src/options.ts","../src/type-utils.ts","../src/wrap.ts","../src/types.ts","../src/create.ts","../src/type-helpers.ts"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1147,6 +1147,80 @@ function parseArrayItems(input) {
|
|
|
1147
1147
|
return items;
|
|
1148
1148
|
}
|
|
1149
1149
|
|
|
1150
|
+
//#endregion
|
|
1151
|
+
//#region src/wrap.ts
|
|
1152
|
+
/**
|
|
1153
|
+
* Converts parsed options to CLI arguments for an external command.
|
|
1154
|
+
*/
|
|
1155
|
+
function optionsToArgs(options, positional = []) {
|
|
1156
|
+
const args = [];
|
|
1157
|
+
if (!options) return args;
|
|
1158
|
+
const positionalValues = {};
|
|
1159
|
+
const regularOptions = {};
|
|
1160
|
+
for (const [key, value] of Object.entries(options)) if (positional.includes(key) || positional.includes(`...${key}`)) positionalValues[key] = value;
|
|
1161
|
+
else regularOptions[key] = value;
|
|
1162
|
+
for (const [key, value] of Object.entries(regularOptions)) {
|
|
1163
|
+
if (value === void 0 || value === null) continue;
|
|
1164
|
+
const flag = `--${key}`;
|
|
1165
|
+
if (typeof value === "boolean") {
|
|
1166
|
+
if (value) args.push(flag);
|
|
1167
|
+
} else if (Array.isArray(value)) for (const item of value) args.push(flag, String(item));
|
|
1168
|
+
else args.push(flag, String(value));
|
|
1169
|
+
}
|
|
1170
|
+
for (const posKey of positional) {
|
|
1171
|
+
const isVariadic = posKey.startsWith("...");
|
|
1172
|
+
const value = positionalValues[isVariadic ? posKey.slice(3) : posKey];
|
|
1173
|
+
if (value === void 0 || value === null) continue;
|
|
1174
|
+
if (isVariadic && Array.isArray(value)) args.push(...value.map(String));
|
|
1175
|
+
else args.push(String(value));
|
|
1176
|
+
}
|
|
1177
|
+
return args;
|
|
1178
|
+
}
|
|
1179
|
+
/**
|
|
1180
|
+
* Creates an action handler that wraps an external CLI tool.
|
|
1181
|
+
* @param config - Configuration for wrapping the external command (includes optional schema)
|
|
1182
|
+
* @param commandOptions - The command's options schema
|
|
1183
|
+
* @param commandPositional - Default positional config from the wrapping command
|
|
1184
|
+
*/
|
|
1185
|
+
function createWrapHandler(config, commandOptions, commandPositional) {
|
|
1186
|
+
return async (options) => {
|
|
1187
|
+
const { command, args: fixedArgs = [], inheritStdio = true, positional = commandPositional, schema: wrapSchema } = config;
|
|
1188
|
+
const result = (wrapSchema ? typeof wrapSchema === "function" ? wrapSchema(commandOptions) : wrapSchema : commandOptions)["~standard"].validate(options);
|
|
1189
|
+
if (result instanceof Promise) throw new Error("Async validation is not supported. Wrap schema validate() must return a synchronous result.");
|
|
1190
|
+
if (result.issues) {
|
|
1191
|
+
const issueMessages = result.issues.map((i) => ` - ${i.path?.join(".") || "root"}: ${i.message}`).join("\n");
|
|
1192
|
+
throw new Error(`Wrap schema validation failed:\n${issueMessages}`);
|
|
1193
|
+
}
|
|
1194
|
+
const externalOptions = result.value;
|
|
1195
|
+
const optionArgs = optionsToArgs(externalOptions, positional);
|
|
1196
|
+
const allArgs = [...fixedArgs, ...optionArgs];
|
|
1197
|
+
const proc = Bun.spawn([command, ...allArgs], {
|
|
1198
|
+
stdout: inheritStdio ? "inherit" : "pipe",
|
|
1199
|
+
stderr: inheritStdio ? "inherit" : "pipe",
|
|
1200
|
+
stdin: inheritStdio ? "inherit" : "ignore"
|
|
1201
|
+
});
|
|
1202
|
+
const exitCode = await proc.exited;
|
|
1203
|
+
let stdout;
|
|
1204
|
+
let stderr;
|
|
1205
|
+
if (!inheritStdio) {
|
|
1206
|
+
if (proc.stdout) {
|
|
1207
|
+
const stdoutBuffer = await new Response(proc.stdout).arrayBuffer();
|
|
1208
|
+
stdout = new TextDecoder().decode(stdoutBuffer);
|
|
1209
|
+
}
|
|
1210
|
+
if (proc.stderr) {
|
|
1211
|
+
const stderrBuffer = await new Response(proc.stderr).arrayBuffer();
|
|
1212
|
+
stderr = new TextDecoder().decode(stderrBuffer);
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
return {
|
|
1216
|
+
exitCode,
|
|
1217
|
+
stdout,
|
|
1218
|
+
stderr,
|
|
1219
|
+
success: exitCode === 0
|
|
1220
|
+
};
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1150
1224
|
//#endregion
|
|
1151
1225
|
//#region src/create.ts
|
|
1152
1226
|
const commandSymbol = Symbol("padrone_command");
|
|
@@ -1519,6 +1593,21 @@ function createPadroneBuilder(existingCommand) {
|
|
|
1519
1593
|
envData,
|
|
1520
1594
|
configData
|
|
1521
1595
|
});
|
|
1596
|
+
if (optionsResult?.issues) {
|
|
1597
|
+
const issueMessages = optionsResult.issues.map((i) => ` - ${i.path?.join(".") || "root"}: ${i.message}`).join("\n");
|
|
1598
|
+
if (input === void 0) {
|
|
1599
|
+
const helpText = generateHelp(existingCommand, command, { format: "text" });
|
|
1600
|
+
console.error(`Validation error:\n${issueMessages}`);
|
|
1601
|
+
console.error(helpText);
|
|
1602
|
+
throw new Error(`Validation error:\n${issueMessages}`);
|
|
1603
|
+
}
|
|
1604
|
+
return {
|
|
1605
|
+
command,
|
|
1606
|
+
options: void 0,
|
|
1607
|
+
optionsResult,
|
|
1608
|
+
result: void 0
|
|
1609
|
+
};
|
|
1610
|
+
}
|
|
1522
1611
|
return {
|
|
1523
1612
|
...run(command, options),
|
|
1524
1613
|
optionsResult
|
|
@@ -1589,7 +1678,7 @@ ${generateHelp(existingCommand, void 0, {
|
|
|
1589
1678
|
...config
|
|
1590
1679
|
});
|
|
1591
1680
|
},
|
|
1592
|
-
|
|
1681
|
+
arguments(options, meta) {
|
|
1593
1682
|
const resolvedOptions = typeof options === "function" ? options(existingCommand.options) : options;
|
|
1594
1683
|
return createPadroneBuilder({
|
|
1595
1684
|
...existingCommand,
|
|
@@ -1619,6 +1708,13 @@ ${generateHelp(existingCommand, void 0, {
|
|
|
1619
1708
|
handler
|
|
1620
1709
|
});
|
|
1621
1710
|
},
|
|
1711
|
+
wrap(config) {
|
|
1712
|
+
const handler = createWrapHandler(config, existingCommand.options, existingCommand.meta?.positional);
|
|
1713
|
+
return createPadroneBuilder({
|
|
1714
|
+
...existingCommand,
|
|
1715
|
+
handler
|
|
1716
|
+
});
|
|
1717
|
+
},
|
|
1622
1718
|
command(nameOrNames, builderFn) {
|
|
1623
1719
|
const name = Array.isArray(nameOrNames) ? nameOrNames[0] : nameOrNames;
|
|
1624
1720
|
const aliases = Array.isArray(nameOrNames) && nameOrNames.length > 1 ? nameOrNames.slice(1) : void 0;
|