@powerlines/plugin-alloy 0.16.2 → 0.17.0
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/{chunk-BwyOHTjC.cjs → _virtual/rolldown_runtime.cjs} +1 -19
- package/dist/core/components/index.cjs +6 -8
- package/dist/core/components/index.d.cts +3 -6
- package/dist/core/components/index.d.mts +3 -6
- package/dist/core/components/index.mjs +3 -5
- package/dist/core/components/output.cjs +44 -3
- package/dist/core/components/output.d.cts +22 -2
- package/dist/core/components/output.d.mts +22 -2
- package/dist/core/components/output.mjs +42 -2
- package/dist/core/components/single-line-comment.cjs +21 -2
- package/dist/core/components/single-line-comment.d.cts +21 -3
- package/dist/core/components/single-line-comment.d.mts +21 -3
- package/dist/core/components/single-line-comment.mjs +19 -1
- package/dist/core/components/source-file.cjs +63 -2
- package/dist/core/components/source-file.d.cts +31 -3
- package/dist/core/components/source-file.d.mts +31 -3
- package/dist/core/components/source-file.mjs +60 -1
- package/dist/core/contexts/context.cjs +59 -5
- package/dist/core/contexts/context.d.cts +71 -3
- package/dist/core/contexts/context.d.mts +71 -3
- package/dist/core/contexts/context.mjs +53 -2
- package/dist/core/contexts/index.cjs +16 -15
- package/dist/core/contexts/index.d.cts +3 -6
- package/dist/core/contexts/index.d.mts +3 -6
- package/dist/core/contexts/index.mjs +3 -4
- package/dist/core/contexts/reflection.cjs +67 -9
- package/dist/core/contexts/reflection.d.cts +50 -3
- package/dist/core/contexts/reflection.d.mts +50 -3
- package/dist/core/contexts/reflection.mjs +58 -1
- package/dist/core/index.cjs +24 -22
- package/dist/core/index.d.cts +6 -10
- package/dist/core/index.d.mts +8 -10
- package/dist/core/index.mjs +8 -8
- package/dist/{utilities-CiKb35hs.cjs → deepkit/src/utilities.cjs} +5 -25
- package/dist/{utilities-C6eipB1q.mjs → deepkit/src/utilities.mjs} +1 -1
- package/dist/helpers/capnp.cjs +274 -19
- package/dist/helpers/capnp.d.cts +85 -2
- package/dist/helpers/capnp.d.mts +85 -2
- package/dist/helpers/capnp.mjs +255 -2
- package/dist/helpers/create-builtin.cjs +18 -2
- package/dist/helpers/create-builtin.d.cts +14 -1
- package/dist/helpers/create-builtin.d.mts +14 -1
- package/dist/helpers/create-builtin.mjs +16 -1
- package/dist/helpers/index.cjs +23 -24
- package/dist/helpers/index.d.cts +4 -5
- package/dist/helpers/index.d.mts +4 -5
- package/dist/helpers/index.mjs +4 -5
- package/dist/helpers/refkey.cjs +15 -2
- package/dist/helpers/refkey.d.cts +12 -1
- package/dist/helpers/refkey.d.mts +12 -1
- package/dist/helpers/refkey.mjs +13 -1
- package/dist/helpers/typescript.cjs +45 -3
- package/dist/helpers/typescript.d.cts +22 -1
- package/dist/helpers/typescript.d.mts +22 -1
- package/dist/helpers/typescript.mjs +43 -2
- package/dist/index.cjs +35 -149
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +33 -176
- package/dist/markdown/components/index.cjs +7 -12
- package/dist/markdown/components/index.d.cts +2 -7
- package/dist/markdown/components/index.d.mts +2 -7
- package/dist/markdown/components/index.mjs +2 -7
- package/dist/markdown/components/markdown-file.cjs +115 -6
- package/dist/markdown/components/markdown-file.d.cts +22 -4
- package/dist/markdown/components/markdown-file.d.mts +22 -4
- package/dist/markdown/components/markdown-file.mjs +112 -4
- package/dist/markdown/components/markdown-table.cjs +100 -5
- package/dist/markdown/components/markdown-table.d.cts +26 -4
- package/dist/markdown/components/markdown-table.d.mts +26 -4
- package/dist/markdown/components/markdown-table.mjs +96 -2
- package/dist/markdown/contexts/index.cjs +5 -6
- package/dist/markdown/contexts/index.d.cts +1 -2
- package/dist/markdown/contexts/index.d.mts +1 -2
- package/dist/markdown/contexts/index.mjs +1 -2
- package/dist/markdown/contexts/markdown-table.cjs +36 -5
- package/dist/markdown/contexts/markdown-table.d.cts +36 -1
- package/dist/markdown/contexts/markdown-table.d.mts +36 -1
- package/dist/markdown/contexts/markdown-table.mjs +31 -1
- package/dist/markdown/index.cjs +14 -17
- package/dist/markdown/index.d.cts +3 -8
- package/dist/markdown/index.d.mts +5 -8
- package/dist/markdown/index.mjs +5 -8
- package/dist/powerlines/src/lib/utilities/file-header.cjs +13 -0
- package/dist/powerlines/src/lib/utilities/file-header.mjs +12 -0
- package/dist/powerlines/src/types/build.d.cts +145 -0
- package/dist/powerlines/src/types/build.d.mts +145 -0
- package/dist/powerlines/src/types/commands.d.cts +8 -0
- package/dist/powerlines/src/types/commands.d.mts +8 -0
- package/dist/powerlines/src/types/config.d.cts +369 -0
- package/dist/powerlines/src/types/config.d.mts +369 -0
- package/dist/powerlines/src/types/context.d.cts +379 -0
- package/dist/powerlines/src/types/context.d.mts +379 -0
- package/dist/powerlines/src/types/fs.d.cts +486 -0
- package/dist/powerlines/src/types/fs.d.mts +486 -0
- package/dist/powerlines/src/types/plugin.d.cts +231 -0
- package/dist/powerlines/src/types/plugin.d.mts +231 -0
- package/dist/powerlines/src/types/resolved.d.cts +81 -0
- package/dist/powerlines/src/types/resolved.d.mts +81 -0
- package/dist/powerlines/src/types/tsconfig.d.cts +69 -0
- package/dist/powerlines/src/types/tsconfig.d.mts +69 -0
- package/dist/types/components.cjs +0 -1
- package/dist/types/components.d.cts +141 -2
- package/dist/types/components.d.mts +141 -2
- package/dist/types/components.mjs +0 -2
- package/dist/types/index.cjs +0 -2
- package/dist/types/index.d.cts +2 -3
- package/dist/types/index.d.mts +2 -3
- package/dist/types/index.mjs +0 -3
- package/dist/types/plugin.cjs +0 -1
- package/dist/types/plugin.d.cts +40 -2
- package/dist/types/plugin.d.mts +40 -2
- package/dist/types/plugin.mjs +0 -2
- package/dist/typescript/components/builtin-file.cjs +46 -8
- package/dist/typescript/components/builtin-file.d.cts +33 -6
- package/dist/typescript/components/builtin-file.d.mts +33 -6
- package/dist/typescript/components/builtin-file.mjs +44 -7
- package/dist/typescript/components/dynamic-import-statement.cjs +24 -2
- package/dist/typescript/components/dynamic-import-statement.d.cts +31 -1
- package/dist/typescript/components/dynamic-import-statement.d.mts +31 -1
- package/dist/typescript/components/dynamic-import-statement.mjs +22 -1
- package/dist/typescript/components/entry-file.cjs +38 -6
- package/dist/typescript/components/entry-file.d.cts +26 -5
- package/dist/typescript/components/entry-file.d.mts +26 -5
- package/dist/typescript/components/entry-file.mjs +35 -5
- package/dist/typescript/components/index.cjs +43 -49
- package/dist/typescript/components/index.d.cts +9 -13
- package/dist/typescript/components/index.d.mts +9 -13
- package/dist/typescript/components/index.mjs +9 -15
- package/dist/typescript/components/record-expression.cjs +11 -2
- package/dist/typescript/components/record-expression.d.cts +11 -1
- package/dist/typescript/components/record-expression.d.mts +11 -1
- package/dist/typescript/components/record-expression.mjs +9 -1
- package/dist/typescript/components/tsdoc-reflection.cjs +172 -8
- package/dist/typescript/components/tsdoc-reflection.d.cts +17 -4
- package/dist/typescript/components/tsdoc-reflection.d.mts +17 -4
- package/dist/typescript/components/tsdoc-reflection.mjs +168 -5
- package/dist/typescript/components/tsdoc.cjs +475 -23
- package/dist/typescript/components/tsdoc.d.cts +151 -3
- package/dist/typescript/components/tsdoc.d.mts +151 -3
- package/dist/typescript/components/tsdoc.mjs +454 -3
- package/dist/typescript/components/typescript-file.cjs +192 -7
- package/dist/typescript/components/typescript-file.d.cts +46 -4
- package/dist/typescript/components/typescript-file.d.mts +46 -4
- package/dist/typescript/components/typescript-file.mjs +188 -4
- package/dist/typescript/components/typescript-interface.cjs +67 -8
- package/dist/typescript/components/typescript-interface.d.cts +23 -3
- package/dist/typescript/components/typescript-interface.d.mts +23 -3
- package/dist/typescript/components/typescript-interface.mjs +64 -6
- package/dist/typescript/components/typescript-object.cjs +124 -8
- package/dist/typescript/components/typescript-object.d.cts +24 -3
- package/dist/typescript/components/typescript-object.d.mts +24 -3
- package/dist/typescript/components/typescript-object.mjs +121 -6
- package/dist/typescript/index.cjs +44 -49
- package/dist/typescript/index.d.cts +9 -13
- package/dist/typescript/index.d.mts +10 -13
- package/dist/typescript/index.mjs +10 -15
- package/package.json +7 -39
- package/dist/builtin-file-CXkreb3b.mjs +0 -43
- package/dist/builtin-file-D0xcKRt6.cjs +0 -49
- package/dist/builtin-file-Detj4VKO.d.cts +0 -34
- package/dist/builtin-file-Df3B4vGB.d.mts +0 -34
- package/dist/capnp-6EjloHj4.mjs +0 -265
- package/dist/capnp-BHeTs4Ea.d.mts +0 -86
- package/dist/capnp-CirEkAHB.d.cts +0 -86
- package/dist/capnp-DOzEf2mj.cjs +0 -362
- package/dist/components-BrkXdHq-.d.mts +0 -141
- package/dist/components-CH68f_ve.mjs +0 -1
- package/dist/components-CO0xjM8H.mjs +0 -1
- package/dist/components-CnI3Y57d.mjs +0 -1
- package/dist/components-Cvpo9IEL.cjs +0 -0
- package/dist/components-DTkri-mp.cjs +0 -0
- package/dist/components-DkVeQ5Yn.d.cts +0 -141
- package/dist/components-Gg416Czx.cjs +0 -0
- package/dist/components-ZbItRNLr.cjs +0 -0
- package/dist/components-vTvc6Xgc.mjs +0 -1
- package/dist/context-B1Z2ZRAI.d.cts +0 -32
- package/dist/context-BwQLwanm.d.mts +0 -1680
- package/dist/context-CWt70HA3.d.cts +0 -1680
- package/dist/context-DkLnFNZm.cjs +0 -60
- package/dist/context-eP3fitqj.mjs +0 -36
- package/dist/context-x-0aNytc.d.mts +0 -32
- package/dist/contexts-BtxvYUPj.cjs +0 -0
- package/dist/contexts-Dy4nfIoL.mjs +0 -1
- package/dist/contexts-DzdhIC7G.cjs +0 -0
- package/dist/contexts-Q1YIygoz.mjs +0 -1
- package/dist/create-builtin-CtBhQRxS.d.mts +0 -15
- package/dist/create-builtin-DgYGwEYD.cjs +0 -24
- package/dist/create-builtin-Dug1rcMQ.mjs +0 -18
- package/dist/create-builtin-SArMbh0-.d.cts +0 -15
- package/dist/dynamic-import-statement-AUDLZGFa.d.cts +0 -32
- package/dist/dynamic-import-statement-BFl4j9Ex.cjs +0 -30
- package/dist/dynamic-import-statement-BjiwPuJ3.d.mts +0 -32
- package/dist/dynamic-import-statement-DYl1f5Mj.mjs +0 -24
- package/dist/entry-file-CQwIaayx.d.mts +0 -27
- package/dist/entry-file-CTYBU7Lg.mjs +0 -37
- package/dist/entry-file-Cq3bZzix.d.cts +0 -27
- package/dist/entry-file-l3ZhaFTI.cjs +0 -44
- package/dist/index-Blaks7l8.d.cts +0 -1
- package/dist/index-CuheJfs-.d.mts +0 -1
- package/dist/index-CwSIy_W-.d.cts +0 -1
- package/dist/index-D7UbuJwP.d.mts +0 -1
- package/dist/index-D9XihFV1.d.mts +0 -1
- package/dist/index-DdxxIAKU.d.cts +0 -1
- package/dist/index-DrK1_jKY.d.mts +0 -1
- package/dist/index-DrZ2Dh-H.d.cts +0 -1
- package/dist/index-DztUdPP_.d.mts +0 -1
- package/dist/index-lQ_hGQ08.d.cts +0 -1
- package/dist/markdown-file-CTMTrgdr.mjs +0 -116
- package/dist/markdown-file-CuMvfKbi.d.cts +0 -23
- package/dist/markdown-file-DBpOheYg.d.mts +0 -23
- package/dist/markdown-file-GXj9nWQs.cjs +0 -128
- package/dist/markdown-table-AO9Jtw-o.mjs +0 -98
- package/dist/markdown-table-Biapn9k9.cjs +0 -57
- package/dist/markdown-table-CpnCpTp1.d.cts +0 -27
- package/dist/markdown-table-DFnnh_px.d.cts +0 -37
- package/dist/markdown-table-DKL6g91k.d.mts +0 -37
- package/dist/markdown-table-DaYAMMk6.mjs +0 -33
- package/dist/markdown-table-DcG6ScWX.d.mts +0 -27
- package/dist/markdown-table-d1cy0JP3.cjs +0 -116
- package/dist/output-BC2u6xsn.d.cts +0 -18
- package/dist/output-C_BQEAMU.d.mts +0 -18
- package/dist/output-CiQCsyui.cjs +0 -45
- package/dist/output-eQ8RcTrP.mjs +0 -39
- package/dist/plugin-85Hf9k78.mjs +0 -1
- package/dist/plugin-CofWgH_d.cjs +0 -0
- package/dist/plugin-DcrJBDQ2.d.mts +0 -39
- package/dist/plugin-K4ViA72J.d.cts +0 -39
- package/dist/record-expression-B0NGcmBj.mjs +0 -11
- package/dist/record-expression-P1BTu_7B.d.mts +0 -12
- package/dist/record-expression-j-3eBufn.cjs +0 -17
- package/dist/record-expression-rZuoLQWG.d.cts +0 -12
- package/dist/refkey-BRtVxqGW.d.mts +0 -13
- package/dist/refkey-BUzulmmj.cjs +0 -21
- package/dist/refkey-CSq-Ftvf.mjs +0 -15
- package/dist/refkey-DpAkQ3Cu.d.cts +0 -13
- package/dist/reflection-B9zOZEdi.d.mts +0 -51
- package/dist/reflection-BYeP2t8p.d.cts +0 -51
- package/dist/reflection-CKhynTvI.cjs +0 -108
- package/dist/reflection-srixNcX2.mjs +0 -60
- package/dist/single-line-comment-C9Fz5mkM.mjs +0 -21
- package/dist/single-line-comment-DSAVQ0tl.d.cts +0 -22
- package/dist/single-line-comment-DSz_BbMx.d.mts +0 -22
- package/dist/single-line-comment-_ZglDv1k.cjs +0 -27
- package/dist/source-file-B8OyOWg8.d.mts +0 -31
- package/dist/source-file-DKnFKRGJ.cjs +0 -63
- package/dist/source-file-Db1Wu_yq.mjs +0 -56
- package/dist/source-file-Dr2h8MVw.d.cts +0 -31
- package/dist/tsdoc-BT-2pTD3.d.mts +0 -152
- package/dist/tsdoc-BpykLfnB.cjs +0 -576
- package/dist/tsdoc-CWCdJ1Uj.mjs +0 -456
- package/dist/tsdoc-C_2VzSk_.d.cts +0 -152
- package/dist/tsdoc-reflection-BIWxEkBI.mjs +0 -170
- package/dist/tsdoc-reflection-D4QfeAYE.d.cts +0 -18
- package/dist/tsdoc-reflection-Dr_Nf1ht.cjs +0 -188
- package/dist/tsdoc-reflection-qXh3a1WV.d.mts +0 -18
- package/dist/typescript-BIiCTw8m.d.mts +0 -23
- package/dist/typescript-NNuOlVjo.mjs +0 -45
- package/dist/typescript-VTSR_IQG.cjs +0 -51
- package/dist/typescript-YczHz9BQ.d.cts +0 -23
- package/dist/typescript-file-B2iQamR6.d.cts +0 -47
- package/dist/typescript-file-CCNXO3vl.d.mts +0 -47
- package/dist/typescript-file-DLbLtnFd.cjs +0 -208
- package/dist/typescript-file-hcvsHaDV.mjs +0 -190
- package/dist/typescript-interface-BM02EN5E.mjs +0 -66
- package/dist/typescript-interface-Cu5yH1iH.d.mts +0 -24
- package/dist/typescript-interface-cuXGu4c4.cjs +0 -78
- package/dist/typescript-interface-vmxe6DFQ.d.cts +0 -24
- package/dist/typescript-object-Bk0AnSSQ.mjs +0 -123
- package/dist/typescript-object-Bsfy6ZF0.cjs +0 -135
- package/dist/typescript-object-CYLHqec2.d.cts +0 -25
- package/dist/typescript-object-DlbiBCmI.d.mts +0 -25
- package/dist/vendor/chunk-554SZY2F.cjs +0 -12556
- package/dist/vendor/chunk-J2T6KGQO.js +0 -12397
- package/dist/vendor/index.cjs +0 -635
- package/dist/vendor/index.d.cts +0 -2
- package/dist/vendor/index.d.ts +0 -2
- package/dist/vendor/index.js +0 -23
- package/dist/vendor/jsx-runtime.cjs +0 -35
- package/dist/vendor/jsx-runtime.d.cts +0 -1
- package/dist/vendor/jsx-runtime.d.ts +0 -1
- package/dist/vendor/jsx-runtime.js +0 -5
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import "../utilities
|
|
2
|
-
import {
|
|
1
|
+
import { stringifyValue } from "../deepkit/src/utilities.mjs";
|
|
2
|
+
import { isUndefined } from "@stryke/type-checks/is-undefined";
|
|
3
|
+
import { camelCase } from "@stryke/string-format/camel-case";
|
|
4
|
+
import { titleCase } from "@stryke/string-format/title-case";
|
|
3
5
|
|
|
6
|
+
//#region src/helpers/typescript.ts
|
|
7
|
+
/**
|
|
8
|
+
* Generates a TypeScript object for the given reflection class.
|
|
9
|
+
*
|
|
10
|
+
* @param reflection - The reflection class to generate the object for.
|
|
11
|
+
* @param options - Options for generating the object.
|
|
12
|
+
* @returns A string containing the TypeScript object definition.
|
|
13
|
+
*/
|
|
14
|
+
function generateTypeScriptObject(reflection, options = {}) {
|
|
15
|
+
if (!reflection) return "";
|
|
16
|
+
return `
|
|
17
|
+
/**
|
|
18
|
+
* ${reflection.getDescription() || `${titleCase(options.overrideName || reflection.getClassName() || reflection.getName())} object instance`}.
|
|
19
|
+
*/
|
|
20
|
+
export const ${camelCase(options.overrideName || reflection.getName())}${options.overrideExtends !== false && (options.overrideExtends || reflection.getSuperReflectionClass()?.getName()) ? `: ${options.overrideExtends || reflection.getSuperReflectionClass()?.getName()}` : ""} = {
|
|
21
|
+
${reflection.getProperties().filter((item) => !item.isIgnored() && !isUndefined(options.defaultValues?.[item.getNameAsString()] ?? item.getAlias().reduce((ret, alias) => {
|
|
22
|
+
if (isUndefined(ret) && !isUndefined(options.defaultValues?.[alias])) return options.defaultValues?.[alias];
|
|
23
|
+
return ret;
|
|
24
|
+
}, void 0) ?? item.getDefaultValue())).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? a.getNameAsString().localeCompare(b.getNameAsString()) : a.isReadonly() ? 1 : -1).map((item) => ` /**
|
|
25
|
+
* ${item.getDescription() || item.getTitle() || titleCase(item.getNameAsString())}
|
|
26
|
+
*
|
|
27
|
+
* @title ${item.getTitle() || titleCase(item.getNameAsString())}${item.getAlias().length ? `
|
|
28
|
+
${item.getAlias().map((alias) => ` * @alias ${alias}`).join("\n")}` : ""}${item.getDomain() ? `
|
|
29
|
+
* @domain ${item.getDomain()}` : ""}${item.getPermission().length ? `
|
|
30
|
+
${item.getPermission().map((permission) => ` * @permission ${permission}`).join("\n")}` : ""}${item.isInternal() ? `
|
|
31
|
+
* @internal` : ""}${item.isReadonly() ? `
|
|
32
|
+
* @readonly` : ""}${item.isIgnored() ? `
|
|
33
|
+
* @ignored` : ""}${item.isHidden() ? `
|
|
34
|
+
* @hidden` : ""}
|
|
35
|
+
*/
|
|
36
|
+
${item.getNameAsString()}: ${stringifyValue(item.getType(), options.defaultValues?.[item.getNameAsString()] ?? item.getAlias().reduce((ret, alias) => {
|
|
37
|
+
if (isUndefined(ret) && !isUndefined(options.defaultValues?.[alias])) return options.defaultValues?.[alias];
|
|
38
|
+
return ret;
|
|
39
|
+
}, void 0) ?? item.getDefaultValue())}`).join(", \n")}
|
|
40
|
+
};
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
4
45
|
export { generateTypeScriptObject };
|
package/dist/index.cjs
CHANGED
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
|
-
const
|
|
3
|
-
require('./
|
|
4
|
-
const require_output = require('./output-CiQCsyui.cjs');
|
|
2
|
+
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
3
|
+
const require_core_components_output = require('./core/components/output.cjs');
|
|
5
4
|
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
5
|
+
let __alloy_js_core = require("@alloy-js/core");
|
|
6
6
|
let __alloy_js_rollup_plugin = require("@alloy-js/rollup-plugin");
|
|
7
|
-
__alloy_js_rollup_plugin =
|
|
8
|
-
let __storm_software_config_tools_types = require("@storm-software/config-tools/types");
|
|
7
|
+
__alloy_js_rollup_plugin = require_rolldown_runtime.__toESM(__alloy_js_rollup_plugin);
|
|
9
8
|
let __stryke_json_storm_json = require("@stryke/json/storm-json");
|
|
10
|
-
let __stryke_path_is_parent_path = require("@stryke/path/is-parent-path");
|
|
11
|
-
let __stryke_path_replace = require("@stryke/path/replace");
|
|
12
|
-
let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
|
|
13
|
-
let prettier_doc_js = require("prettier/doc.js");
|
|
14
|
-
let rolldown_experimental = require("rolldown/experimental");
|
|
15
9
|
|
|
16
|
-
//#region src/vendor/index.ts
|
|
17
|
-
var vendor_exports = {};
|
|
18
|
-
require_chunk.__reExport(vendor_exports, require("@alloy-js/core"));
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
10
|
//#region src/index.tsx
|
|
22
11
|
/**
|
|
23
12
|
* Alloy-js plugin for Powerlines.
|
|
@@ -38,43 +27,23 @@ const plugin = (options = {}) => {
|
|
|
38
27
|
inputOptions: { transform: { jsx: {
|
|
39
28
|
runtime: "classic",
|
|
40
29
|
pragma: "Alloy.createElement",
|
|
41
|
-
importSource: "@
|
|
30
|
+
importSource: "@alloy-js/core"
|
|
42
31
|
} } },
|
|
43
|
-
plugins: [(0, __alloy_js_rollup_plugin.default)()
|
|
44
|
-
find: "@alloy-js/core",
|
|
45
|
-
replacement: "@powerlines/plugin-alloy/vendor"
|
|
46
|
-
}, {
|
|
47
|
-
find: "@alloy-js/core/jsx-runtime",
|
|
48
|
-
replacement: "@powerlines/plugin-alloy/vendor/jsx-runtime"
|
|
49
|
-
}] })],
|
|
50
|
-
alias: {
|
|
51
|
-
"@alloy-js/core": "@powerlines/plugin-alloy/vendor",
|
|
52
|
-
"@alloy-js/core/jsx-runtime": "@powerlines/plugin-alloy/vendor/jsx-runtime"
|
|
53
|
-
}
|
|
32
|
+
plugins: [(0, __alloy_js_rollup_plugin.default)()]
|
|
54
33
|
}
|
|
55
34
|
};
|
|
56
35
|
},
|
|
57
36
|
async configResolved() {
|
|
58
|
-
if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@
|
|
37
|
+
if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@alloy-js/core") {
|
|
59
38
|
this.tsconfig.tsconfigJson.compilerOptions ??= {};
|
|
60
39
|
if (this.tsconfig.tsconfigJson.compilerOptions.jsx !== "preserve") this.tsconfig.tsconfigJson.compilerOptions.jsx = "preserve";
|
|
61
|
-
if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@
|
|
40
|
+
if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@alloy-js/core") this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource = "@alloy-js/core";
|
|
62
41
|
await this.fs.write(this.tsconfig.tsconfigFilePath, __stryke_json_storm_json.StormJSON.stringify(this.tsconfig.tsconfigJson));
|
|
63
42
|
}
|
|
43
|
+
this.dependencies["@alloy-js/core"] = "^0.22.0";
|
|
64
44
|
if (this.config.alloy?.typescript !== false) this.dependencies["@alloy-js/typescript"] = "^0.22.0";
|
|
65
45
|
if (this.config.alloy?.json === true) this.dependencies["@alloy-js/json"] = "^0.22.0";
|
|
66
46
|
if (this.config.alloy?.markdown === true) this.dependencies["@alloy-js/markdown"] = "^0.22.0";
|
|
67
|
-
},
|
|
68
|
-
resolveId(id) {
|
|
69
|
-
if (id === "@alloy-js/core") return {
|
|
70
|
-
id: "@powerlines/plugin-alloy/vendor",
|
|
71
|
-
external: true
|
|
72
|
-
};
|
|
73
|
-
if (id === "@alloy-js/core/jsx-runtime") return {
|
|
74
|
-
id: "@powerlines/plugin-alloy/vendor/jsx-runtime",
|
|
75
|
-
external: true
|
|
76
|
-
};
|
|
77
|
-
return null;
|
|
78
47
|
}
|
|
79
48
|
}, {
|
|
80
49
|
name: "alloy:update-context",
|
|
@@ -83,126 +52,43 @@ const plugin = (options = {}) => {
|
|
|
83
52
|
async handler() {
|
|
84
53
|
this.render = async (children) => {
|
|
85
54
|
const _self$ = this;
|
|
86
|
-
const
|
|
55
|
+
const meta = {};
|
|
56
|
+
await (0, __alloy_js_core.traverseOutput)(await (0, __alloy_js_core.renderAsync)((0, __alloy_js_core_jsx_runtime.createComponent)(require_core_components_output.Output, {
|
|
87
57
|
context: _self$,
|
|
58
|
+
meta,
|
|
88
59
|
get basePath() {
|
|
89
60
|
return _self$.workspaceConfig.workspaceRoot;
|
|
90
61
|
},
|
|
91
62
|
children
|
|
92
|
-
}))
|
|
93
|
-
|
|
63
|
+
})), {
|
|
64
|
+
visitDirectory: (directory) => {
|
|
65
|
+
if (this.fs.existsSync(directory.path)) return;
|
|
66
|
+
this.fs.mkdirSync(directory.path);
|
|
67
|
+
},
|
|
68
|
+
visitFile: (file) => {
|
|
69
|
+
if ("contents" in file) {
|
|
70
|
+
const metadata = meta[file.path] ?? {};
|
|
71
|
+
if (metadata.kind === "builtin") {
|
|
72
|
+
if (!metadata.id) throw new Error(`Built-in file "${file.path}" is missing its ID in the render metadata.`);
|
|
73
|
+
this.emitBuiltinSync(file.contents, metadata.id, file.path, {
|
|
74
|
+
skipFormat: metadata.skipFormat,
|
|
75
|
+
storage: metadata.storage
|
|
76
|
+
});
|
|
77
|
+
} else if (metadata.kind === "entry") this.emitEntrySync(file.contents, file.path, {
|
|
78
|
+
skipFormat: metadata.skipFormat,
|
|
79
|
+
storage: metadata.storage,
|
|
80
|
+
...metadata.typeDefinition ?? {}
|
|
81
|
+
});
|
|
82
|
+
else this.fs.writeSync(file.path, file.contents);
|
|
83
|
+
} else this.fs.copySync(file.sourcePath, file.path);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
94
86
|
};
|
|
95
87
|
}
|
|
96
88
|
}
|
|
97
89
|
}];
|
|
98
90
|
};
|
|
99
91
|
var src_default = plugin;
|
|
100
|
-
/**
|
|
101
|
-
* Writes the rendered output files to the virtual file system.
|
|
102
|
-
*
|
|
103
|
-
* @param context - The context of the current build.
|
|
104
|
-
* @param tree - The rendered output files.
|
|
105
|
-
*/
|
|
106
|
-
async function writeTree(context, tree, options = {}) {
|
|
107
|
-
await (0, vendor_exports.flushJobsAsync)();
|
|
108
|
-
let result;
|
|
109
|
-
const generateOutput = async (currentDirectory, root) => {
|
|
110
|
-
if (!Array.isArray(root)) return;
|
|
111
|
-
const recurse = async (cwd) => {
|
|
112
|
-
for (const child of root) await generateOutput(cwd, child);
|
|
113
|
-
};
|
|
114
|
-
const renderContext = (0, vendor_exports.getContextForRenderNode)(root);
|
|
115
|
-
if (!renderContext) return recurse(currentDirectory);
|
|
116
|
-
if (renderContext.meta?.directory) {
|
|
117
|
-
const directory = {
|
|
118
|
-
kind: "directory",
|
|
119
|
-
path: renderContext.meta.directory.path,
|
|
120
|
-
contents: []
|
|
121
|
-
};
|
|
122
|
-
if (currentDirectory) currentDirectory.contents.push(directory);
|
|
123
|
-
else result = directory;
|
|
124
|
-
await recurse(directory);
|
|
125
|
-
} else if (renderContext.meta?.sourceFile) {
|
|
126
|
-
if (!currentDirectory) throw new Error("Source file doesn't have parent directory. Make sure you have used the Output component.");
|
|
127
|
-
let outputFile;
|
|
128
|
-
if (renderContext.meta?.builtin) {
|
|
129
|
-
if (!renderContext.meta.builtin.id) throw new Error("Built-in runtime module doesn't have an ID. Make sure you have used the `<BuiltinFile />` component.");
|
|
130
|
-
context.log(__storm_software_config_tools_types.LogLevelLabel.TRACE, `Rendering built-in runtime module with ID: ${renderContext.meta.builtin.id}`);
|
|
131
|
-
outputFile = {
|
|
132
|
-
kind: "builtin",
|
|
133
|
-
id: renderContext.meta.builtin.id,
|
|
134
|
-
path: (0, __stryke_path_replace.replacePath)(renderContext.meta.sourceFile.path, context.builtinsPath),
|
|
135
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
136
|
-
preset: renderContext.meta.output?.mode,
|
|
137
|
-
contents: await printTree(context, root, options)
|
|
138
|
-
};
|
|
139
|
-
} else if (renderContext.meta?.entry || (0, __stryke_path_is_parent_path.isParentPath)(context.entryPath, renderContext.meta.sourceFile.path)) {
|
|
140
|
-
context.log(__storm_software_config_tools_types.LogLevelLabel.TRACE, `Rendering entry module at path: ${renderContext.meta.sourceFile.path}`);
|
|
141
|
-
outputFile = {
|
|
142
|
-
kind: "entry",
|
|
143
|
-
typeDefinition: renderContext.meta.entry?.typeDefinition,
|
|
144
|
-
path: renderContext.meta.sourceFile.path,
|
|
145
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
146
|
-
preset: renderContext.meta.output?.mode,
|
|
147
|
-
contents: await printTree(context, root, options)
|
|
148
|
-
};
|
|
149
|
-
} else {
|
|
150
|
-
context.log(__storm_software_config_tools_types.LogLevelLabel.TRACE, `Rendering source file at path: ${renderContext.meta.sourceFile.path}`);
|
|
151
|
-
outputFile = {
|
|
152
|
-
kind: "file",
|
|
153
|
-
path: renderContext.meta.sourceFile.path,
|
|
154
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
155
|
-
preset: renderContext.meta.output?.mode,
|
|
156
|
-
contents: await printTree(context, root, options)
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
currentDirectory.contents.push(outputFile);
|
|
160
|
-
} else if (renderContext.meta?.copyFile) {
|
|
161
|
-
if (!currentDirectory) throw new Error("Copy file doesn't have parent directory. Make sure you have used the Output component.");
|
|
162
|
-
context.log(__storm_software_config_tools_types.LogLevelLabel.TRACE, `Processing copy file operation from "${renderContext.meta.copyFile.sourcePath}" to "${renderContext.meta.copyFile.path}"`);
|
|
163
|
-
if (!renderContext.meta.copyFile.sourcePath) throw new Error("Copy file doesn't have a source path. Make sure you have provided a `sourcePath` property to the `meta.copyFile` context.");
|
|
164
|
-
if (!renderContext.meta.copyFile.path) throw new Error("Copy file doesn't have a destination path. Make sure you have provided a `path` property to the `meta.copyFile` context.");
|
|
165
|
-
currentDirectory.contents.push({
|
|
166
|
-
kind: "file",
|
|
167
|
-
path: renderContext.meta.copyFile.path,
|
|
168
|
-
sourcePath: renderContext.meta.copyFile.sourcePath,
|
|
169
|
-
preset: renderContext.meta.output?.preset
|
|
170
|
-
});
|
|
171
|
-
} else await recurse(currentDirectory);
|
|
172
|
-
};
|
|
173
|
-
await generateOutput(void 0, tree);
|
|
174
|
-
const writeOutput = async (context$1, output) => {
|
|
175
|
-
for (const sub of output.contents) if (sub.kind === "directory") await writeOutput(context$1, sub);
|
|
176
|
-
else if (sub.kind === "builtin") await context$1.emitBuiltin(sub.contents, sub.id, sub.path);
|
|
177
|
-
else if (sub.kind === "entry") await context$1.emitEntry(sub.contents, sub.path, sub.typeDefinition);
|
|
178
|
-
else if (sub.kind === "file") if ("sourcePath" in sub && sub.sourcePath) {
|
|
179
|
-
if (!context$1.fs.existsSync(sub.sourcePath)) throw new Error(`Source file "${sub.sourcePath}" for copy operation does not exist.`);
|
|
180
|
-
const source = await context$1.fs.read(sub.sourcePath);
|
|
181
|
-
if (!(0, __stryke_type_checks_is_set_string.isSetString)(source)) throw new Error(`Source file "${sub.sourcePath}" for copy operation is empty.`);
|
|
182
|
-
await context$1.fs.write(sub.path, source);
|
|
183
|
-
} else if ("contents" in sub && (0, __stryke_type_checks_is_set_string.isSetString)(sub.contents)) await context$1.fs.write(sub.path, sub.contents);
|
|
184
|
-
else throw new Error(`Unexpected output extracted from the render tree: \n\n${JSON.stringify(sub, null, 2)}`);
|
|
185
|
-
};
|
|
186
|
-
await writeOutput(context, result);
|
|
187
|
-
}
|
|
188
|
-
async function printTree(context, tree, options = {}) {
|
|
189
|
-
options.printWidth ??= 160;
|
|
190
|
-
options.tabWidth ??= 2;
|
|
191
|
-
options.useTabs ??= false;
|
|
192
|
-
options.insertFinalNewLine ??= true;
|
|
193
|
-
await (0, vendor_exports.flushJobsAsync)();
|
|
194
|
-
const result = prettier_doc_js.printer.printDocToString(printTreeWorker(tree), options).formatted;
|
|
195
|
-
return options.insertFinalNewLine && !result.endsWith("\n") ? `${result}\n` : result;
|
|
196
|
-
}
|
|
197
|
-
function printTreeWorker(tree) {
|
|
198
|
-
const doc = [];
|
|
199
|
-
for (const node of tree) if (typeof node === "string") {
|
|
200
|
-
const normalizedNode = node.split(/\r?\n/).flatMap((line, index, array) => index < array.length - 1 ? [line] : [line]);
|
|
201
|
-
doc.push(normalizedNode);
|
|
202
|
-
} else if ((0, vendor_exports.isPrintHook)(node)) doc.push(node.print(node.subtree, printTreeWorker));
|
|
203
|
-
else doc.push(printTreeWorker(node));
|
|
204
|
-
return doc;
|
|
205
|
-
}
|
|
206
92
|
|
|
207
93
|
//#endregion
|
|
208
94
|
exports.default = src_default;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Plugin } from "./powerlines/src/types/plugin.cjs";
|
|
2
|
+
import { AlloyPluginContext, AlloyPluginOptions } from "./types/plugin.cjs";
|
|
3
3
|
|
|
4
4
|
//#region src/index.d.ts
|
|
5
5
|
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Plugin } from "./powerlines/src/types/plugin.mjs";
|
|
2
|
+
import { AlloyPluginContext, AlloyPluginOptions } from "./types/plugin.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/index.d.ts
|
|
5
5
|
|
package/dist/index.mjs
CHANGED
|
@@ -1,49 +1,9 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import { t as Output } from "./output-eQ8RcTrP.mjs";
|
|
1
|
+
import { Output as Output$1 } from "./core/components/output.mjs";
|
|
3
2
|
import { createComponent } from "@alloy-js/core/jsx-runtime";
|
|
3
|
+
import { renderAsync, traverseOutput } from "@alloy-js/core";
|
|
4
4
|
import alloy from "@alloy-js/rollup-plugin";
|
|
5
|
-
import { LogLevelLabel } from "@storm-software/config-tools/types";
|
|
6
5
|
import { StormJSON } from "@stryke/json/storm-json";
|
|
7
|
-
import { isParentPath } from "@stryke/path/is-parent-path";
|
|
8
|
-
import { replacePath } from "@stryke/path/replace";
|
|
9
|
-
import { isSetString } from "@stryke/type-checks/is-set-string";
|
|
10
|
-
import { printer } from "prettier/doc.js";
|
|
11
|
-
import { viteAliasPlugin } from "rolldown/experimental";
|
|
12
6
|
|
|
13
|
-
//#region rolldown:runtime
|
|
14
|
-
var __defProp = Object.defineProperty;
|
|
15
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
16
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
17
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
18
|
-
var __copyProps = (to, from, except, desc) => {
|
|
19
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
-
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
21
|
-
key = keys[i];
|
|
22
|
-
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
23
|
-
__defProp(to, key, {
|
|
24
|
-
get: ((k) => from[k]).bind(null, key),
|
|
25
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return to;
|
|
31
|
-
};
|
|
32
|
-
var __reExport = (target, mod, secondTarget, symbols) => {
|
|
33
|
-
if (symbols) {
|
|
34
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
35
|
-
secondTarget && __defProp(secondTarget, Symbol.toStringTag, { value: "Module" });
|
|
36
|
-
}
|
|
37
|
-
__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default");
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
//#region src/vendor/index.ts
|
|
42
|
-
var vendor_exports = {};
|
|
43
|
-
import * as import___alloy_js_core from "@alloy-js/core";
|
|
44
|
-
__reExport(vendor_exports, import___alloy_js_core);
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
7
|
//#region src/index.tsx
|
|
48
8
|
/**
|
|
49
9
|
* Alloy-js plugin for Powerlines.
|
|
@@ -64,43 +24,23 @@ const plugin = (options = {}) => {
|
|
|
64
24
|
inputOptions: { transform: { jsx: {
|
|
65
25
|
runtime: "classic",
|
|
66
26
|
pragma: "Alloy.createElement",
|
|
67
|
-
importSource: "@
|
|
27
|
+
importSource: "@alloy-js/core"
|
|
68
28
|
} } },
|
|
69
|
-
plugins: [alloy()
|
|
70
|
-
find: "@alloy-js/core",
|
|
71
|
-
replacement: "@powerlines/plugin-alloy/vendor"
|
|
72
|
-
}, {
|
|
73
|
-
find: "@alloy-js/core/jsx-runtime",
|
|
74
|
-
replacement: "@powerlines/plugin-alloy/vendor/jsx-runtime"
|
|
75
|
-
}] })],
|
|
76
|
-
alias: {
|
|
77
|
-
"@alloy-js/core": "@powerlines/plugin-alloy/vendor",
|
|
78
|
-
"@alloy-js/core/jsx-runtime": "@powerlines/plugin-alloy/vendor/jsx-runtime"
|
|
79
|
-
}
|
|
29
|
+
plugins: [alloy()]
|
|
80
30
|
}
|
|
81
31
|
};
|
|
82
32
|
},
|
|
83
33
|
async configResolved() {
|
|
84
|
-
if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@
|
|
34
|
+
if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@alloy-js/core") {
|
|
85
35
|
this.tsconfig.tsconfigJson.compilerOptions ??= {};
|
|
86
36
|
if (this.tsconfig.tsconfigJson.compilerOptions.jsx !== "preserve") this.tsconfig.tsconfigJson.compilerOptions.jsx = "preserve";
|
|
87
|
-
if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@
|
|
37
|
+
if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@alloy-js/core") this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource = "@alloy-js/core";
|
|
88
38
|
await this.fs.write(this.tsconfig.tsconfigFilePath, StormJSON.stringify(this.tsconfig.tsconfigJson));
|
|
89
39
|
}
|
|
40
|
+
this.dependencies["@alloy-js/core"] = "^0.22.0";
|
|
90
41
|
if (this.config.alloy?.typescript !== false) this.dependencies["@alloy-js/typescript"] = "^0.22.0";
|
|
91
42
|
if (this.config.alloy?.json === true) this.dependencies["@alloy-js/json"] = "^0.22.0";
|
|
92
43
|
if (this.config.alloy?.markdown === true) this.dependencies["@alloy-js/markdown"] = "^0.22.0";
|
|
93
|
-
},
|
|
94
|
-
resolveId(id) {
|
|
95
|
-
if (id === "@alloy-js/core") return {
|
|
96
|
-
id: "@powerlines/plugin-alloy/vendor",
|
|
97
|
-
external: true
|
|
98
|
-
};
|
|
99
|
-
if (id === "@alloy-js/core/jsx-runtime") return {
|
|
100
|
-
id: "@powerlines/plugin-alloy/vendor/jsx-runtime",
|
|
101
|
-
external: true
|
|
102
|
-
};
|
|
103
|
-
return null;
|
|
104
44
|
}
|
|
105
45
|
}, {
|
|
106
46
|
name: "alloy:update-context",
|
|
@@ -109,126 +49,43 @@ const plugin = (options = {}) => {
|
|
|
109
49
|
async handler() {
|
|
110
50
|
this.render = async (children) => {
|
|
111
51
|
const _self$ = this;
|
|
112
|
-
const
|
|
52
|
+
const meta = {};
|
|
53
|
+
await traverseOutput(await renderAsync(createComponent(Output$1, {
|
|
113
54
|
context: _self$,
|
|
55
|
+
meta,
|
|
114
56
|
get basePath() {
|
|
115
57
|
return _self$.workspaceConfig.workspaceRoot;
|
|
116
58
|
},
|
|
117
59
|
children
|
|
118
|
-
}))
|
|
119
|
-
|
|
60
|
+
})), {
|
|
61
|
+
visitDirectory: (directory) => {
|
|
62
|
+
if (this.fs.existsSync(directory.path)) return;
|
|
63
|
+
this.fs.mkdirSync(directory.path);
|
|
64
|
+
},
|
|
65
|
+
visitFile: (file) => {
|
|
66
|
+
if ("contents" in file) {
|
|
67
|
+
const metadata = meta[file.path] ?? {};
|
|
68
|
+
if (metadata.kind === "builtin") {
|
|
69
|
+
if (!metadata.id) throw new Error(`Built-in file "${file.path}" is missing its ID in the render metadata.`);
|
|
70
|
+
this.emitBuiltinSync(file.contents, metadata.id, file.path, {
|
|
71
|
+
skipFormat: metadata.skipFormat,
|
|
72
|
+
storage: metadata.storage
|
|
73
|
+
});
|
|
74
|
+
} else if (metadata.kind === "entry") this.emitEntrySync(file.contents, file.path, {
|
|
75
|
+
skipFormat: metadata.skipFormat,
|
|
76
|
+
storage: metadata.storage,
|
|
77
|
+
...metadata.typeDefinition ?? {}
|
|
78
|
+
});
|
|
79
|
+
else this.fs.writeSync(file.path, file.contents);
|
|
80
|
+
} else this.fs.copySync(file.sourcePath, file.path);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
120
83
|
};
|
|
121
84
|
}
|
|
122
85
|
}
|
|
123
86
|
}];
|
|
124
87
|
};
|
|
125
88
|
var src_default = plugin;
|
|
126
|
-
/**
|
|
127
|
-
* Writes the rendered output files to the virtual file system.
|
|
128
|
-
*
|
|
129
|
-
* @param context - The context of the current build.
|
|
130
|
-
* @param tree - The rendered output files.
|
|
131
|
-
*/
|
|
132
|
-
async function writeTree(context, tree, options = {}) {
|
|
133
|
-
await (0, vendor_exports.flushJobsAsync)();
|
|
134
|
-
let result;
|
|
135
|
-
const generateOutput = async (currentDirectory, root) => {
|
|
136
|
-
if (!Array.isArray(root)) return;
|
|
137
|
-
const recurse = async (cwd) => {
|
|
138
|
-
for (const child of root) await generateOutput(cwd, child);
|
|
139
|
-
};
|
|
140
|
-
const renderContext = (0, vendor_exports.getContextForRenderNode)(root);
|
|
141
|
-
if (!renderContext) return recurse(currentDirectory);
|
|
142
|
-
if (renderContext.meta?.directory) {
|
|
143
|
-
const directory = {
|
|
144
|
-
kind: "directory",
|
|
145
|
-
path: renderContext.meta.directory.path,
|
|
146
|
-
contents: []
|
|
147
|
-
};
|
|
148
|
-
if (currentDirectory) currentDirectory.contents.push(directory);
|
|
149
|
-
else result = directory;
|
|
150
|
-
await recurse(directory);
|
|
151
|
-
} else if (renderContext.meta?.sourceFile) {
|
|
152
|
-
if (!currentDirectory) throw new Error("Source file doesn't have parent directory. Make sure you have used the Output component.");
|
|
153
|
-
let outputFile;
|
|
154
|
-
if (renderContext.meta?.builtin) {
|
|
155
|
-
if (!renderContext.meta.builtin.id) throw new Error("Built-in runtime module doesn't have an ID. Make sure you have used the `<BuiltinFile />` component.");
|
|
156
|
-
context.log(LogLevelLabel.TRACE, `Rendering built-in runtime module with ID: ${renderContext.meta.builtin.id}`);
|
|
157
|
-
outputFile = {
|
|
158
|
-
kind: "builtin",
|
|
159
|
-
id: renderContext.meta.builtin.id,
|
|
160
|
-
path: replacePath(renderContext.meta.sourceFile.path, context.builtinsPath),
|
|
161
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
162
|
-
preset: renderContext.meta.output?.mode,
|
|
163
|
-
contents: await printTree(context, root, options)
|
|
164
|
-
};
|
|
165
|
-
} else if (renderContext.meta?.entry || isParentPath(context.entryPath, renderContext.meta.sourceFile.path)) {
|
|
166
|
-
context.log(LogLevelLabel.TRACE, `Rendering entry module at path: ${renderContext.meta.sourceFile.path}`);
|
|
167
|
-
outputFile = {
|
|
168
|
-
kind: "entry",
|
|
169
|
-
typeDefinition: renderContext.meta.entry?.typeDefinition,
|
|
170
|
-
path: renderContext.meta.sourceFile.path,
|
|
171
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
172
|
-
preset: renderContext.meta.output?.mode,
|
|
173
|
-
contents: await printTree(context, root, options)
|
|
174
|
-
};
|
|
175
|
-
} else {
|
|
176
|
-
context.log(LogLevelLabel.TRACE, `Rendering source file at path: ${renderContext.meta.sourceFile.path}`);
|
|
177
|
-
outputFile = {
|
|
178
|
-
kind: "file",
|
|
179
|
-
path: renderContext.meta.sourceFile.path,
|
|
180
|
-
filetype: renderContext.meta.sourceFile.filetype,
|
|
181
|
-
preset: renderContext.meta.output?.mode,
|
|
182
|
-
contents: await printTree(context, root, options)
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
currentDirectory.contents.push(outputFile);
|
|
186
|
-
} else if (renderContext.meta?.copyFile) {
|
|
187
|
-
if (!currentDirectory) throw new Error("Copy file doesn't have parent directory. Make sure you have used the Output component.");
|
|
188
|
-
context.log(LogLevelLabel.TRACE, `Processing copy file operation from "${renderContext.meta.copyFile.sourcePath}" to "${renderContext.meta.copyFile.path}"`);
|
|
189
|
-
if (!renderContext.meta.copyFile.sourcePath) throw new Error("Copy file doesn't have a source path. Make sure you have provided a `sourcePath` property to the `meta.copyFile` context.");
|
|
190
|
-
if (!renderContext.meta.copyFile.path) throw new Error("Copy file doesn't have a destination path. Make sure you have provided a `path` property to the `meta.copyFile` context.");
|
|
191
|
-
currentDirectory.contents.push({
|
|
192
|
-
kind: "file",
|
|
193
|
-
path: renderContext.meta.copyFile.path,
|
|
194
|
-
sourcePath: renderContext.meta.copyFile.sourcePath,
|
|
195
|
-
preset: renderContext.meta.output?.preset
|
|
196
|
-
});
|
|
197
|
-
} else await recurse(currentDirectory);
|
|
198
|
-
};
|
|
199
|
-
await generateOutput(void 0, tree);
|
|
200
|
-
const writeOutput = async (context$1, output) => {
|
|
201
|
-
for (const sub of output.contents) if (sub.kind === "directory") await writeOutput(context$1, sub);
|
|
202
|
-
else if (sub.kind === "builtin") await context$1.emitBuiltin(sub.contents, sub.id, sub.path);
|
|
203
|
-
else if (sub.kind === "entry") await context$1.emitEntry(sub.contents, sub.path, sub.typeDefinition);
|
|
204
|
-
else if (sub.kind === "file") if ("sourcePath" in sub && sub.sourcePath) {
|
|
205
|
-
if (!context$1.fs.existsSync(sub.sourcePath)) throw new Error(`Source file "${sub.sourcePath}" for copy operation does not exist.`);
|
|
206
|
-
const source = await context$1.fs.read(sub.sourcePath);
|
|
207
|
-
if (!isSetString(source)) throw new Error(`Source file "${sub.sourcePath}" for copy operation is empty.`);
|
|
208
|
-
await context$1.fs.write(sub.path, source);
|
|
209
|
-
} else if ("contents" in sub && isSetString(sub.contents)) await context$1.fs.write(sub.path, sub.contents);
|
|
210
|
-
else throw new Error(`Unexpected output extracted from the render tree: \n\n${JSON.stringify(sub, null, 2)}`);
|
|
211
|
-
};
|
|
212
|
-
await writeOutput(context, result);
|
|
213
|
-
}
|
|
214
|
-
async function printTree(context, tree, options = {}) {
|
|
215
|
-
options.printWidth ??= 160;
|
|
216
|
-
options.tabWidth ??= 2;
|
|
217
|
-
options.useTabs ??= false;
|
|
218
|
-
options.insertFinalNewLine ??= true;
|
|
219
|
-
await (0, vendor_exports.flushJobsAsync)();
|
|
220
|
-
const result = printer.printDocToString(printTreeWorker(tree), options).formatted;
|
|
221
|
-
return options.insertFinalNewLine && !result.endsWith("\n") ? `${result}\n` : result;
|
|
222
|
-
}
|
|
223
|
-
function printTreeWorker(tree) {
|
|
224
|
-
const doc = [];
|
|
225
|
-
for (const node of tree) if (typeof node === "string") {
|
|
226
|
-
const normalizedNode = node.split(/\r?\n/).flatMap((line, index, array) => index < array.length - 1 ? [line] : [line]);
|
|
227
|
-
doc.push(normalizedNode);
|
|
228
|
-
} else if ((0, vendor_exports.isPrintHook)(node)) doc.push(node.print(node.subtree, printTreeWorker));
|
|
229
|
-
else doc.push(printTreeWorker(node));
|
|
230
|
-
return doc;
|
|
231
|
-
}
|
|
232
89
|
|
|
233
90
|
//#endregion
|
|
234
91
|
export { src_default as default, plugin };
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
require('
|
|
2
|
-
require('
|
|
3
|
-
require('../../source-file-DKnFKRGJ.cjs');
|
|
4
|
-
const require_markdown_file = require('../../markdown-file-GXj9nWQs.cjs');
|
|
5
|
-
require('../../markdown-table-Biapn9k9.cjs');
|
|
6
|
-
const require_markdown_table$1 = require('../../markdown-table-d1cy0JP3.cjs');
|
|
7
|
-
require('../../components-Gg416Czx.cjs');
|
|
1
|
+
const require_markdown_components_markdown_file = require('./markdown-file.cjs');
|
|
2
|
+
const require_markdown_components_markdown_table = require('./markdown-table.cjs');
|
|
8
3
|
|
|
9
|
-
exports.MarkdownFile =
|
|
10
|
-
exports.MarkdownFileHeader =
|
|
11
|
-
exports.MarkdownTable =
|
|
12
|
-
exports.MarkdownTableColumn =
|
|
13
|
-
exports.MarkdownTableColumnHeader =
|
|
4
|
+
exports.MarkdownFile = require_markdown_components_markdown_file.MarkdownFile;
|
|
5
|
+
exports.MarkdownFileHeader = require_markdown_components_markdown_file.MarkdownFileHeader;
|
|
6
|
+
exports.MarkdownTable = require_markdown_components_markdown_table.MarkdownTable;
|
|
7
|
+
exports.MarkdownTableColumn = require_markdown_components_markdown_table.MarkdownTableColumn;
|
|
8
|
+
exports.MarkdownTableColumnHeader = require_markdown_components_markdown_table.MarkdownTableColumnHeader;
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "
|
|
3
|
-
import "../../source-file-Dr2h8MVw.cjs";
|
|
4
|
-
import { i as __ΩMarkdownFileProps, n as MarkdownFileHeader, r as MarkdownFileProps, t as MarkdownFile } from "../../markdown-file-CuMvfKbi.cjs";
|
|
5
|
-
import "../../markdown-table-DFnnh_px.cjs";
|
|
6
|
-
import { a as MarkdownTableProps, i as MarkdownTableColumnProps, n as MarkdownTableColumn, o as __ΩMarkdownTableColumnProps, r as MarkdownTableColumnHeader, s as __ΩMarkdownTableProps, t as MarkdownTable } from "../../markdown-table-CpnCpTp1.cjs";
|
|
7
|
-
import "../../index-lQ_hGQ08.cjs";
|
|
1
|
+
import { MarkdownFile, MarkdownFileHeader, MarkdownFileProps, __ΩMarkdownFileProps } from "./markdown-file.cjs";
|
|
2
|
+
import { MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader, MarkdownTableColumnProps, MarkdownTableProps, __ΩMarkdownTableColumnProps, __ΩMarkdownTableProps } from "./markdown-table.cjs";
|
|
8
3
|
export { MarkdownFile, MarkdownFileHeader, MarkdownFileProps, MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader, MarkdownTableColumnProps, MarkdownTableProps, __ΩMarkdownFileProps, __ΩMarkdownTableColumnProps, __ΩMarkdownTableProps };
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "
|
|
3
|
-
import "../../source-file-B8OyOWg8.mjs";
|
|
4
|
-
import { i as __ΩMarkdownFileProps, n as MarkdownFileHeader, r as MarkdownFileProps, t as MarkdownFile } from "../../markdown-file-DBpOheYg.mjs";
|
|
5
|
-
import "../../markdown-table-DKL6g91k.mjs";
|
|
6
|
-
import { a as MarkdownTableProps, i as MarkdownTableColumnProps, n as MarkdownTableColumn, o as __ΩMarkdownTableColumnProps, r as MarkdownTableColumnHeader, s as __ΩMarkdownTableProps, t as MarkdownTable } from "../../markdown-table-DcG6ScWX.mjs";
|
|
7
|
-
import "../../index-DztUdPP_.mjs";
|
|
1
|
+
import { MarkdownFile, MarkdownFileHeader, MarkdownFileProps, __ΩMarkdownFileProps } from "./markdown-file.mjs";
|
|
2
|
+
import { MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader, MarkdownTableColumnProps, MarkdownTableProps, __ΩMarkdownTableColumnProps, __ΩMarkdownTableProps } from "./markdown-table.mjs";
|
|
8
3
|
export { MarkdownFile, MarkdownFileHeader, MarkdownFileProps, MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader, MarkdownTableColumnProps, MarkdownTableProps, __ΩMarkdownFileProps, __ΩMarkdownTableColumnProps, __ΩMarkdownTableProps };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import "
|
|
3
|
-
import "../../source-file-Db1Wu_yq.mjs";
|
|
4
|
-
import { n as MarkdownFileHeader, t as MarkdownFile } from "../../markdown-file-CTMTrgdr.mjs";
|
|
5
|
-
import "../../markdown-table-DaYAMMk6.mjs";
|
|
6
|
-
import { n as MarkdownTableColumn, r as MarkdownTableColumnHeader, t as MarkdownTable } from "../../markdown-table-AO9Jtw-o.mjs";
|
|
7
|
-
import "../../components-CH68f_ve.mjs";
|
|
1
|
+
import { MarkdownFile, MarkdownFileHeader } from "./markdown-file.mjs";
|
|
2
|
+
import { MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader } from "./markdown-table.mjs";
|
|
8
3
|
|
|
9
4
|
export { MarkdownFile, MarkdownFileHeader, MarkdownTable, MarkdownTableColumn, MarkdownTableColumnHeader };
|