@cenk1cenk2/oclif-common 3.9.8 → 3.9.10

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.
Files changed (112) hide show
  1. package/dist/index.d.ts +423 -52
  2. package/dist/index.js +1298 -22
  3. package/package.json +1 -1
  4. package/dist/base.command-d3038122.d.ts +0 -77
  5. package/dist/commands/base.command.d.ts +0 -24
  6. package/dist/commands/base.command.js +0 -174
  7. package/dist/commands/config.command.d.ts +0 -71
  8. package/dist/commands/config.command.js +0 -60
  9. package/dist/commands/index.d.ts +0 -34
  10. package/dist/commands/index.js +0 -18
  11. package/dist/constants/file.constants.d.ts +0 -5
  12. package/dist/constants/file.constants.js +0 -30
  13. package/dist/constants/global-flags.constants.d.ts +0 -5
  14. package/dist/constants/global-flags.constants.js +0 -53
  15. package/dist/constants/help-groups.constants.d.ts +0 -5
  16. package/dist/constants/help-groups.constants.js +0 -30
  17. package/dist/constants/index.d.ts +0 -4
  18. package/dist/constants/index.js +0 -19
  19. package/dist/hooks/index.d.ts +0 -6
  20. package/dist/hooks/index.js +0 -19
  21. package/dist/hooks/not-found.hook.d.ts +0 -5
  22. package/dist/hooks/not-found.hook.js +0 -37
  23. package/dist/hooks/store.hook.d.ts +0 -7
  24. package/dist/hooks/store.hook.js +0 -31
  25. package/dist/hooks/update-notifier.hook.d.ts +0 -5
  26. package/dist/hooks/update-notifier.hook.js +0 -37
  27. package/dist/interfaces/class.interface.d.ts +0 -3
  28. package/dist/interfaces/class.interface.js +0 -15
  29. package/dist/interfaces/config-command.interface.d.ts +0 -12
  30. package/dist/interfaces/config-command.interface.js +0 -15
  31. package/dist/interfaces/index.d.ts +0 -10
  32. package/dist/interfaces/index.js +0 -20
  33. package/dist/interfaces/oclif.interface.d.ts +0 -9
  34. package/dist/interfaces/oclif.interface.js +0 -27
  35. package/dist/interfaces/type-helper.interface.d.ts +0 -8
  36. package/dist/interfaces/type-helper.interface.js +0 -15
  37. package/dist/lib/config/config.constants.d.ts +0 -8
  38. package/dist/lib/config/config.constants.js +0 -33
  39. package/dist/lib/config/config.interface.d.ts +0 -15
  40. package/dist/lib/config/config.interface.js +0 -15
  41. package/dist/lib/config/config.service.d.ts +0 -24
  42. package/dist/lib/config/config.service.js +0 -172
  43. package/dist/lib/config/index.d.ts +0 -24
  44. package/dist/lib/config/index.js +0 -18
  45. package/dist/lib/fs/filesystem.service.d.ts +0 -28
  46. package/dist/lib/fs/filesystem.service.js +0 -162
  47. package/dist/lib/fs/index.d.ts +0 -2
  48. package/dist/lib/fs/index.js +0 -17
  49. package/dist/lib/index.d.ts +0 -29
  50. package/dist/lib/index.js +0 -23
  51. package/dist/lib/locker/index.d.ts +0 -4
  52. package/dist/lib/locker/index.js +0 -18
  53. package/dist/lib/locker/locker.interface.d.ts +0 -17
  54. package/dist/lib/locker/locker.interface.js +0 -15
  55. package/dist/lib/locker/locker.service.d.ts +0 -30
  56. package/dist/lib/locker/locker.service.js +0 -170
  57. package/dist/lib/parser/env-parser.service.d.ts +0 -13
  58. package/dist/lib/parser/env-parser.service.js +0 -62
  59. package/dist/lib/parser/index.d.ts +0 -8
  60. package/dist/lib/parser/index.js +0 -21
  61. package/dist/lib/parser/json-parser.service.d.ts +0 -12
  62. package/dist/lib/parser/json-parser.service.js +0 -52
  63. package/dist/lib/parser/parser.interface.d.ts +0 -7
  64. package/dist/lib/parser/parser.interface.js +0 -15
  65. package/dist/lib/parser/parser.service.d.ts +0 -21
  66. package/dist/lib/parser/parser.service.js +0 -87
  67. package/dist/lib/parser/yaml-parser.service.d.ts +0 -12
  68. package/dist/lib/parser/yaml-parser.service.js +0 -53
  69. package/dist/lib/setup.d.ts +0 -3
  70. package/dist/lib/setup.js +0 -60
  71. package/dist/lib/store/index.d.ts +0 -2
  72. package/dist/lib/store/index.js +0 -18
  73. package/dist/lib/store/store.interface.d.ts +0 -5
  74. package/dist/lib/store/store.interface.js +0 -15
  75. package/dist/lib/store/store.service.d.ts +0 -12
  76. package/dist/lib/store/store.service.js +0 -48
  77. package/dist/lib/validator/index.d.ts +0 -5
  78. package/dist/lib/validator/index.js +0 -18
  79. package/dist/lib/validator/validator.interface.d.ts +0 -9
  80. package/dist/lib/validator/validator.interface.js +0 -15
  81. package/dist/lib/validator/validator.service.d.ts +0 -16
  82. package/dist/lib/validator/validator.service.js +0 -77
  83. package/dist/utils/color.d.ts +0 -5
  84. package/dist/utils/color.js +0 -34
  85. package/dist/utils/defaults.d.ts +0 -11
  86. package/dist/utils/defaults.js +0 -47
  87. package/dist/utils/environment.d.ts +0 -7
  88. package/dist/utils/environment.js +0 -44
  89. package/dist/utils/index.d.ts +0 -17
  90. package/dist/utils/index.js +0 -34
  91. package/dist/utils/logger/index.d.ts +0 -10
  92. package/dist/utils/logger/index.js +0 -21
  93. package/dist/utils/logger/listr-logger.d.ts +0 -20
  94. package/dist/utils/logger/listr-logger.js +0 -60
  95. package/dist/utils/logger/logger.constants.d.ts +0 -20
  96. package/dist/utils/logger/logger.constants.js +0 -48
  97. package/dist/utils/logger/logger.d.ts +0 -31
  98. package/dist/utils/logger/logger.interface.d.ts +0 -16
  99. package/dist/utils/logger/logger.interface.js +0 -15
  100. package/dist/utils/logger/logger.js +0 -200
  101. package/dist/utils/logger/pipe/index.d.ts +0 -9
  102. package/dist/utils/logger/pipe/index.js +0 -19
  103. package/dist/utils/logger/pipe/pipe-process-to-listr.d.ts +0 -6
  104. package/dist/utils/logger/pipe/pipe-process-to-listr.js +0 -43
  105. package/dist/utils/logger/pipe/pipe-process-to-logger.d.ts +0 -13
  106. package/dist/utils/logger/pipe/pipe-process-to-logger.interface.d.ts +0 -16
  107. package/dist/utils/logger/pipe/pipe-process-to-logger.interface.js +0 -15
  108. package/dist/utils/logger/pipe/pipe-process-to-logger.js +0 -80
  109. package/dist/utils/merge.constants.d.ts +0 -6
  110. package/dist/utils/merge.constants.js +0 -31
  111. package/dist/utils/merge.d.ts +0 -8
  112. package/dist/utils/merge.js +0 -47
