@kubb/core 3.0.0-alpha.1 → 3.0.0-alpha.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.
- package/dist/{FileManager-EVJig-LT.d.ts → FileManager-BbUCeEyv.d.cts} +108 -94
- package/dist/{FileManager-DSLZ6ps7.d.cts → FileManager-CpuFz6eH.d.ts} +108 -94
- package/dist/chunk-2EU7DMPM.js +97 -0
- package/dist/chunk-2EU7DMPM.js.map +1 -0
- package/dist/chunk-5E2I6KH4.cjs +1071 -0
- package/dist/chunk-5E2I6KH4.cjs.map +1 -0
- package/dist/{chunk-67C6RBGQ.cjs → chunk-A6PCLWEY.cjs} +5 -5
- package/dist/{chunk-67C6RBGQ.cjs.map → chunk-A6PCLWEY.cjs.map} +1 -1
- package/dist/chunk-DID47EQD.cjs +102 -0
- package/dist/chunk-DID47EQD.cjs.map +1 -0
- package/dist/chunk-HBQM723K.js +1063 -0
- package/dist/chunk-HBQM723K.js.map +1 -0
- package/dist/chunk-L6YLVCKM.js +929 -0
- package/dist/chunk-L6YLVCKM.js.map +1 -0
- package/dist/{chunk-LM2YQC3T.cjs → chunk-M7NLNCSM.cjs} +71 -38
- package/dist/chunk-M7NLNCSM.cjs.map +1 -0
- package/dist/{chunk-3OXCZ5DJ.js → chunk-MU3CBCQT.js} +59 -35
- package/dist/chunk-MU3CBCQT.js.map +1 -0
- package/dist/chunk-NB4JMN75.cjs +1548 -0
- package/dist/chunk-NB4JMN75.cjs.map +1 -0
- package/dist/{chunk-XCPFG6DO.cjs → chunk-SEH6NUCX.cjs} +4 -28
- package/dist/chunk-SEH6NUCX.cjs.map +1 -0
- package/dist/index.cjs +496 -552
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -19
- package/dist/index.d.ts +6 -19
- package/dist/index.js +438 -492
- package/dist/index.js.map +1 -1
- package/dist/{logger-DChjnJMn.d.cts → logger-DvbHXjIO.d.cts} +29 -19
- package/dist/{logger-DChjnJMn.d.ts → logger-DvbHXjIO.d.ts} +29 -19
- package/dist/logger.cjs +4 -5
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.d.cts +1 -2
- package/dist/logger.d.ts +1 -2
- package/dist/logger.js +2 -4
- package/dist/mocks.cjs +25 -19
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +6 -9
- package/dist/mocks.d.ts +6 -9
- package/dist/mocks.js +21 -16
- package/dist/mocks.js.map +1 -1
- package/dist/prompt-DVQN7JTN.cjs +760 -0
- package/dist/prompt-DVQN7JTN.cjs.map +1 -0
- package/dist/prompt-WQQUN22Z.js +754 -0
- package/dist/prompt-WQQUN22Z.js.map +1 -0
- package/dist/transformers.cjs +198 -42
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.d.cts +1 -3
- package/dist/transformers.d.ts +1 -3
- package/dist/transformers.js +155 -14
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +12 -4
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +31 -3
- package/dist/utils.d.ts +31 -3
- package/dist/utils.js +11 -4
- package/package.json +10 -10
- package/src/BarrelManager.ts +93 -107
- package/src/{Generator.ts → BaseGenerator.ts} +1 -1
- package/src/FileManager.ts +198 -297
- package/src/PackageManager.ts +1 -1
- package/src/PluginManager.ts +152 -101
- package/src/__snapshots__/barrel.json +91 -0
- package/src/__snapshots__/grouped.json +114 -0
- package/src/__snapshots__/ordered.json +62 -0
- package/src/build.ts +86 -171
- package/src/errors.ts +0 -11
- package/src/index.ts +1 -2
- package/src/logger.ts +76 -34
- package/src/plugin.ts +3 -3
- package/src/transformers/index.ts +2 -3
- package/src/transformers/trim.ts +0 -4
- package/src/types.ts +35 -35
- package/src/utils/TreeNode.ts +132 -50
- package/src/utils/executeStrategies.ts +1 -1
- package/src/utils/index.ts +2 -1
- package/src/utils/parser.ts +157 -0
- package/dist/chunk-3OXCZ5DJ.js.map +0 -1
- package/dist/chunk-5JZNFPUP.js +0 -309
- package/dist/chunk-5JZNFPUP.js.map +0 -1
- package/dist/chunk-ADC5UNZ5.cjs +0 -1227
- package/dist/chunk-ADC5UNZ5.cjs.map +0 -1
- package/dist/chunk-HMLY7DHA.js +0 -16
- package/dist/chunk-HMLY7DHA.js.map +0 -1
- package/dist/chunk-JKZG2IJR.js +0 -283
- package/dist/chunk-JKZG2IJR.js.map +0 -1
- package/dist/chunk-LM2YQC3T.cjs.map +0 -1
- package/dist/chunk-PZT4CTBV.cjs +0 -299
- package/dist/chunk-PZT4CTBV.cjs.map +0 -1
- package/dist/chunk-SA2GZKXS.js +0 -596
- package/dist/chunk-SA2GZKXS.js.map +0 -1
- package/dist/chunk-XCPFG6DO.cjs.map +0 -1
- package/dist/chunk-YTSNYMHW.cjs +0 -320
- package/dist/chunk-YTSNYMHW.cjs.map +0 -1
- package/schema.json +0 -86
- package/src/utils/getParser.ts +0 -17
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
import PQueue from 'p-queue';
|
|
2
1
|
import { write, read } from '@kubb/fs';
|
|
3
2
|
import * as KubbFile from '@kubb/fs/types';
|
|
4
|
-
import {
|
|
3
|
+
import { ResolvedFile } from '@kubb/fs/types';
|
|
5
4
|
import { PossiblePromise, GreaterThan } from '@kubb/types';
|
|
6
|
-
import {
|
|
7
|
-
import { E as EventEmitter, L as Logger } from './logger-DChjnJMn.cjs';
|
|
8
|
-
|
|
9
|
-
type BarrelManagerOptions = {
|
|
10
|
-
treeNode?: DirectoryTreeOptions;
|
|
11
|
-
isTypeOnly?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Add .ts or .js
|
|
14
|
-
*/
|
|
15
|
-
extName?: KubbFile.Extname;
|
|
16
|
-
};
|
|
5
|
+
import { E as EventEmitter, L as Logger } from './logger-DvbHXjIO.js';
|
|
17
6
|
|
|
18
7
|
type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
19
8
|
/**
|
|
@@ -23,6 +12,7 @@ type RequiredPluginLifecycle = Required<PluginLifecycle>;
|
|
|
23
12
|
type Argument0<H extends keyof PluginLifecycle> = Parameters<RequiredPluginLifecycle[H]>[0];
|
|
24
13
|
type Strategy = 'hookFirst' | 'hookForPlugin' | 'hookParallel' | 'hookReduceArg0' | 'hookSeq';
|
|
25
14
|
type Executer<H extends PluginLifecycleHooks = PluginLifecycleHooks> = {
|
|
15
|
+
message: string;
|
|
26
16
|
strategy: Strategy;
|
|
27
17
|
hookName: H;
|
|
28
18
|
plugin: Plugin;
|
|
@@ -34,15 +24,11 @@ type SafeParseResult<H extends PluginLifecycleHooks, Result = ReturnType<ParseRe
|
|
|
34
24
|
result: Result;
|
|
35
25
|
plugin: Plugin;
|
|
36
26
|
};
|
|
37
|
-
type Options
|
|
27
|
+
type Options = {
|
|
38
28
|
logger: Logger;
|
|
39
|
-
/**
|
|
40
|
-
* Task for the FileManager
|
|
41
|
-
*/
|
|
42
|
-
task: (file: ResolvedFile) => Promise<ResolvedFile>;
|
|
43
29
|
};
|
|
44
30
|
type Events = {
|
|
45
|
-
|
|
31
|
+
executing: [executer: Executer];
|
|
46
32
|
executed: [executer: Executer];
|
|
47
33
|
error: [error: Error];
|
|
48
34
|
};
|
|
@@ -61,8 +47,8 @@ declare class PluginManager {
|
|
|
61
47
|
readonly config: Config;
|
|
62
48
|
readonly executed: Array<Executer>;
|
|
63
49
|
readonly logger: Logger;
|
|
64
|
-
readonly
|
|
65
|
-
constructor(config: Config, options: Options
|
|
50
|
+
readonly options: Options;
|
|
51
|
+
constructor(config: Config, options: Options);
|
|
66
52
|
getFile<TOptions = object>({ name, mode, extName, pluginKey, options }: GetFileProps<TOptions>): KubbFile.File<{
|
|
67
53
|
pluginKey: Plugin['key'];
|
|
68
54
|
}>;
|
|
@@ -75,60 +61,67 @@ declare class PluginManager {
|
|
|
75
61
|
/**
|
|
76
62
|
* Run a specific hookName for plugin x.
|
|
77
63
|
*/
|
|
78
|
-
hookForPlugin<H extends PluginLifecycleHooks>({ pluginKey, hookName, parameters, }: {
|
|
64
|
+
hookForPlugin<H extends PluginLifecycleHooks>({ pluginKey, hookName, parameters, message, }: {
|
|
79
65
|
pluginKey: Plugin['key'];
|
|
80
66
|
hookName: H;
|
|
81
67
|
parameters: PluginParameter<H>;
|
|
82
|
-
|
|
68
|
+
message: string;
|
|
69
|
+
}): Promise<Array<ReturnType<ParseResult<H>> | null>>;
|
|
83
70
|
/**
|
|
84
71
|
* Run a specific hookName for plugin x.
|
|
85
72
|
*/
|
|
86
|
-
hookForPluginSync<H extends PluginLifecycleHooks>({ pluginKey, hookName, parameters, }: {
|
|
73
|
+
hookForPluginSync<H extends PluginLifecycleHooks>({ pluginKey, hookName, parameters, message, }: {
|
|
87
74
|
pluginKey: Plugin['key'];
|
|
88
75
|
hookName: H;
|
|
89
76
|
parameters: PluginParameter<H>;
|
|
77
|
+
message: string;
|
|
90
78
|
}): Array<ReturnType<ParseResult<H>>> | null;
|
|
91
79
|
/**
|
|
92
80
|
* First non-null result stops and will return it's value.
|
|
93
81
|
*/
|
|
94
|
-
hookFirst<H extends PluginLifecycleHooks>({ hookName, parameters, skipped, }: {
|
|
82
|
+
hookFirst<H extends PluginLifecycleHooks>({ hookName, parameters, skipped, message, }: {
|
|
95
83
|
hookName: H;
|
|
96
84
|
parameters: PluginParameter<H>;
|
|
97
85
|
skipped?: ReadonlySet<Plugin> | null;
|
|
86
|
+
message: string;
|
|
98
87
|
}): Promise<SafeParseResult<H>>;
|
|
99
88
|
/**
|
|
100
89
|
* First non-null result stops and will return it's value.
|
|
101
90
|
*/
|
|
102
|
-
hookFirstSync<H extends PluginLifecycleHooks>({ hookName, parameters, skipped, }: {
|
|
91
|
+
hookFirstSync<H extends PluginLifecycleHooks>({ hookName, parameters, skipped, message, }: {
|
|
103
92
|
hookName: H;
|
|
104
93
|
parameters: PluginParameter<H>;
|
|
105
94
|
skipped?: ReadonlySet<Plugin> | null;
|
|
95
|
+
message: string;
|
|
106
96
|
}): SafeParseResult<H>;
|
|
107
97
|
/**
|
|
108
98
|
* Run all plugins in parallel(order will be based on `this.plugin` and if `pre` or `post` is set).
|
|
109
99
|
*/
|
|
110
|
-
hookParallel<H extends PluginLifecycleHooks, TOuput = void>({ hookName, parameters, }: {
|
|
100
|
+
hookParallel<H extends PluginLifecycleHooks, TOuput = void>({ hookName, parameters, message, }: {
|
|
111
101
|
hookName: H;
|
|
112
102
|
parameters?: Parameters<RequiredPluginLifecycle[H]> | undefined;
|
|
103
|
+
message: string;
|
|
113
104
|
}): Promise<Awaited<TOuput>[]>;
|
|
114
105
|
/**
|
|
115
106
|
* Chain all plugins, `reduce` can be passed through to handle every returned value. The return value of the first plugin will be used as the first parameter for the plugin after that.
|
|
116
107
|
*/
|
|
117
|
-
hookReduceArg0<H extends PluginLifecycleHooks>({ hookName, parameters, reduce, }: {
|
|
108
|
+
hookReduceArg0<H extends PluginLifecycleHooks>({ hookName, parameters, reduce, message, }: {
|
|
118
109
|
hookName: H;
|
|
119
110
|
parameters: PluginParameter<H>;
|
|
120
111
|
reduce: (reduction: Argument0<H>, result: ReturnType<ParseResult<H>>, plugin: Plugin) => PossiblePromise<Argument0<H> | null>;
|
|
112
|
+
message: string;
|
|
121
113
|
}): Promise<Argument0<H>>;
|
|
122
114
|
/**
|
|
123
115
|
* Chains plugins
|
|
124
116
|
*/
|
|
125
|
-
hookSeq<H extends PluginLifecycleHooks>({ hookName, parameters }: {
|
|
117
|
+
hookSeq<H extends PluginLifecycleHooks>({ hookName, parameters, message, }: {
|
|
126
118
|
hookName: H;
|
|
127
119
|
parameters?: PluginParameter<H>;
|
|
120
|
+
message: string;
|
|
128
121
|
}): Promise<void>;
|
|
129
122
|
getPluginsByKey(hookName: keyof PluginLifecycle, pluginKey: Plugin['key']): Plugin[];
|
|
130
123
|
static getDependedPlugins<T1 extends PluginFactoryOptions, T2 extends PluginFactoryOptions = never, T3 extends PluginFactoryOptions = never, TOutput = T3 extends never ? (T2 extends never ? [T1: Plugin<T1>] : [T1: Plugin<T1>, T2: Plugin<T2>]) : [T1: Plugin<T1>, T2: Plugin<T2>, T3: Plugin<T3>]>(plugins: Array<Plugin>, dependedPluginNames: string | string[]): TOutput;
|
|
131
|
-
static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "
|
|
124
|
+
static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
|
|
132
125
|
}
|
|
133
126
|
|
|
134
127
|
interface Cache<TStore extends object = object> {
|
|
@@ -154,11 +147,9 @@ type UserConfig = Omit<Config, 'root' | 'plugins'> & {
|
|
|
154
147
|
*/
|
|
155
148
|
root?: string;
|
|
156
149
|
/**
|
|
157
|
-
* Plugin type
|
|
158
|
-
* Example: ['@kubb/plugin-oas', { output: false }]
|
|
159
|
-
* Or: pluginOas({ output: false })
|
|
150
|
+
* Plugin type should be a Kubb plugin
|
|
160
151
|
*/
|
|
161
|
-
plugins?: Array<Omit<UnknownUserPlugin, '
|
|
152
|
+
plugins?: Array<Omit<UnknownUserPlugin, 'context'>>;
|
|
162
153
|
};
|
|
163
154
|
type InputPath = {
|
|
164
155
|
/**
|
|
@@ -204,6 +195,11 @@ type Config<TInput = Input> = {
|
|
|
204
195
|
* @default true
|
|
205
196
|
*/
|
|
206
197
|
write?: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Define what needs to exported, here you can also disable the export of barrel files
|
|
200
|
+
* @default `'barrelNamed'`
|
|
201
|
+
*/
|
|
202
|
+
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
207
203
|
};
|
|
208
204
|
/**
|
|
209
205
|
* Array of Kubb plugins to use.
|
|
@@ -236,9 +232,9 @@ TOptions extends object = object,
|
|
|
236
232
|
*/
|
|
237
233
|
TResolvedOptions extends object = TOptions,
|
|
238
234
|
/**
|
|
239
|
-
*
|
|
235
|
+
* Context that you want to expose to other plugins.
|
|
240
236
|
*/
|
|
241
|
-
|
|
237
|
+
TContext = any,
|
|
242
238
|
/**
|
|
243
239
|
* When calling `resolvePath` you can specify better types.
|
|
244
240
|
*/
|
|
@@ -250,7 +246,7 @@ TResolvePathOptions extends object = object> = {
|
|
|
250
246
|
key: PluginKey<TName | string>;
|
|
251
247
|
options: TOptions;
|
|
252
248
|
resolvedOptions: TResolvedOptions;
|
|
253
|
-
|
|
249
|
+
context: TContext;
|
|
254
250
|
resolvePathOptions: TResolvePathOptions;
|
|
255
251
|
};
|
|
256
252
|
type PluginKey<TName> = [name: TName, identifier?: string | number];
|
|
@@ -268,17 +264,17 @@ type UserPlugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> =
|
|
|
268
264
|
options: TOptions['resolvedOptions'];
|
|
269
265
|
/**
|
|
270
266
|
* Specifies the preceding plugins for the current plugin. You can pass an array of preceding plugin names, and the current plugin will be executed after these plugins.
|
|
271
|
-
* Can be used to validate
|
|
267
|
+
* Can be used to validate dependent plugins.
|
|
272
268
|
*/
|
|
273
269
|
pre?: Array<string>;
|
|
274
270
|
/**
|
|
275
271
|
* Specifies the succeeding plugins for the current plugin. You can pass an array of succeeding plugin names, and the current plugin will be executed before these plugins.
|
|
276
272
|
*/
|
|
277
273
|
post?: Array<string>;
|
|
278
|
-
} & (TOptions['
|
|
279
|
-
|
|
274
|
+
} & (TOptions['context'] extends never ? {
|
|
275
|
+
context?: never;
|
|
280
276
|
} : {
|
|
281
|
-
|
|
277
|
+
context: (this: TOptions['name'] extends 'core' ? null : Omit<PluginContext<TOptions>, 'addFile'>) => TOptions['context'];
|
|
282
278
|
});
|
|
283
279
|
type UserPluginWithLifeCycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = UserPlugin<TOptions> & PluginLifecycle<TOptions>;
|
|
284
280
|
type UnknownUserPlugin = UserPlugin<PluginFactoryOptions<any, any, any, any, any>>;
|
|
@@ -293,9 +289,24 @@ type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
|
293
289
|
* @private
|
|
294
290
|
*/
|
|
295
291
|
key: TOptions['key'];
|
|
292
|
+
output?: {
|
|
293
|
+
/**
|
|
294
|
+
* Output to save the clients.
|
|
295
|
+
*/
|
|
296
|
+
path: string;
|
|
297
|
+
/**
|
|
298
|
+
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
299
|
+
*/
|
|
300
|
+
extName?: KubbFile.Extname;
|
|
301
|
+
/**
|
|
302
|
+
* Define what needs to exported, here you can also disable the export of barrel files
|
|
303
|
+
* @default `'barrelNamed'`
|
|
304
|
+
*/
|
|
305
|
+
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
306
|
+
};
|
|
296
307
|
/**
|
|
297
308
|
* Specifies the preceding plugins for the current plugin. You can pass an array of preceding plugin names, and the current plugin will be executed after these plugins.
|
|
298
|
-
* Can be used to validate
|
|
309
|
+
* Can be used to validate dependent plugins.
|
|
299
310
|
*/
|
|
300
311
|
pre?: Array<string>;
|
|
301
312
|
/**
|
|
@@ -306,10 +317,10 @@ type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
|
306
317
|
* Options set for a specific plugin(see kubb.config.js), passthrough of options.
|
|
307
318
|
*/
|
|
308
319
|
options: TOptions['resolvedOptions'];
|
|
309
|
-
} & (TOptions['
|
|
310
|
-
|
|
320
|
+
} & (TOptions['context'] extends never ? {
|
|
321
|
+
context?: never;
|
|
311
322
|
} : {
|
|
312
|
-
|
|
323
|
+
context: TOptions['context'];
|
|
313
324
|
});
|
|
314
325
|
type PluginWithLifeCycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = Plugin<TOptions> & PluginLifecycle<TOptions>;
|
|
315
326
|
type PluginLifecycle<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
@@ -332,21 +343,6 @@ type PluginLifecycle<TOptions extends PluginFactoryOptions = PluginFactoryOption
|
|
|
332
343
|
* @example ('pet') => 'Pet'
|
|
333
344
|
*/
|
|
334
345
|
resolveName?: (this: PluginContext<TOptions>, name: ResolveNameParams['name'], type?: ResolveNameParams['type']) => string;
|
|
335
|
-
/**
|
|
336
|
-
* Makes it possible to run async logic to override the path defined previously by `resolvePath`.
|
|
337
|
-
* @type hookFirst
|
|
338
|
-
*/
|
|
339
|
-
load?: (this: Omit<PluginContext<TOptions>, 'addFile'>, path: KubbFile.Path) => PossiblePromise<TransformResult | null>;
|
|
340
|
-
/**
|
|
341
|
-
* Transform the source-code.
|
|
342
|
-
* @type hookReduceArg0
|
|
343
|
-
*/
|
|
344
|
-
transform?: (this: Omit<PluginContext<TOptions>, 'addFile'>, source: string, path: KubbFile.Path) => PossiblePromise<TransformResult>;
|
|
345
|
-
/**
|
|
346
|
-
* Write the result to the file-system based on the id(defined by `resolvePath` or changed by `load`).
|
|
347
|
-
* @type hookParallel
|
|
348
|
-
*/
|
|
349
|
-
writeFile?: (this: Omit<PluginContext<TOptions>, 'addFile'>, path: KubbFile.Path, source: string | undefined) => PossiblePromise<string | void>;
|
|
350
346
|
/**
|
|
351
347
|
* End of the plugin lifecycle.
|
|
352
348
|
* @type hookParallel
|
|
@@ -380,7 +376,7 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
|
|
|
380
376
|
cache: Cache<PluginCache>;
|
|
381
377
|
fileManager: FileManager;
|
|
382
378
|
pluginManager: PluginManager;
|
|
383
|
-
addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.
|
|
379
|
+
addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.ResolvedFile>>;
|
|
384
380
|
resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => KubbFile.OptionalPath;
|
|
385
381
|
resolveName: (params: ResolveNameParams) => string;
|
|
386
382
|
logger: Logger;
|
|
@@ -393,63 +389,81 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
|
|
|
393
389
|
*/
|
|
394
390
|
plugin: Plugin<TOptions>;
|
|
395
391
|
};
|
|
396
|
-
type TransformResult = string | null;
|
|
397
392
|
|
|
398
|
-
type
|
|
393
|
+
type BarrelData = {
|
|
394
|
+
file?: KubbFile.File;
|
|
399
395
|
/**
|
|
400
|
-
* @
|
|
401
|
-
*/
|
|
402
|
-
id: UUID;
|
|
403
|
-
/**
|
|
404
|
-
* Contains the first part of the baseName, generated based on baseName
|
|
405
|
-
* @link https://nodejs.org/api/path.html#pathformatpathobject
|
|
396
|
+
* @deprecated use file instead
|
|
406
397
|
*/
|
|
398
|
+
type: KubbFile.Mode;
|
|
399
|
+
path: string;
|
|
407
400
|
name: string;
|
|
408
401
|
};
|
|
402
|
+
declare class TreeNode {
|
|
403
|
+
#private;
|
|
404
|
+
data: BarrelData;
|
|
405
|
+
parent?: TreeNode;
|
|
406
|
+
children: Array<TreeNode>;
|
|
407
|
+
constructor(data: BarrelData, parent?: TreeNode);
|
|
408
|
+
addChild(data: BarrelData): TreeNode;
|
|
409
|
+
get root(): TreeNode;
|
|
410
|
+
get leaves(): Array<TreeNode>;
|
|
411
|
+
forEach(callback: (treeNode: TreeNode) => void): this;
|
|
412
|
+
findDeep(predicate?: (value: TreeNode, index: number, obj: TreeNode[]) => boolean): TreeNode | undefined;
|
|
413
|
+
forEachDeep(callback: (treeNode: TreeNode) => void): void;
|
|
414
|
+
filterDeep(callback: (treeNode: TreeNode) => boolean): Array<TreeNode>;
|
|
415
|
+
mapDeep<T>(callback: (treeNode: TreeNode) => T): Array<T>;
|
|
416
|
+
static build(files: KubbFile.File[], root?: string): TreeNode | null;
|
|
417
|
+
}
|
|
418
|
+
type DirectoryTree = {
|
|
419
|
+
name: string;
|
|
420
|
+
path: string;
|
|
421
|
+
file?: KubbFile.File;
|
|
422
|
+
children: Array<DirectoryTree>;
|
|
423
|
+
};
|
|
424
|
+
|
|
409
425
|
type FileMetaBase = {
|
|
410
426
|
pluginKey?: Plugin['key'];
|
|
411
427
|
};
|
|
412
|
-
type
|
|
413
|
-
type AddResult<T extends Array<FileWithMeta>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
428
|
+
type AddResult<T extends Array<KubbFile.File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
414
429
|
type AddIndexesProps = {
|
|
415
430
|
/**
|
|
416
431
|
* Root based on root and output.path specified in the config
|
|
417
432
|
*/
|
|
418
433
|
root: string;
|
|
434
|
+
files: KubbFile.File[];
|
|
419
435
|
/**
|
|
420
436
|
* Output for plugin
|
|
421
437
|
*/
|
|
422
438
|
output: {
|
|
423
439
|
path: string;
|
|
424
|
-
exportAs?: string;
|
|
425
440
|
extName?: KubbFile.Extname;
|
|
441
|
+
exportAs?: string;
|
|
426
442
|
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
427
443
|
};
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
};
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
task?: (file: ResolvedFile) => Promise<ResolvedFile>;
|
|
444
|
+
group?: {
|
|
445
|
+
output: string;
|
|
446
|
+
exportAs: string;
|
|
447
|
+
};
|
|
448
|
+
logger?: Logger;
|
|
449
|
+
meta?: FileMetaBase;
|
|
435
450
|
};
|
|
436
451
|
declare class FileManager {
|
|
437
452
|
#private;
|
|
438
|
-
constructor(
|
|
439
|
-
get files(): Array<
|
|
440
|
-
get
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
453
|
+
constructor();
|
|
454
|
+
get files(): Array<KubbFile.ResolvedFile>;
|
|
455
|
+
get orderedFiles(): Array<KubbFile.ResolvedFile>;
|
|
456
|
+
get groupedFiles(): DirectoryTree | null;
|
|
457
|
+
get treeNode(): TreeNode | null;
|
|
458
|
+
add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(...files: T): AddResult<T>;
|
|
459
|
+
clear(): void;
|
|
460
|
+
getCacheById(id: string): KubbFile.File | undefined;
|
|
461
|
+
getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | undefined;
|
|
462
|
+
deleteByPath(path: KubbFile.Path): void;
|
|
463
|
+
getBarrelFiles({ files, meta, root, output, logger }: AddIndexesProps): Promise<KubbFile.File[]>;
|
|
464
|
+
write(...params: Parameters<typeof write>): ReturnType<typeof write>;
|
|
465
|
+
read(...params: Parameters<typeof read>): ReturnType<typeof read>;
|
|
450
466
|
static getMode(path: string | undefined | null): KubbFile.Mode;
|
|
451
|
-
static get extensions(): Array<KubbFile.Extname>;
|
|
452
|
-
static isJavascript(baseName: string): boolean;
|
|
453
467
|
}
|
|
454
468
|
|
|
455
|
-
export { type Config as C, FileManager as F, type GetPluginFactoryOptions as G, type InputPath as I, type PluginContext as P, type ResolvePathParams as R, type
|
|
469
|
+
export { type Config as C, FileManager as F, type GetPluginFactoryOptions as G, type InputPath as I, type PluginContext as P, type ResolvePathParams as R, type UserConfig as U, PluginManager as a, type PluginFactoryOptions as b, type UserPluginWithLifeCycle as c, type FileMetaBase as d, type InputData as e, type PluginKey as f, type UserPlugin as g, type Plugin as h, type PluginWithLifeCycle as i, type PluginLifecycle as j, type PluginLifecycleHooks as k, type PluginParameter as l, type PluginCache as m, type ResolveNameParams as n };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// src/transformers/transformReservedWord.ts
|
|
2
|
+
var reservedWords = [
|
|
3
|
+
"abstract",
|
|
4
|
+
"arguments",
|
|
5
|
+
"boolean",
|
|
6
|
+
"break",
|
|
7
|
+
"byte",
|
|
8
|
+
"case",
|
|
9
|
+
"catch",
|
|
10
|
+
"char",
|
|
11
|
+
"class",
|
|
12
|
+
"const",
|
|
13
|
+
"continue",
|
|
14
|
+
"debugger",
|
|
15
|
+
"default",
|
|
16
|
+
"delete",
|
|
17
|
+
"do",
|
|
18
|
+
"double",
|
|
19
|
+
"else",
|
|
20
|
+
"enum",
|
|
21
|
+
"eval",
|
|
22
|
+
"export",
|
|
23
|
+
"extends",
|
|
24
|
+
"false",
|
|
25
|
+
"final",
|
|
26
|
+
"finally",
|
|
27
|
+
"float",
|
|
28
|
+
"for",
|
|
29
|
+
"function",
|
|
30
|
+
"goto",
|
|
31
|
+
"if",
|
|
32
|
+
"implements",
|
|
33
|
+
"import",
|
|
34
|
+
"in",
|
|
35
|
+
"instanceof",
|
|
36
|
+
"int",
|
|
37
|
+
"interface",
|
|
38
|
+
"let",
|
|
39
|
+
"long",
|
|
40
|
+
"native",
|
|
41
|
+
"new",
|
|
42
|
+
"null",
|
|
43
|
+
"package",
|
|
44
|
+
"private",
|
|
45
|
+
"protected",
|
|
46
|
+
"public",
|
|
47
|
+
"return",
|
|
48
|
+
"short",
|
|
49
|
+
"static",
|
|
50
|
+
"super",
|
|
51
|
+
"switch",
|
|
52
|
+
"synchronized",
|
|
53
|
+
"this",
|
|
54
|
+
"throw",
|
|
55
|
+
"throws",
|
|
56
|
+
"transient",
|
|
57
|
+
"true",
|
|
58
|
+
"try",
|
|
59
|
+
"typeof",
|
|
60
|
+
"var",
|
|
61
|
+
"void",
|
|
62
|
+
"volatile",
|
|
63
|
+
"while",
|
|
64
|
+
"with",
|
|
65
|
+
"yield",
|
|
66
|
+
"Array",
|
|
67
|
+
"Date",
|
|
68
|
+
"eval",
|
|
69
|
+
"function",
|
|
70
|
+
"hasOwnProperty",
|
|
71
|
+
"Infinity",
|
|
72
|
+
"isFinite",
|
|
73
|
+
"isNaN",
|
|
74
|
+
"isPrototypeOf",
|
|
75
|
+
"length",
|
|
76
|
+
"Math",
|
|
77
|
+
"name",
|
|
78
|
+
"NaN",
|
|
79
|
+
"Number",
|
|
80
|
+
"Object",
|
|
81
|
+
"prototype",
|
|
82
|
+
"String",
|
|
83
|
+
"toString",
|
|
84
|
+
"undefined",
|
|
85
|
+
"valueOf"
|
|
86
|
+
];
|
|
87
|
+
function transformReservedWord(word) {
|
|
88
|
+
if (word && reservedWords.includes(word) || word?.match(/^\d/)) {
|
|
89
|
+
return `_${word}`;
|
|
90
|
+
}
|
|
91
|
+
return word;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export {
|
|
95
|
+
transformReservedWord
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=chunk-2EU7DMPM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/transformers/transformReservedWord.ts"],"sourcesContent":["/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n"],"mappings":";AAGA,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,sBAAsB,MAAsB;AAC1D,MAAK,QAAQ,cAAc,SAAS,IAAI,KAAM,MAAM,MAAM,KAAK,GAAG;AAChE,WAAO,IAAI,IAAI;AAAA,EACjB;AAEA,SAAO;AACT;","names":[]}
|