@commercelayer/cli-ux 1.0.1
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/LICENSE +21 -0
- package/README.md +325 -0
- package/lib/index.d.mts +469 -0
- package/lib/index.d.ts +469 -0
- package/lib/index.js +19 -0
- package/lib/index.mjs +19 -0
- package/package.json +84 -0
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { Options as Options$1, SingleBar } from 'cli-progress';
|
|
2
|
+
import { Interfaces, Errors } from '@oclif/core';
|
|
3
|
+
|
|
4
|
+
declare const _default$2: {
|
|
5
|
+
arc: {
|
|
6
|
+
frames: string[];
|
|
7
|
+
interval: number;
|
|
8
|
+
};
|
|
9
|
+
arrow: {
|
|
10
|
+
frames: string[];
|
|
11
|
+
interval: number;
|
|
12
|
+
};
|
|
13
|
+
arrow2: {
|
|
14
|
+
frames: string[];
|
|
15
|
+
interval: number;
|
|
16
|
+
};
|
|
17
|
+
arrow3: {
|
|
18
|
+
frames: string[];
|
|
19
|
+
interval: number;
|
|
20
|
+
};
|
|
21
|
+
balloon: {
|
|
22
|
+
frames: string[];
|
|
23
|
+
interval: number;
|
|
24
|
+
};
|
|
25
|
+
balloon2: {
|
|
26
|
+
frames: string[];
|
|
27
|
+
interval: number;
|
|
28
|
+
};
|
|
29
|
+
bounce: {
|
|
30
|
+
frames: string[];
|
|
31
|
+
interval: number;
|
|
32
|
+
};
|
|
33
|
+
bouncingBall: {
|
|
34
|
+
frames: string[];
|
|
35
|
+
interval: number;
|
|
36
|
+
};
|
|
37
|
+
bouncingBar: {
|
|
38
|
+
frames: string[];
|
|
39
|
+
interval: number;
|
|
40
|
+
};
|
|
41
|
+
boxBounce: {
|
|
42
|
+
frames: string[];
|
|
43
|
+
interval: number;
|
|
44
|
+
};
|
|
45
|
+
boxBounce2: {
|
|
46
|
+
frames: string[];
|
|
47
|
+
interval: number;
|
|
48
|
+
};
|
|
49
|
+
circle: {
|
|
50
|
+
frames: string[];
|
|
51
|
+
interval: number;
|
|
52
|
+
};
|
|
53
|
+
circleHalves: {
|
|
54
|
+
frames: string[];
|
|
55
|
+
interval: number;
|
|
56
|
+
};
|
|
57
|
+
circleQuarters: {
|
|
58
|
+
frames: string[];
|
|
59
|
+
interval: number;
|
|
60
|
+
};
|
|
61
|
+
clock: {
|
|
62
|
+
frames: string[];
|
|
63
|
+
interval: number;
|
|
64
|
+
};
|
|
65
|
+
dots: {
|
|
66
|
+
frames: string[];
|
|
67
|
+
interval: number;
|
|
68
|
+
};
|
|
69
|
+
dots2: {
|
|
70
|
+
frames: string[];
|
|
71
|
+
interval: number;
|
|
72
|
+
};
|
|
73
|
+
dots3: {
|
|
74
|
+
frames: string[];
|
|
75
|
+
interval: number;
|
|
76
|
+
};
|
|
77
|
+
dots4: {
|
|
78
|
+
frames: string[];
|
|
79
|
+
interval: number;
|
|
80
|
+
};
|
|
81
|
+
dots5: {
|
|
82
|
+
frames: string[];
|
|
83
|
+
interval: number;
|
|
84
|
+
};
|
|
85
|
+
dots6: {
|
|
86
|
+
frames: string[];
|
|
87
|
+
interval: number;
|
|
88
|
+
};
|
|
89
|
+
dots7: {
|
|
90
|
+
frames: string[];
|
|
91
|
+
interval: number;
|
|
92
|
+
};
|
|
93
|
+
dots8: {
|
|
94
|
+
frames: string[];
|
|
95
|
+
interval: number;
|
|
96
|
+
};
|
|
97
|
+
dots9: {
|
|
98
|
+
frames: string[];
|
|
99
|
+
interval: number;
|
|
100
|
+
};
|
|
101
|
+
dots10: {
|
|
102
|
+
frames: string[];
|
|
103
|
+
interval: number;
|
|
104
|
+
};
|
|
105
|
+
dots11: {
|
|
106
|
+
frames: string[];
|
|
107
|
+
interval: number;
|
|
108
|
+
};
|
|
109
|
+
earth: {
|
|
110
|
+
frames: string[];
|
|
111
|
+
interval: number;
|
|
112
|
+
};
|
|
113
|
+
flip: {
|
|
114
|
+
frames: string[];
|
|
115
|
+
interval: number;
|
|
116
|
+
};
|
|
117
|
+
growHorizontal: {
|
|
118
|
+
frames: string[];
|
|
119
|
+
interval: number;
|
|
120
|
+
};
|
|
121
|
+
growVertical: {
|
|
122
|
+
frames: string[];
|
|
123
|
+
interval: number;
|
|
124
|
+
};
|
|
125
|
+
hamburger: {
|
|
126
|
+
frames: string[];
|
|
127
|
+
interval: number;
|
|
128
|
+
};
|
|
129
|
+
hearts: {
|
|
130
|
+
frames: string[];
|
|
131
|
+
interval: number;
|
|
132
|
+
};
|
|
133
|
+
hexagon: {
|
|
134
|
+
frames: string[];
|
|
135
|
+
interval: number;
|
|
136
|
+
};
|
|
137
|
+
line: {
|
|
138
|
+
frames: string[];
|
|
139
|
+
interval: number;
|
|
140
|
+
};
|
|
141
|
+
line2: {
|
|
142
|
+
frames: string[];
|
|
143
|
+
interval: number;
|
|
144
|
+
};
|
|
145
|
+
monkey: {
|
|
146
|
+
frames: string[];
|
|
147
|
+
interval: number;
|
|
148
|
+
};
|
|
149
|
+
moon: {
|
|
150
|
+
frames: string[];
|
|
151
|
+
interval: number;
|
|
152
|
+
};
|
|
153
|
+
noise: {
|
|
154
|
+
frames: string[];
|
|
155
|
+
interval: number;
|
|
156
|
+
};
|
|
157
|
+
pipe: {
|
|
158
|
+
frames: string[];
|
|
159
|
+
interval: number;
|
|
160
|
+
};
|
|
161
|
+
pong: {
|
|
162
|
+
frames: string[];
|
|
163
|
+
interval: number;
|
|
164
|
+
};
|
|
165
|
+
runner: {
|
|
166
|
+
frames: string[];
|
|
167
|
+
interval: number;
|
|
168
|
+
};
|
|
169
|
+
simpleDots: {
|
|
170
|
+
frames: string[];
|
|
171
|
+
interval: number;
|
|
172
|
+
};
|
|
173
|
+
simpleDotsScrolling: {
|
|
174
|
+
frames: string[];
|
|
175
|
+
interval: number;
|
|
176
|
+
};
|
|
177
|
+
smiley: {
|
|
178
|
+
frames: string[];
|
|
179
|
+
interval: number;
|
|
180
|
+
};
|
|
181
|
+
squareCorners: {
|
|
182
|
+
frames: string[];
|
|
183
|
+
interval: number;
|
|
184
|
+
};
|
|
185
|
+
squish: {
|
|
186
|
+
frames: string[];
|
|
187
|
+
interval: number;
|
|
188
|
+
};
|
|
189
|
+
star: {
|
|
190
|
+
frames: string[];
|
|
191
|
+
interval: number;
|
|
192
|
+
};
|
|
193
|
+
star2: {
|
|
194
|
+
frames: string[];
|
|
195
|
+
interval: number;
|
|
196
|
+
};
|
|
197
|
+
toggle: {
|
|
198
|
+
frames: string[];
|
|
199
|
+
interval: number;
|
|
200
|
+
};
|
|
201
|
+
toggle2: {
|
|
202
|
+
frames: string[];
|
|
203
|
+
interval: number;
|
|
204
|
+
};
|
|
205
|
+
toggle3: {
|
|
206
|
+
frames: string[];
|
|
207
|
+
interval: number;
|
|
208
|
+
};
|
|
209
|
+
toggle4: {
|
|
210
|
+
frames: string[];
|
|
211
|
+
interval: number;
|
|
212
|
+
};
|
|
213
|
+
toggle5: {
|
|
214
|
+
frames: string[];
|
|
215
|
+
interval: number;
|
|
216
|
+
};
|
|
217
|
+
toggle6: {
|
|
218
|
+
frames: string[];
|
|
219
|
+
interval: number;
|
|
220
|
+
};
|
|
221
|
+
toggle7: {
|
|
222
|
+
frames: string[];
|
|
223
|
+
interval: number;
|
|
224
|
+
};
|
|
225
|
+
toggle8: {
|
|
226
|
+
frames: string[];
|
|
227
|
+
interval: number;
|
|
228
|
+
};
|
|
229
|
+
toggle9: {
|
|
230
|
+
frames: string[];
|
|
231
|
+
interval: number;
|
|
232
|
+
};
|
|
233
|
+
toggle10: {
|
|
234
|
+
frames: string[];
|
|
235
|
+
interval: number;
|
|
236
|
+
};
|
|
237
|
+
toggle11: {
|
|
238
|
+
frames: string[];
|
|
239
|
+
interval: number;
|
|
240
|
+
};
|
|
241
|
+
toggle12: {
|
|
242
|
+
frames: string[];
|
|
243
|
+
interval: number;
|
|
244
|
+
};
|
|
245
|
+
toggle13: {
|
|
246
|
+
frames: string[];
|
|
247
|
+
interval: number;
|
|
248
|
+
};
|
|
249
|
+
triangle: {
|
|
250
|
+
frames: string[];
|
|
251
|
+
interval: number;
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
type Options = {
|
|
256
|
+
stdout?: boolean;
|
|
257
|
+
style?: keyof typeof _default$2;
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
interface ITask {
|
|
261
|
+
action: string;
|
|
262
|
+
active: boolean;
|
|
263
|
+
status: string | undefined;
|
|
264
|
+
}
|
|
265
|
+
type ActionType = 'debug' | 'simple' | 'spinner';
|
|
266
|
+
declare class ActionBase {
|
|
267
|
+
std: 'stderr' | 'stdout';
|
|
268
|
+
protected stdmocks?: Array<['stderr' | 'stdout', string[]]>;
|
|
269
|
+
type: ActionType;
|
|
270
|
+
private stdmockOrigs;
|
|
271
|
+
protected get output(): string | undefined;
|
|
272
|
+
protected set output(output: string | undefined);
|
|
273
|
+
get running(): boolean;
|
|
274
|
+
get status(): string | undefined;
|
|
275
|
+
set status(status: string | undefined);
|
|
276
|
+
get task(): ITask | undefined;
|
|
277
|
+
set task(task: ITask | undefined);
|
|
278
|
+
pause(fn: () => any, icon?: string): Promise<any>;
|
|
279
|
+
pauseAsync<T>(fn: () => Promise<T>, icon?: string): Promise<T>;
|
|
280
|
+
start(action: string, status?: string, opts?: Options): void;
|
|
281
|
+
stop(msg?: string): void;
|
|
282
|
+
protected _flushStdout(): void;
|
|
283
|
+
protected _pause(_?: string): void;
|
|
284
|
+
protected _resume(): void;
|
|
285
|
+
protected _start(_opts: Options): void;
|
|
286
|
+
protected _stdout(toggle: boolean): void;
|
|
287
|
+
protected _stop(_: string): void;
|
|
288
|
+
protected _updateStatus(_: string | undefined, __?: string): void;
|
|
289
|
+
protected _write(std: 'stderr' | 'stdout', s: string | string[]): void;
|
|
290
|
+
private get globals();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
type Levels = 'debug' | 'error' | 'fatal' | 'info' | 'trace' | 'warn';
|
|
294
|
+
declare class Config {
|
|
295
|
+
action: ActionBase;
|
|
296
|
+
errorsHandled: boolean;
|
|
297
|
+
outputLevel: Levels;
|
|
298
|
+
showStackTrace: boolean;
|
|
299
|
+
get context(): any;
|
|
300
|
+
set context(v: unknown);
|
|
301
|
+
get debug(): boolean;
|
|
302
|
+
set debug(v: boolean);
|
|
303
|
+
}
|
|
304
|
+
declare const config: Config;
|
|
305
|
+
|
|
306
|
+
interface IPromptOptions {
|
|
307
|
+
default?: string;
|
|
308
|
+
prompt?: string;
|
|
309
|
+
/**
|
|
310
|
+
* Requires user input if true, otherwise allows empty input
|
|
311
|
+
*/
|
|
312
|
+
required?: boolean;
|
|
313
|
+
timeout?: number;
|
|
314
|
+
type?: 'hide' | 'mask' | 'normal' | 'single';
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* prompt for input
|
|
318
|
+
* @param name - prompt text
|
|
319
|
+
* @param options - @see IPromptOptions
|
|
320
|
+
* @returns Promise<string>
|
|
321
|
+
*/
|
|
322
|
+
declare function prompt$1(name: string, options?: IPromptOptions): Promise<string>;
|
|
323
|
+
/**
|
|
324
|
+
* confirmation prompt (yes/no)
|
|
325
|
+
* @param message - confirmation text
|
|
326
|
+
* @returns Promise<boolean>
|
|
327
|
+
*/
|
|
328
|
+
declare function confirm$1(message: string): Promise<boolean>;
|
|
329
|
+
/**
|
|
330
|
+
* "press anykey to continue"
|
|
331
|
+
* @param message - optional message to display to user
|
|
332
|
+
* @returns Promise<string>
|
|
333
|
+
*/
|
|
334
|
+
declare function anykey$1(message?: string): Promise<string>;
|
|
335
|
+
|
|
336
|
+
declare function progress$1(options?: Options$1): SingleBar;
|
|
337
|
+
|
|
338
|
+
declare function table$1<T extends Record<string, unknown>>(data: T[], columns: table$1.Columns<T>, options?: table$1.Options): void;
|
|
339
|
+
declare namespace table$1 {
|
|
340
|
+
export const Flags: {
|
|
341
|
+
columns: Interfaces.OptionFlag<string | undefined>;
|
|
342
|
+
csv: Interfaces.BooleanFlag<boolean>;
|
|
343
|
+
extended: Interfaces.BooleanFlag<boolean>;
|
|
344
|
+
filter: Interfaces.OptionFlag<string | undefined>;
|
|
345
|
+
'no-header': Interfaces.BooleanFlag<boolean>;
|
|
346
|
+
'no-truncate': Interfaces.BooleanFlag<boolean>;
|
|
347
|
+
output: Interfaces.OptionFlag<string | undefined>;
|
|
348
|
+
sort: Interfaces.OptionFlag<string | undefined>;
|
|
349
|
+
};
|
|
350
|
+
type IFlags = typeof Flags;
|
|
351
|
+
type ExcludeFlags<T, Z> = Pick<T, Exclude<keyof T, Z>>;
|
|
352
|
+
type IncludeFlags<T, K extends keyof T> = Pick<T, K>;
|
|
353
|
+
export function flags(): IFlags;
|
|
354
|
+
export function flags<Z extends keyof IFlags = keyof IFlags>(opts: {
|
|
355
|
+
except: Z | Z[];
|
|
356
|
+
}): ExcludeFlags<IFlags, Z>;
|
|
357
|
+
export function flags<K extends keyof IFlags = keyof IFlags>(opts: {
|
|
358
|
+
only: K | K[];
|
|
359
|
+
}): IncludeFlags<IFlags, K>;
|
|
360
|
+
export interface Column<T extends Record<string, unknown>> {
|
|
361
|
+
extended: boolean;
|
|
362
|
+
get(row: T): any;
|
|
363
|
+
header: string;
|
|
364
|
+
minWidth: number;
|
|
365
|
+
}
|
|
366
|
+
export type Columns<T extends Record<string, unknown>> = Record<string, Partial<Column<T>>>;
|
|
367
|
+
export interface Options {
|
|
368
|
+
[key: string]: any;
|
|
369
|
+
columns?: string;
|
|
370
|
+
extended?: boolean;
|
|
371
|
+
filter?: string;
|
|
372
|
+
'no-header'?: boolean;
|
|
373
|
+
'no-truncate'?: boolean;
|
|
374
|
+
output?: string;
|
|
375
|
+
printLine?(s: any): any;
|
|
376
|
+
sort?: string;
|
|
377
|
+
}
|
|
378
|
+
export { };
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
declare namespace table$2 {
|
|
382
|
+
export { table$1 as table };
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
declare class Tree {
|
|
386
|
+
nodes: Record<string, Tree>;
|
|
387
|
+
display(logger?: any): void;
|
|
388
|
+
insert(child: string, value?: Tree): this;
|
|
389
|
+
search(key: string): Tree | undefined;
|
|
390
|
+
}
|
|
391
|
+
declare function tree$1(): Tree;
|
|
392
|
+
|
|
393
|
+
declare const _default$1: (ms?: number) => Promise<void>;
|
|
394
|
+
|
|
395
|
+
declare class ExitError extends Error {
|
|
396
|
+
code: 'EEXIT';
|
|
397
|
+
error?: Error;
|
|
398
|
+
ux: {
|
|
399
|
+
exit: number;
|
|
400
|
+
};
|
|
401
|
+
constructor(status: number, error?: Error);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
declare const STANDARD_CHALK: readonly ["white", "black", "blue", "yellow", "green", "red", "magenta", "cyan", "gray", "blackBright", "redBright", "greenBright", "yellowBright", "blueBright", "magentaBright", "cyanBright", "whiteBright", "bgBlack", "bgRed", "bgGreen", "bgYellow", "bgBlue", "bgMagenta", "bgCyan", "bgWhite", "bgGray", "bgBlackBright", "bgRedBright", "bgGreenBright", "bgYellowBright", "bgBlueBright", "bgMagentaBright", "bgCyanBright", "bgWhiteBright", "bold", "underline", "dim", "italic", "strikethrough"];
|
|
405
|
+
type StandardChalk = (typeof STANDARD_CHALK)[number];
|
|
406
|
+
/**
|
|
407
|
+
* Add color to text.
|
|
408
|
+
* @param color color to use. Can be hex code (e.g. `#ff0000`), rgb (e.g. `rgb(255, 255, 255)`) or a chalk color (e.g. `red`)
|
|
409
|
+
* @param text string to colorize
|
|
410
|
+
* @returns colorized string
|
|
411
|
+
*/
|
|
412
|
+
declare function colorize(color: string | StandardChalk | undefined, text: string): string;
|
|
413
|
+
|
|
414
|
+
declare const _default: {
|
|
415
|
+
stderr: (msg: string) => void;
|
|
416
|
+
stdout: (msg: string) => void;
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
declare class ux {
|
|
420
|
+
static config: Config;
|
|
421
|
+
static get action(): ActionBase;
|
|
422
|
+
static annotation(text: string, annotation: string): void;
|
|
423
|
+
/**
|
|
424
|
+
* "press anykey to continue"
|
|
425
|
+
*/
|
|
426
|
+
static get anykey(): typeof anykey$1;
|
|
427
|
+
static get confirm(): typeof confirm$1;
|
|
428
|
+
static debug(format: string, ...args: string[]): void;
|
|
429
|
+
static done(): Promise<void>;
|
|
430
|
+
static flush(ms?: number): Promise<void>;
|
|
431
|
+
static info(format: string, ...args: string[]): void;
|
|
432
|
+
static log(format?: string, ...args: string[]): void;
|
|
433
|
+
static logToStderr(format?: string, ...args: string[]): void;
|
|
434
|
+
static get progress(): typeof progress$1;
|
|
435
|
+
static get prompt(): typeof prompt$1;
|
|
436
|
+
static styledHeader(header: string): void;
|
|
437
|
+
static styledJSON(obj: unknown): void;
|
|
438
|
+
static styledObject(obj: any, keys?: string[]): void;
|
|
439
|
+
static get table(): typeof table$1;
|
|
440
|
+
static trace(format: string, ...args: string[]): void;
|
|
441
|
+
static get tree(): typeof tree$1;
|
|
442
|
+
static url(text: string, uri: string, params?: {}): void;
|
|
443
|
+
static get wait(): typeof _default$1;
|
|
444
|
+
}
|
|
445
|
+
declare const action: ActionBase;
|
|
446
|
+
declare const annotation: typeof ux.annotation;
|
|
447
|
+
declare const anykey: typeof anykey$1;
|
|
448
|
+
declare const confirm: typeof confirm$1;
|
|
449
|
+
declare const debug: typeof ux.debug;
|
|
450
|
+
declare const done: typeof ux.done;
|
|
451
|
+
declare const flush: typeof ux.flush;
|
|
452
|
+
declare const info: typeof ux.info;
|
|
453
|
+
declare const log: typeof ux.log;
|
|
454
|
+
declare const logToStderr: typeof ux.logToStderr;
|
|
455
|
+
declare const progress: typeof progress$1;
|
|
456
|
+
declare const prompt: typeof prompt$1;
|
|
457
|
+
declare const styledHeader: typeof ux.styledHeader;
|
|
458
|
+
declare const styledJSON: typeof ux.styledJSON;
|
|
459
|
+
declare const styledObject: typeof ux.styledObject;
|
|
460
|
+
declare const table: typeof table$1;
|
|
461
|
+
declare const trace: typeof ux.trace;
|
|
462
|
+
declare const tree: typeof tree$1;
|
|
463
|
+
declare const url: typeof ux.url;
|
|
464
|
+
declare const wait: (ms?: number) => Promise<void>;
|
|
465
|
+
declare const error: typeof Errors.error;
|
|
466
|
+
declare const exit: typeof Errors.exit;
|
|
467
|
+
declare const warn: typeof Errors.warn;
|
|
468
|
+
|
|
469
|
+
export { ActionBase, Config, ExitError, type IPromptOptions, table$2 as Table, action, annotation, anykey, colorize, config, confirm, debug, done, error, exit, flush, info, log, logToStderr, progress, prompt, styledHeader, styledJSON, styledObject, table, trace, tree, url, ux, wait, warn, _default as write };
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";var It=Object.create;var P=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Lt=Object.getPrototypeOf,Ft=Object.prototype.hasOwnProperty;var Rt=(s,e,t)=>e in s?P(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var tt=(s,e)=>{for(var t in e)P(s,t,{get:e[t],enumerable:!0})},et=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Et(e))!Ft.call(s,n)&&n!==t&&P(s,n,{get:()=>e[n],enumerable:!(r=At(e,n))||r.enumerable});return s};var g=(s,e,t)=>(t=s!=null?It(Lt(s)):{},et(e||!s||!s.__esModule?P(t,"default",{value:s,enumerable:!0}):t,s)),qt=s=>et(P({},"__esModule",{value:!0}),s);var c=(s,e,t)=>Rt(s,typeof e!="symbol"?e+"":e,t);var Ce={};tt(Ce,{ActionBase:()=>b,Config:()=>A,ExitError:()=>W,Table:()=>S,action:()=>ee,annotation:()=>re,anykey:()=>se,colorize:()=>Ct,config:()=>y,confirm:()=>ne,debug:()=>ie,done:()=>oe,error:()=>we,exit:()=>ke,flush:()=>ae,info:()=>ce,log:()=>ue,logToStderr:()=>le,progress:()=>de,prompt:()=>pe,styledHeader:()=>fe,styledJSON:()=>me,styledObject:()=>ge,table:()=>he,trace:()=>ye,tree:()=>ve,url:()=>be,ux:()=>O,wait:()=>xe,warn:()=>Te,write:()=>T});module.exports=qt(Ce);var $=g(require("chalk")),E=require("util");var dt=g(require("@oclif/core/lib/cache"));var K=require("util");function N(s){return s===void 0?[]:Array.isArray(s)?s:[s]}function H(s,e){return s.reduce((t,r)=>t+e(r),0)}function rt(s){return s?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():""}var b=class{constructor(){c(this,"std","stderr");c(this,"stdmocks");c(this,"type");c(this,"stdmockOrigs",{stderr:process.stderr.write,stdout:process.stdout.write})}get output(){return this.globals.output}set output(e){this.globals.output=e}get running(){return!!this.task}get status(){return this.task?this.task.status:void 0}set status(e){let{task:t}=this;t&&t.status!==e&&(this._updateStatus(e,t.status),t.status=e)}get task(){return this.globals.action.task}set task(e){this.globals.action.task=e}async pause(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=e();return r&&n&&this._resume(),o}async pauseAsync(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=await e();return r&&n&&this._resume(),o}start(e,t,r={}){this.std=r.stdout?"stdout":"stderr";let n={action:e,active:!!this.task?.active,status:t};this.task=n,this._start(r),n.active=!0,this._stdout(!0)}stop(e="done"){let{task:t}=this;t&&(this._stop(e),t.active=!1,this.task=void 0,this._stdout(!1))}_flushStdout(){try{let e="",t;for(;this.stdmocks&&this.stdmocks.length>0;){let r=this.stdmocks.shift();t=r[0],this._write(t,r[1]),e+=r[1][0].toString("utf8")}e&&t&&e.at(-1)!==`
|
|
2
|
+
`&&this._write(t,`
|
|
3
|
+
`)}catch(e){this._write("stderr",(0,K.inspect)(e))}}_pause(e){throw new Error("not implemented")}_resume(){this.task&&this.start(this.task.action,this.task.status)}_start(e){throw new Error("not implemented")}_stdout(e){try{if(e){if(this.stdmocks)return;this.stdmockOrigs={stderr:process.stderr.write,stdout:process.stdout.write},this.stdmocks=[],process.stdout.write=(...t)=>(this.stdmocks.push(["stdout",t]),!0),process.stderr.write=(...t)=>(this.stdmocks.push(["stderr",t]),!0)}else{if(!this.stdmocks)return;delete this.stdmocks,process.stdout.write=this.stdmockOrigs.stdout,process.stderr.write=this.stdmockOrigs.stderr}}catch(t){this._write("stderr",(0,K.inspect)(t))}}_stop(e){throw new Error("not implemented")}_updateStatus(e,t){}_write(e,t){switch(e){case"stdout":{this.stdmockOrigs.stdout.apply(process.stdout,N(t));break}case"stderr":{this.stdmockOrigs.stderr.apply(process.stderr,N(t));break}default:throw new Error(`invalid std: ${e}`)}}get globals(){global.ux=global.ux||{};let e=global.ux;return e.action=e.action||{},e}};var B=class extends b{constructor(){super(...arguments);c(this,"type","simple")}_flush(){this._write(this.std,`
|
|
4
|
+
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};var at=g(require("ansi-styles")),ct=g(require("chalk")),ut=g(require("strip-ansi")),F=g(require("supports-color"));function st(s){if(!s.isTTY)return 80;let e=s.getWindowSize()[0];return e<1?80:e<40?40:e}var nt=Number.parseInt(process.env.OCLIF_COLUMNS,10)||80,it=nt||st(process.stdout),ot=nt||st(process.stderr);var Y={arc:{frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"],interval:100},arrow:{frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"],interval:100},arrow2:{frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "],interval:80},arrow3:{frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"],interval:120},balloon:{frames:[" ",".","o","O","@","*"," "],interval:140},balloon2:{frames:[".","o","O","\xB0","O","o","."],interval:120},bounce:{frames:["\u2801","\u2802","\u2804","\u2802"],interval:120},bouncingBall:{frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"],interval:80},bouncingBar:{frames:["[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"],interval:80},boxBounce:{frames:["\u2596","\u2598","\u259D","\u2597"],interval:120},boxBounce2:{frames:["\u258C","\u2580","\u2590","\u2584"],interval:100},circle:{frames:["\u25E1","\u2299","\u25E0"],interval:120},circleHalves:{frames:["\u25D0","\u25D3","\u25D1","\u25D2"],interval:50},circleQuarters:{frames:["\u25F4","\u25F7","\u25F6","\u25F5"],interval:120},clock:{frames:["\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "],interval:100},dots:{frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],interval:80},dots2:{frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"],interval:80},dots3:{frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"],interval:80},dots4:{frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"],interval:80},dots5:{frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"],interval:80},dots6:{frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"],interval:80},dots7:{frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"],interval:80},dots8:{frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"],interval:80},dots9:{frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"],interval:80},dots10:{frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"],interval:80},dots11:{frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"],interval:100},earth:{frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "],interval:180},flip:{frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"],interval:70},growHorizontal:{frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"],interval:120},growVertical:{frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"],interval:120},hamburger:{frames:["\u2631","\u2632","\u2634"],interval:100},hearts:{frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "],interval:100},hexagon:{frames:["\u2B21","\u2B22"],interval:400},line:{frames:["-","\\","|","/"],interval:130},line2:{frames:["\u2802","-","\u2013","\u2014","\u2013","-"],interval:100},monkey:{frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "],interval:300},moon:{frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "],interval:80},noise:{frames:["\u2593","\u2592","\u2591"],interval:100},pipe:{frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"],interval:100},pong:{frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"],interval:80},runner:{frames:["\u{1F6B6} ","\u{1F3C3} "],interval:140},simpleDots:{frames:[". ",".. ","..."," "],interval:400},simpleDotsScrolling:{frames:[". ",".. ","..."," .."," ."," "],interval:200},smiley:{frames:["\u{1F604} ","\u{1F61D} "],interval:200},squareCorners:{frames:["\u25F0","\u25F3","\u25F2","\u25F1"],interval:180},squish:{frames:["\u256B","\u256A"],interval:100},star:{frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"],interval:70},star2:{frames:["+","x","*"],interval:80},toggle:{frames:["\u22B6","\u22B7"],interval:250},toggle2:{frames:["\u25AB","\u25AA"],interval:80},toggle3:{frames:["\u25A1","\u25A0"],interval:120},toggle4:{frames:["\u25A0","\u25A1","\u25AA","\u25AB"],interval:100},toggle5:{frames:["\u25AE","\u25AF"],interval:100},toggle6:{frames:["\u101D","\u1040"],interval:300},toggle7:{frames:["\u29BE","\u29BF"],interval:80},toggle8:{frames:["\u25CD","\u25CC"],interval:100},toggle9:{frames:["\u25C9","\u25CE"],interval:100},toggle10:{frames:["\u3282","\u3280","\u3281"],interval:100},toggle11:{frames:["\u29C7","\u29C6"],interval:50},toggle12:{frames:["\u2617","\u2616"],interval:120},toggle13:{frames:["=","*","-"],interval:80},triangle:{frames:["\u25E2","\u25E3","\u25E4","\u25E5"],interval:50}};var D=require("ansi-escapes");function jt(s){return F?(F.stdout?F.stdout.has256:(process.env.TERM||"").includes("256"))?`\x1B[38;5;104m${s}${at.default.reset.open}`:ct.default.magenta(s):s}var I=class extends b{constructor(){super();c(this,"frameIndex");c(this,"frames");c(this,"spinner");c(this,"type","spinner");this.frames=this.getFrames(),this.frameIndex=0}_frame(){let t=this.frames[this.frameIndex];return this.frameIndex=++this.frameIndex%this.frames.length,jt(t)}_lines(t){return(0,ut.default)(t).split(`
|
|
5
|
+
`).map(r=>Math.ceil(r.length/ot)).reduce((r,n)=>r+n,0)}_pause(t){this.spinner&&clearInterval(this.spinner),this._reset(),t&&this._render(` ${t}`),this.output=void 0}_render(t){if(!this.task)return;this._reset(),this._flushStdout();let r=t==="spinner"?` ${this._frame()}`:t||"",n=this.task.status?` ${this.task.status}`:"";this.output=`${this.task.action}...${r}${n}
|
|
6
|
+
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,D.cursorLeft+D.cursorUp(t)+D.eraseDown),this.output=void 0}_start(t){t.style&&(this.frames=this.getFrames(t)),this._reset(),this.spinner&&clearInterval(this.spinner),this._render(),this.spinner=setInterval(n=>{this._render.bind(this)(n)},process.platform==="win32"?500:100,"spinner"),this.spinner.unref()}_stop(t){this.task&&(this.task.status=t),this.spinner&&clearInterval(this.spinner),this._render(),this.output=void 0}getFrames(t){return t?.style?Y[t.style].frames:Y[process.platform==="win32"?"line":"dots2"].frames}};var lt=global,x=lt.ux||(lt.ux={}),Mt=!!process.stderr.isTTY&&!process.env.CI&&!["dumb","emacs-color"].includes(process.env.TERM)&&"spinner"||"simple",Wt=Mt==="spinner"?I:B,A=class{constructor(){c(this,"action",new Wt);c(this,"errorsHandled",!1);c(this,"outputLevel","info");c(this,"showStackTrace",!0)}get context(){return x.context||{}}set context(e){x.context=e}get debug(){return x.debug||process.env.DEBUG==="*"}set debug(e){x.debug=e}};function $t(){let e=dt.default.getInstance().get("@oclif/core")?.version.split(".")[0]||"unknown";return x[e]||(x[e]=new A),x[e]}var y=$t();var pt=require("@oclif/core/lib/errors");async function Nt(s,e){async function t(r,n=!1){return new Promise(o=>{let i=setTimeout(()=>{o(null)},r);n&&i.unref()})}return Promise.race([s,t(e,!0).then(()=>(0,pt.error)("timed out"))])}async function Ht(){let s=new Promise(t=>{process.stdout.once("drain",()=>{t(null)})});if(!process.stdout.write(""))return s}async function ft(s=1e4){await Nt(Ht(),s)}var C=g(require("chalk"));var J=require("@oclif/core");async function V(s,e=100){if(e<0)throw new Error("no input");return new Promise((t,r)=>{let n;s.timeout&&(n=setTimeout(()=>{process.stdin.pause(),r(new Error("Prompt timeout"))},s.timeout),n.unref()),process.stdin.setEncoding("utf8"),process.stderr.write(s.prompt),process.stdin.resume(),process.stdin.once("data",o=>{n&&clearTimeout(n),process.stdin.pause();let i=(typeof o=="string"?o:o.toString()).trim();!s.default&&s.required&&i===""?t(V(s,e-1)):t(i||s.default)})})}function mt(s,e,t){let r="> ";return t&&e==="hide"&&(t="*".repeat(t.length)),s&&t?r=s+" "+C.default.yellow("["+t+"]")+": ":s&&(r=`${s}: `),r}async function Kt(s){let e=process.stdin.isRaw;process.stdin.setRawMode&&process.stdin.setRawMode(!0),s.required=s.required??!1;let t=await V(s);return process.stdin.setRawMode&&process.stdin.setRawMode(!!e),t}function Yt(s){let e=require("ansi-escapes");process.stderr.write(e.cursorHide+e.cursorUp(1)+e.cursorLeft+s+e.cursorDown(1)+e.cursorLeft+e.cursorShow)}async function gt(s,e={}){let t=mt(s,e.type,e.default),r={default:"",isTTY:!!(process.env.TERM!=="dumb"&&process.stdin.isTTY),name:s,prompt:t,required:!0,type:"normal",...e},n=require("password-prompt");switch(r.type){case"normal":return V(r);case"single":return Kt(r);case"mask":return n(r.prompt,{default:r.default,method:r.type,required:r.required}).then(o=>(Yt(mt(s,"hide",e.default)),o));case"hide":return n(r.prompt,{default:r.default,method:r.type,required:r.required});default:throw new Error(`unexpected type ${r.type}`)}}async function z(s,e={}){return y.action.pauseAsync(async()=>gt(s,e),C.default.cyan("?"))}async function ht(s){return y.action.pauseAsync(async()=>{let e=async()=>{let r=(await gt(s)).toLowerCase();return["n","no"].includes(r)?!1:["y","yes"].includes(r)?!0:e()};return e()},C.default.cyan("?"))}async function yt(s){let e=!!process.stdin.setRawMode;s||(s=e?`Press any key to continue or ${C.default.yellow("q")} to exit`:`Press enter to continue or ${C.default.yellow("q")} to exit`);let t=await z(s,{required:!1,type:"single"});return e&&process.stderr.write(`
|
|
7
|
+
`),t==="q"&&J.Errors.error("quit"),t===""&&J.Errors.error("ctrl-c"),t}var vt=g(require("chalk")),U=require("util");function R(s,e){let t=[],r=Object.keys(s).map(a=>a.toString().length),n=Math.max(...r)+2;function o(a){return typeof a=="string"||typeof a=="number"?a:typeof a=="object"?Object.keys(a).map(u=>u+": "+(0,U.inspect)(a[u])).join(", "):(0,U.inspect)(a)}let i=(a,u)=>`${vt.default.blue(a)}:`+" ".repeat(n-a.length-1)+o(u);for(let a of e||Object.keys(s).sort()){let u=s[a];if(Array.isArray(u)){if(u.length>0){t.push(i(a,u[0]));for(let d of u.slice(1))t.push(" ".repeat(n)+o(d))}}else u!=null&&t.push(i(a,u))}return t.join(`
|
|
8
|
+
`)}var bt=require("cli-progress");function q(s={}){return new bt.SingleBar({noTTYOutput:process.env.TERM==="dumb"||!process.stdin.isTTY,...s})}var S={};tt(S,{table:()=>j});var Z=g(require("chalk")),xt=require("js-yaml"),wt=require("natural-orderby"),kt=require("util"),Tt=g(require("slice-ansi")),w=g(require("string-width"));var Jt=s=>{process.stdout.write(s)},Vt=s=>{process.stderr.write(s)},T={stderr:Vt,stdout:Jt};var v=require("@oclif/core");var G=class{constructor(e,t,r={}){this.data=e;c(this,"columns");c(this,"options");this.columns=Object.keys(t).map(p=>{let m=t[p],_=m.extended??!1,L=m.get??(Bt=>Bt[p]??""),h=typeof m.header=="string"?m.header:rt(p.replaceAll("_"," ")),Pt=Math.max(m.minWidth??0,(0,w.default)(h)+1);return{extended:_,get:L,header:h,key:p,minWidth:Pt}});let{columns:n,csv:o,extended:i,filter:a,output:u,printLine:d,sort:k,title:l}=r;this.options={columns:n,extended:i,filter:a,"no-header":r["no-header"]??!1,"no-truncate":r["no-truncate"]??!1,output:o?"csv":u,printLine:d??(p=>{T.stdout(p+`
|
|
9
|
+
`)}),rowStart:" ",sort:k,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=(0,kt.inspect)(o,{breakLength:Number.POSITIVE_INFINITY})),r[n.key]=o}return r});if(this.options.filter){let[t,r]=this.options.filter.split("="),n=t[0]==="-";n&&(t=t.slice(1));let o=this.findColumnFromHeader(t);if(!o||!r)throw new Error("Filter flag has an invalid value");e=e.filter(i=>{let a=new RegExp(r),d=i[o.key].match(a);return n?!d:d})}if(this.options.sort){let t=this.options.sort.split(","),r=t.map(i=>i[0]==="-"?i.slice(1):i),n=this.filterColumnsFromHeaders(r).map(i=>a=>a[i.key]),o=t.map(i=>i[0]==="-"?"desc":"asc");e=(0,wt.orderBy)(e,n,o)}if(this.options.columns){let t=this.options.columns.split(",");this.columns=this.filterColumnsFromHeaders(t)}else this.options.extended||(this.columns=this.columns.filter(t=>!t.extended));switch(this.data=e,this.options.output){case"csv":{this.outputCSV();break}case"json":{this.outputJSON();break}case"yaml":{this.outputYAML();break}default:this.outputTable()}}filterColumnsFromHeaders(e){e=[...new Set(e)];let t=[];for(let r of e){let n=this.columns.find(o=>o.header.toLowerCase()===r.toLowerCase());n&&t.push(n)}return t}findColumnFromHeader(e){return this.columns.find(t=>t.header.toLowerCase()===e.toLowerCase())}getCSVRow(e){let t=this.columns.map(n=>e[n.key]||""),r=t.find(n=>n.includes('"')||n.includes(`
|
|
10
|
+
`)||n.includes(`\r
|
|
11
|
+
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max((0,w.default)(".".padEnd(i.minWidth-1)),(0,w.default)(i.header),zt(e,i.key))+1;return{...i,maxWidth:a,width:a}}),n=it-2;if((()=>{if(t["no-truncate"]||!process.stdout.isTTY&&!process.env.CLI_UX_SKIP_TTY_CHECK||H(r,l=>l.width)-n<=0)return;for(let l of r)l.width=l.minWidth;let u=H(r,l=>l.minWidth);if(u>=n)return;let d=n-u,k=r.map(l=>({key:l.key,needs:l.maxWidth-l.width})).sort((l,p)=>l.needs-p.needs);for(let{key:l,needs:p}of k){if(!p)continue;let m=r.find(_=>l===_.key);m&&(d>p?(m.width=m.width+p,d-=p):d&&(m.width=m.width+d,d=0))}})(),t.title&&(t.printLine(t.title),t.printLine("".padEnd(r.reduce((i,a)=>i+a.width,1),"=")),t.rowStart="| "),!t["no-header"]){let i=t.rowStart;for(let u of r){let d=u.header;i+=d.padEnd(u.width)}t.printLine(Z.default.bold(i));let a=t.rowStart;for(let u of r){let d="".padEnd(u.width-1,"\u2500")+" ";a+=d.padEnd(u.width)}t.printLine(Z.default.bold(a))}for(let i of e){let a=1;for(let d of r){let l=i[d.key].split(`
|
|
12
|
+
`).length;l>a&&(a=l)}let u=[...new Array(a).keys()];for(let d of u){let k=t.rowStart;for(let l of r){let p=l.width,m=i[l.key];m=m.split(`
|
|
13
|
+
`)[d]||"";let _=(0,w.default)(m),L=m.length-_,h=m.padEnd(p+L);(h.length-L>p||_===p)&&(h=(0,Tt.default)(h,0,p-2)+"\u2026 ",h+=" ".repeat(p-(0,w.default)(h))),k+=h}t.printLine(k)}}}outputYAML(){this.options.printLine((0,xt.safeDump)(this.resolveColumnsToObjectArray()))}resolveColumnsToObjectArray(){let{columns:e,data:t}=this;return t.map(r=>Object.fromEntries(e.map(n=>[n.key,r[n.key]??""])))}};function j(s,e,t={}){new G(s,e,t).display()}(t=>{t.Flags={columns:v.Flags.string({description:"only show provided columns (comma-separated)",exclusive:["extended"]}),csv:v.Flags.boolean({description:"output is csv format [alias: --output=csv]",exclusive:["no-truncate"]}),extended:v.Flags.boolean({char:"x",description:"show extra columns",exclusive:["columns"]}),filter:v.Flags.string({description:"filter property by partial string matching, ex: name=foo"}),"no-header":v.Flags.boolean({description:"hide table header from output",exclusive:["csv"]}),"no-truncate":v.Flags.boolean({description:"do not truncate output to fit screen",exclusive:["csv"]}),output:v.Flags.string({description:"output in a more machine friendly format",exclusive:["no-truncate","csv"],options:["csv","json","yaml"]}),sort:v.Flags.string({description:"property to sort by (prepend '-' for descending)"})};function e(r){if(r){let n={},o=(r.only&&typeof r.only=="string"?[r.only]:r.only)||Object.keys(t.Flags),i=(r.except&&typeof r.except=="string"?[r.except]:r.except)||[];for(let a of o)i.includes(a)||(n[a]=t.Flags[a]);return n}return t.Flags}t.flags=e})(j||(j={}));var zt=(s,e)=>s.reduce((t,r)=>{let n=r[e],o=n.split(`
|
|
14
|
+
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>(0,w.default)(i))):(0,w.default)(n))},0);var Ut=require("object-treeify"),X=class s{constructor(){c(this,"nodes",{})}display(e=console.log){let t=function(n){let o={};for(let i of Object.keys(n))o[i]=t(n[i].nodes);return o},r=t(this.nodes);e(Ut(r))}insert(e,t=new s){return this.nodes[e]=t,this}search(e){for(let t of Object.keys(this.nodes)){if(t===e)return this.nodes[t];let r=this.nodes[t].search(e);if(r)return r}}};function M(){return new X}var _t=async(s=1e3)=>new Promise(e=>{setTimeout(e,s)});var St=require("@oclif/core");var W=class extends Error{constructor(t,r){let n="EEXIT";super(r?r.message:`${n}: ${t}`);c(this,"code");c(this,"error");c(this,"ux");this.error=r,this.ux={exit:t},this.code=n}};var Q=g(require("chalk")),Gt=g(require("color")),Xt=["white","black","blue","yellow","green","red","magenta","cyan","gray","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgGray","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","bold","underline","dim","italic","strikethrough"];function Qt(s){return Xt.includes(s)}function Ct(s,e){return Qt(s)?Q.default[s](e):s?Q.default.hex(s)(e):e}var te=require("hyperlinker"),O=class{static get action(){return y.action}static annotation(e,t){require("supports-hyperlinks").stdout?this.log(`\x1B]1337;AddAnnotation=${e.length}|${t}\x07${e}`):this.log(e)}static get anykey(){return yt}static get confirm(){return ht}static debug(e,...t){["debug","trace"].includes(this.config.outputLevel)&&this.info((0,E.format)(e,...t)+`
|
|
15
|
+
`)}static async done(){y.action.stop()}static async flush(e=1e4){await ft(e)}static info(e,...t){T.stdout((0,E.format)(e,...t)+`
|
|
16
|
+
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){T.stderr((0,E.format)(e,...t)+`
|
|
17
|
+
`)}static get progress(){return q}static get prompt(){return z}static styledHeader(e){this.info($.default.dim("=== ")+$.default.bold(e)+`
|
|
18
|
+
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(!$.default.level){this.info(t);return}let r=require("cardinal"),n=require("cardinal/themes/jq");this.info(r.highlight(t,{json:!0,theme:n}))}static styledObject(e,t){this.info(R(e,t))}static get table(){return S.table}static trace(e,...t){this.config.outputLevel==="trace"&&this.info((0,E.format)(e,...t)+`
|
|
19
|
+
`)}static get tree(){return M}static url(e,t,r={}){require("supports-hyperlinks").stdout?this.log(te(e,t,r)):this.log(t)}static get wait(){return _t}};c(O,"config",y);var{action:ee,annotation:re,anykey:se,confirm:ne,debug:ie,done:oe,flush:ae,info:ce,log:ue,logToStderr:le,progress:de,prompt:pe,styledHeader:fe,styledJSON:me,styledObject:ge,table:he,trace:ye,tree:ve,url:be,wait:xe}=O,{error:we,exit:ke,warn:Te}=St.Errors;var Ot=async()=>{try{await O.done()}catch(s){console.error(s),process.exitCode=1}},_e=process.listeners("exit").find(s=>s.name===Ot.name);_e||process.once("exit",Ot);0&&(module.exports={ActionBase,Config,ExitError,Table,action,annotation,anykey,colorize,config,confirm,debug,done,error,exit,flush,info,log,logToStderr,progress,prompt,styledHeader,styledJSON,styledObject,table,trace,tree,url,ux,wait,warn,write});
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var U=Object.defineProperty;var ht=(s,e,t)=>e in s?U(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var y=(s=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(s,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):s)(function(s){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+s+'" is not supported')});var yt=(s,e)=>{for(var t in e)U(s,t,{get:e[t],enumerable:!0})};var c=(s,e,t)=>ht(s,typeof e!="symbol"?e+"":e,t);import z from"chalk";import{format as M}from"node:util";import kt from"@oclif/core/lib/cache";import{inspect as G}from"node:util";function W(s){return s===void 0?[]:Array.isArray(s)?s:[s]}function $(s,e){return s.reduce((t,r)=>t+e(r),0)}function Z(s){return s?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():""}var k=class{constructor(){c(this,"std","stderr");c(this,"stdmocks");c(this,"type");c(this,"stdmockOrigs",{stderr:process.stderr.write,stdout:process.stdout.write})}get output(){return this.globals.output}set output(e){this.globals.output=e}get running(){return!!this.task}get status(){return this.task?this.task.status:void 0}set status(e){let{task:t}=this;t&&t.status!==e&&(this._updateStatus(e,t.status),t.status=e)}get task(){return this.globals.action.task}set task(e){this.globals.action.task=e}async pause(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=e();return r&&n&&this._resume(),o}async pauseAsync(e,t){let{task:r}=this,n=r?.active;r&&n&&(this._pause(t),this._stdout(!1),r.active=!1);let o=await e();return r&&n&&this._resume(),o}start(e,t,r={}){this.std=r.stdout?"stdout":"stderr";let n={action:e,active:!!this.task?.active,status:t};this.task=n,this._start(r),n.active=!0,this._stdout(!0)}stop(e="done"){let{task:t}=this;t&&(this._stop(e),t.active=!1,this.task=void 0,this._stdout(!1))}_flushStdout(){try{let e="",t;for(;this.stdmocks&&this.stdmocks.length>0;){let r=this.stdmocks.shift();t=r[0],this._write(t,r[1]),e+=r[1][0].toString("utf8")}e&&t&&e.at(-1)!==`
|
|
2
|
+
`&&this._write(t,`
|
|
3
|
+
`)}catch(e){this._write("stderr",G(e))}}_pause(e){throw new Error("not implemented")}_resume(){this.task&&this.start(this.task.action,this.task.status)}_start(e){throw new Error("not implemented")}_stdout(e){try{if(e){if(this.stdmocks)return;this.stdmockOrigs={stderr:process.stderr.write,stdout:process.stdout.write},this.stdmocks=[],process.stdout.write=(...t)=>(this.stdmocks.push(["stdout",t]),!0),process.stderr.write=(...t)=>(this.stdmocks.push(["stderr",t]),!0)}else{if(!this.stdmocks)return;delete this.stdmocks,process.stdout.write=this.stdmockOrigs.stdout,process.stderr.write=this.stdmockOrigs.stderr}}catch(t){this._write("stderr",G(t))}}_stop(e){throw new Error("not implemented")}_updateStatus(e,t){}_write(e,t){switch(e){case"stdout":{this.stdmockOrigs.stdout.apply(process.stdout,W(t));break}case"stderr":{this.stdmockOrigs.stderr.apply(process.stderr,W(t));break}default:throw new Error(`invalid std: ${e}`)}}get globals(){global.ux=global.ux||{};let e=global.ux;return e.action=e.action||{},e}};var S=class extends k{constructor(){super(...arguments);c(this,"type","simple")}_flush(){this._write(this.std,`
|
|
4
|
+
`),this._flushStdout()}_pause(t){t?this._updateStatus(t):this._flush()}_render(t,r){this.task&&(this.task.active&&this._flush(),this._write(this.std,r?`${t}... ${r}`:`${t}...`))}_resume(){}_start(){this.task&&this._render(this.task.action,this.task.status)}_stop(t){this.task&&this._updateStatus(t,this.task.status,!0)}_updateStatus(t,r,n=!1){this.task&&(this.task.active&&!r?this._write(this.std,` ${t}`):this._write(this.std,`${this.task.action}... ${t}`),(n||!r)&&this._flush())}};import vt from"ansi-styles";import bt from"chalk";import xt from"strip-ansi";import*as E from"supports-color";function X(s){if(!s.isTTY)return 80;let e=s.getWindowSize()[0];return e<1?80:e<40?40:e}var Q=Number.parseInt(process.env.OCLIF_COLUMNS,10)||80,tt=Q||X(process.stdout),et=Q||X(process.stderr);var N={arc:{frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"],interval:100},arrow:{frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"],interval:100},arrow2:{frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "],interval:80},arrow3:{frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"],interval:120},balloon:{frames:[" ",".","o","O","@","*"," "],interval:140},balloon2:{frames:[".","o","O","\xB0","O","o","."],interval:120},bounce:{frames:["\u2801","\u2802","\u2804","\u2802"],interval:120},bouncingBall:{frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"],interval:80},bouncingBar:{frames:["[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"],interval:80},boxBounce:{frames:["\u2596","\u2598","\u259D","\u2597"],interval:120},boxBounce2:{frames:["\u258C","\u2580","\u2590","\u2584"],interval:100},circle:{frames:["\u25E1","\u2299","\u25E0"],interval:120},circleHalves:{frames:["\u25D0","\u25D3","\u25D1","\u25D2"],interval:50},circleQuarters:{frames:["\u25F4","\u25F7","\u25F6","\u25F5"],interval:120},clock:{frames:["\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "],interval:100},dots:{frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],interval:80},dots2:{frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"],interval:80},dots3:{frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"],interval:80},dots4:{frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"],interval:80},dots5:{frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"],interval:80},dots6:{frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"],interval:80},dots7:{frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"],interval:80},dots8:{frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"],interval:80},dots9:{frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"],interval:80},dots10:{frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"],interval:80},dots11:{frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"],interval:100},earth:{frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "],interval:180},flip:{frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"],interval:70},growHorizontal:{frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"],interval:120},growVertical:{frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"],interval:120},hamburger:{frames:["\u2631","\u2632","\u2634"],interval:100},hearts:{frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "],interval:100},hexagon:{frames:["\u2B21","\u2B22"],interval:400},line:{frames:["-","\\","|","/"],interval:130},line2:{frames:["\u2802","-","\u2013","\u2014","\u2013","-"],interval:100},monkey:{frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "],interval:300},moon:{frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "],interval:80},noise:{frames:["\u2593","\u2592","\u2591"],interval:100},pipe:{frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"],interval:100},pong:{frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"],interval:80},runner:{frames:["\u{1F6B6} ","\u{1F3C3} "],interval:140},simpleDots:{frames:[". ",".. ","..."," "],interval:400},simpleDotsScrolling:{frames:[". ",".. ","..."," .."," ."," "],interval:200},smiley:{frames:["\u{1F604} ","\u{1F61D} "],interval:200},squareCorners:{frames:["\u25F0","\u25F3","\u25F2","\u25F1"],interval:180},squish:{frames:["\u256B","\u256A"],interval:100},star:{frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"],interval:70},star2:{frames:["+","x","*"],interval:80},toggle:{frames:["\u22B6","\u22B7"],interval:250},toggle2:{frames:["\u25AB","\u25AA"],interval:80},toggle3:{frames:["\u25A1","\u25A0"],interval:120},toggle4:{frames:["\u25A0","\u25A1","\u25AA","\u25AB"],interval:100},toggle5:{frames:["\u25AE","\u25AF"],interval:100},toggle6:{frames:["\u101D","\u1040"],interval:300},toggle7:{frames:["\u29BE","\u29BF"],interval:80},toggle8:{frames:["\u25CD","\u25CC"],interval:100},toggle9:{frames:["\u25C9","\u25CE"],interval:100},toggle10:{frames:["\u3282","\u3280","\u3281"],interval:100},toggle11:{frames:["\u29C7","\u29C6"],interval:50},toggle12:{frames:["\u2617","\u2616"],interval:120},toggle13:{frames:["=","*","-"],interval:80},triangle:{frames:["\u25E2","\u25E3","\u25E4","\u25E5"],interval:50}};var H=y("ansi-escapes");function wt(s){return E?(E.stdout?E.stdout.has256:(process.env.TERM||"").includes("256"))?`\x1B[38;5;104m${s}${vt.reset.open}`:bt.magenta(s):s}var O=class extends k{constructor(){super();c(this,"frameIndex");c(this,"frames");c(this,"spinner");c(this,"type","spinner");this.frames=this.getFrames(),this.frameIndex=0}_frame(){let t=this.frames[this.frameIndex];return this.frameIndex=++this.frameIndex%this.frames.length,wt(t)}_lines(t){return xt(t).split(`
|
|
5
|
+
`).map(r=>Math.ceil(r.length/et)).reduce((r,n)=>r+n,0)}_pause(t){this.spinner&&clearInterval(this.spinner),this._reset(),t&&this._render(` ${t}`),this.output=void 0}_render(t){if(!this.task)return;this._reset(),this._flushStdout();let r=t==="spinner"?` ${this._frame()}`:t||"",n=this.task.status?` ${this.task.status}`:"";this.output=`${this.task.action}...${r}${n}
|
|
6
|
+
`,this._write(this.std,this.output)}_reset(){if(!this.output)return;let t=this._lines(this.output);this._write(this.std,H.cursorLeft+H.cursorUp(t)+H.eraseDown),this.output=void 0}_start(t){t.style&&(this.frames=this.getFrames(t)),this._reset(),this.spinner&&clearInterval(this.spinner),this._render(),this.spinner=setInterval(n=>{this._render.bind(this)(n)},process.platform==="win32"?500:100,"spinner"),this.spinner.unref()}_stop(t){this.task&&(this.task.status=t),this.spinner&&clearInterval(this.spinner),this._render(),this.output=void 0}getFrames(t){return t?.style?N[t.style].frames:N[process.platform==="win32"?"line":"dots2"].frames}};var rt=global,v=rt.ux||(rt.ux={}),Tt=!!process.stderr.isTTY&&!process.env.CI&&!["dumb","emacs-color"].includes(process.env.TERM)&&"spinner"||"simple",_t=Tt==="spinner"?O:S,L=class{constructor(){c(this,"action",new _t);c(this,"errorsHandled",!1);c(this,"outputLevel","info");c(this,"showStackTrace",!0)}get context(){return v.context||{}}set context(e){v.context=e}get debug(){return v.debug||process.env.DEBUG==="*"}set debug(e){v.debug=e}};function Ct(){let e=kt.getInstance().get("@oclif/core")?.version.split(".")[0]||"unknown";return v[e]||(v[e]=new L),v[e]}var b=Ct();import{error as St}from"@oclif/core/lib/errors";async function Ot(s,e){async function t(r,n=!1){return new Promise(o=>{let i=setTimeout(()=>{o(null)},r);n&&i.unref()})}return Promise.race([s,t(e,!0).then(()=>St("timed out"))])}async function Pt(){let s=new Promise(t=>{process.stdout.once("drain",()=>{t(null)})});if(!process.stdout.write(""))return s}async function st(s=1e4){await Ot(Pt(),s)}import P from"chalk";import{Errors as nt}from"@oclif/core";async function K(s,e=100){if(e<0)throw new Error("no input");return new Promise((t,r)=>{let n;s.timeout&&(n=setTimeout(()=>{process.stdin.pause(),r(new Error("Prompt timeout"))},s.timeout),n.unref()),process.stdin.setEncoding("utf8"),process.stderr.write(s.prompt),process.stdin.resume(),process.stdin.once("data",o=>{n&&clearTimeout(n),process.stdin.pause();let i=(typeof o=="string"?o:o.toString()).trim();!s.default&&s.required&&i===""?t(K(s,e-1)):t(i||s.default)})})}function it(s,e,t){let r="> ";return t&&e==="hide"&&(t="*".repeat(t.length)),s&&t?r=s+" "+P.yellow("["+t+"]")+": ":s&&(r=`${s}: `),r}async function Bt(s){let e=process.stdin.isRaw;process.stdin.setRawMode&&process.stdin.setRawMode(!0),s.required=s.required??!1;let t=await K(s);return process.stdin.setRawMode&&process.stdin.setRawMode(!!e),t}function It(s){let e=y("ansi-escapes");process.stderr.write(e.cursorHide+e.cursorUp(1)+e.cursorLeft+s+e.cursorDown(1)+e.cursorLeft+e.cursorShow)}async function ot(s,e={}){let t=it(s,e.type,e.default),r={default:"",isTTY:!!(process.env.TERM!=="dumb"&&process.stdin.isTTY),name:s,prompt:t,required:!0,type:"normal",...e},n=y("password-prompt");switch(r.type){case"normal":return K(r);case"single":return Bt(r);case"mask":return n(r.prompt,{default:r.default,method:r.type,required:r.required}).then(o=>(It(it(s,"hide",e.default)),o));case"hide":return n(r.prompt,{default:r.default,method:r.type,required:r.required});default:throw new Error(`unexpected type ${r.type}`)}}async function Y(s,e={}){return b.action.pauseAsync(async()=>ot(s,e),P.cyan("?"))}async function at(s){return b.action.pauseAsync(async()=>{let e=async()=>{let r=(await ot(s)).toLowerCase();return["n","no"].includes(r)?!1:["y","yes"].includes(r)?!0:e()};return e()},P.cyan("?"))}async function ct(s){let e=!!process.stdin.setRawMode;s||(s=e?`Press any key to continue or ${P.yellow("q")} to exit`:`Press enter to continue or ${P.yellow("q")} to exit`);let t=await Y(s,{required:!1,type:"single"});return e&&process.stderr.write(`
|
|
7
|
+
`),t==="q"&&nt.error("quit"),t===""&&nt.error("ctrl-c"),t}import Et from"chalk";import{inspect as ut}from"node:util";function F(s,e){let t=[],r=Object.keys(s).map(a=>a.toString().length),n=Math.max(...r)+2;function o(a){return typeof a=="string"||typeof a=="number"?a:typeof a=="object"?Object.keys(a).map(u=>u+": "+ut(a[u])).join(", "):ut(a)}let i=(a,u)=>`${Et.blue(a)}:`+" ".repeat(n-a.length-1)+o(u);for(let a of e||Object.keys(s).sort()){let u=s[a];if(Array.isArray(u)){if(u.length>0){t.push(i(a,u[0]));for(let d of u.slice(1))t.push(" ".repeat(n)+o(d))}}else u!=null&&t.push(i(a,u))}return t.join(`
|
|
8
|
+
`)}import{SingleBar as Lt}from"cli-progress";function R(s={}){return new Lt({noTTYOutput:process.env.TERM==="dumb"||!process.stdin.isTTY,...s})}var B={};yt(B,{table:()=>q});import lt from"chalk";import{safeDump as qt}from"js-yaml";import{orderBy as jt}from"natural-orderby";import{inspect as Mt}from"node:util";import Wt from"slice-ansi";import T from"string-width";var Ft=s=>{process.stdout.write(s)},Rt=s=>{process.stderr.write(s)},C={stderr:Rt,stdout:Ft};import{Flags as x}from"@oclif/core";var D=class{constructor(e,t,r={}){this.data=e;c(this,"columns");c(this,"options");this.columns=Object.keys(t).map(p=>{let g=t[p],_=g.extended??!1,A=g.get??(gt=>gt[p]??""),h=typeof g.header=="string"?g.header:Z(p.replaceAll("_"," ")),mt=Math.max(g.minWidth??0,T(h)+1);return{extended:_,get:A,header:h,key:p,minWidth:mt}});let{columns:n,csv:o,extended:i,filter:a,output:u,printLine:d,sort:w,title:l}=r;this.options={columns:n,extended:i,filter:a,"no-header":r["no-header"]??!1,"no-truncate":r["no-truncate"]??!1,output:o?"csv":u,printLine:d??(p=>{C.stdout(p+`
|
|
9
|
+
`)}),rowStart:" ",sort:w,title:l}}display(){let e=this.data.map(t=>{let r={};for(let n of this.columns){let o=n.get(t);typeof o!="string"&&(o=Mt(o,{breakLength:Number.POSITIVE_INFINITY})),r[n.key]=o}return r});if(this.options.filter){let[t,r]=this.options.filter.split("="),n=t[0]==="-";n&&(t=t.slice(1));let o=this.findColumnFromHeader(t);if(!o||!r)throw new Error("Filter flag has an invalid value");e=e.filter(i=>{let a=new RegExp(r),d=i[o.key].match(a);return n?!d:d})}if(this.options.sort){let t=this.options.sort.split(","),r=t.map(i=>i[0]==="-"?i.slice(1):i),n=this.filterColumnsFromHeaders(r).map(i=>a=>a[i.key]),o=t.map(i=>i[0]==="-"?"desc":"asc");e=jt(e,n,o)}if(this.options.columns){let t=this.options.columns.split(",");this.columns=this.filterColumnsFromHeaders(t)}else this.options.extended||(this.columns=this.columns.filter(t=>!t.extended));switch(this.data=e,this.options.output){case"csv":{this.outputCSV();break}case"json":{this.outputJSON();break}case"yaml":{this.outputYAML();break}default:this.outputTable()}}filterColumnsFromHeaders(e){e=[...new Set(e)];let t=[];for(let r of e){let n=this.columns.find(o=>o.header.toLowerCase()===r.toLowerCase());n&&t.push(n)}return t}findColumnFromHeader(e){return this.columns.find(t=>t.header.toLowerCase()===e.toLowerCase())}getCSVRow(e){let t=this.columns.map(n=>e[n.key]||""),r=t.find(n=>n.includes('"')||n.includes(`
|
|
10
|
+
`)||n.includes(`\r
|
|
11
|
+
`)||n.includes("\r")||n.includes(","));return t.map(n=>r?`"${n.replaceAll('"','""')}"`:n)}outputCSV(){let{columns:e,data:t,options:r}=this;r["no-header"]||r.printLine(e.map(n=>n.header).join(","));for(let n of t){let o=this.getCSVRow(n);r.printLine(o.join(","))}}outputJSON(){this.options.printLine(JSON.stringify(this.resolveColumnsToObjectArray(),void 0,2))}outputTable(){let{data:e,options:t}=this,r=this.columns.map(i=>{let a=Math.max(T(".".padEnd(i.minWidth-1)),T(i.header),$t(e,i.key))+1;return{...i,maxWidth:a,width:a}}),n=tt-2;if((()=>{if(t["no-truncate"]||!process.stdout.isTTY&&!process.env.CLI_UX_SKIP_TTY_CHECK||$(r,l=>l.width)-n<=0)return;for(let l of r)l.width=l.minWidth;let u=$(r,l=>l.minWidth);if(u>=n)return;let d=n-u,w=r.map(l=>({key:l.key,needs:l.maxWidth-l.width})).sort((l,p)=>l.needs-p.needs);for(let{key:l,needs:p}of w){if(!p)continue;let g=r.find(_=>l===_.key);g&&(d>p?(g.width=g.width+p,d-=p):d&&(g.width=g.width+d,d=0))}})(),t.title&&(t.printLine(t.title),t.printLine("".padEnd(r.reduce((i,a)=>i+a.width,1),"=")),t.rowStart="| "),!t["no-header"]){let i=t.rowStart;for(let u of r){let d=u.header;i+=d.padEnd(u.width)}t.printLine(lt.bold(i));let a=t.rowStart;for(let u of r){let d="".padEnd(u.width-1,"\u2500")+" ";a+=d.padEnd(u.width)}t.printLine(lt.bold(a))}for(let i of e){let a=1;for(let d of r){let l=i[d.key].split(`
|
|
12
|
+
`).length;l>a&&(a=l)}let u=[...new Array(a).keys()];for(let d of u){let w=t.rowStart;for(let l of r){let p=l.width,g=i[l.key];g=g.split(`
|
|
13
|
+
`)[d]||"";let _=T(g),A=g.length-_,h=g.padEnd(p+A);(h.length-A>p||_===p)&&(h=Wt(h,0,p-2)+"\u2026 ",h+=" ".repeat(p-T(h))),w+=h}t.printLine(w)}}}outputYAML(){this.options.printLine(qt(this.resolveColumnsToObjectArray()))}resolveColumnsToObjectArray(){let{columns:e,data:t}=this;return t.map(r=>Object.fromEntries(e.map(n=>[n.key,r[n.key]??""])))}};function q(s,e,t={}){new D(s,e,t).display()}(t=>{t.Flags={columns:x.string({description:"only show provided columns (comma-separated)",exclusive:["extended"]}),csv:x.boolean({description:"output is csv format [alias: --output=csv]",exclusive:["no-truncate"]}),extended:x.boolean({char:"x",description:"show extra columns",exclusive:["columns"]}),filter:x.string({description:"filter property by partial string matching, ex: name=foo"}),"no-header":x.boolean({description:"hide table header from output",exclusive:["csv"]}),"no-truncate":x.boolean({description:"do not truncate output to fit screen",exclusive:["csv"]}),output:x.string({description:"output in a more machine friendly format",exclusive:["no-truncate","csv"],options:["csv","json","yaml"]}),sort:x.string({description:"property to sort by (prepend '-' for descending)"})};function e(r){if(r){let n={},o=(r.only&&typeof r.only=="string"?[r.only]:r.only)||Object.keys(t.Flags),i=(r.except&&typeof r.except=="string"?[r.except]:r.except)||[];for(let a of o)i.includes(a)||(n[a]=t.Flags[a]);return n}return t.Flags}t.flags=e})(q||(q={}));var $t=(s,e)=>s.reduce((t,r)=>{let n=r[e],o=n.split(`
|
|
14
|
+
`);return Math.max(t,o.length>1?Math.max(...o.map(i=>T(i))):T(n))},0);var Nt=y("object-treeify"),J=class s{constructor(){c(this,"nodes",{})}display(e=console.log){let t=function(n){let o={};for(let i of Object.keys(n))o[i]=t(n[i].nodes);return o},r=t(this.nodes);e(Nt(r))}insert(e,t=new s){return this.nodes[e]=t,this}search(e){for(let t of Object.keys(this.nodes)){if(t===e)return this.nodes[t];let r=this.nodes[t].search(e);if(r)return r}}};function j(){return new J}var dt=async(s=1e3)=>new Promise(e=>{setTimeout(e,s)});import{Errors as Vt}from"@oclif/core";var V=class extends Error{constructor(t,r){let n="EEXIT";super(r?r.message:`${n}: ${t}`);c(this,"code");c(this,"error");c(this,"ux");this.error=r,this.ux={exit:t},this.code=n}};import pt from"chalk";import*as Kt from"color";var Yt=["white","black","blue","yellow","green","red","magenta","cyan","gray","blackBright","redBright","greenBright","yellowBright","blueBright","magentaBright","cyanBright","whiteBright","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","bgGray","bgBlackBright","bgRedBright","bgGreenBright","bgYellowBright","bgBlueBright","bgMagentaBright","bgCyanBright","bgWhiteBright","bold","underline","dim","italic","strikethrough"];function Dt(s){return Yt.includes(s)}function Jt(s,e){return Dt(s)?pt[s](e):s?pt.hex(s)(e):e}var zt=y("hyperlinker"),I=class{static get action(){return b.action}static annotation(e,t){y("supports-hyperlinks").stdout?this.log(`\x1B]1337;AddAnnotation=${e.length}|${t}\x07${e}`):this.log(e)}static get anykey(){return ct}static get confirm(){return at}static debug(e,...t){["debug","trace"].includes(this.config.outputLevel)&&this.info(M(e,...t)+`
|
|
15
|
+
`)}static async done(){b.action.stop()}static async flush(e=1e4){await st(e)}static info(e,...t){C.stdout(M(e,...t)+`
|
|
16
|
+
`)}static log(e,...t){this.info(e||"",...t)}static logToStderr(e,...t){C.stderr(M(e,...t)+`
|
|
17
|
+
`)}static get progress(){return R}static get prompt(){return Y}static styledHeader(e){this.info(z.dim("=== ")+z.bold(e)+`
|
|
18
|
+
`)}static styledJSON(e){let t=JSON.stringify(e,null,2);if(!z.level){this.info(t);return}let r=y("cardinal"),n=y("cardinal/themes/jq");this.info(r.highlight(t,{json:!0,theme:n}))}static styledObject(e,t){this.info(F(e,t))}static get table(){return B.table}static trace(e,...t){this.config.outputLevel==="trace"&&this.info(M(e,...t)+`
|
|
19
|
+
`)}static get tree(){return j}static url(e,t,r={}){y("supports-hyperlinks").stdout?this.log(zt(e,t,r)):this.log(t)}static get wait(){return dt}};c(I,"config",b);var{action:Tr,annotation:_r,anykey:Cr,confirm:Sr,debug:Or,done:Pr,flush:Br,info:Ir,log:Ar,logToStderr:Er,progress:Lr,prompt:Fr,styledHeader:Rr,styledJSON:qr,styledObject:jr,table:Mr,trace:Wr,tree:$r,url:Nr,wait:Hr}=I,{error:Kr,exit:Yr,warn:Dr}=Vt;var ft=async()=>{try{await I.done()}catch(s){console.error(s),process.exitCode=1}},Ut=process.listeners("exit").find(s=>s.name===ft.name);Ut||process.once("exit",ft);export{k as ActionBase,L as Config,V as ExitError,B as Table,Tr as action,_r as annotation,Cr as anykey,Jt as colorize,b as config,Sr as confirm,Or as debug,Pr as done,Kr as error,Yr as exit,Br as flush,Ir as info,Ar as log,Er as logToStderr,Lr as progress,Fr as prompt,Rr as styledHeader,qr as styledJSON,jr as styledObject,Mr as table,Wr as trace,$r as tree,Nr as url,I as ux,Hr as wait,Dr as warn,C as write};
|