package/dist/index.d.ts CHANGED
@@ -1,54 +1,425 @@
1
- export { C as Command, a as ConfigService } from './base.command-d3038122.js';
2
- export { ConfigCommand } from './commands/config.command.js';
3
- export { FileConstants } from './constants/file.constants.js';
4
- export { CLI_FLAGS } from './constants/global-flags.constants.js';
5
- export { HelpGroups } from './constants/help-groups.constants.js';
6
- export { notFoundHook } from './hooks/not-found.hook.js';
7
- export { updateNotifierHook } from './hooks/update-notifier.hook.js';
8
- export { storeHook } from './hooks/store.hook.js';
9
- export { ClassType } from './interfaces/class.interface.js';
10
- export { ConfigCommandChoices, ConfigCommandSetup } from './interfaces/config-command.interface.js';
11
- export { InferArgs, InferFlags } from './interfaces/oclif.interface.js';
12
- export { DeepPartial } from './interfaces/type-helper.interface.js';
13
- export { ConfigIterator, GlobalConfig } from './lib/config/config.interface.js';
14
- export { FileSystemService } from './lib/fs/filesystem.service.js';
15
- export { CommonLockerData, LockData, LockableData, UnlockData } from './lib/locker/locker.interface.js';
16
- export { LockerService } from './lib/locker/locker.service.js';
17
- export { EnvironmentVariableParser } from './lib/parser/env-parser.service.js';
18
- export { GenericParser } from './lib/parser/parser.interface.js';
19
- export { ParserService } from './lib/parser/parser.service.js';
20
- export { YamlParser } from './lib/parser/yaml-parser.service.js';
21
- export { JsonParser } from './lib/parser/json-parser.service.js';
22
- export { DataStore } from './lib/store/store.interface.js';
23
- export { StoreService } from './lib/store/store.service.js';
24
- export { ValidatorServiceOptions } from './lib/validator/validator.interface.js';
25
- export { ValidatorService } from './lib/validator/validator.service.js';
26
- export { setup } from './lib/setup.js';
27
- export { ListrLogger } from './utils/logger/listr-logger.js';
28
- export { pipeProcessThroughListr } from './utils/logger/pipe/pipe-process-to-listr.js';
29
- export { pipeProcessToLogger } from './utils/logger/pipe/pipe-process-to-logger.js';
30
- export { PipeProcessToLoggerOptions } from './utils/logger/pipe/pipe-process-to-logger.interface.js';
31
- export { LogFieldStatus, LogLevels } from './utils/logger/logger.constants.js';
32
- export { LoggerFormat, LoggerOptions, Winston } from './utils/logger/logger.interface.js';
33
- export { Logger } from './utils/logger/logger.js';
34
- export { color } from './utils/color.js';
35
- export { isDebug, isSilent, isVerbose } from './utils/environment.js';
36
- export { MergeStrategy } from './utils/merge.constants.js';
37
- export { merge, uniqueFilter } from './utils/merge.js';
38
- export { SetCtxAssignOptions, SetCtxDefaultsOptions, setCtxAssign, setCtxDefaults } from './utils/defaults.js';
1
+ import { Command as Command$1, CliUx, Hook } from '@oclif/core';
39
2
  export { CliUx, Flags } from '@oclif/core';
