@kubb/react-fabric 0.2.14 → 0.2.16
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 +5 -1
- package/dist/{Fabric-mFmfnVJp.d.ts → Fabric-C3xWWIb6.d.ts} +108 -63
- package/dist/{Fabric-B8W5_3xv.d.cts → Fabric-MsFHiZXy.d.cts} +108 -63
- package/dist/{devtools-D4p2T_2t.cjs → devtools-CLhxB1Hr.cjs} +3 -3
- package/dist/devtools-CLhxB1Hr.cjs.map +1 -0
- package/dist/{devtools-Cb1pMQYm.js → devtools-wdFpV122.js} +2 -2
- package/dist/devtools-wdFpV122.js.map +1 -0
- package/dist/devtools.cjs +1 -1
- package/dist/devtools.js +1 -1
- package/dist/globals.d.cts +2 -2
- package/dist/globals.d.ts +2 -2
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -12
- package/dist/index.d.ts +34 -12
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/jsx-dev-runtime.d.cts +3 -3
- package/dist/jsx-dev-runtime.d.ts +3 -3
- package/dist/{jsx-namespace-Czey9R9N.d.ts → jsx-namespace-Cz6OfCDG.d.ts} +2 -2
- package/dist/{jsx-namespace-c3pSYEW1.d.cts → jsx-namespace-laCWw619.d.cts} +2 -2
- package/dist/{jsx-runtime-CVfJARUD.js → jsx-runtime-Dm0btT2y.js} +1 -1
- package/dist/jsx-runtime.cjs +1 -1
- package/dist/jsx-runtime.d.cts +3 -3
- package/dist/jsx-runtime.d.ts +4 -4
- package/dist/jsx-runtime.js +1 -1
- package/dist/parsers.d.cts +1 -1
- package/dist/parsers.d.ts +1 -1
- package/dist/plugins.cjs +2 -2
- package/dist/plugins.d.cts +31 -41
- package/dist/plugins.d.ts +31 -41
- package/dist/plugins.js +2 -2
- package/dist/{reactPlugin-DCuv3mQy.js → reactPlugin-BmBx9cO3.js} +36 -36
- package/dist/reactPlugin-BmBx9cO3.js.map +1 -0
- package/dist/{reactPlugin-DJqKlTY6.d.ts → reactPlugin-D8rqKtK0.d.cts} +2 -9
- package/dist/{reactPlugin-wV1eBuBU.d.cts → reactPlugin-DY-MH4LN.d.ts} +2 -9
- package/dist/{reactPlugin-DN7FaU4S.cjs → reactPlugin-Dj5m_pqf.cjs} +36 -36
- package/dist/reactPlugin-Dj5m_pqf.cjs.map +1 -0
- package/dist/{types-DAb8l-KJ.d.ts → types-CJRSKjOD.d.ts} +3 -8
- package/dist/{types-kzoLNjog.d.cts → types-g8BNi4jj.d.cts} +3 -8
- package/dist/types.d.cts +3 -3
- package/dist/types.d.ts +3 -3
- package/package.json +2 -2
- package/src/Renderer.ts +1 -2
- package/src/Runtime.tsx +2 -2
- package/src/components/File.tsx +1 -2
- package/src/components/Function.tsx +1 -1
- package/src/composables/useFile.ts +1 -3
- package/src/createReactFabric.ts +3 -4
- package/src/devtools.ts +1 -2
- package/src/globals.ts +1 -1
- package/src/index.ts +5 -9
- package/src/jsx-dev-runtime.ts +1 -2
- package/src/jsx-runtime.ts +2 -2
- package/src/plugins/reactPlugin.ts +6 -16
- package/src/types.ts +3 -3
- package/src/utils/processFiles.ts +5 -6
- package/src/utils/squashExportNodes.ts +1 -2
- package/src/utils/squashImportNodes.ts +1 -2
- package/src/utils/squashSourceNodes.ts +1 -2
- package/src/utils/squashTextNodes.ts +1 -1
- package/dist/devtools-Cb1pMQYm.js.map +0 -1
- package/dist/devtools-D4p2T_2t.cjs.map +0 -1
- package/dist/reactPlugin-DCuv3mQy.js.map +0 -1
- package/dist/reactPlugin-DN7FaU4S.cjs.map +0 -1
- package/dist/{jsx-runtime-CpPZNgzW.cjs → jsx-runtime-CywUjp4I.cjs} +2 -2
package/dist/plugins.d.cts
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as reactPlugin } from "./reactPlugin-
|
|
1
|
+
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-MsFHiZXy.cjs";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-D8rqKtK0.cjs";
|
|
3
3
|
|
|
4
|
+
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
5
|
+
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
6
|
+
type Options$2 = {
|
|
7
|
+
root: string;
|
|
8
|
+
mode: Mode;
|
|
9
|
+
dryRun?: boolean;
|
|
10
|
+
};
|
|
11
|
+
type WriteEntryOptions = {
|
|
12
|
+
root: string;
|
|
13
|
+
mode: Mode;
|
|
14
|
+
};
|
|
15
|
+
type ExtendOptions$1 = {
|
|
16
|
+
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
declare global {
|
|
19
|
+
namespace Kubb {
|
|
20
|
+
interface Fabric {
|
|
21
|
+
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
declare const barrelPlugin: Plugin<Options$2, ExtendOptions$1>;
|
|
26
|
+
//#endregion
|
|
4
27
|
//#region ../fabric-core/src/plugins/createPlugin.d.ts
|
|
5
28
|
declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
|
|
6
29
|
//#endregion
|
|
@@ -8,7 +31,7 @@ declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<
|
|
|
8
31
|
type WriteOptions = {
|
|
9
32
|
extension?: Record<Extname, Extname | ''>;
|
|
10
33
|
};
|
|
11
|
-
type Options$
|
|
34
|
+
type Options$1 = {
|
|
12
35
|
dryRun?: boolean;
|
|
13
36
|
/**
|
|
14
37
|
* Optional callback that is invoked whenever a file is written by the plugin.
|
|
@@ -19,14 +42,9 @@ type Options$2 = {
|
|
|
19
42
|
path: string;
|
|
20
43
|
};
|
|
21
44
|
};
|
|
22
|
-
type ExtendOptions
|
|
45
|
+
type ExtendOptions = {
|
|
23
46
|
write(options?: WriteOptions): Promise<void>;
|
|
24
47
|
};
|
|
25
|
-
declare module '@kubb/fabric-core' {
|
|
26
|
-
interface Fabric {
|
|
27
|
-
write(options?: WriteOptions): Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
48
|
declare global {
|
|
31
49
|
namespace Kubb {
|
|
32
50
|
interface Fabric {
|
|
@@ -34,38 +52,7 @@ declare global {
|
|
|
34
52
|
}
|
|
35
53
|
}
|
|
36
54
|
}
|
|
37
|
-
declare const fsPlugin: Plugin<Options$
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
40
|
-
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
41
|
-
type Options$1 = {
|
|
42
|
-
root: string;
|
|
43
|
-
mode: Mode;
|
|
44
|
-
dryRun?: boolean;
|
|
45
|
-
};
|
|
46
|
-
type WriteEntryOptions = {
|
|
47
|
-
root: string;
|
|
48
|
-
mode: Mode;
|
|
49
|
-
};
|
|
50
|
-
type ExtendOptions = {
|
|
51
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
52
|
-
};
|
|
53
|
-
declare module '@kubb/fabric-core' {
|
|
54
|
-
interface Fabric {
|
|
55
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
declare global {
|
|
59
|
-
namespace Kubb {
|
|
60
|
-
interface Fabric {
|
|
61
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
declare const barrelPlugin: Plugin<Options$1, ExtendOptions>;
|
|
66
|
-
//#endregion
|
|
67
|
-
//#region ../fabric-core/src/plugins/progressPlugin.d.ts
|
|
68
|
-
declare const progressPlugin: Plugin<[], {}>;
|
|
55
|
+
declare const fsPlugin: Plugin<Options$1, ExtendOptions>;
|
|
69
56
|
//#endregion
|
|
70
57
|
//#region ../fabric-core/src/plugins/graphPlugin.d.ts
|
|
71
58
|
type Options = {
|
|
@@ -77,5 +64,8 @@ type Options = {
|
|
|
77
64
|
};
|
|
78
65
|
declare const graphPlugin: Plugin<Options, {}>;
|
|
79
66
|
//#endregion
|
|
67
|
+
//#region ../fabric-core/src/plugins/progressPlugin.d.ts
|
|
68
|
+
declare const progressPlugin: Plugin<[], {}>;
|
|
69
|
+
//#endregion
|
|
80
70
|
export { barrelPlugin, createPlugin, fsPlugin, graphPlugin, progressPlugin, reactPlugin };
|
|
81
71
|
//# sourceMappingURL=plugins.d.cts.map
|
package/dist/plugins.d.ts
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as reactPlugin } from "./reactPlugin-
|
|
1
|
+
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-C3xWWIb6.js";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-DY-MH4LN.js";
|
|
3
3
|
|
|
4
|
+
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
5
|
+
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
6
|
+
type Options$2 = {
|
|
7
|
+
root: string;
|
|
8
|
+
mode: Mode;
|
|
9
|
+
dryRun?: boolean;
|
|
10
|
+
};
|
|
11
|
+
type WriteEntryOptions = {
|
|
12
|
+
root: string;
|
|
13
|
+
mode: Mode;
|
|
14
|
+
};
|
|
15
|
+
type ExtendOptions$1 = {
|
|
16
|
+
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
declare global {
|
|
19
|
+
namespace Kubb {
|
|
20
|
+
interface Fabric {
|
|
21
|
+
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
declare const barrelPlugin: Plugin<Options$2, ExtendOptions$1>;
|
|
26
|
+
//#endregion
|
|
4
27
|
//#region ../fabric-core/src/plugins/createPlugin.d.ts
|
|
5
28
|
declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
|
|
6
29
|
//#endregion
|
|
@@ -8,7 +31,7 @@ declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<
|
|
|
8
31
|
type WriteOptions = {
|
|
9
32
|
extension?: Record<Extname, Extname | ''>;
|
|
10
33
|
};
|
|
11
|
-
type Options$
|
|
34
|
+
type Options$1 = {
|
|
12
35
|
dryRun?: boolean;
|
|
13
36
|
/**
|
|
14
37
|
* Optional callback that is invoked whenever a file is written by the plugin.
|
|
@@ -19,14 +42,9 @@ type Options$2 = {
|
|
|
19
42
|
path: string;
|
|
20
43
|
};
|
|
21
44
|
};
|
|
22
|
-
type ExtendOptions
|
|
45
|
+
type ExtendOptions = {
|
|
23
46
|
write(options?: WriteOptions): Promise<void>;
|
|
24
47
|
};
|
|
25
|
-
declare module '@kubb/fabric-core' {
|
|
26
|
-
interface Fabric {
|
|
27
|
-
write(options?: WriteOptions): Promise<void>;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
48
|
declare global {
|
|
31
49
|
namespace Kubb {
|
|
32
50
|
interface Fabric {
|
|
@@ -34,38 +52,7 @@ declare global {
|
|
|
34
52
|
}
|
|
35
53
|
}
|
|
36
54
|
}
|
|
37
|
-
declare const fsPlugin: Plugin<Options$
|
|
38
|
-
//#endregion
|
|
39
|
-
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
40
|
-
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
41
|
-
type Options$1 = {
|
|
42
|
-
root: string;
|
|
43
|
-
mode: Mode;
|
|
44
|
-
dryRun?: boolean;
|
|
45
|
-
};
|
|
46
|
-
type WriteEntryOptions = {
|
|
47
|
-
root: string;
|
|
48
|
-
mode: Mode;
|
|
49
|
-
};
|
|
50
|
-
type ExtendOptions = {
|
|
51
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
52
|
-
};
|
|
53
|
-
declare module '@kubb/fabric-core' {
|
|
54
|
-
interface Fabric {
|
|
55
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
declare global {
|
|
59
|
-
namespace Kubb {
|
|
60
|
-
interface Fabric {
|
|
61
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
declare const barrelPlugin: Plugin<Options$1, ExtendOptions>;
|
|
66
|
-
//#endregion
|
|
67
|
-
//#region ../fabric-core/src/plugins/progressPlugin.d.ts
|
|
68
|
-
declare const progressPlugin: Plugin<[], {}>;
|
|
55
|
+
declare const fsPlugin: Plugin<Options$1, ExtendOptions>;
|
|
69
56
|
//#endregion
|
|
70
57
|
//#region ../fabric-core/src/plugins/graphPlugin.d.ts
|
|
71
58
|
type Options = {
|
|
@@ -77,5 +64,8 @@ type Options = {
|
|
|
77
64
|
};
|
|
78
65
|
declare const graphPlugin: Plugin<Options, {}>;
|
|
79
66
|
//#endregion
|
|
67
|
+
//#region ../fabric-core/src/plugins/progressPlugin.d.ts
|
|
68
|
+
declare const progressPlugin: Plugin<[], {}>;
|
|
69
|
+
//#endregion
|
|
80
70
|
export { barrelPlugin, createPlugin, fsPlugin, graphPlugin, progressPlugin, reactPlugin };
|
|
81
71
|
//# sourceMappingURL=plugins.d.ts.map
|
package/dist/plugins.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { n as jsx } from "./jsx-runtime-
|
|
1
|
+
import { n as jsx } from "./jsx-runtime-Dm0btT2y.js";
|
|
2
2
|
import { Component, createContext, createElement } from "react";
|
|
3
|
+
import { onExit } from "signal-exit";
|
|
3
4
|
import { createPlugin } from "@kubb/fabric-core/plugins";
|
|
4
5
|
import process from "node:process";
|
|
5
6
|
import { ConcurrentRoot, DefaultEventPriority, NoEventPriority } from "react-reconciler/constants.js";
|
|
6
|
-
import { onExit } from "signal-exit";
|
|
7
7
|
import Reconciler from "react-reconciler";
|
|
8
8
|
import { createExport, createImport, print } from "@kubb/fabric-core/parsers/typescript";
|
|
9
9
|
|
|
@@ -266,6 +266,34 @@ const Renderer = Reconciler({
|
|
|
266
266
|
}
|
|
267
267
|
});
|
|
268
268
|
|
|
269
|
+
//#endregion
|
|
270
|
+
//#region src/utils/squashExportNodes.ts
|
|
271
|
+
function squashExportNodes(node) {
|
|
272
|
+
let exports = /* @__PURE__ */ new Set();
|
|
273
|
+
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
274
|
+
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports = new Set([...exports, ...squashExportNodes(childNode)]);
|
|
275
|
+
if (childNode.nodeName === "kubb-export") {
|
|
276
|
+
const attributes = childNode.attributes;
|
|
277
|
+
exports.add(attributes);
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
return exports;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region src/utils/squashImportNodes.ts
|
|
285
|
+
function squashImportNodes(node) {
|
|
286
|
+
let imports = /* @__PURE__ */ new Set();
|
|
287
|
+
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
288
|
+
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
|
|
289
|
+
if (childNode.nodeName === "kubb-import") {
|
|
290
|
+
const attributes = childNode.attributes;
|
|
291
|
+
imports.add(attributes);
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
return imports;
|
|
295
|
+
}
|
|
296
|
+
|
|
269
297
|
//#endregion
|
|
270
298
|
//#region src/utils/squashTextNodes.ts
|
|
271
299
|
function squashTextNodes(node) {
|
|
@@ -317,34 +345,6 @@ function squashTextNodes(node) {
|
|
|
317
345
|
return text;
|
|
318
346
|
}
|
|
319
347
|
|
|
320
|
-
//#endregion
|
|
321
|
-
//#region src/utils/squashExportNodes.ts
|
|
322
|
-
function squashExportNodes(node) {
|
|
323
|
-
let exports = /* @__PURE__ */ new Set();
|
|
324
|
-
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
325
|
-
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports = new Set([...exports, ...squashExportNodes(childNode)]);
|
|
326
|
-
if (childNode.nodeName === "kubb-export") {
|
|
327
|
-
const attributes = childNode.attributes;
|
|
328
|
-
exports.add(attributes);
|
|
329
|
-
}
|
|
330
|
-
});
|
|
331
|
-
return exports;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
//#endregion
|
|
335
|
-
//#region src/utils/squashImportNodes.ts
|
|
336
|
-
function squashImportNodes(node) {
|
|
337
|
-
let imports = /* @__PURE__ */ new Set();
|
|
338
|
-
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
339
|
-
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
|
|
340
|
-
if (childNode.nodeName === "kubb-import") {
|
|
341
|
-
const attributes = childNode.attributes;
|
|
342
|
-
imports.add(attributes);
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
return imports;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
348
|
//#endregion
|
|
349
349
|
//#region src/utils/squashSourceNodes.ts
|
|
350
350
|
function squashSourceNodes(node, ignores) {
|
|
@@ -563,23 +563,23 @@ async function _getOutput(node) {
|
|
|
563
563
|
const reactPlugin = createPlugin({
|
|
564
564
|
name: "react",
|
|
565
565
|
install() {},
|
|
566
|
-
inject(
|
|
566
|
+
inject(ctx, options = {}) {
|
|
567
567
|
const runtime = new Runtime({
|
|
568
|
-
fileManager:
|
|
568
|
+
fileManager: ctx.fileManager,
|
|
569
569
|
...options
|
|
570
570
|
});
|
|
571
571
|
return {
|
|
572
572
|
async render(App) {
|
|
573
573
|
runtime.render(createElement(App));
|
|
574
|
-
await
|
|
574
|
+
await ctx.emit("start");
|
|
575
575
|
},
|
|
576
576
|
async renderToString(App) {
|
|
577
|
-
await
|
|
577
|
+
await ctx.emit("start");
|
|
578
578
|
return runtime.renderToString(createElement(App));
|
|
579
579
|
},
|
|
580
580
|
async waitUntilExit() {
|
|
581
581
|
await runtime.waitUntilExit();
|
|
582
|
-
await
|
|
582
|
+
await ctx.emit("end");
|
|
583
583
|
}
|
|
584
584
|
};
|
|
585
585
|
}
|
|
@@ -587,4 +587,4 @@ const reactPlugin = createPlugin({
|
|
|
587
587
|
|
|
588
588
|
//#endregion
|
|
589
589
|
export { _classPrivateFieldInitSpec as a, _classPrivateFieldGet2 as i, Runtime as n, Root as o, _classPrivateFieldSet2 as r, RootContext as s, reactPlugin as t };
|
|
590
|
-
//# sourceMappingURL=reactPlugin-
|
|
590
|
+
//# sourceMappingURL=reactPlugin-BmBx9cO3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactPlugin-BmBx9cO3.js","names":["onExit","node: TextNode","nodeNames: Array<ElementNames>","text","file: KubbFile.File"],"sources":["../src/components/Root.tsx","../src/dom.ts","../src/Renderer.ts","../src/utils/squashExportNodes.ts","../src/utils/squashImportNodes.ts","../src/utils/squashTextNodes.ts","../src/utils/squashSourceNodes.ts","../src/utils/processFiles.ts","../src/Runtime.tsx","../src/plugins/reactPlugin.ts"],"sourcesContent":["import { Component, createContext } from 'react'\n\nimport type { KubbNode } from '../types.ts'\n\ntype ErrorBoundaryProps = {\n onError: (error: Error) => void\n children?: KubbNode\n}\n\nclass ErrorBoundary extends Component<{\n onError: ErrorBoundaryProps['onError']\n children?: KubbNode\n}> {\n state = { hasError: false }\n\n static displayName = 'KubbErrorBoundary'\n static getDerivedStateFromError(_error: Error) {\n return { hasError: true }\n }\n\n componentDidCatch(error: Error) {\n if (error) {\n this.props.onError(error)\n }\n }\n\n render() {\n if (this.state.hasError) {\n return null\n }\n return this.props.children\n }\n}\n\nexport type RootContextProps = {\n /**\n * Exit (unmount) the whole Ink app.\n */\n readonly exit: (error?: Error) => void\n}\n\nexport const RootContext = createContext<RootContextProps>({\n exit: () => {},\n})\n\ntype RootProps = {\n /**\n * Exit (unmount) hook\n */\n readonly onExit: (error?: Error) => void\n /**\n * Error hook\n */\n readonly onError: (error: Error) => void\n readonly children?: KubbNode\n}\n\nexport function Root({ onError, onExit, children }: RootProps) {\n try {\n return (\n <ErrorBoundary\n onError={(error) => {\n onError(error)\n }}\n >\n <RootContext.Provider value={{ exit: onExit }}>{children}</RootContext.Provider>\n </ErrorBoundary>\n )\n } catch (_e) {\n return null\n }\n}\n\nRoot.Context = RootContext\nRoot.displayName = 'KubbRoot'\n","import type { DOMElement, DOMNode, DOMNodeAttribute, ElementNames, TextNode } from './types.ts'\n\nexport const createNode = (nodeName: string): DOMElement => {\n const node: DOMElement = {\n nodeName: nodeName as DOMElement['nodeName'],\n attributes: {},\n childNodes: [],\n parentNode: undefined,\n }\n\n return node\n}\n\nexport const appendChildNode = (node: DOMNode, childNode: DOMElement | DOMNode): void => {\n if (childNode.parentNode) {\n removeChildNode(childNode.parentNode, childNode)\n }\n\n if (node.nodeName !== '#text') {\n childNode.parentNode = node\n node.childNodes.push(childNode)\n }\n}\n\nexport const insertBeforeNode = (node: DOMElement, newChildNode: DOMNode, beforeChildNode: DOMNode): void => {\n if (newChildNode.parentNode) {\n removeChildNode(newChildNode.parentNode, newChildNode)\n }\n\n newChildNode.parentNode = node\n\n const index = node.childNodes.indexOf(beforeChildNode)\n if (index >= 0) {\n node.childNodes.splice(index, 0, newChildNode)\n\n return\n }\n\n node.childNodes.push(newChildNode)\n}\n\nexport const removeChildNode = (node: DOMElement, removeNode: DOMNode): void => {\n removeNode.parentNode = undefined\n\n const index = node.childNodes.indexOf(removeNode)\n if (index >= 0) {\n node.childNodes.splice(index, 1)\n }\n}\n\nexport const setAttribute = (node: DOMElement, key: string, value: DOMNodeAttribute): void => {\n node.attributes[key] = value\n}\n\nexport const createTextNode = (text: string): TextNode => {\n const node: TextNode = {\n nodeName: '#text',\n nodeValue: text,\n parentNode: undefined,\n }\n\n setTextNodeValue(node, text)\n\n return node\n}\n\nexport const setTextNodeValue = (node: TextNode, text: string): void => {\n if (typeof text !== 'string') {\n text = String(text)\n }\n\n node.nodeValue = text\n}\n\nexport const nodeNames: Array<ElementNames> = ['kubb-export', 'kubb-file', 'kubb-source', 'kubb-import', 'kubb-text']\n","import { createContext } from 'react'\nimport Reconciler, { type ReactContext } from 'react-reconciler'\nimport { DefaultEventPriority, NoEventPriority } from 'react-reconciler/constants.js'\nimport { appendChildNode, createNode, createTextNode, insertBeforeNode, removeChildNode, setAttribute, setTextNodeValue } from './dom.ts'\nimport type { KubbNode } from './types'\nimport type { DOMElement, DOMNodeAttribute, ElementNames, TextNode } from './types.ts'\n\ndeclare module 'react-reconciler' {\n // @ts-expect-error custom override\n interface Reconciler {\n updateContainerSync(element: KubbNode, container: unknown, parentComponent: any, callback?: null | (() => void)): void\n flushSyncWork(): void\n createContainer(\n containerInfo: unknown,\n tag: Reconciler.RootTag,\n hydrationCallbacks: null | Reconciler.SuspenseHydrationCallbacks<any>,\n isStrictMode: boolean,\n concurrentUpdatesByDefaultOverride: null | boolean,\n identifierPrefix: string,\n onUncaughtError: (error: Error) => void,\n onCaughtError: (error: Error) => void,\n onRecoverableError: (error: Error) => void,\n transitionCallbacks: null | Reconciler.TransitionTracingCallbacks,\n ): Reconciler.OpaqueRoot\n }\n}\n\ntype Props = Record<string, unknown>\n\ntype HostContext = {\n type: ElementNames\n isFile: boolean\n isSource: boolean\n}\n\nlet currentUpdatePriority = NoEventPriority\n\n/**\n * @link https://www.npmjs.com/package/react-devtools-inline\n * @link https://github.com/nitin42/Making-a-custom-React-renderer/blob/master/part-one.md\n * @link https://github.com/facebook/react/tree/main/packages/react-reconciler#practical-examples\n * @link https://github.com/vadimdemedes/ink\n * @link https://github.com/pixijs/pixi-react/tree/main/packages\n * @link https://github.com/diegomura/react-pdf/blob/master/packages/reconciler/src/reconciler-31.ts\n */\nexport const Renderer = Reconciler({\n getRootHostContext: () => ({\n type: 'kubb-root',\n isFile: false,\n isSource: false,\n }),\n prepareForCommit: () => {\n return null\n },\n preparePortalMount: () => null,\n clearContainer: () => false,\n resetAfterCommit(rootNode: DOMElement) {\n if (typeof rootNode.onRender === 'function') {\n rootNode.onRender()\n }\n },\n getChildHostContext(parentHostContext: HostContext, type: ElementNames) {\n const isInsideText = type === 'kubb-text'\n const isFile = type === 'kubb-file' || parentHostContext.isFile\n const isSource = type === 'kubb-source' || parentHostContext.isSource\n\n return { isInsideText, isFile, isSource, type }\n },\n shouldSetTextContent: () => false,\n createInstance(originalType: ElementNames, newProps: Props, _root: DOMElement) {\n const node = createNode(originalType)\n\n for (const [key, value] of Object.entries(newProps)) {\n if (key === 'children') {\n continue\n }\n\n setAttribute(node, key, value as DOMNodeAttribute)\n }\n\n return node\n },\n createTextInstance(text: string, _root: DOMElement, hostContext: HostContext) {\n if (hostContext.isFile && !hostContext.isSource) {\n throw new Error(`[react] '${text}' should be part of <File.Source> component when using the <File/> component`)\n }\n\n return createTextNode(text)\n },\n resetTextContent() {},\n hideTextInstance(node: TextNode) {\n setTextNodeValue(node, '')\n },\n unhideTextInstance(node: TextNode, text: string) {\n setTextNodeValue(node, text)\n },\n getPublicInstance: (instance) => instance,\n appendInitialChild: appendChildNode,\n appendChild: appendChildNode,\n insertBefore: insertBeforeNode,\n finalizeInitialChildren(_node, _type, _props, _rootNode) {\n return false\n },\n supportsMutation: true,\n isPrimaryRenderer: true,\n supportsPersistence: false,\n supportsHydration: false,\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n beforeActiveInstanceBlur() {},\n afterActiveInstanceBlur() {},\n detachDeletedInstance() {},\n getInstanceFromNode: () => null,\n prepareScopeUpdate() {},\n getInstanceFromScope: () => null,\n appendChildToContainer: appendChildNode,\n insertInContainerBefore: insertBeforeNode,\n removeChildFromContainer(node: DOMElement, removeNode: TextNode) {\n removeChildNode(node, removeNode)\n },\n commitMount() {},\n commitUpdate(node: DOMElement, _payload, _type, _oldProps: Props, newProps: Props) {\n const { props } = newProps\n\n if (props) {\n for (const [key, value] of Object.entries(props)) {\n setAttribute(node, key, value as DOMNodeAttribute)\n }\n }\n },\n commitTextUpdate(node: TextNode, _oldText, newText) {\n setTextNodeValue(node, newText)\n },\n removeChild(node: DOMElement, removeNode: TextNode) {\n removeChildNode(node, removeNode)\n },\n setCurrentUpdatePriority: (newPriority: number) => {\n currentUpdatePriority = newPriority\n },\n getCurrentUpdatePriority: () => currentUpdatePriority,\n resolveUpdatePriority() {\n if (currentUpdatePriority !== NoEventPriority) {\n return currentUpdatePriority\n }\n\n return DefaultEventPriority\n },\n maySuspendCommit() {\n return false\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n NotPendingTransition: undefined,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n HostTransitionContext: createContext(null) as unknown as ReactContext<unknown>,\n resetFormInstance() {},\n requestPostPaintCallback() {},\n shouldAttemptEagerTransition() {\n return false\n },\n trackSchedulerEvent() {},\n resolveEventType() {\n return null\n },\n resolveEventTimeStamp() {\n return -1.1\n },\n preloadInstance() {\n return true\n },\n startSuspendingCommit() {},\n suspendInstance() {},\n waitForCommitToBeReady() {\n return null\n },\n})\n\nexport type { FiberRoot } from 'react-reconciler'\n","import type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashExportNodes(node: DOMElement): Set<KubbFile.ResolvedExport> {\n let exports = new Set<KubbFile.Export>()\n\n node.childNodes.filter(Boolean).forEach((childNode) => {\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n exports = new Set([...exports, ...squashExportNodes(childNode)])\n }\n\n if (childNode.nodeName === 'kubb-export') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Export>\n exports.add(attributes)\n }\n })\n\n return exports\n}\n","import type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashImportNodes(node: DOMElement): Set<KubbFile.Import> {\n let imports = new Set<KubbFile.Import>()\n\n node.childNodes.filter(Boolean).forEach((childNode) => {\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n imports = new Set([...imports, ...squashImportNodes(childNode)])\n }\n\n if (childNode.nodeName === 'kubb-import') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Import>\n imports.add(attributes)\n }\n })\n\n return imports\n}\n","import { createExport, createImport, print } from '@kubb/fabric-core/parsers/typescript'\n\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashTextNodes(node: DOMElement): string {\n let text = ''\n\n for (const childNode of node.childNodes) {\n if (!childNode) {\n continue\n }\n\n let nodeText = ''\n\n const getPrintText = (text: string): string => {\n if (childNode.nodeName === 'kubb-import') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Import>\n\n return print([\n createImport({\n name: attributes.name,\n path: attributes.path,\n root: attributes.root,\n isTypeOnly: attributes.isTypeOnly,\n }),\n ])\n }\n\n if (childNode.nodeName === 'kubb-export') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Export>\n if (attributes.path) {\n return print([\n createExport({\n name: attributes.name,\n path: attributes.path,\n isTypeOnly: attributes.isTypeOnly,\n asAlias: attributes.asAlias,\n }),\n ])\n }\n }\n\n if (childNode.nodeName === 'kubb-source') {\n return text\n }\n\n return text\n }\n\n if (childNode.nodeName === '#text') {\n nodeText = childNode.nodeValue\n } else {\n if (['kubb-text', 'kubb-file', 'kubb-source'].includes(childNode.nodeName)) {\n nodeText = squashTextNodes(childNode)\n }\n\n nodeText = getPrintText(nodeText)\n\n if (childNode.nodeName === 'br') {\n nodeText = '\\n'\n }\n\n // no kubb element or br\n if (![...nodeNames, 'br'].includes(childNode.nodeName)) {\n const attributes = Object.entries(childNode.attributes).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n return `${acc} ${key}=\"${value}\"`\n }\n\n return `${acc} ${key}={${value}}`\n }, '')\n nodeText = `<${childNode.nodeName}${attributes}>${squashTextNodes(childNode)}</${childNode.nodeName}>`\n }\n }\n\n text += nodeText\n }\n\n return text\n}\n","import type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement, ElementNames } from '../types.ts'\nimport { squashTextNodes } from './squashTextNodes.ts'\n\nexport function squashSourceNodes(node: DOMElement, ignores: Array<ElementNames>): Set<KubbFile.Source> {\n let sources = new Set<KubbFile.Source>()\n\n for (const childNode of node.childNodes) {\n if (!childNode) {\n continue\n }\n\n if (childNode.nodeName !== '#text' && ignores.includes(childNode.nodeName)) {\n continue\n }\n\n if (childNode.nodeName === 'kubb-source') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Source>\n const value = squashTextNodes(childNode)\n\n sources.add({\n ...attributes,\n // remove end enter\n value: value.trim().replace(/^\\s+|\\s+$/g, ''),\n })\n\n continue\n }\n\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n sources = new Set([...sources, ...squashSourceNodes(childNode, ignores)])\n }\n }\n\n return sources\n}\n","import type { FileManager } from '@kubb/fabric-core'\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement } from '../types.ts'\nimport { squashExportNodes } from './squashExportNodes.ts'\nimport { squashImportNodes } from './squashImportNodes.ts'\nimport { squashSourceNodes } from './squashSourceNodes.ts'\n\nexport function processFiles(node: DOMElement, fileManager: FileManager) {\n for (let index = 0; index < node.childNodes.length; index++) {\n const childNode = node.childNodes[index]\n\n if (!childNode) {\n continue\n }\n\n if (childNode.nodeName !== '#text' && childNode.nodeName !== 'kubb-file' && nodeNames.includes(childNode.nodeName)) {\n processFiles(childNode, fileManager)\n }\n\n if (childNode.nodeName === 'kubb-file') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File>\n\n if (attributes.baseName && attributes.path) {\n const sources = squashSourceNodes(childNode, ['kubb-export', 'kubb-import'])\n\n const file: KubbFile.File = {\n baseName: attributes.baseName,\n path: attributes.path,\n sources: [...sources],\n exports: [...squashExportNodes(childNode)],\n imports: [...squashImportNodes(childNode)],\n meta: attributes.meta || {},\n footer: attributes.footer,\n banner: attributes.banner,\n }\n\n fileManager.add(file)\n }\n }\n }\n}\n","import process from 'node:process'\nimport type { FileManager } from '@kubb/fabric-core'\nimport type { ReactNode } from 'react'\nimport { ConcurrentRoot } from 'react-reconciler/constants.js'\nimport { onExit } from 'signal-exit'\nimport { Root } from './components/Root.tsx'\nimport { createNode } from './dom.ts'\nimport type { FiberRoot } from './Renderer.ts'\nimport { Renderer } from './Renderer.ts'\nimport type { DOMElement } from './types.ts'\nimport { processFiles } from './utils/processFiles.ts'\nimport { squashTextNodes } from './utils/squashTextNodes.ts'\n\ntype Options = {\n fileManager: FileManager\n stdout?: NodeJS.WriteStream\n stdin?: NodeJS.ReadStream\n stderr?: NodeJS.WriteStream\n /**\n * Set this to true to always see the result of the render in the console(line per render)\n */\n debug?: boolean\n}\n\nexport class Runtime {\n readonly #options: Options\n // Ignore last render after unmounting a tree to prevent empty output before exit\n #isUnmounted: boolean\n\n exitPromise?: Promise<void>\n readonly #container: FiberRoot\n readonly #rootNode: DOMElement\n\n constructor(options: Options) {\n this.#options = options\n\n this.#rootNode = createNode('kubb-root')\n this.#rootNode.onRender = this.onRender\n this.#rootNode.onImmediateRender = this.onRender\n\n // Ignore last render after unmounting a tree to prevent empty output before exit\n this.#isUnmounted = false\n this.unmount.bind(this)\n\n const originalError = console.error\n console.error = (data: string | Error) => {\n const message = typeof data === 'string' ? data : data?.message\n\n if (message?.match(/Encountered two children with the same key/gi)) {\n return\n }\n if (message?.match(/React will try to recreat/gi)) {\n return\n }\n if (message?.match(/Each child in a list should have a unique/gi)) {\n return\n }\n if (message?.match(/The above error occurred in the <KubbErrorBoundary/gi)) {\n return\n }\n\n if (message?.match(/A React Element from an older version of React was render/gi)) {\n return\n }\n\n originalError(data)\n }\n\n // Report when an error was detected in a previous render\n // https://github.com/pmndrs/react-three-fiber/pull/2261\n const logRecoverableError =\n typeof reportError === 'function'\n ? // In modern browsers, reportError will dispatch an error event,\n // emulating an uncaught JavaScript error.\n reportError\n : // In older browsers and test environments, fallback to console.error.\n console.error\n\n const rootTag = ConcurrentRoot\n const hydrationCallbacks = null\n const isStrictMode = false\n const concurrentUpdatesByDefaultOverride = false\n const identifierPrefix = 'id'\n const onUncaughtError = logRecoverableError\n const onCaughtError = logRecoverableError\n const onRecoverableError = logRecoverableError\n const transitionCallbacks = null\n\n this.#container = Renderer.createContainer(\n this.#rootNode,\n rootTag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n )\n\n // Unmount when process exits\n this.unsubscribeExit = onExit(\n (code) => {\n this.unmount(code)\n },\n { alwaysLast: false },\n ).bind(this)\n\n Renderer.injectIntoDevTools({\n bundleType: 1, // 0 for PROD, 1 for DEV\n version: '19.1.0', // should be React version and not Kubb's custom version\n rendererPackageName: 'kubb', // package name\n })\n }\n\n get fileManager() {\n return this.#options.fileManager\n }\n\n resolveExitPromise: () => void = () => {}\n rejectExitPromise: (reason?: Error) => void = () => {}\n unsubscribeExit: () => void = () => {}\n onRender: () => void = async () => {\n if (this.#isUnmounted) {\n return\n }\n\n // TODO remove to allow multiple renders\n this.fileManager.clear()\n\n processFiles(this.#rootNode, this.fileManager)\n\n if (!this.#options?.debug && !this.#options?.stdout) {\n return\n }\n\n const output = await this.#getOutput(this.#rootNode)\n\n if (this.#options?.debug) {\n console.log('Rendering: \\n')\n console.log(output)\n }\n\n if (this.#options?.stdout && process.env.NODE_ENV !== 'test') {\n this.#options.stdout.clearLine(0)\n this.#options.stdout.cursorTo(0)\n this.#options.stdout.write(output)\n }\n }\n onError(error: Error): void {\n if (process.env.NODE_ENV === 'test') {\n console.warn(error)\n }\n\n throw error\n }\n onExit(error?: Error): void {\n this.unmount(error)\n }\n\n async #getOutput(node: DOMElement): Promise<string> {\n const text = squashTextNodes(node)\n const files = this.fileManager.files\n\n return files.length\n ? [...files]\n .flatMap((file) => [...file.sources].map((item) => item.value))\n .filter(Boolean)\n .join('\\n\\n')\n : text\n }\n\n render(node: ReactNode): void {\n const element = (\n <Root onExit={this.onExit.bind(this)} onError={this.onError.bind(this)}>\n {node}\n </Root>\n )\n\n Renderer.updateContainerSync(element, this.#container, null, null)\n Renderer.flushSyncWork()\n }\n\n async renderToString(node: ReactNode): Promise<string> {\n const element = (\n <Root onExit={this.onExit.bind(this)} onError={this.onError.bind(this)}>\n {node}\n </Root>\n )\n\n Renderer.updateContainerSync(element, this.#container, null, null)\n Renderer.flushSyncWork()\n\n this.fileManager.clear()\n\n return this.#getOutput(this.#rootNode)\n }\n\n unmount(error?: Error | number | null): void {\n if (this.#isUnmounted) {\n return\n }\n\n if (this.#options?.debug) {\n console.log('Unmount', error)\n }\n\n this.onRender()\n this.unsubscribeExit()\n\n this.#isUnmounted = true\n\n Renderer.updateContainerSync(null, this.#container, null, null)\n\n if (error instanceof Error) {\n this.rejectExitPromise(error)\n\n return\n }\n\n this.resolveExitPromise()\n }\n\n async waitUntilExit(): Promise<void> {\n if (!this.exitPromise) {\n this.exitPromise = new Promise((resolve, reject) => {\n this.resolveExitPromise = resolve\n this.rejectExitPromise = reject\n })\n }\n\n return this.exitPromise\n }\n}\n","import { createPlugin } from '@kubb/fabric-core/plugins'\nimport { createElement, type ElementType } from 'react'\nimport { Runtime } from '../Runtime.tsx'\n\nexport type Options = {\n stdout?: NodeJS.WriteStream\n stdin?: NodeJS.ReadStream\n stderr?: NodeJS.WriteStream\n /**\n * Set this to true to always see the result of the render in the console(line per render)\n */\n debug?: boolean\n}\n\ntype ExtendOptions = {\n render(App: ElementType): Promise<void> | void\n renderToString(App: ElementType): Promise<string> | string\n waitUntilExit(): Promise<void>\n}\n\ndeclare global {\n namespace Kubb {\n interface Fabric {\n render(App: ElementType): Promise<void> | void\n renderToString(App: ElementType): Promise<string> | string\n waitUntilExit(): Promise<void>\n }\n }\n}\n\nexport const reactPlugin = createPlugin<Options, ExtendOptions>({\n name: 'react',\n install() {},\n inject(ctx, options = {}) {\n const runtime = new Runtime({ fileManager: ctx.fileManager, ...options })\n\n return {\n async render(App) {\n runtime.render(createElement(App))\n await ctx.emit('start')\n },\n async renderToString(App) {\n await ctx.emit('start')\n return runtime.renderToString(createElement(App))\n },\n async waitUntilExit() {\n await runtime.waitUntilExit()\n\n await ctx.emit('end')\n },\n }\n },\n})\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as Plugin } from "./Fabric-MsFHiZXy.cjs";
|
|
2
2
|
import { ElementType } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/reactPlugin.d.ts
|
|
@@ -16,13 +16,6 @@ type ExtendOptions = {
|
|
|
16
16
|
renderToString(App: ElementType): Promise<string> | string;
|
|
17
17
|
waitUntilExit(): Promise<void>;
|
|
18
18
|
};
|
|
19
|
-
declare module '@kubb/fabric-core' {
|
|
20
|
-
interface Fabric {
|
|
21
|
-
render(App: ElementType): Promise<void> | void;
|
|
22
|
-
renderToString(App: ElementType): Promise<string> | string;
|
|
23
|
-
waitUntilExit(): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
19
|
declare global {
|
|
27
20
|
namespace Kubb {
|
|
28
21
|
interface Fabric {
|
|
@@ -35,4 +28,4 @@ declare global {
|
|
|
35
28
|
declare const reactPlugin: Plugin<Options, ExtendOptions>;
|
|
36
29
|
//#endregion
|
|
37
30
|
export { reactPlugin as n, Options as t };
|
|
38
|
-
//# sourceMappingURL=reactPlugin-
|
|
31
|
+
//# sourceMappingURL=reactPlugin-D8rqKtK0.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as Plugin } from "./Fabric-C3xWWIb6.js";
|
|
2
2
|
import { ElementType } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/reactPlugin.d.ts
|
|
@@ -16,13 +16,6 @@ type ExtendOptions = {
|
|
|
16
16
|
renderToString(App: ElementType): Promise<string> | string;
|
|
17
17
|
waitUntilExit(): Promise<void>;
|
|
18
18
|
};
|
|
19
|
-
declare module '@kubb/fabric-core' {
|
|
20
|
-
interface Fabric {
|
|
21
|
-
render(App: ElementType): Promise<void> | void;
|
|
22
|
-
renderToString(App: ElementType): Promise<string> | string;
|
|
23
|
-
waitUntilExit(): Promise<void>;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
19
|
declare global {
|
|
27
20
|
namespace Kubb {
|
|
28
21
|
interface Fabric {
|
|
@@ -35,4 +28,4 @@ declare global {
|
|
|
35
28
|
declare const reactPlugin: Plugin<Options, ExtendOptions>;
|
|
36
29
|
//#endregion
|
|
37
30
|
export { reactPlugin as n, Options as t };
|
|
38
|
-
//# sourceMappingURL=reactPlugin-
|
|
31
|
+
//# sourceMappingURL=reactPlugin-DY-MH4LN.d.ts.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
2
|
let react = require("react");
|
|
3
3
|
react = require_chunk.__toESM(react);
|
|
4
|
+
let signal_exit = require("signal-exit");
|
|
5
|
+
signal_exit = require_chunk.__toESM(signal_exit);
|
|
4
6
|
let __kubb_fabric_core_plugins = require("@kubb/fabric-core/plugins");
|
|
5
7
|
__kubb_fabric_core_plugins = require_chunk.__toESM(__kubb_fabric_core_plugins);
|
|
6
8
|
let node_process = require("node:process");
|
|
7
9
|
node_process = require_chunk.__toESM(node_process);
|
|
8
10
|
let react_reconciler_constants_js = require("react-reconciler/constants.js");
|
|
9
11
|
react_reconciler_constants_js = require_chunk.__toESM(react_reconciler_constants_js);
|
|
10
|
-
let signal_exit = require("signal-exit");
|
|
11
|
-
signal_exit = require_chunk.__toESM(signal_exit);
|
|
12
12
|
let react_reconciler = require("react-reconciler");
|
|
13
13
|
react_reconciler = require_chunk.__toESM(react_reconciler);
|
|
14
14
|
let __kubb_fabric_core_parsers_typescript = require("@kubb/fabric-core/parsers/typescript");
|
|
@@ -275,6 +275,34 @@ const Renderer = (0, react_reconciler.default)({
|
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/utils/squashExportNodes.ts
|
|
280
|
+
function squashExportNodes(node) {
|
|
281
|
+
let exports$1 = /* @__PURE__ */ new Set();
|
|
282
|
+
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
283
|
+
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports$1 = new Set([...exports$1, ...squashExportNodes(childNode)]);
|
|
284
|
+
if (childNode.nodeName === "kubb-export") {
|
|
285
|
+
const attributes = childNode.attributes;
|
|
286
|
+
exports$1.add(attributes);
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
return exports$1;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region src/utils/squashImportNodes.ts
|
|
294
|
+
function squashImportNodes(node) {
|
|
295
|
+
let imports = /* @__PURE__ */ new Set();
|
|
296
|
+
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
297
|
+
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
|
|
298
|
+
if (childNode.nodeName === "kubb-import") {
|
|
299
|
+
const attributes = childNode.attributes;
|
|
300
|
+
imports.add(attributes);
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
return imports;
|
|
304
|
+
}
|
|
305
|
+
|
|
278
306
|
//#endregion
|
|
279
307
|
//#region src/utils/squashTextNodes.ts
|
|
280
308
|
function squashTextNodes(node) {
|
|
@@ -326,34 +354,6 @@ function squashTextNodes(node) {
|
|
|
326
354
|
return text;
|
|
327
355
|
}
|
|
328
356
|
|
|
329
|
-
//#endregion
|
|
330
|
-
//#region src/utils/squashExportNodes.ts
|
|
331
|
-
function squashExportNodes(node) {
|
|
332
|
-
let exports$1 = /* @__PURE__ */ new Set();
|
|
333
|
-
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
334
|
-
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports$1 = new Set([...exports$1, ...squashExportNodes(childNode)]);
|
|
335
|
-
if (childNode.nodeName === "kubb-export") {
|
|
336
|
-
const attributes = childNode.attributes;
|
|
337
|
-
exports$1.add(attributes);
|
|
338
|
-
}
|
|
339
|
-
});
|
|
340
|
-
return exports$1;
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
//#endregion
|
|
344
|
-
//#region src/utils/squashImportNodes.ts
|
|
345
|
-
function squashImportNodes(node) {
|
|
346
|
-
let imports = /* @__PURE__ */ new Set();
|
|
347
|
-
node.childNodes.filter(Boolean).forEach((childNode) => {
|
|
348
|
-
if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
|
|
349
|
-
if (childNode.nodeName === "kubb-import") {
|
|
350
|
-
const attributes = childNode.attributes;
|
|
351
|
-
imports.add(attributes);
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
return imports;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
357
|
//#endregion
|
|
358
358
|
//#region src/utils/squashSourceNodes.ts
|
|
359
359
|
function squashSourceNodes(node, ignores) {
|
|
@@ -572,23 +572,23 @@ async function _getOutput(node) {
|
|
|
572
572
|
const reactPlugin = (0, __kubb_fabric_core_plugins.createPlugin)({
|
|
573
573
|
name: "react",
|
|
574
574
|
install() {},
|
|
575
|
-
inject(
|
|
575
|
+
inject(ctx, options = {}) {
|
|
576
576
|
const runtime = new Runtime({
|
|
577
|
-
fileManager:
|
|
577
|
+
fileManager: ctx.fileManager,
|
|
578
578
|
...options
|
|
579
579
|
});
|
|
580
580
|
return {
|
|
581
581
|
async render(App) {
|
|
582
582
|
runtime.render((0, react.createElement)(App));
|
|
583
|
-
await
|
|
583
|
+
await ctx.emit("start");
|
|
584
584
|
},
|
|
585
585
|
async renderToString(App) {
|
|
586
|
-
await
|
|
586
|
+
await ctx.emit("start");
|
|
587
587
|
return runtime.renderToString((0, react.createElement)(App));
|
|
588
588
|
},
|
|
589
589
|
async waitUntilExit() {
|
|
590
590
|
await runtime.waitUntilExit();
|
|
591
|
-
await
|
|
591
|
+
await ctx.emit("end");
|
|
592
592
|
}
|
|
593
593
|
};
|
|
594
594
|
}
|
|
@@ -637,4 +637,4 @@ Object.defineProperty(exports, 'reactPlugin', {
|
|
|
637
637
|
return reactPlugin;
|
|
638
638
|
}
|
|
639
639
|
});
|
|
640
|
-
//# sourceMappingURL=reactPlugin-
|
|
640
|
+
//# sourceMappingURL=reactPlugin-Dj5m_pqf.cjs.map
|