@kubb/core 3.0.0-alpha.2 → 3.0.0-alpha.20
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--rO8q.d.ts → FileManager-DQtWE_rp.d.ts} +112 -72
- package/dist/{FileManager-Bw-FNS3q.d.cts → FileManager-qZTz0oZl.d.cts} +112 -72
- package/dist/chunk-253UUWI5.cjs +101 -0
- package/dist/chunk-253UUWI5.cjs.map +1 -0
- package/dist/chunk-2EU7DMPM.js +96 -0
- package/dist/chunk-2EU7DMPM.js.map +1 -0
- package/dist/chunk-4X5FFJPJ.js +8 -13
- package/dist/chunk-4X5FFJPJ.js.map +1 -1
- package/dist/chunk-7O42P6ET.cjs +1088 -0
- package/dist/chunk-7O42P6ET.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-LM2YQC3T.cjs → chunk-HRJU3XOH.cjs} +81 -51
- package/dist/chunk-HRJU3XOH.cjs.map +1 -0
- package/dist/chunk-OAGN4FY6.cjs +42 -0
- package/dist/chunk-OAGN4FY6.cjs.map +1 -0
- package/dist/chunk-P37BU33L.cjs +1537 -0
- package/dist/chunk-P37BU33L.cjs.map +1 -0
- package/dist/{chunk-67C6RBGQ.cjs → chunk-U3S2ZR6C.cjs} +28 -29
- package/dist/chunk-U3S2ZR6C.cjs.map +1 -0
- package/dist/index.cjs +551 -599
- 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 +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-TK4KVZVL.cjs +760 -0
- package/dist/prompt-TK4KVZVL.cjs.map +1 -0
- package/dist/prompt-WQQUN22Z.js +749 -0
- package/dist/prompt-WQQUN22Z.js.map +1 -0
- package/dist/transformers.cjs +215 -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 +148 -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 +10 -13
- 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 +1 -1
- 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 +36 -5
- 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
package/README.md
CHANGED
|
@@ -13,10 +13,6 @@
|
|
|
13
13
|
[![Coverage][coverage-src]][coverage-href]
|
|
14
14
|
[![License][license-src]][license-href]
|
|
15
15
|
|
|
16
|
-
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
17
|
-
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
18
|
-
</p>
|
|
19
|
-
|
|
20
16
|
<h4>
|
|
21
17
|
<a href="https://codesandbox.io/s/github/kubb-labs/kubb/tree/alpha/examples/typescript" target="_blank">View Demo</a>
|
|
22
18
|
<span> · </span>
|
|
@@ -28,6 +24,19 @@
|
|
|
28
24
|
</h4>
|
|
29
25
|
</div>
|
|
30
26
|
|
|
27
|
+
## Supporting Kubb
|
|
28
|
+
|
|
29
|
+
Kubb uses an MIT-licensed open source project with its ongoing development made possible entirely by the support of Sponsors. If you would like to become a sponsor, please consider:
|
|
30
|
+
|
|
31
|
+
- [Become a Sponsor on GitHub](https://github.com/sponsors/stijnvanhulle)
|
|
32
|
+
|
|
33
|
+
<p align="center">
|
|
34
|
+
<a href="https://github.com/sponsors/stijnvanhulle">
|
|
35
|
+
<img src="https://raw.githubusercontent.com/stijnvanhulle/sponsors/main/sponsors.svg" alt="My sponsors" />
|
|
36
|
+
</a>
|
|
37
|
+
</p>
|
|
38
|
+
|
|
39
|
+
|
|
31
40
|
<!-- Badges -->
|
|
32
41
|
|
|
33
42
|
[npm-version-src]: https://img.shields.io/npm/v/@kubb/core?flat&colorA=18181B&colorB=f58517
|
|
@@ -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
|
*
|
|
@@ -202,6 +188,11 @@ type Config<TInput = Input> = {
|
|
|
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
198
|
* Array of Kubb plugins to use.
|
|
@@ -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;
|
|
378
|
+
/**
|
|
379
|
+
* Add an extension to the generated imports and exports, default it will not use an extension
|
|
380
|
+
*/
|
|
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;
|
|
381
387
|
/**
|
|
382
|
-
*
|
|
388
|
+
* Add a footer text in the beginning of every file
|
|
383
389
|
*/
|
|
384
|
-
|
|
390
|
+
footer?: string;
|
|
385
391
|
/**
|
|
386
|
-
*
|
|
387
|
-
* @link https://nodejs.org/api/path.html#pathformatpathobject
|
|
392
|
+
* Add a banner text in the beginning of every file
|
|
388
393
|
*/
|
|
394
|
+
banner?: string;
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
type BarrelData = {
|
|
398
|
+
file?: KubbFile.File;
|
|
399
|
+
/**
|
|
400
|
+
* @deprecated use file instead
|
|
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 };
|