@kubb/core 3.0.0-alpha.2 → 3.0.0-alpha.21
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/README.md +13 -4
- package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager-4lbobkix.d.cts} +124 -84
- package/dist/{FileManager-BW--rO8q.d.ts → FileManager-CdXrquQt.d.ts} +124 -84
- package/dist/chunk-2EU7DMPM.js +96 -0
- package/dist/chunk-2EU7DMPM.js.map +1 -0
- package/dist/{chunk-LM2YQC3T.cjs → chunk-3MDDPVXB.cjs} +81 -51
- package/dist/chunk-3MDDPVXB.cjs.map +1 -0
- package/dist/chunk-4X5FFJPJ.js +8 -13
- package/dist/chunk-4X5FFJPJ.js.map +1 -1
- package/dist/{chunk-67C6RBGQ.cjs → chunk-6NKPFDXC.cjs} +28 -29
- package/dist/chunk-6NKPFDXC.cjs.map +1 -0
- package/dist/chunk-CLTNHSMO.js +895 -0
- package/dist/chunk-CLTNHSMO.js.map +1 -0
- package/dist/{chunk-3OXCZ5DJ.js → chunk-E6CN2CZC.js} +63 -54
- package/dist/chunk-E6CN2CZC.js.map +1 -0
- package/dist/chunk-HBQM723K.js +1049 -0
- package/dist/chunk-HBQM723K.js.map +1 -0
- package/dist/chunk-MHOAMP5V.cjs +1537 -0
- package/dist/chunk-MHOAMP5V.cjs.map +1 -0
- package/dist/chunk-PWFXUBH6.cjs +101 -0
- package/dist/chunk-PWFXUBH6.cjs.map +1 -0
- package/dist/chunk-RSTRL2FG.cjs +42 -0
- package/dist/chunk-RSTRL2FG.cjs.map +1 -0
- package/dist/chunk-SWGRKRKB.cjs +1088 -0
- package/dist/chunk-SWGRKRKB.cjs.map +1 -0
- package/dist/index.cjs +551 -599
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -22
- package/dist/index.d.ts +7 -22
- package/dist/index.js +442 -512
- 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 +25 -15
- 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 +3 -15
- package/dist/logger.js.map +1 -1
- package/dist/mocks.cjs +42 -31
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.cts +7 -9
- package/dist/mocks.d.ts +7 -9
- package/dist/mocks.js +35 -33
- package/dist/mocks.js.map +1 -1
- package/dist/prompt-7BUJOOIL.cjs +760 -0
- package/dist/prompt-7BUJOOIL.cjs.map +1 -0
- package/dist/prompt-WQQUN22Z.js +749 -0
- package/dist/prompt-WQQUN22Z.js.map +1 -0
- package/dist/transformers.cjs +216 -49
- 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 +149 -35
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +65 -26
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +32 -3
- package/dist/utils.d.ts +32 -3
- package/dist/utils.js +3 -26
- package/dist/utils.js.map +1 -1
- package/package.json +11 -14
- package/src/BarrelManager.ts +95 -109
- package/src/{Generator.ts → BaseGenerator.ts} +1 -1
- package/src/FileManager.ts +190 -298
- package/src/PackageManager.ts +1 -1
- package/src/PluginManager.ts +149 -90
- package/src/PromiseManager.ts +1 -1
- package/src/__snapshots__/barrel.json +93 -0
- package/src/__snapshots__/grouped.json +120 -0
- package/src/__snapshots__/ordered.json +68 -0
- package/src/build.ts +87 -122
- package/src/config.ts +2 -4
- package/src/errors.ts +0 -11
- package/src/index.ts +2 -3
- package/src/logger.ts +76 -34
- package/src/plugin.ts +2 -5
- package/src/transformers/escape.ts +0 -10
- package/src/transformers/index.ts +2 -3
- package/src/transformers/trim.ts +0 -4
- package/src/types.ts +48 -17
- package/src/utils/TreeNode.ts +132 -50
- package/src/utils/executeStrategies.ts +3 -3
- package/src/utils/index.ts +2 -1
- package/src/utils/parser.ts +166 -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-67C6RBGQ.cjs.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 +0 -66
- 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/cache.ts +0 -35
- 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.js';
|
|
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
|
};
|
|
@@ -55,14 +41,14 @@ type GetFileProps<TOptions = object> = {
|
|
|
55
41
|
};
|
|
56
42
|
declare class PluginManager {
|
|
57
43
|
#private;
|
|
58
|
-
readonly plugins:
|
|
44
|
+
readonly plugins: Set<Plugin<PluginFactoryOptions<string, object, object, any, object>>>;
|
|
59
45
|
readonly fileManager: FileManager;
|
|
60
46
|
readonly events: EventEmitter<Events>;
|
|
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,69 +61,69 @@ 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
124
|
static get hooks(): readonly ["buildStart", "resolvePath", "resolveName", "buildEnd"];
|
|
132
125
|
}
|
|
133
126
|
|
|
134
|
-
interface Cache<TStore extends object = object> {
|
|
135
|
-
delete(id: keyof TStore): boolean;
|
|
136
|
-
get(id: keyof TStore): TStore[keyof TStore] | null;
|
|
137
|
-
has(id: keyof TStore): boolean;
|
|
138
|
-
set(id: keyof TStore, value: unknown): void;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
127
|
/**
|
|
142
128
|
* Config used in `kubb.config.js`
|
|
143
129
|
*
|
|
@@ -160,13 +146,13 @@ type UserConfig = Omit<Config, 'root' | 'plugins'> & {
|
|
|
160
146
|
};
|
|
161
147
|
type InputPath = {
|
|
162
148
|
/**
|
|
163
|
-
*
|
|
149
|
+
* Define your Swagger/OpenAPI file. This can be an absolute path or a path relative to the `root`.
|
|
164
150
|
*/
|
|
165
151
|
path: string;
|
|
166
152
|
};
|
|
167
153
|
type InputData = {
|
|
168
154
|
/**
|
|
169
|
-
* `string` or `object` containing
|
|
155
|
+
* `string` or `object` containing your Swagger/OpenAPI data.
|
|
170
156
|
*/
|
|
171
157
|
data: string | unknown;
|
|
172
158
|
};
|
|
@@ -180,33 +166,38 @@ type Config<TInput = Input> = {
|
|
|
180
166
|
*/
|
|
181
167
|
name?: string;
|
|
182
168
|
/**
|
|
183
|
-
* Project root directory.
|
|
184
|
-
* the location of the config file itself.
|
|
169
|
+
* Project root directory. This can be an absolute path or a path relative to the location of your `kubb.config.ts` file.
|
|
185
170
|
* @default process.cwd()
|
|
186
171
|
*/
|
|
187
172
|
root: string;
|
|
173
|
+
/**
|
|
174
|
+
* You can use `input.path` or `input.data` depending on the needs you have.
|
|
175
|
+
*/
|
|
188
176
|
input: TInput;
|
|
189
177
|
output: {
|
|
190
178
|
/**
|
|
191
|
-
*
|
|
192
|
-
* This can be an absolute path, or a path relative based of the defined `root` option.
|
|
179
|
+
* The path where all generated files will be exported. This can be an absolute path or a path relative to the specified root option.
|
|
193
180
|
*/
|
|
194
181
|
path: string;
|
|
195
182
|
/**
|
|
196
|
-
* Clean output directory before each build.
|
|
183
|
+
* Clean the output directory before each build.
|
|
197
184
|
*/
|
|
198
185
|
clean?: boolean;
|
|
199
186
|
/**
|
|
200
|
-
*
|
|
201
|
-
* This is being used for the playground.
|
|
187
|
+
* Save files to the file system.
|
|
202
188
|
* @default true
|
|
203
189
|
*/
|
|
204
190
|
write?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Define what needs to exported, here you can also disable the export of barrel files.
|
|
193
|
+
* @default `'barrelNamed'`
|
|
194
|
+
*/
|
|
195
|
+
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
205
196
|
};
|
|
206
197
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
*
|
|
198
|
+
* An array of Kubb plugins that will be used in the generation.
|
|
199
|
+
* Each plugin may include additional configurable options(defined in the plugin itself).
|
|
200
|
+
* If a plugin depends on another plugin, an error will be returned if the required dependency is missing. See pre for more details.
|
|
210
201
|
*/
|
|
211
202
|
plugins?: Array<Plugin>;
|
|
212
203
|
/**
|
|
@@ -266,7 +257,7 @@ type UserPlugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> =
|
|
|
266
257
|
options: TOptions['resolvedOptions'];
|
|
267
258
|
/**
|
|
268
259
|
* 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.
|
|
269
|
-
* Can be used to validate
|
|
260
|
+
* Can be used to validate dependent plugins.
|
|
270
261
|
*/
|
|
271
262
|
pre?: Array<string>;
|
|
272
263
|
/**
|
|
@@ -293,7 +284,7 @@ type Plugin<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
|
293
284
|
key: TOptions['key'];
|
|
294
285
|
/**
|
|
295
286
|
* 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.
|
|
296
|
-
* Can be used to validate
|
|
287
|
+
* Can be used to validate dependent plugins.
|
|
297
288
|
*/
|
|
298
289
|
pre?: Array<string>;
|
|
299
290
|
/**
|
|
@@ -360,10 +351,9 @@ type ResolveNameParams = {
|
|
|
360
351
|
};
|
|
361
352
|
type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions> = {
|
|
362
353
|
config: Config;
|
|
363
|
-
cache: Cache<PluginCache>;
|
|
364
354
|
fileManager: FileManager;
|
|
365
355
|
pluginManager: PluginManager;
|
|
366
|
-
addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.
|
|
356
|
+
addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.ResolvedFile>>;
|
|
367
357
|
resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => KubbFile.OptionalPath;
|
|
368
358
|
resolveName: (params: ResolveNameParams) => string;
|
|
369
359
|
logger: Logger;
|
|
@@ -376,62 +366,112 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
|
|
|
376
366
|
*/
|
|
377
367
|
plugin: Plugin<TOptions>;
|
|
378
368
|
};
|
|
379
|
-
|
|
380
|
-
|
|
369
|
+
type Output = {
|
|
370
|
+
/**
|
|
371
|
+
* Output to save the generated files.
|
|
372
|
+
*/
|
|
373
|
+
path: string;
|
|
374
|
+
/**
|
|
375
|
+
* Name to be used for the `export * as {{exportAs}} from './'`
|
|
376
|
+
*/
|
|
377
|
+
exportAs?: string;
|
|
381
378
|
/**
|
|
382
|
-
*
|
|
379
|
+
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
383
380
|
*/
|
|
384
|
-
|
|
381
|
+
extName?: KubbFile.Extname;
|
|
382
|
+
/**
|
|
383
|
+
* Define what needs to exported, here you can also disable the export of barrel files
|
|
384
|
+
* @default `'barrelNamed'`
|
|
385
|
+
*/
|
|
386
|
+
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
387
|
+
/**
|
|
388
|
+
* Add a banner text in the beginning of every file
|
|
389
|
+
*/
|
|
390
|
+
banner?: string;
|
|
391
|
+
/**
|
|
392
|
+
* Add a footer text in the beginning of every file
|
|
393
|
+
*/
|
|
394
|
+
footer?: string;
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
type BarrelData = {
|
|
398
|
+
file?: KubbFile.File;
|
|
385
399
|
/**
|
|
386
|
-
*
|
|
387
|
-
* @link https://nodejs.org/api/path.html#pathformatpathobject
|
|
400
|
+
* @deprecated use file instead
|
|
388
401
|
*/
|
|
402
|
+
type: KubbFile.Mode;
|
|
403
|
+
path: string;
|
|
389
404
|
name: string;
|
|
390
405
|
};
|
|
406
|
+
declare class TreeNode {
|
|
407
|
+
#private;
|
|
408
|
+
data: BarrelData;
|
|
409
|
+
parent?: TreeNode;
|
|
410
|
+
children: Array<TreeNode>;
|
|
411
|
+
constructor(data: BarrelData, parent?: TreeNode);
|
|
412
|
+
addChild(data: BarrelData): TreeNode;
|
|
413
|
+
get root(): TreeNode;
|
|
414
|
+
get leaves(): Array<TreeNode>;
|
|
415
|
+
forEach(callback: (treeNode: TreeNode) => void): this;
|
|
416
|
+
findDeep(predicate?: (value: TreeNode, index: number, obj: TreeNode[]) => boolean): TreeNode | undefined;
|
|
417
|
+
forEachDeep(callback: (treeNode: TreeNode) => void): void;
|
|
418
|
+
filterDeep(callback: (treeNode: TreeNode) => boolean): Array<TreeNode>;
|
|
419
|
+
mapDeep<T>(callback: (treeNode: TreeNode) => T): Array<T>;
|
|
420
|
+
static build(files: KubbFile.File[], root?: string): TreeNode | null;
|
|
421
|
+
}
|
|
422
|
+
type DirectoryTree = {
|
|
423
|
+
name: string;
|
|
424
|
+
path: string;
|
|
425
|
+
file?: KubbFile.File;
|
|
426
|
+
children: Array<DirectoryTree>;
|
|
427
|
+
};
|
|
428
|
+
|
|
391
429
|
type FileMetaBase = {
|
|
392
430
|
pluginKey?: Plugin['key'];
|
|
393
431
|
};
|
|
394
|
-
type
|
|
395
|
-
type AddResult<T extends Array<FileWithMeta>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
432
|
+
type AddResult<T extends Array<KubbFile.File>> = Promise<Awaited<GreaterThan<T['length'], 1> extends true ? Promise<ResolvedFile[]> : Promise<ResolvedFile>>>;
|
|
396
433
|
type AddIndexesProps = {
|
|
397
434
|
/**
|
|
398
435
|
* Root based on root and output.path specified in the config
|
|
399
436
|
*/
|
|
400
437
|
root: string;
|
|
438
|
+
files: KubbFile.File[];
|
|
401
439
|
/**
|
|
402
440
|
* Output for plugin
|
|
403
441
|
*/
|
|
404
442
|
output: {
|
|
405
443
|
path: string;
|
|
406
|
-
exportAs?: string;
|
|
407
444
|
extName?: KubbFile.Extname;
|
|
445
|
+
exportAs?: string;
|
|
408
446
|
exportType?: 'barrel' | 'barrelNamed' | false;
|
|
409
447
|
};
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
};
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
task?: (file: ResolvedFile) => Promise<ResolvedFile>;
|
|
448
|
+
group?: {
|
|
449
|
+
output: string;
|
|
450
|
+
exportAs: string;
|
|
451
|
+
};
|
|
452
|
+
logger?: Logger;
|
|
453
|
+
meta?: FileMetaBase;
|
|
417
454
|
};
|
|
418
455
|
declare class FileManager {
|
|
419
456
|
#private;
|
|
420
|
-
constructor(
|
|
421
|
-
get files(): Array<
|
|
422
|
-
get
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
457
|
+
constructor();
|
|
458
|
+
get files(): Array<KubbFile.ResolvedFile>;
|
|
459
|
+
get orderedFiles(): Array<KubbFile.ResolvedFile>;
|
|
460
|
+
get groupedFiles(): DirectoryTree | null;
|
|
461
|
+
get treeNode(): TreeNode | null;
|
|
462
|
+
add<T extends Array<KubbFile.File> = Array<KubbFile.File>>(...files: T): AddResult<T>;
|
|
463
|
+
clear(): void;
|
|
464
|
+
getCacheById(id: string): KubbFile.File | undefined;
|
|
465
|
+
getByPath(path: KubbFile.Path): KubbFile.ResolvedFile | undefined;
|
|
466
|
+
deleteByPath(path: KubbFile.Path): void;
|
|
467
|
+
getBarrelFiles({ files, meta, root, output, logger }: AddIndexesProps): Promise<KubbFile.File[]>;
|
|
468
|
+
write(...params: Parameters<typeof write>): ReturnType<typeof write>;
|
|
469
|
+
read(...params: Parameters<typeof read>): ReturnType<typeof read>;
|
|
432
470
|
static getMode(path: string | undefined | null): KubbFile.Mode;
|
|
433
|
-
static get extensions(): Array<KubbFile.Extname>;
|
|
434
|
-
static isJavascript(baseName: string): boolean;
|
|
435
471
|
}
|
|
472
|
+
type GetSourceOptions = {
|
|
473
|
+
logger?: Logger;
|
|
474
|
+
};
|
|
475
|
+
declare function getSource<TMeta extends FileMetaBase = FileMetaBase>(file: ResolvedFile<TMeta>, { logger }?: GetSourceOptions): Promise<string>;
|
|
436
476
|
|
|
437
|
-
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
|
|
477
|
+
export { type Config as C, FileManager as F, type GetPluginFactoryOptions as G, type InputPath as I, type Output as O, 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, getSource as g, type UserPlugin as h, type Plugin as i, type PluginWithLifeCycle as j, type PluginLifecycle as k, type PluginLifecycleHooks as l, type PluginParameter as m, type PluginCache as n, type ResolveNameParams as o };
|
|
@@ -0,0 +1,96 @@
|
|
|
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 { transformReservedWord };
|
|
95
|
+
//# sourceMappingURL=chunk-2EU7DMPM.js.map
|
|
96
|
+
//# sourceMappingURL=chunk-2EU7DMPM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/transformers/transformReservedWord.ts"],"names":[],"mappings":";AAGA,IAAM,aAAgB,GAAA;AAAA,EACpB,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EAEA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AACF,CAAA,CAAA;AAEO,SAAS,sBAAsB,IAAsB,EAAA;AAC1D,EAAK,IAAA,IAAA,IAAQ,cAAc,QAAS,CAAA,IAAI,KAAM,IAAM,EAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAChE,IAAA,OAAO,IAAI,IAAI,CAAA,CAAA,CAAA;AAAA,GACjB;AAEA,EAAO,OAAA,IAAA,CAAA;AACT","file":"chunk-2EU7DMPM.js","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"]}
|