@kubb/fabric-core 0.1.2 → 0.1.4
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/{App-DZuROf6f.d.ts → App-BxAl3dNP.d.ts} +16 -19
- package/dist/{App-zyf9KG3p.d.cts → App-D3DHa4Il.d.cts} +16 -19
- package/dist/createParser-B_RpW6sx.js +17 -0
- package/dist/createParser-B_RpW6sx.js.map +1 -0
- package/dist/createParser-DZB5qExa.cjs +29 -0
- package/dist/createParser-DZB5qExa.cjs.map +1 -0
- package/dist/defaultParser-Dl-OrbH1.cjs +20 -0
- package/dist/defaultParser-Dl-OrbH1.cjs.map +1 -0
- package/dist/defaultParser-vwyTb1XT.js +15 -0
- package/dist/defaultParser-vwyTb1XT.js.map +1 -0
- package/dist/defineApp-B9W1A5SV.d.ts +9 -0
- package/dist/defineApp-BP97CT5p.d.cts +9 -0
- package/dist/index.cjs +38 -74
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +33 -69
- package/dist/index.js.map +1 -1
- package/dist/parsers/typescript.cjs +2 -1
- package/dist/parsers/typescript.d.cts +2 -2
- package/dist/parsers/typescript.d.ts +2 -2
- package/dist/parsers/typescript.js +2 -1
- package/dist/parsers.cjs +19 -6
- package/dist/parsers.cjs.map +1 -0
- package/dist/parsers.d.cts +2 -2
- package/dist/parsers.d.ts +2 -2
- package/dist/parsers.js +16 -3
- package/dist/parsers.js.map +1 -0
- package/dist/plugins.cjs +5 -5
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +8 -7
- package/dist/plugins.d.ts +8 -7
- package/dist/plugins.js +5 -5
- package/dist/plugins.js.map +1 -1
- package/dist/types.d.cts +2 -2
- package/dist/types.d.ts +2 -2
- package/dist/{typescriptParser-C-sBy1iR.d.cts → typescriptParser--N0n8KFn.d.cts} +2 -2
- package/dist/{typescriptParser-CtMmz0UV.d.ts → typescriptParser-CctRhsng.d.ts} +2 -2
- package/dist/{typescriptParser-BBGeFKlP.js → typescriptParser-CrzOv_Aw.js} +3 -17
- package/dist/typescriptParser-CrzOv_Aw.js.map +1 -0
- package/dist/{typescriptParser-BBbbmG5W.cjs → typescriptParser-JawJ8wET.cjs} +5 -31
- package/dist/{typescriptParser-BBGeFKlP.js.map → typescriptParser-JawJ8wET.cjs.map} +1 -1
- package/package.json +1 -1
- package/src/App.ts +9 -12
- package/src/FileProcessor.ts +19 -22
- package/src/createApp.ts +1 -13
- package/src/defineApp.ts +17 -32
- package/src/plugins/fsPlugin.ts +15 -11
- package/src/plugins/types.ts +2 -2
- package/dist/defineApp-D3B0bU-z.d.cts +0 -14
- package/dist/defineApp-DJVMk9lc.d.ts +0 -14
- package/dist/tsxParser-C741ZKCN.js +0 -26
- package/dist/tsxParser-C741ZKCN.js.map +0 -1
- package/dist/tsxParser-HDf_3TMc.cjs +0 -37
- package/dist/tsxParser-HDf_3TMc.cjs.map +0 -1
- package/dist/typescriptParser-BBbbmG5W.cjs.map +0 -1
|
@@ -116,37 +116,37 @@ type ResolvedFile<TMeta$1 extends object = object> = File<TMeta$1> & {
|
|
|
116
116
|
};
|
|
117
117
|
//#endregion
|
|
118
118
|
//#region src/plugins/types.d.ts
|
|
119
|
-
type Plugin<TOptions
|
|
119
|
+
type Plugin<TOptions = any[], TAppExtension$1 extends Record<string, any> = {}> = {
|
|
120
120
|
name: string;
|
|
121
121
|
type: 'plugin';
|
|
122
122
|
scope?: 'write' | 'read' | (string & {});
|
|
123
|
-
install: Install<TOptions
|
|
123
|
+
install: Install<TOptions> | Promise<Install<TOptions>>;
|
|
124
124
|
/**
|
|
125
125
|
* Runtime app overrides or extensions.
|
|
126
126
|
* Merged into the app instance after install.
|
|
127
127
|
*/
|
|
128
|
-
|
|
128
|
+
inject?: Inject<TOptions, TAppExtension$1>;
|
|
129
129
|
};
|
|
130
|
-
type UserPlugin<TOptions
|
|
130
|
+
type UserPlugin<TOptions = any[], TAppExtension$1 extends Record<string, any> = {}> = Omit<Plugin<TOptions, TAppExtension$1>, 'type'>;
|
|
131
131
|
//#endregion
|
|
132
132
|
//#region src/parsers/types.d.ts
|
|
133
133
|
type PrintOptions = {
|
|
134
134
|
extname?: Extname;
|
|
135
135
|
};
|
|
136
|
-
type Parser<TOptions
|
|
136
|
+
type Parser<TOptions = any[], TMeta$1 extends object = any> = {
|
|
137
137
|
name: string;
|
|
138
138
|
type: 'parser';
|
|
139
139
|
/**
|
|
140
140
|
* Undefined is being used for the defaultParser
|
|
141
141
|
*/
|
|
142
142
|
extNames: Array<Extname> | undefined;
|
|
143
|
-
install: Install<TOptions
|
|
143
|
+
install: Install<TOptions>;
|
|
144
144
|
/**
|
|
145
145
|
* Convert a file to string
|
|
146
146
|
*/
|
|
147
147
|
parse(file: ResolvedFile<TMeta$1>, options: PrintOptions): Promise<string>;
|
|
148
148
|
};
|
|
149
|
-
type UserParser<TOptions
|
|
149
|
+
type UserParser<TOptions = any[], TMeta$1 extends object = any> = Omit<Parser<TOptions, TMeta$1>, 'type'>;
|
|
150
150
|
//#endregion
|
|
151
151
|
//#region src/utils/AsyncEventEmitter.d.ts
|
|
152
152
|
declare class AsyncEventEmitter<TEvents extends Record<string, any>> {
|
|
@@ -166,7 +166,7 @@ type ProcessFilesProps = {
|
|
|
166
166
|
};
|
|
167
167
|
type GetParseOptions = {
|
|
168
168
|
parsers?: Set<Parser>;
|
|
169
|
-
|
|
169
|
+
extension?: Record<Extname, Extname | ''>;
|
|
170
170
|
};
|
|
171
171
|
type Options$1 = {
|
|
172
172
|
events?: AsyncEventEmitter<AppEvents>;
|
|
@@ -179,7 +179,7 @@ declare class FileProcessor {
|
|
|
179
179
|
}?: Options$1);
|
|
180
180
|
parse(file: ResolvedFile, {
|
|
181
181
|
parsers,
|
|
182
|
-
|
|
182
|
+
extension
|
|
183
183
|
}?: GetParseOptions): Promise<string>;
|
|
184
184
|
run(files: Array<ResolvedFile>, {
|
|
185
185
|
parsers,
|
|
@@ -268,25 +268,22 @@ type AppEvents = {
|
|
|
268
268
|
files: ResolvedFile[];
|
|
269
269
|
}];
|
|
270
270
|
};
|
|
271
|
-
type AppContext<TOptions
|
|
272
|
-
options?: TOptions
|
|
271
|
+
type AppContext<TOptions = unknown> = {
|
|
272
|
+
options?: TOptions;
|
|
273
273
|
events: AsyncEventEmitter<AppEvents>;
|
|
274
274
|
fileManager: FileManager;
|
|
275
275
|
installedPlugins: Set<Plugin>;
|
|
276
276
|
installedParsers: Set<Parser>;
|
|
277
277
|
};
|
|
278
|
-
type Install<TOptions
|
|
279
|
-
type
|
|
280
|
-
interface App {
|
|
281
|
-
|
|
282
|
-
render(): Promise<void>;
|
|
283
|
-
renderToString(): Promise<string>;
|
|
278
|
+
type Install<TOptions = any[] | object | undefined> = TOptions extends any[] ? (app: App, ...options: TOptions) => void : TOptions extends object ? (app: App, options?: TOptions) => void : (app: App) => void;
|
|
279
|
+
type Inject<TOptions = any[] | object | undefined, TAppExtension$1 extends Record<string, any> = {}> = TOptions extends any[] ? (app: App, ...options: TOptions) => Partial<TAppExtension$1> : TOptions extends object ? (app: App, options?: TOptions) => Partial<TAppExtension$1> : (app: App) => Partial<TAppExtension$1>;
|
|
280
|
+
interface App<TOptions = unknown> {
|
|
281
|
+
context: AppContext<TOptions>;
|
|
284
282
|
files: Array<ResolvedFile>;
|
|
285
283
|
use<TOptions extends any[] | object = any, TMeta extends object = object, TAppExtension extends Record<string, any> = {}>(pluginOrParser: Plugin<TOptions, TAppExtension> | Parser<TOptions, TMeta>, ...options: TOptions extends any[] ? NoInfer<TOptions> : [NoInfer<TOptions>]): this & TAppExtension;
|
|
286
284
|
use<TOptions extends any[] | object = any, TMeta extends object = object, TAppExtension extends Record<string, any> = {}>(pluginOrParser: Plugin<TOptions, TAppExtension> | Parser<TOptions, TMeta>): this & TAppExtension;
|
|
287
285
|
addFile(...files: Array<File>): Promise<void>;
|
|
288
|
-
waitUntilExit(): Promise<void>;
|
|
289
286
|
}
|
|
290
287
|
//#endregion
|
|
291
288
|
export { FileProcessor as a, Plugin as c, File as d, KubbFile_d_exports as f, FileManager as i, UserPlugin as l, AppContext as n, Parser as o, ResolvedFile as p, Component as r, UserParser as s, App as t, Extname as u };
|
|
292
|
-
//# sourceMappingURL=App-
|
|
289
|
+
//# sourceMappingURL=App-BxAl3dNP.d.ts.map
|
|
@@ -116,37 +116,37 @@ type ResolvedFile<TMeta$1 extends object = object> = File<TMeta$1> & {
|
|
|
116
116
|
};
|
|
117
117
|
//#endregion
|
|
118
118
|
//#region src/plugins/types.d.ts
|
|
119
|
-
type Plugin<TOptions
|
|
119
|
+
type Plugin<TOptions = any[], TAppExtension$1 extends Record<string, any> = {}> = {
|
|
120
120
|
name: string;
|
|
121
121
|
type: 'plugin';
|
|
122
122
|
scope?: 'write' | 'read' | (string & {});
|
|
123
|
-
install: Install<TOptions
|
|
123
|
+
install: Install<TOptions> | Promise<Install<TOptions>>;
|
|
124
124
|
/**
|
|
125
125
|
* Runtime app overrides or extensions.
|
|
126
126
|
* Merged into the app instance after install.
|
|
127
127
|
*/
|
|
128
|
-
|
|
128
|
+
inject?: Inject<TOptions, TAppExtension$1>;
|
|
129
129
|
};
|
|
130
|
-
type UserPlugin<TOptions
|
|
130
|
+
type UserPlugin<TOptions = any[], TAppExtension$1 extends Record<string, any> = {}> = Omit<Plugin<TOptions, TAppExtension$1>, 'type'>;
|
|
131
131
|
//#endregion
|
|
132
132
|
//#region src/parsers/types.d.ts
|
|
133
133
|
type PrintOptions = {
|
|
134
134
|
extname?: Extname;
|
|
135
135
|
};
|
|
136
|
-
type Parser<TOptions
|
|
136
|
+
type Parser<TOptions = any[], TMeta$1 extends object = any> = {
|
|
137
137
|
name: string;
|
|
138
138
|
type: 'parser';
|
|
139
139
|
/**
|
|
140
140
|
* Undefined is being used for the defaultParser
|
|
141
141
|
*/
|
|
142
142
|
extNames: Array<Extname> | undefined;
|
|
143
|
-
install: Install<TOptions
|
|
143
|
+
install: Install<TOptions>;
|
|
144
144
|
/**
|
|
145
145
|
* Convert a file to string
|
|
146
146
|
*/
|
|
147
147
|
parse(file: ResolvedFile<TMeta$1>, options: PrintOptions): Promise<string>;
|
|
148
148
|
};
|
|
149
|
-
type UserParser<TOptions
|
|
149
|
+
type UserParser<TOptions = any[], TMeta$1 extends object = any> = Omit<Parser<TOptions, TMeta$1>, 'type'>;
|
|
150
150
|
//#endregion
|
|
151
151
|
//#region src/utils/AsyncEventEmitter.d.ts
|
|
152
152
|
declare class AsyncEventEmitter<TEvents extends Record<string, any>> {
|
|
@@ -166,7 +166,7 @@ type ProcessFilesProps = {
|
|
|
166
166
|
};
|
|
167
167
|
type GetParseOptions = {
|
|
168
168
|
parsers?: Set<Parser>;
|
|
169
|
-
|
|
169
|
+
extension?: Record<Extname, Extname | ''>;
|
|
170
170
|
};
|
|
171
171
|
type Options$1 = {
|
|
172
172
|
events?: AsyncEventEmitter<AppEvents>;
|
|
@@ -179,7 +179,7 @@ declare class FileProcessor {
|
|
|
179
179
|
}?: Options$1);
|
|
180
180
|
parse(file: ResolvedFile, {
|
|
181
181
|
parsers,
|
|
182
|
-
|
|
182
|
+
extension
|
|
183
183
|
}?: GetParseOptions): Promise<string>;
|
|
184
184
|
run(files: Array<ResolvedFile>, {
|
|
185
185
|
parsers,
|
|
@@ -268,25 +268,22 @@ type AppEvents = {
|
|
|
268
268
|
files: ResolvedFile[];
|
|
269
269
|
}];
|
|
270
270
|
};
|
|
271
|
-
type AppContext<TOptions
|
|
272
|
-
options?: TOptions
|
|
271
|
+
type AppContext<TOptions = unknown> = {
|
|
272
|
+
options?: TOptions;
|
|
273
273
|
events: AsyncEventEmitter<AppEvents>;
|
|
274
274
|
fileManager: FileManager;
|
|
275
275
|
installedPlugins: Set<Plugin>;
|
|
276
276
|
installedParsers: Set<Parser>;
|
|
277
277
|
};
|
|
278
|
-
type Install<TOptions
|
|
279
|
-
type
|
|
280
|
-
interface App {
|
|
281
|
-
|
|
282
|
-
render(): Promise<void>;
|
|
283
|
-
renderToString(): Promise<string>;
|
|
278
|
+
type Install<TOptions = any[] | object | undefined> = TOptions extends any[] ? (app: App, ...options: TOptions) => void : TOptions extends object ? (app: App, options?: TOptions) => void : (app: App) => void;
|
|
279
|
+
type Inject<TOptions = any[] | object | undefined, TAppExtension$1 extends Record<string, any> = {}> = TOptions extends any[] ? (app: App, ...options: TOptions) => Partial<TAppExtension$1> : TOptions extends object ? (app: App, options?: TOptions) => Partial<TAppExtension$1> : (app: App) => Partial<TAppExtension$1>;
|
|
280
|
+
interface App<TOptions = unknown> {
|
|
281
|
+
context: AppContext<TOptions>;
|
|
284
282
|
files: Array<ResolvedFile>;
|
|
285
283
|
use<TOptions extends any[] | object = any, TMeta extends object = object, TAppExtension extends Record<string, any> = {}>(pluginOrParser: Plugin<TOptions, TAppExtension> | Parser<TOptions, TMeta>, ...options: TOptions extends any[] ? NoInfer<TOptions> : [NoInfer<TOptions>]): this & TAppExtension;
|
|
286
284
|
use<TOptions extends any[] | object = any, TMeta extends object = object, TAppExtension extends Record<string, any> = {}>(pluginOrParser: Plugin<TOptions, TAppExtension> | Parser<TOptions, TMeta>): this & TAppExtension;
|
|
287
285
|
addFile(...files: Array<File>): Promise<void>;
|
|
288
|
-
waitUntilExit(): Promise<void>;
|
|
289
286
|
}
|
|
290
287
|
//#endregion
|
|
291
288
|
export { FileProcessor as a, Plugin as c, File as d, KubbFile_d_exports as f, FileManager as i, UserPlugin as l, AppContext as n, Parser as o, ResolvedFile as p, Component as r, UserParser as s, App as t, Extname as u };
|
|
292
|
-
//# sourceMappingURL=App-
|
|
289
|
+
//# sourceMappingURL=App-D3DHa4Il.d.cts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/utils/trimExtName.ts
|
|
2
|
+
function trimExtName(text) {
|
|
3
|
+
return text.replace(/\.[^/.]+$/, "");
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/parsers/createParser.ts
|
|
8
|
+
function createParser(parser) {
|
|
9
|
+
return {
|
|
10
|
+
type: "parser",
|
|
11
|
+
...parser
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { trimExtName as n, createParser as t };
|
|
17
|
+
//# sourceMappingURL=createParser-B_RpW6sx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createParser-B_RpW6sx.js","names":[],"sources":["../src/utils/trimExtName.ts","../src/parsers/createParser.ts"],"sourcesContent":["export function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\n}\n","import type { Parser, UserParser } from './types.ts'\n\nexport function createParser<TOptions = any[], TMeta extends object = any>(parser: UserParser<TOptions, TMeta>): Parser<TOptions, TMeta> {\n return {\n type: 'parser',\n ...parser,\n }\n}\n"],"mappings":";AAAA,SAAgB,YAAY,MAAsB;AAChD,QAAO,KAAK,QAAQ,aAAa,GAAG;;;;;ACCtC,SAAgB,aAA2D,QAA8D;AACvI,QAAO;EACL,MAAM;EACN,GAAG;EACJ"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/utils/trimExtName.ts
|
|
3
|
+
function trimExtName(text) {
|
|
4
|
+
return text.replace(/\.[^/.]+$/, "");
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/parsers/createParser.ts
|
|
9
|
+
function createParser(parser) {
|
|
10
|
+
return {
|
|
11
|
+
type: "parser",
|
|
12
|
+
...parser
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
Object.defineProperty(exports, 'createParser', {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return createParser;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, 'trimExtName', {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () {
|
|
26
|
+
return trimExtName;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=createParser-DZB5qExa.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createParser-DZB5qExa.cjs","names":[],"sources":["../src/utils/trimExtName.ts","../src/parsers/createParser.ts"],"sourcesContent":["export function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\n}\n","import type { Parser, UserParser } from './types.ts'\n\nexport function createParser<TOptions = any[], TMeta extends object = any>(parser: UserParser<TOptions, TMeta>): Parser<TOptions, TMeta> {\n return {\n type: 'parser',\n ...parser,\n }\n}\n"],"mappings":";;AAAA,SAAgB,YAAY,MAAsB;AAChD,QAAO,KAAK,QAAQ,aAAa,GAAG;;;;;ACCtC,SAAgB,aAA2D,QAA8D;AACvI,QAAO;EACL,MAAM;EACN,GAAG;EACJ"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const require_createParser = require('./createParser-DZB5qExa.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/parsers/defaultParser.ts
|
|
4
|
+
const defaultParser = require_createParser.createParser({
|
|
5
|
+
name: "default",
|
|
6
|
+
extNames: [".json"],
|
|
7
|
+
install() {},
|
|
8
|
+
async parse(file) {
|
|
9
|
+
return file.sources.map((item) => item.value).join("\n\n");
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
Object.defineProperty(exports, 'defaultParser', {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () {
|
|
17
|
+
return defaultParser;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=defaultParser-Dl-OrbH1.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultParser-Dl-OrbH1.cjs","names":["createParser"],"sources":["../src/parsers/defaultParser.ts"],"sourcesContent":["import { createParser } from './createParser.ts'\n\nexport const defaultParser = createParser({\n name: 'default',\n extNames: ['.json'],\n install() {},\n async parse(file) {\n return file.sources.map((item) => item.value).join('\\n\\n')\n },\n})\n"],"mappings":";;;AAEA,MAAa,gBAAgBA,kCAAa;CACxC,MAAM;CACN,UAAU,CAAC,QAAQ;CACnB,UAAU;CACV,MAAM,MAAM,MAAM;AAChB,SAAO,KAAK,QAAQ,KAAK,SAAS,KAAK,MAAM,CAAC,KAAK,OAAO;;CAE7D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { t as createParser } from "./createParser-B_RpW6sx.js";
|
|
2
|
+
|
|
3
|
+
//#region src/parsers/defaultParser.ts
|
|
4
|
+
const defaultParser = createParser({
|
|
5
|
+
name: "default",
|
|
6
|
+
extNames: [".json"],
|
|
7
|
+
install() {},
|
|
8
|
+
async parse(file) {
|
|
9
|
+
return file.sources.map((item) => item.value).join("\n\n");
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { defaultParser as t };
|
|
15
|
+
//# sourceMappingURL=defaultParser-vwyTb1XT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultParser-vwyTb1XT.js","names":[],"sources":["../src/parsers/defaultParser.ts"],"sourcesContent":["import { createParser } from './createParser.ts'\n\nexport const defaultParser = createParser({\n name: 'default',\n extNames: ['.json'],\n install() {},\n async parse(file) {\n return file.sources.map((item) => item.value).join('\\n\\n')\n },\n})\n"],"mappings":";;;AAEA,MAAa,gBAAgB,aAAa;CACxC,MAAM;CACN,UAAU,CAAC,QAAQ;CACnB,UAAU;CACV,MAAM,MAAM,MAAM;AAChB,SAAO,KAAK,QAAQ,KAAK,SAAS,KAAK,MAAM,CAAC,KAAK,OAAO;;CAE7D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { r as Component, t as App } from "./App-BxAl3dNP.js";
|
|
2
|
+
|
|
3
|
+
//#region src/defineApp.d.ts
|
|
4
|
+
type RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>;
|
|
5
|
+
type DefineApp<TOptions> = (rootComponent?: Component, options?: TOptions) => App;
|
|
6
|
+
declare function defineApp<TOptions = unknown>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { defineApp as n, DefineApp as t };
|
|
9
|
+
//# sourceMappingURL=defineApp-B9W1A5SV.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { r as Component, t as App } from "./App-D3DHa4Il.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/defineApp.d.ts
|
|
4
|
+
type RootRenderFunction<TApp extends App> = (app: TApp) => void | Promise<void>;
|
|
5
|
+
type DefineApp<TOptions> = (rootComponent?: Component, options?: TOptions) => App;
|
|
6
|
+
declare function defineApp<TOptions = unknown>(instance?: RootRenderFunction<App<TOptions>>): DefineApp<TOptions>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { defineApp as n, DefineApp as t };
|
|
9
|
+
//# sourceMappingURL=defineApp-BP97CT5p.d.cts.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const
|
|
3
|
-
const
|
|
2
|
+
const require_createParser = require('./createParser-DZB5qExa.cjs');
|
|
3
|
+
const require_defaultParser = require('./defaultParser-Dl-OrbH1.cjs');
|
|
4
4
|
let natural_orderby = require("natural-orderby");
|
|
5
5
|
natural_orderby = require_chunk.__toESM(natural_orderby);
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
@@ -151,7 +151,7 @@ function createFile(file) {
|
|
|
151
151
|
return {
|
|
152
152
|
...file,
|
|
153
153
|
id: hashObject({ path: file.path }),
|
|
154
|
-
name:
|
|
154
|
+
name: require_createParser.trimExtName(file.baseName),
|
|
155
155
|
extname,
|
|
156
156
|
imports,
|
|
157
157
|
exports: exports$1,
|
|
@@ -190,12 +190,6 @@ var AsyncEventEmitter = class {
|
|
|
190
190
|
}
|
|
191
191
|
};
|
|
192
192
|
|
|
193
|
-
//#endregion
|
|
194
|
-
//#region \0@oxc-project+runtime@0.95.0/helpers/classPrivateMethodInitSpec.js
|
|
195
|
-
function _classPrivateMethodInitSpec(e, a) {
|
|
196
|
-
_checkPrivateRedeclaration(e, a), a.add(e);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
193
|
//#endregion
|
|
200
194
|
//#region \0@oxc-project+runtime@0.95.0/helpers/typeof.js
|
|
201
195
|
function _typeof(o) {
|
|
@@ -241,36 +235,32 @@ function _defineProperty(e, r, t) {
|
|
|
241
235
|
//#endregion
|
|
242
236
|
//#region src/FileProcessor.ts
|
|
243
237
|
var _limit = /* @__PURE__ */ new WeakMap();
|
|
244
|
-
var _FileProcessor_brand = /* @__PURE__ */ new WeakSet();
|
|
245
238
|
var FileProcessor = class {
|
|
246
239
|
constructor({ events = new AsyncEventEmitter() } = {}) {
|
|
247
|
-
_classPrivateMethodInitSpec(this, _FileProcessor_brand);
|
|
248
240
|
_classPrivateFieldInitSpec(this, _limit, (0, p_limit.default)(100));
|
|
249
241
|
_defineProperty(this, "events", void 0);
|
|
250
242
|
this.events = events;
|
|
251
243
|
return this;
|
|
252
244
|
}
|
|
253
|
-
async parse(file, { parsers =
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
const parser = [...parsers].find((item) => {
|
|
245
|
+
async parse(file, { parsers = /* @__PURE__ */ new Set(), extension } = {}) {
|
|
246
|
+
const parseExtName = (extension === null || extension === void 0 ? void 0 : extension[file.extname]) || void 0;
|
|
247
|
+
if (!file.extname) return require_defaultParser.defaultParser.parse(file, { extname: parseExtName });
|
|
248
|
+
let parser;
|
|
249
|
+
for (const item of parsers) {
|
|
259
250
|
var _item$extNames;
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
return require_tsxParser.defaultParser.parse(file, { extname });
|
|
251
|
+
if ((_item$extNames = item.extNames) === null || _item$extNames === void 0 ? void 0 : _item$extNames.includes(file.extname)) {
|
|
252
|
+
parser = item;
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
265
255
|
}
|
|
266
|
-
return
|
|
256
|
+
if (!parser) return require_defaultParser.defaultParser.parse(file, { extname: parseExtName });
|
|
257
|
+
return parser.parse(file, { extname: parseExtName });
|
|
267
258
|
}
|
|
268
259
|
async run(files, { parsers, dryRun, extension } = {}) {
|
|
269
260
|
await this.events.emit("process:start", { files });
|
|
270
261
|
let processed = 0;
|
|
271
262
|
const total = files.length;
|
|
272
263
|
const promises = files.map((resolvedFile, index) => _classPrivateFieldGet2(_limit, this).call(this, async () => {
|
|
273
|
-
const extname = (extension === null || extension === void 0 ? void 0 : extension[resolvedFile.extname]) || node_path.default.extname(resolvedFile.path);
|
|
274
264
|
await this.events.emit("file:start", {
|
|
275
265
|
file: resolvedFile,
|
|
276
266
|
index,
|
|
@@ -278,14 +268,17 @@ var FileProcessor = class {
|
|
|
278
268
|
});
|
|
279
269
|
if (!dryRun) {
|
|
280
270
|
const source = await this.parse(resolvedFile, {
|
|
281
|
-
|
|
271
|
+
extension,
|
|
282
272
|
parsers
|
|
283
273
|
});
|
|
274
|
+
const nextProcessed = processed + 1;
|
|
275
|
+
const percentage = nextProcessed / total * 100;
|
|
276
|
+
processed = nextProcessed;
|
|
284
277
|
await this.events.emit("process:progress", {
|
|
285
278
|
file: resolvedFile,
|
|
286
279
|
source,
|
|
287
280
|
processed,
|
|
288
|
-
percentage
|
|
281
|
+
percentage,
|
|
289
282
|
total
|
|
290
283
|
});
|
|
291
284
|
}
|
|
@@ -301,14 +294,6 @@ var FileProcessor = class {
|
|
|
301
294
|
return files;
|
|
302
295
|
}
|
|
303
296
|
};
|
|
304
|
-
function _get_defaultParser() {
|
|
305
|
-
console.warn(`[parser] using default parsers, please consider using the "use" method to add custom parsers.`);
|
|
306
|
-
return new Set([
|
|
307
|
-
require_typescriptParser.typescriptParser,
|
|
308
|
-
require_tsxParser.tsxParser,
|
|
309
|
-
require_tsxParser.defaultParser
|
|
310
|
-
]);
|
|
311
|
-
}
|
|
312
297
|
|
|
313
298
|
//#endregion
|
|
314
299
|
//#region src/FileManager.ts
|
|
@@ -348,17 +333,17 @@ var FileManager = class {
|
|
|
348
333
|
flush() {
|
|
349
334
|
_classPrivateFieldGet2(_cache, this).flush();
|
|
350
335
|
}
|
|
351
|
-
getByPath(path$
|
|
352
|
-
return _classPrivateFieldGet2(_cache, this).get(path$
|
|
336
|
+
getByPath(path$1) {
|
|
337
|
+
return _classPrivateFieldGet2(_cache, this).get(path$1);
|
|
353
338
|
}
|
|
354
|
-
deleteByPath(path$
|
|
355
|
-
_classPrivateFieldGet2(_cache, this).delete(path$
|
|
339
|
+
deleteByPath(path$1) {
|
|
340
|
+
_classPrivateFieldGet2(_cache, this).delete(path$1);
|
|
356
341
|
}
|
|
357
342
|
clear() {
|
|
358
343
|
_classPrivateFieldGet2(_cache, this).clear();
|
|
359
344
|
}
|
|
360
345
|
get files() {
|
|
361
|
-
return (0, natural_orderby.orderBy)(_classPrivateFieldGet2(_cache, this).keys(), [(v) => v.length, (v) =>
|
|
346
|
+
return (0, natural_orderby.orderBy)(_classPrivateFieldGet2(_cache, this).keys(), [(v) => v.length, (v) => require_createParser.trimExtName(v).endsWith("index")]).map((key) => _classPrivateFieldGet2(_cache, this).get(key)).filter(Boolean);
|
|
362
347
|
}
|
|
363
348
|
async write(options) {
|
|
364
349
|
return this.processor.run(this.files, options);
|
|
@@ -368,43 +353,33 @@ var FileManager = class {
|
|
|
368
353
|
//#endregion
|
|
369
354
|
//#region src/defineApp.ts
|
|
370
355
|
function defineApp(instance) {
|
|
371
|
-
function createApp$1(
|
|
356
|
+
function createApp$1(options) {
|
|
372
357
|
const events = new AsyncEventEmitter();
|
|
373
358
|
const installedPlugins = /* @__PURE__ */ new Set();
|
|
374
359
|
const installedParsers = /* @__PURE__ */ new Set();
|
|
375
360
|
const fileManager = new FileManager({ events });
|
|
376
|
-
const context = {
|
|
377
|
-
events,
|
|
378
|
-
options,
|
|
379
|
-
fileManager,
|
|
380
|
-
installedPlugins,
|
|
381
|
-
installedParsers
|
|
382
|
-
};
|
|
383
|
-
const { render, renderToString, waitUntilExit } = instance.call(context, rootComponent, context);
|
|
384
361
|
const app = {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
return renderToString();
|
|
362
|
+
context: {
|
|
363
|
+
events,
|
|
364
|
+
options,
|
|
365
|
+
fileManager,
|
|
366
|
+
installedPlugins,
|
|
367
|
+
installedParsers
|
|
392
368
|
},
|
|
393
369
|
get files() {
|
|
394
370
|
return fileManager.files;
|
|
395
371
|
},
|
|
396
|
-
waitUntilExit,
|
|
397
372
|
async addFile(...newFiles) {
|
|
398
373
|
await fileManager.add(...newFiles);
|
|
399
374
|
},
|
|
400
375
|
use(pluginOrParser, ...options$1) {
|
|
401
|
-
const args =
|
|
376
|
+
const args = options$1;
|
|
402
377
|
if (pluginOrParser.type === "plugin") {
|
|
403
378
|
if (installedPlugins.has(pluginOrParser)) console.warn("Plugin has already been applied to target app.");
|
|
404
379
|
else installedPlugins.add(pluginOrParser);
|
|
405
|
-
if (pluginOrParser.
|
|
406
|
-
const
|
|
407
|
-
const extraApp =
|
|
380
|
+
if (pluginOrParser.inject && (0, remeda.isFunction)(pluginOrParser.inject)) {
|
|
381
|
+
const injecter = pluginOrParser.inject;
|
|
382
|
+
const extraApp = injecter(app, ...args);
|
|
408
383
|
Object.assign(app, extraApp);
|
|
409
384
|
}
|
|
410
385
|
}
|
|
@@ -412,12 +387,13 @@ function defineApp(instance) {
|
|
|
412
387
|
else installedParsers.add(pluginOrParser);
|
|
413
388
|
if (pluginOrParser && (0, remeda.isFunction)(pluginOrParser.install)) {
|
|
414
389
|
const installer = pluginOrParser.install;
|
|
415
|
-
installer(app,
|
|
390
|
+
installer(app, ...args);
|
|
416
391
|
}
|
|
417
392
|
return app;
|
|
418
393
|
}
|
|
419
394
|
};
|
|
420
395
|
events.emit("start", { app });
|
|
396
|
+
if (instance) instance(app);
|
|
421
397
|
return app;
|
|
422
398
|
}
|
|
423
399
|
return createApp$1;
|
|
@@ -425,19 +401,7 @@ function defineApp(instance) {
|
|
|
425
401
|
|
|
426
402
|
//#endregion
|
|
427
403
|
//#region src/createApp.ts
|
|
428
|
-
const createApp = defineApp(
|
|
429
|
-
return {
|
|
430
|
-
async render() {
|
|
431
|
-
throw new Error("Method not implemented");
|
|
432
|
-
},
|
|
433
|
-
async renderToString() {
|
|
434
|
-
throw new Error("Method not implemented");
|
|
435
|
-
},
|
|
436
|
-
async waitUntilExit() {
|
|
437
|
-
throw new Error("Method not implemented");
|
|
438
|
-
}
|
|
439
|
-
};
|
|
440
|
-
});
|
|
404
|
+
const createApp = defineApp();
|
|
441
405
|
|
|
442
406
|
//#endregion
|
|
443
407
|
exports.FileManager = FileManager;
|