40
- export { Arg, ArgInput, Flag, FlagInput, InferredFlags } from '@oclif/core/lib/interfaces';
3
+ import { ExecaChildProcess } from 'execa';
4
+ import { Logger as Logger$2, ListrTaskWrapper, ListrContext, Manager, PromptOptions } from 'listr2';
5
+ import { Logger as Logger$1, LeveledLogMethod } from 'winston';
6
+ import fs from 'fs-extra';
41
7
  export { default as fs } from 'fs-extra';
42
- import 'listr2';
43
- import '@oclif/core/lib/cli-ux/styled/progress';
44
- import '@oclif/core/lib/cli-ux/open';
45
- import '@oclif/core/lib/cli-ux/styled/tree';
46
- import '@oclif/core/lib/cli-ux/styled/json';
47
- import '@oclif/core/lib/cli-ux/styled/header';
48
- import '@oclif/core/lib/cli-ux/prompt';
49
- import '@oclif/core/lib/errors';
50
- import 'class-transformer';
51
- import 'class-validator';
52
- import 'execa';
53
- import 'winston';
54
- import 'colorette';
8
+ import { ClassTransformOptions } from 'class-transformer';
9
+ import { ValidatorOptions } from 'class-validator';
10
+ import { InferredFlags, FlagInput } from '@oclif/core/lib/interfaces';
11
+ export { Arg, ArgInput, Flag, FlagInput, InferredFlags } from '@oclif/core/lib/interfaces';
12
+ import * as _oclif_core_lib_cli_ux_styled_progress from '@oclif/core/lib/cli-ux/styled/progress';
13
+ import * as _oclif_core_lib_cli_ux_open from '@oclif/core/lib/cli-ux/open';
14
+ import * as _oclif_core_lib_cli_ux_styled_tree from '@oclif/core/lib/cli-ux/styled/tree';
15
+ import * as _oclif_core_lib_cli_ux_styled_json from '@oclif/core/lib/cli-ux/styled/json';
16
+ import * as _oclif_core_lib_cli_ux_styled_header from '@oclif/core/lib/cli-ux/styled/header';
17
+ import * as _oclif_core_lib_cli_ux_prompt from '@oclif/core/lib/cli-ux/prompt';
18
+ import * as _oclif_core_lib_errors from '@oclif/core/lib/errors';
19
+ import * as colorette from 'colorette';
20
+
21
+ type ClassType<T> = new (...args: any[]) => T;
22
+
23
+ declare enum LogLevels {
24
+ SILENT = "SILENT",
25
+ DIRECT = "DIRECT",
26
+ FATAL = "FATAL",
27
+ ERROR = "ERROR",
28
+ WARN = "WARN",
29
+ INFO = "INFO",
30
+ VERBOSE = "VERBOSE",
31
+ DEBUG = "DEBUG",
32
+ TRACE = "TRACE"
33
+ }
34
+ declare enum LogFieldStatus {
35
+ RUN = "run",
36
+ END = "end",
37
+ STAGE = "stage",
38
+ EXIT = "exit",
39
+ TERMINATE = "terminate"
40
+ }
41
+
42
+ interface LoggerOptions {
43
+ useIcons?: boolean;
44
+ level?: LogLevels;
45
+ }
46
+ interface LoggerFormat {
47
+ level: LogLevels;
48
+ message: string;
49
+ context: string;
50
+ status: string;
51
+ }
52
+ type Winston = Logger$1 & Record<keyof typeof LogLevels, LeveledLogMethod>;
53
+
54
+ /**
55
+ * A general logger for the the CLI applications.
56
+ */
57
+ declare class Logger {
58
+ private context?;
59
+ private options?;
60
+ static instance: Winston;
61
+ private logger;
62
+ constructor(context?: string, options?: LoggerOptions);
63
+ log(level: LogLevels, data: string | Buffer, ...args: any): void;
64
+ direct(data: string | Buffer, ...args: any): void;
65
+ fatal(data: string | Buffer, ...args: any): void;
66
+ error(data: string | Buffer, ...args: any): void;
67
+ warn(data: string | Buffer, ...args: any): void;
68
+ info(data: string | Buffer, ...args: any): void;
69
+ debug(data: string | Buffer, ...args: any): void;
70
+ verbose(data: string | Buffer, ...args: any): void;
71
+ trace(data: string | Buffer, ...args: any): void;
72
+ run(data: string | Buffer, ...args: any): void;
73
+ end(data: string | Buffer, ...args: any): void;
74
+ stage(data: string | Buffer, ...args: any): void;
75
+ private initiateLogger;
76
+ private parseMessage;
77
+ private logColoring;
78
+ }
79
+
80
+ declare class ListrLogger extends Logger$2 {
81
+ logger: Logger;
82
+ constructor(context?: string);
83
+ fail(message: string): void;
84
+ skip(message: string): void;
85
+ success(message: string): void;
86
+ data(message: string): void;
87
+ start(message: string): void;
88
+ title(message: string): void;
89
+ retry(message: string): void;
90
+ rollback(message: string): void;
91
+ }
92
+
93
+ declare function pipeProcessThroughListr(task: ListrTaskWrapper<any, any>, instance: ExecaChildProcess): ExecaChildProcess;
94
+
95
+ interface PipeProcessToLoggerOptions {
96
+ /** Will log the command when the process starts. */
97
+ start?: LogLevels;
98
+ /** Will log the command when the process ends. */
99
+ end?: LogLevels;
100
+ /** enable/disable stdout */
101
+ stdout?: LogLevels;
102
+ /** enable/disable stderrr */
103
+ stderr?: LogLevels;
104
+ /** will callback on error in the instance */
105
+ callback?: (error?: Error) => void;
106
+ /** context for logger */
107
+ context?: string;
108
+ }
109
+
110
+ /**
111
+ * Given the instance it will pipe process output through the logger to append prefixes such as the application name.
112
+ */
113
+ declare function pipeProcessToLogger(logger: Logger, instance: ExecaChildProcess, options?: PipeProcessToLoggerOptions): ExecaChildProcess;
114
+
115
+ interface GlobalConfig {
116
+ logLevel: LogLevels;
117
+ ci: boolean;
118
+ json: boolean;
119
+ }
120
+ interface ConfigIterator {
121
+ key: (string | number)[];
122
+ env: string;
123
+ parser?: string;
124
+ extensions?: ConfigIterator[];
125
+ }
126
+
127
+ declare const color: colorette.Colorette;
128
+
129
+ declare function isVerbose(logLevel: LogLevels): boolean;
130
+ declare function isDebug(logLevel: LogLevels): boolean;
131
+ declare function isSilent(logLevel: LogLevels): boolean;
132
+
133
+ declare enum MergeStrategy {
134
+ OVERWRITE = "OVERWRITE",
135
+ EXTEND = "EXTEND"
136
+ }
137
+
138
+ /** Merge objects deep from overwriting the properties from source to target.
139
+ * Does not mutate the object */
140
+ declare function merge<T extends Record<PropertyKey, any> | any[]>(strategy: MergeStrategy, ...source: Partial<T>[]): T;
141
+ declare function uniqueFilter(value: any, index: any, self: string | any[]): boolean;
142
+
143
+ type SetCtxDefaultsOptions<T extends ListrContext = ListrContext> = Partial<T>;
144
+ interface SetCtxAssignOptions<K = Record<PropertyKey, any>> {
145
+ from: K;
146
+ keys: (keyof K)[];
147
+ }
148
+ declare function setCtxDefaults<T extends ListrContext = ListrContext>(ctx: T, ...defaults: SetCtxDefaultsOptions<T>[]): void;
149
+ declare function setCtxAssign<T extends ListrContext = ListrContext, K = Record<PropertyKey, any>>(ctx: T, ...assigns: SetCtxAssignOptions<K>[]): void;
150
+
151
+ interface CommonLockerData {
152
+ path?: string | string[];
153
+ enabled?: boolean;
154
+ root?: boolean;
155
+ }
156
+ type LockableData = any;
157
+ interface LockData<T extends LockableData = LockableData> extends Partial<CommonLockerData> {
158
+ data: T;
159
+ merge?: MergeStrategy;
160
+ }
161
+ interface UnlockData extends CommonLockerData {
162
+ path: string | string[];
163
+ }
164
+
165
+ declare class GenericParser {
166
+ static extensions: string[];
167
+ parse<T = unknown>(data: string | Buffer): T;
168
+ stringify<T = any>(data: T): string;
169
+ }
170
+
171
+ declare class LockerService<LockFile extends LockableData = LockableData> {
172
+ private file;
173
+ private parser?;
174
+ private root?;
175
+ private toLock;
176
+ private toUnlock;
177
+ private logger;
178
+ private fs;
179
+ constructor(file: string, parser?: GenericParser, root?: string[], context?: string);
180
+ hasLock(): boolean;
181
+ hasUnlock(): boolean;
182
+ addLock<T extends LockableData = LockableData>(...data: LockData<T>[]): void;
183
+ addUnlock(...data: UnlockData[]): void;
184
+ lockAll(): Promise<void>;
185
+ unlockAll(): Promise<void>;
186
+ all(): Promise<void>;
187
+ lock<T extends LockableData = LockableData>(...data: LockData<T>[]): Promise<void>;
188
+ unlock(...data: UnlockData[]): Promise<void>;
189
+ read(): Promise<LockFile>;
190
+ tryRead(): Promise<LockFile | undefined>;
191
+ write(data: LockFile): Promise<void>;
192
+ private buildPath;
193
+ private normalizePath;
194
+ }
195
+
196
+ declare class ParserService {
197
+ private static instance;
198
+ parsers: ClassType<GenericParser>[];
199
+ private logger;
200
+ private fs;
201
+ constructor(parsers?: ClassType<GenericParser>[]);
202
+ getParser(file: string): GenericParser;
203
+ setParsers(...parsers: ClassType<GenericParser>[]): void;
204
+ addParsers(...parsers: ClassType<GenericParser>[]): void;
205
+ read<T = unknown>(file: string): Promise<T>;
206
+ write<T = LockableData>(file: string, data: T): Promise<void>;
207
+ parse<T = unknown>(file: string, data: string | Buffer): T;
208
+ stringify<T = any>(file: string, data: T): string | Promise<string>;
209
+ }
210
+
211
+ declare class ConfigService implements GlobalConfig {
212
+ oclif: Command['config'];
213
+ command: Command['ctor'];
214
+ private static instance;
215
+ defaults: string;
216
+ root: string;
217
+ parser: ParserService;
218
+ logLevel: LogLevels;
219
+ isVerbose: boolean;
220
+ isDebug: boolean;
221
+ isSilent: boolean;
222
+ ci: boolean;
223
+ json: boolean;
224
+ private logger;
225
+ constructor(oclif: Command['config'], command: Command['ctor'], config: GlobalConfig);
226
+ read<T extends LockableData = LockableData>(path: string): Promise<T>;
227
+ extend<T extends LockableData = LockableData>(paths: (string | Partial<T>)[], strategy?: MergeStrategy): Promise<T>;
228
+ merge<T extends LockableData = LockableData>(configs: Partial<T>[], strategy?: MergeStrategy): T;
229
+ env<T extends LockableData = LockableData>(definition: string | Record<PropertyKey, any>, config: T): Promise<T>;
230
+ write<T extends LockableData = LockableData>(path: string, data: T): Promise<void>;
231
+ private recalculate;
232
+ }
233
+
234
+ declare class FileSystemService {
235
+ private static instance;
236
+ private logger;
237
+ constructor();
238
+ exists(path: string): boolean;
239
+ stats(path: string): fs.Stats;
240
+ dirname(path: string): string;
241
+ extname(path: string): string;
242
+ read(file: string): Promise<string>;
243
+ readSync(file: string): string;
244
+ write(file: string, data: string | Buffer, options?: fs.WriteFileOptions): Promise<void>;
245
+ writeSync(file: string, data: string | Buffer, options?: fs.WriteFileOptions): void;
246
+ append(file: string, data: string | Buffer, options?: fs.WriteFileOptions): Promise<void>;
247
+ appendSync(file: string, data: string | Buffer): void;
248
+ remove(file: string, options?: fs.RmOptions): Promise<void>;
249
+ removeSync(file: string, options?: fs.RmOptions): void;
250
+ emptyDir(directory: string): Promise<void>;
251
+ emptyDirSync(directory: string): void;
252
+ removeDir(directory: string): Promise<void>;
253
+ removeDirSync(directory: string): void;
254
+ mkdir(directory: string): Promise<void>;
255
+ mkdirSync(directory: string): void;
256
+ }
257
+
258
+ declare class EnvironmentVariableParser implements GenericParser {
259
+ static extensions: string[];
260
+ private static instance;
261
+ private logger;
262
+ private LINE;
263
+ constructor();
264
+ parse<T = unknown>(data: string | Buffer): T;
265
+ stringify<T = any>(data: T): string;
266
+ }
267
+
268
+ declare class YamlParser implements GenericParser {
269
+ static extensions: string[];
270
+ private static instance;
271
+ private logger;
272
+ constructor();
273
+ parse<T = unknown>(data: string | Buffer): T;
274
+ stringify<T = any>(data: T): string;
275
+ }
276
+
277
+ declare class JsonParser implements GenericParser {
278
+ static extensions: string[];
279
+ private static instance;
280
+ private logger;
281
+ constructor();
282
+ parse<T = unknown>(data: string | Buffer): T;
283
+ stringify<T = any>(data: T): string;
284
+ }
285
+
286
+ type DataStore<T extends Record<PropertyKey, any> = Record<PropertyKey, any>> = {
287
+ logo?: string;
288
+ } & T;
289
+
290
+ declare class StoreService<T extends Record<PropertyKey, any> = Record<PropertyKey, any>> {
291
+ private static instance;
292
+ private store;
293
+ constructor();
294
+ has<K extends keyof DataStore<T>>(key: K): boolean;
295
+ get<K extends keyof DataStore<T>>(key: K): DataStore<T>[K];
296
+ set<K extends keyof DataStore<T>>(key: K, data: DataStore<T>[K]): DataStore<T>[K];
297
+ }
298
+
299
+ interface ValidatorServiceOptions {
300
+ validator?: ValidatorOptions;
301
+ transformer?: ClassTransformOptions;
302
+ }
303
+
304
+ declare class ValidatorService {
305
+ options?: ValidatorServiceOptions;
306
+ private static instance;
307
+ private logger;
308
+ constructor(options?: ValidatorServiceOptions);
309
+ validate<T extends Record<PropertyKey, any>>(classType: ClassType<T>, object: T, options?: ValidatorServiceOptions): Promise<T>;
310
+ validateSync<T extends Record<PropertyKey, any>>(classType: ClassType<T>, object: T, options?: ValidatorServiceOptions): T;
311
+ private logValidationError;
312
+ }
313
+
314
+ declare function setup(): void;
315
+
316
+ type ConfigCommandChoices<T extends string> = Record<T, () => void | Promise<void>>;
317
+ interface ConfigCommandSetup<T extends string = string, LockFile = any> {
318
+ choices: ConfigCommandChoices<T>;
319
+ locker?: LockerService<LockFile>;
320
+ }
321
+
322
+ type InferFlags<T extends typeof Command$1> = InferredFlags<T['globalFlags'] & T['flags']>;
323
+ type InferArgs<T extends typeof Command$1> = Record<T['args'][number]['name'], string>;
324
+
325
+ /**
326
+ * Makes the object deep partial.
327
+ */
328
+ type DeepPartial<T> = {
329
+ [P in keyof T]?: DeepPartial<T[P]>;
330
+ };
331
+
332
+ declare class Command<Ctx extends ListrContext = ListrContext, Flags extends Record<PropertyKey, any> = InferFlags<typeof Command>, Args extends Record<PropertyKey, any> = InferArgs<typeof Command>, Store extends Record<PropertyKey, any> = Record<PropertyKey, any>> extends Command$1 {
333
+ context: string;
334
+ logger: Logger;
335
+ tasks: Manager<Ctx, 'default' | 'verbose' | 'silent' | 'simple'>;
336
+ validator: ValidatorService;
337
+ cs: ConfigService;
338
+ parser: ParserService;
339
+ fs: FileSystemService;
340
+ store: StoreService<Store>;
341
+ flags: Flags;
342
+ args: Args;
343
+ /**
344
+ * Construct the class if you dont want to extend init or constructor.
345
+ */
346
+ shouldRunBefore(): void | Promise<void>;
347
+ /**
348
+ * Deconstruct the class if you dont want to extend finally or catch.
349
+ */
350
+ shouldRunAfter(_ctx?: Ctx): void | Promise<void>;
351
+ run(): Promise<any>;
352
+ _run<T>(): Promise<T | undefined>;
353
+ exit(code?: number): void;
354
+ /** Run all tasks from task manager. */
355
+ runTasks<C extends Ctx = Ctx>(): Promise<C>;
356
+ /** Gets prompt from user. */
357
+ prompt<T = any>(options: PromptOptions): Promise<T>;
358
+ protected setCtxDefaults<T extends Ctx = Ctx>(...defaults: SetCtxDefaultsOptions<T>[]): void;
359
+ protected setCtxAssign<K = Record<PropertyKey, any>>(...assigns: SetCtxAssignOptions<K>[]): void;
360
+ protected pipeProcessToLogger(instance: ExecaChildProcess, options?: PipeProcessToLoggerOptions): ExecaChildProcess;
361
+ protected pipeProcessThroughListr(task: ListrTaskWrapper<any, any>, instance: ExecaChildProcess): ExecaChildProcess;
362
+ /** Initial functions / constructor */
363
+ protected init(): Promise<void>;
364
+ /** Tasks to run before end of the command. */
365
+ protected finally<C extends Ctx = Ctx>(): Promise<{
366
+ ctx: C;
367
+ }>;
368
+ /** Catch any error occurred during command. */
369
+ protected catch(e: Error, exit?: number): Promise<void>;
370
+ private greet;
371
+ }
372
+
373
+ declare class ConfigCommand<CommandChoices extends string = string, LockFile = any, Ctx extends ListrContext = ListrContext, Flags extends Record<PropertyKey, any> = InferFlags<typeof ConfigCommand>, Args extends Record<PropertyKey, any> = InferArgs<typeof ConfigCommand>, Store extends Record<PropertyKey, any> = Record<PropertyKey, any>> extends Command<Ctx, Flags, Args, Store> {
374
+ choices: ConfigCommandChoices<CommandChoices>;
375
+ locker: LockerService<LockFile>;
376
+ protected ux: {
377
+ config: CliUx.Config;
378
+ warn: typeof _oclif_core_lib_errors.warn;
379
+ error: typeof _oclif_core_lib_errors.error;
380
+ exit: typeof _oclif_core_lib_errors.exit;
381
+ readonly prompt: typeof _oclif_core_lib_cli_ux_prompt.prompt;
382
+ readonly anykey: typeof _oclif_core_lib_cli_ux_prompt.anykey;
383
+ readonly confirm: typeof _oclif_core_lib_cli_ux_prompt.confirm;
384
+ readonly action: CliUx.ActionBase;
385
+ readonly prideAction: CliUx.ActionBase;
386
+ styledObject(obj: any, keys?: string[]): void;
387
+ readonly styledHeader: typeof _oclif_core_lib_cli_ux_styled_header.default;
388
+ readonly styledJSON: typeof _oclif_core_lib_cli_ux_styled_json.default;
389
+ readonly table: typeof CliUx.Table.table;
390
+ readonly tree: typeof _oclif_core_lib_cli_ux_styled_tree.default;
391
+ readonly open: typeof _oclif_core_lib_cli_ux_open.default;
392
+ readonly wait: (ms?: number) => Promise<unknown>;
393
+ readonly progress: typeof _oclif_core_lib_cli_ux_styled_progress.default;
394
+ done(): Promise<void>;
395
+ trace(format: string, ...args: string[]): void;
396
+ debug(format: string, ...args: string[]): void;
397
+ info(format: string, ...args: string[]): void;
398
+ log(format?: string, ...args: string[]): void;
399
+ url(text: string, uri: string, params?: {}): void;
400
+ annotation(text: string, annotation: string): void;
401
+ flush(ms?: number): Promise<void>;
402
+ };
403
+ run(): Promise<any>;
404
+ setup(): ConfigCommandSetup<CommandChoices, LockFile> | Promise<ConfigCommandSetup<CommandChoices, LockFile>>;
405
+ protected table(...options: Parameters<typeof CliUx.ux.table>): void;
406
+ protected select(): Promise<string>;
407
+ }
408
+
409
+ declare enum FileConstants {
410
+ CONFIG_SERVICE_DEFAULTS_DIR = "config"
411
+ }
412
+
413
+ declare const CLI_FLAGS: FlagInput;
414
+
415
+ declare enum HelpGroups {
416
+ CLI = "CLI"
417
+ }
418
+
419
+ declare const notFoundHook: Hook<'command_not_found'>;
420
+
421
+ declare const updateNotifierHook: Hook<'init'>;
422
+
423
+ declare const storeHook: <T extends Record<PropertyKey, any> = Record<PropertyKey, any>>(cb: (opts: any, store: StoreService<T>) => void) => Hook<'init'>;
424
+
425
+ export { CLI_FLAGS, ClassType, Command, CommonLockerData, ConfigCommand, ConfigCommandChoices, ConfigCommandSetup, ConfigIterator, ConfigService, DataStore, DeepPartial, EnvironmentVariableParser, FileConstants, FileSystemService, GenericParser, GlobalConfig, HelpGroups, InferArgs, InferFlags, JsonParser, ListrLogger, LockData, LockableData, LockerService, LogFieldStatus, LogLevels, Logger, LoggerFormat, LoggerOptions, MergeStrategy, ParserService, PipeProcessToLoggerOptions, SetCtxAssignOptions, SetCtxDefaultsOptions, StoreService, UnlockData, ValidatorService, ValidatorServiceOptions, Winston, YamlParser, color, isDebug, isSilent, isVerbose, merge, notFoundHook, pipeProcessThroughListr, pipeProcessToLogger, setCtxAssign, setCtxDefaults, setup, storeHook, uniqueFilter, updateNotifierHook };