@powerlines/plugin-nodejs 0.1.115 → 0.1.117

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.
Files changed (144) hide show
  1. package/dist/components/env.cjs +14 -14
  2. package/dist/components/env.mjs +6 -6
  3. package/dist/deepkit/schemas/reflection.cjs +3998 -0
  4. package/dist/deepkit/schemas/reflection.mjs +3996 -0
  5. package/dist/deepkit/schemas/reflection2.cjs +4112 -0
  6. package/dist/deepkit/schemas/reflection2.mjs +4110 -0
  7. package/dist/deepkit/src/capnp.cjs +913 -0
  8. package/dist/deepkit/src/capnp.mjs +911 -0
  9. package/dist/deepkit/src/esbuild-plugin.cjs +47 -0
  10. package/dist/deepkit/src/esbuild-plugin.mjs +46 -0
  11. package/dist/deepkit/src/reflect-type.cjs +22 -0
  12. package/dist/deepkit/src/reflect-type.mjs +20 -0
  13. package/dist/deepkit/src/resolve-reflections.cjs +16 -0
  14. package/dist/deepkit/src/resolve-reflections.mjs +15 -0
  15. package/dist/deepkit/src/transformer.cjs +52 -0
  16. package/dist/deepkit/src/transformer.mjs +49 -0
  17. package/dist/deepkit/src/transpile.cjs +29 -0
  18. package/dist/deepkit/src/transpile.mjs +27 -0
  19. package/dist/deepkit/src/utilities.cjs +67 -0
  20. package/dist/deepkit/src/utilities.mjs +66 -0
  21. package/dist/index.cjs +6 -8
  22. package/dist/index.mjs +5 -5
  23. package/dist/plugin-alloy/src/core/components/output.cjs +43 -0
  24. package/dist/plugin-alloy/src/core/components/output.mjs +42 -0
  25. package/dist/plugin-alloy/src/core/components/single-line-comment.cjs +22 -0
  26. package/dist/plugin-alloy/src/core/components/single-line-comment.mjs +21 -0
  27. package/dist/plugin-alloy/src/core/components/source-file.cjs +64 -0
  28. package/dist/plugin-alloy/src/core/components/source-file.mjs +62 -0
  29. package/dist/plugin-alloy/src/core/contexts/context.cjs +49 -0
  30. package/dist/plugin-alloy/src/core/contexts/context.mjs +44 -0
  31. package/dist/plugin-alloy/src/core/contexts/index.cjs +2 -0
  32. package/dist/plugin-alloy/src/core/contexts/index.mjs +4 -0
  33. package/dist/plugin-alloy/src/core/contexts/reflection.cjs +46 -0
  34. package/dist/plugin-alloy/src/core/contexts/reflection.mjs +42 -0
  35. package/dist/plugin-alloy/src/helpers/refkey.cjs +16 -0
  36. package/dist/plugin-alloy/src/helpers/refkey.mjs +15 -0
  37. package/dist/plugin-alloy/src/index.cjs +105 -0
  38. package/dist/plugin-alloy/src/index.mjs +103 -0
  39. package/dist/plugin-alloy/src/markdown/components/markdown-file.cjs +115 -0
  40. package/dist/plugin-alloy/src/markdown/components/markdown-file.mjs +114 -0
  41. package/dist/plugin-alloy/src/markdown/components/markdown-table.cjs +39 -0
  42. package/dist/plugin-alloy/src/markdown/components/markdown-table.mjs +38 -0
  43. package/dist/plugin-alloy/src/markdown/contexts/markdown-table.cjs +18 -0
  44. package/dist/plugin-alloy/src/markdown/contexts/markdown-table.mjs +17 -0
  45. package/dist/plugin-alloy/src/types/components.d.mts +2 -1
  46. package/dist/plugin-alloy/src/typescript/components/builtin-file.cjs +62 -0
  47. package/dist/plugin-alloy/src/typescript/components/builtin-file.mjs +61 -0
  48. package/dist/plugin-alloy/src/typescript/components/tsdoc-reflection.cjs +131 -0
  49. package/dist/plugin-alloy/src/typescript/components/tsdoc-reflection.mjs +129 -0
  50. package/dist/plugin-alloy/src/typescript/components/tsdoc.cjs +451 -0
  51. package/dist/plugin-alloy/src/typescript/components/tsdoc.d.mts +1 -1
  52. package/dist/plugin-alloy/src/typescript/components/tsdoc.mjs +442 -0
  53. package/dist/plugin-alloy/src/typescript/components/typescript-file.cjs +216 -0
  54. package/dist/plugin-alloy/src/typescript/components/typescript-file.d.mts +1 -1
  55. package/dist/plugin-alloy/src/typescript/components/typescript-file.mjs +213 -0
  56. package/dist/plugin-alloy/src/typescript/components/typescript-interface.cjs +72 -0
  57. package/dist/plugin-alloy/src/typescript/components/typescript-interface.d.mts +2 -2
  58. package/dist/plugin-alloy/src/typescript/components/typescript-interface.mjs +71 -0
  59. package/dist/plugin-alloy/src/typescript/components/typescript-object.cjs +124 -0
  60. package/dist/plugin-alloy/src/typescript/components/typescript-object.mjs +123 -0
  61. package/dist/plugin-automd/src/index.cjs +101 -0
  62. package/dist/plugin-automd/src/index.mjs +98 -0
  63. package/dist/plugin-automd/src/types/plugin.d.mts +3 -1
  64. package/dist/plugin-babel/src/helpers/ast-utils.cjs +10 -0
  65. package/dist/plugin-babel/src/helpers/ast-utils.mjs +9 -0
  66. package/dist/plugin-babel/src/helpers/create-plugin.cjs +41 -0
  67. package/dist/plugin-babel/src/helpers/create-plugin.mjs +39 -0
  68. package/dist/plugin-babel/src/helpers/filters.cjs +23 -0
  69. package/dist/plugin-babel/src/helpers/filters.mjs +21 -0
  70. package/dist/plugin-babel/src/helpers/index.cjs +5 -0
  71. package/dist/plugin-babel/src/helpers/index.mjs +7 -0
  72. package/dist/plugin-babel/src/helpers/module-helpers.cjs +38 -0
  73. package/dist/plugin-babel/src/helpers/module-helpers.mjs +35 -0
  74. package/dist/plugin-babel/src/helpers/options.cjs +49 -0
  75. package/dist/plugin-babel/src/helpers/options.mjs +46 -0
  76. package/dist/plugin-babel/src/index.cjs +85 -0
  77. package/dist/plugin-babel/src/index.mjs +83 -0
  78. package/dist/plugin-babel/src/types/index.d.mts +1 -0
  79. package/dist/plugin-env/src/babel/index.cjs +1 -0
  80. package/dist/plugin-env/src/babel/index.mjs +3 -0
  81. package/dist/plugin-env/src/babel/plugin.cjs +70 -0
  82. package/dist/plugin-env/src/babel/plugin.mjs +69 -0
  83. package/dist/plugin-env/src/components/docs.cjs +70 -0
  84. package/dist/plugin-env/src/components/docs.mjs +69 -0
  85. package/dist/plugin-env/src/components/env.cjs +589 -0
  86. package/dist/plugin-env/src/components/env.mjs +586 -0
  87. package/dist/plugin-env/src/components/index.cjs +2 -0
  88. package/dist/plugin-env/src/components/index.mjs +4 -0
  89. package/dist/plugin-env/src/helpers/automd-generator.cjs +22 -0
  90. package/dist/plugin-env/src/helpers/automd-generator.mjs +21 -0
  91. package/dist/plugin-env/src/helpers/create-reflection-resource.cjs +55 -0
  92. package/dist/plugin-env/src/helpers/create-reflection-resource.mjs +54 -0
  93. package/dist/plugin-env/src/helpers/docs-helper.cjs +16 -0
  94. package/dist/plugin-env/src/helpers/docs-helper.mjs +15 -0
  95. package/dist/plugin-env/src/helpers/index.cjs +6 -0
  96. package/dist/plugin-env/src/helpers/index.mjs +8 -0
  97. package/dist/plugin-env/src/helpers/load.cjs +84 -0
  98. package/dist/plugin-env/src/helpers/load.mjs +81 -0
  99. package/dist/plugin-env/src/helpers/persistence.cjs +201 -0
  100. package/dist/plugin-env/src/helpers/persistence.mjs +190 -0
  101. package/dist/plugin-env/src/helpers/reflect.cjs +125 -0
  102. package/dist/plugin-env/src/helpers/reflect.mjs +117 -0
  103. package/dist/plugin-env/src/helpers/source-file-env.cjs +24 -0
  104. package/dist/plugin-env/src/helpers/source-file-env.mjs +23 -0
  105. package/dist/plugin-env/src/helpers/template-helpers.cjs +2 -0
  106. package/dist/plugin-env/src/helpers/template-helpers.mjs +4 -0
  107. package/dist/plugin-env/src/index.cjs +177 -0
  108. package/dist/plugin-env/src/index.mjs +175 -0
  109. package/dist/plugin-env/src/types/plugin.d.mts +2 -1
  110. package/dist/powerlines/src/internal/helpers/hooks.d.mts +2 -0
  111. package/dist/powerlines/src/lib/build/esbuild.cjs +93 -0
  112. package/dist/powerlines/src/lib/build/esbuild.mjs +91 -0
  113. package/dist/powerlines/src/lib/constants/environments.cjs +6 -0
  114. package/dist/powerlines/src/lib/constants/environments.mjs +5 -0
  115. package/dist/powerlines/src/lib/entry.cjs +11 -0
  116. package/dist/powerlines/src/lib/entry.mjs +13 -0
  117. package/dist/powerlines/src/lib/logger.cjs +41 -0
  118. package/dist/powerlines/src/lib/logger.mjs +39 -0
  119. package/dist/powerlines/src/lib/typescript/tsconfig.cjs +38 -0
  120. package/dist/powerlines/src/lib/typescript/tsconfig.mjs +35 -0
  121. package/dist/powerlines/src/lib/unplugin/helpers.cjs +3 -0
  122. package/dist/powerlines/src/lib/unplugin/helpers.mjs +5 -0
  123. package/dist/powerlines/src/lib/unplugin/module-resolution.cjs +66 -0
  124. package/dist/powerlines/src/lib/unplugin/module-resolution.mjs +65 -0
  125. package/dist/powerlines/src/lib/unplugin/plugin.cjs +46 -0
  126. package/dist/powerlines/src/lib/unplugin/plugin.mjs +45 -0
  127. package/dist/powerlines/src/lib/utilities/bundle.cjs +42 -0
  128. package/dist/powerlines/src/lib/utilities/bundle.mjs +40 -0
  129. package/dist/powerlines/src/lib/utilities/resolve.cjs +50 -0
  130. package/dist/powerlines/src/lib/utilities/resolve.mjs +49 -0
  131. package/dist/powerlines/src/lib/utilities/source-file.cjs +5 -0
  132. package/dist/powerlines/src/lib/utilities/source-file.mjs +5 -0
  133. package/dist/powerlines/src/plugin-utils/paths.cjs +1 -0
  134. package/dist/powerlines/src/plugin-utils/paths.mjs +3 -0
  135. package/dist/powerlines/src/types/build.cjs +21 -0
  136. package/dist/powerlines/src/types/build.d.mts +6 -6
  137. package/dist/powerlines/src/types/build.mjs +21 -0
  138. package/dist/powerlines/src/types/commands.d.mts +1 -0
  139. package/dist/powerlines/src/types/config.d.mts +3 -2
  140. package/dist/powerlines/src/types/context.d.mts +2 -2
  141. package/dist/powerlines/src/types/plugin.d.mts +1 -1
  142. package/dist/powerlines/src/types/tsconfig.d.mts +1 -1
  143. package/dist/powerlines/src/types/unplugin.d.mts +2 -1
  144. package/package.json +6 -6
@@ -0,0 +1,21 @@
1
+ import { createComponent, createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
+ import { Prose } from "@alloy-js/core";
3
+
4
+ //#region ../plugin-alloy/src/core/components/single-line-comment.tsx
5
+ /**
6
+ * A single line comment block. The children are rendered as a prose element, which means that they
7
+ * are broken into multiple lines
8
+ */
9
+ function SingleLineComment(props) {
10
+ const { variant = "double-slash", children } = props;
11
+ const commentStart = variant === "slash-star" ? "/* " : variant === "slash-star-star" ? "/** " : variant === "triple-slash" ? "/// " : variant === "markdown" ? "<!-- " : "// ";
12
+ return [commentStart, createIntrinsic("align", {
13
+ string: commentStart,
14
+ get children() {
15
+ return [createComponent(Prose, { children }), variant === "slash-star" || variant === "slash-star-star" ? " */ " : variant === "markdown" ? " -->" : ""];
16
+ }
17
+ })];
18
+ }
19
+
20
+ //#endregion
21
+ export { SingleLineComment };
@@ -0,0 +1,64 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ const require_context = require('../contexts/context.cjs');
3
+ require('../contexts/index.cjs');
4
+ let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
5
+ let defu = require("defu");
6
+ defu = require_rolldown_runtime.__toESM(defu);
7
+ let __alloy_js_core = require("@alloy-js/core");
8
+ let __stryke_path_append = require("@stryke/path/append");
9
+
10
+ //#region ../plugin-alloy/src/core/components/source-file.tsx
11
+ /**
12
+ * A base component representing a Powerlines generated source file.
13
+ *
14
+ * @param props - The properties for the source file.
15
+ * @returns The rendered source file component.
16
+ */
17
+ function SourceFile(props) {
18
+ const [{ children, meta, path, header, storage, filetype, reference }] = (0, __alloy_js_core.splitProps)(props, [
19
+ "children",
20
+ "meta",
21
+ "path",
22
+ "header",
23
+ "storage",
24
+ "filetype",
25
+ "reference"
26
+ ]);
27
+ const metadata = require_context.useMetaSafe();
28
+ const parentDirectory = (0, __alloy_js_core.useContext)(__alloy_js_core.SourceDirectoryContext);
29
+ const sourceFile = {
30
+ path: (0, __stryke_path_append.appendPath)(path, parentDirectory.path),
31
+ filetype,
32
+ reference
33
+ };
34
+ parentDirectory?.addContent(sourceFile);
35
+ const printOptions = (0, __alloy_js_core.useFormatOptions)({
36
+ printWidth: props.printWidth,
37
+ tabWidth: props.tabWidth,
38
+ useTabs: props.useTabs,
39
+ insertFinalNewLine: props.insertFinalNewLine
40
+ });
41
+ const nodeContext = (0, __alloy_js_core.getContext)();
42
+ nodeContext.meta = (0, defu.default)({
43
+ sourceFile,
44
+ printOptions
45
+ }, meta ?? {});
46
+ if (metadata) metadata[sourceFile.path] = {
47
+ storage,
48
+ ...meta ?? {}
49
+ };
50
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.SourceFileContext.Provider, {
51
+ value: sourceFile,
52
+ get children() {
53
+ return [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
54
+ when: header !== void 0,
55
+ get children() {
56
+ return [header, (0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
57
+ }
58
+ }), children];
59
+ }
60
+ });
61
+ }
62
+
63
+ //#endregion
64
+ exports.SourceFile = SourceFile;
@@ -0,0 +1,62 @@
1
+ import { useMetaSafe } from "../contexts/context.mjs";
2
+ import "../contexts/index.mjs";
3
+ import { createComponent, createIntrinsic } from "@alloy-js/core/jsx-runtime";
4
+ import defu from "defu";
5
+ import { Show, SourceDirectoryContext, SourceFileContext, getContext, splitProps, useContext, useFormatOptions } from "@alloy-js/core";
6
+ import { appendPath } from "@stryke/path/append";
7
+
8
+ //#region ../plugin-alloy/src/core/components/source-file.tsx
9
+ /**
10
+ * A base component representing a Powerlines generated source file.
11
+ *
12
+ * @param props - The properties for the source file.
13
+ * @returns The rendered source file component.
14
+ */
15
+ function SourceFile(props) {
16
+ const [{ children, meta, path, header, storage, filetype, reference }] = splitProps(props, [
17
+ "children",
18
+ "meta",
19
+ "path",
20
+ "header",
21
+ "storage",
22
+ "filetype",
23
+ "reference"
24
+ ]);
25
+ const metadata = useMetaSafe();
26
+ const parentDirectory = useContext(SourceDirectoryContext);
27
+ const sourceFile = {
28
+ path: appendPath(path, parentDirectory.path),
29
+ filetype,
30
+ reference
31
+ };
32
+ parentDirectory?.addContent(sourceFile);
33
+ const printOptions = useFormatOptions({
34
+ printWidth: props.printWidth,
35
+ tabWidth: props.tabWidth,
36
+ useTabs: props.useTabs,
37
+ insertFinalNewLine: props.insertFinalNewLine
38
+ });
39
+ const nodeContext = getContext();
40
+ nodeContext.meta = defu({
41
+ sourceFile,
42
+ printOptions
43
+ }, meta ?? {});
44
+ if (metadata) metadata[sourceFile.path] = {
45
+ storage,
46
+ ...meta ?? {}
47
+ };
48
+ return createComponent(SourceFileContext.Provider, {
49
+ value: sourceFile,
50
+ get children() {
51
+ return [createComponent(Show, {
52
+ when: header !== void 0,
53
+ get children() {
54
+ return [header, createIntrinsic("hbr", {})];
55
+ }
56
+ }), children];
57
+ }
58
+ });
59
+ }
60
+
61
+ //#endregion
62
+ export { SourceFile };
@@ -0,0 +1,49 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ let __alloy_js_core = require("@alloy-js/core");
3
+
4
+ //#region ../plugin-alloy/src/core/contexts/context.ts
5
+ /**
6
+ * The Powerlines context used in template rendering.
7
+ */
8
+ const PowerlinesContext = (0, __alloy_js_core.createNamedContext)("powerlines");
9
+ /**
10
+ * Hook to access the Powerlines Context.
11
+ *
12
+ * @returns The Context.
13
+ */
14
+ function usePowerlinesContext() {
15
+ return (0, __alloy_js_core.useContext)(PowerlinesContext);
16
+ }
17
+ /**
18
+ * Hook to safely access the {@link PluginContext | Powerlines context}.
19
+ *
20
+ * @returns The Powerlines context or undefined if not set.
21
+ */
22
+ function usePowerlinesSafe() {
23
+ return usePowerlinesContext()?.value;
24
+ }
25
+ /**
26
+ * Hook to access the {@link PluginContext | Powerlines context}.
27
+ *
28
+ * @returns The Powerlines context.
29
+ */
30
+ function usePowerlines() {
31
+ const powerlines = usePowerlinesSafe();
32
+ if (!powerlines) throw new Error("Powerlines - Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
33
+ return powerlines;
34
+ }
35
+ /**
36
+ * Hook to safely access the render context's metadata.
37
+ *
38
+ * @returns The Powerlines context or undefined if not set.
39
+ */
40
+ function useMetaSafe() {
41
+ return usePowerlinesContext()?.meta;
42
+ }
43
+
44
+ //#endregion
45
+ exports.PowerlinesContext = PowerlinesContext;
46
+ exports.useMetaSafe = useMetaSafe;
47
+ exports.usePowerlines = usePowerlines;
48
+ exports.usePowerlinesContext = usePowerlinesContext;
49
+ exports.usePowerlinesSafe = usePowerlinesSafe;
@@ -0,0 +1,44 @@
1
+ import { createNamedContext, useContext } from "@alloy-js/core";
2
+
3
+ //#region ../plugin-alloy/src/core/contexts/context.ts
4
+ /**
5
+ * The Powerlines context used in template rendering.
6
+ */
7
+ const PowerlinesContext = createNamedContext("powerlines");
8
+ /**
9
+ * Hook to access the Powerlines Context.
10
+ *
11
+ * @returns The Context.
12
+ */
13
+ function usePowerlinesContext() {
14
+ return useContext(PowerlinesContext);
15
+ }
16
+ /**
17
+ * Hook to safely access the {@link PluginContext | Powerlines context}.
18
+ *
19
+ * @returns The Powerlines context or undefined if not set.
20
+ */
21
+ function usePowerlinesSafe() {
22
+ return usePowerlinesContext()?.value;
23
+ }
24
+ /**
25
+ * Hook to access the {@link PluginContext | Powerlines context}.
26
+ *
27
+ * @returns The Powerlines context.
28
+ */
29
+ function usePowerlines() {
30
+ const powerlines = usePowerlinesSafe();
31
+ if (!powerlines) throw new Error("Powerlines - Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
32
+ return powerlines;
33
+ }
34
+ /**
35
+ * Hook to safely access the render context's metadata.
36
+ *
37
+ * @returns The Powerlines context or undefined if not set.
38
+ */
39
+ function useMetaSafe() {
40
+ return usePowerlinesContext()?.meta;
41
+ }
42
+
43
+ //#endregion
44
+ export { PowerlinesContext, useMetaSafe, usePowerlines, usePowerlinesContext, usePowerlinesSafe };
@@ -0,0 +1,2 @@
1
+ const require_context = require('./context.cjs');
2
+ const require_reflection = require('./reflection.cjs');
@@ -0,0 +1,4 @@
1
+ import { PowerlinesContext, useMetaSafe, usePowerlines, usePowerlinesContext, usePowerlinesSafe } from "./context.mjs";
2
+ import { ReflectionClassContext, ReflectionPropertyContext, useReflectionClass, useReflectionProperty } from "./reflection.mjs";
3
+
4
+ export { };
@@ -0,0 +1,46 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ let __alloy_js_core = require("@alloy-js/core");
3
+
4
+ //#region ../plugin-alloy/src/core/contexts/reflection.ts
5
+ /**
6
+ * The reflection class context used in template rendering.
7
+ */
8
+ const ReflectionClassContext = (0, __alloy_js_core.createContext)();
9
+ /**
10
+ * Hook to access the Reflection context.
11
+ *
12
+ * @returns A reactive version of the current reflection.
13
+ */
14
+ function useReflectionClass() {
15
+ const context = (0, __alloy_js_core.useContext)(ReflectionClassContext);
16
+ if (!context) throw new Error("Powerlines - ReflectionClass Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
17
+ return context;
18
+ }
19
+ /**
20
+ * The reflection property context used in template rendering.
21
+ */
22
+ const ReflectionPropertyContext = (0, __alloy_js_core.createNamedContext)("reflection-property");
23
+ /**
24
+ * Hook to access the Reflection Property context.
25
+ *
26
+ * @returns A reactive version of the current reflection.
27
+ */
28
+ function useReflectionProperty() {
29
+ const context = (0, __alloy_js_core.useContext)(ReflectionPropertyContext);
30
+ if (!context) throw new Error("Powerlines - Reflection Property Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
31
+ return context;
32
+ }
33
+ /**
34
+ * The reflection method context used in template rendering.
35
+ */
36
+ const ReflectionMethodContext = (0, __alloy_js_core.createNamedContext)("reflection-method");
37
+ /**
38
+ * The reflection parameter context used in template rendering.
39
+ */
40
+ const ReflectionParameterContext = (0, __alloy_js_core.createNamedContext)("reflection-parameter");
41
+
42
+ //#endregion
43
+ exports.ReflectionClassContext = ReflectionClassContext;
44
+ exports.ReflectionPropertyContext = ReflectionPropertyContext;
45
+ exports.useReflectionClass = useReflectionClass;
46
+ exports.useReflectionProperty = useReflectionProperty;
@@ -0,0 +1,42 @@
1
+ import { createContext, createNamedContext, useContext } from "@alloy-js/core";
2
+
3
+ //#region ../plugin-alloy/src/core/contexts/reflection.ts
4
+ /**
5
+ * The reflection class context used in template rendering.
6
+ */
7
+ const ReflectionClassContext = createContext();
8
+ /**
9
+ * Hook to access the Reflection context.
10
+ *
11
+ * @returns A reactive version of the current reflection.
12
+ */
13
+ function useReflectionClass() {
14
+ const context = useContext(ReflectionClassContext);
15
+ if (!context) throw new Error("Powerlines - ReflectionClass Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
16
+ return context;
17
+ }
18
+ /**
19
+ * The reflection property context used in template rendering.
20
+ */
21
+ const ReflectionPropertyContext = createNamedContext("reflection-property");
22
+ /**
23
+ * Hook to access the Reflection Property context.
24
+ *
25
+ * @returns A reactive version of the current reflection.
26
+ */
27
+ function useReflectionProperty() {
28
+ const context = useContext(ReflectionPropertyContext);
29
+ if (!context) throw new Error("Powerlines - Reflection Property Context is not set. Please make sure the Alloy components are being provided to an invocation of the `render` function added to plugins by `@powerlines/plugin-alloy`.");
30
+ return context;
31
+ }
32
+ /**
33
+ * The reflection method context used in template rendering.
34
+ */
35
+ const ReflectionMethodContext = createNamedContext("reflection-method");
36
+ /**
37
+ * The reflection parameter context used in template rendering.
38
+ */
39
+ const ReflectionParameterContext = createNamedContext("reflection-parameter");
40
+
41
+ //#endregion
42
+ export { ReflectionClassContext, ReflectionPropertyContext, useReflectionClass, useReflectionProperty };
@@ -0,0 +1,16 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ let __alloy_js_core = require("@alloy-js/core");
3
+
4
+ //#region ../plugin-alloy/src/helpers/refkey.ts
5
+ /**
6
+ * Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
7
+ *
8
+ * @remarks
9
+ * Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
10
+ */
11
+ function refkey(...args) {
12
+ return (0, __alloy_js_core.refkey)("powerlines", ...args);
13
+ }
14
+
15
+ //#endregion
16
+ exports.refkey = refkey;
@@ -0,0 +1,15 @@
1
+ import { refkey } from "@alloy-js/core";
2
+
3
+ //#region ../plugin-alloy/src/helpers/refkey.ts
4
+ /**
5
+ * Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
6
+ *
7
+ * @remarks
8
+ * Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
9
+ */
10
+ function refkey$1(...args) {
11
+ return refkey("powerlines", ...args);
12
+ }
13
+
14
+ //#endregion
15
+ export { refkey$1 as refkey };
@@ -0,0 +1,105 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_index = require('../../plugin-babel/src/index.cjs');
3
+ const require_output = require('./core/components/output.cjs');
4
+ let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
5
+ let __stryke_path_file_path_fns = require("@stryke/path/file-path-fns");
6
+ let __alloy_js_babel_preset = require("@alloy-js/babel-preset");
7
+ __alloy_js_babel_preset = require_rolldown_runtime.__toESM(__alloy_js_babel_preset);
8
+ let __alloy_js_core = require("@alloy-js/core");
9
+ let __stryke_json_storm_json = require("@stryke/json/storm-json");
10
+
11
+ //#region ../plugin-alloy/src/index.tsx
12
+ /**
13
+ * Alloy-js plugin for Powerlines.
14
+ *
15
+ * @param options - The Alloy-js plugin user configuration options.
16
+ * @returns A Powerlines plugin that integrates Alloy-js transformations.
17
+ */
18
+ const plugin = (options = {}) => {
19
+ return [
20
+ require_index.default(),
21
+ {
22
+ name: "alloy:config",
23
+ config() {
24
+ this.debug("Updating configuration options to support Alloy-js builds.");
25
+ return {
26
+ alloy: {
27
+ typescript: true,
28
+ ...options
29
+ },
30
+ transform: { babel: { presets: [[
31
+ (0, __alloy_js_babel_preset.default)({ addSourceInfo: this.config.mode === "development" }),
32
+ {},
33
+ (_, id) => /^(?:m|c)?tsx?$/.test((0, __stryke_path_file_path_fns.findFileExtensionSafe)(id, { fullExtension: true }))
34
+ ]] } },
35
+ build: {
36
+ inputOptions: { transform: { jsx: "preserve" } },
37
+ external: [
38
+ "@alloy-js/core",
39
+ "@alloy-js/typescript",
40
+ "@alloy-js/json",
41
+ "@alloy-js/markdown"
42
+ ]
43
+ }
44
+ };
45
+ },
46
+ async configResolved() {
47
+ this.debug("Ensuring TypeScript configuration is set up for Alloy-js.");
48
+ if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@alloy-js/core") {
49
+ this.tsconfig.tsconfigJson.compilerOptions ??= {};
50
+ if (this.tsconfig.tsconfigJson.compilerOptions.jsx !== "preserve") this.tsconfig.tsconfigJson.compilerOptions.jsx = "preserve";
51
+ if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@alloy-js/core") this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource = "@alloy-js/core";
52
+ await this.fs.write(this.tsconfig.tsconfigFilePath, __stryke_json_storm_json.StormJSON.stringify(this.tsconfig.tsconfigJson));
53
+ }
54
+ }
55
+ },
56
+ {
57
+ name: "alloy:create-render",
58
+ configResolved: {
59
+ order: "pre",
60
+ async handler() {
61
+ this.debug("Attaching the `render` method to the context object.");
62
+ this.render = async (children) => {
63
+ const _self$ = this;
64
+ const meta = {};
65
+ await (0, __alloy_js_core.traverseOutput)(await (0, __alloy_js_core.renderAsync)((0, __alloy_js_core_jsx_runtime.createComponent)(require_output.Output, {
66
+ context: _self$,
67
+ meta,
68
+ get basePath() {
69
+ return _self$.workspaceConfig.workspaceRoot;
70
+ },
71
+ children
72
+ })), {
73
+ visitDirectory: (directory) => {
74
+ if (this.fs.existsSync(directory.path)) return;
75
+ this.fs.mkdirSync(directory.path);
76
+ },
77
+ visitFile: (file) => {
78
+ if ("contents" in file) {
79
+ const metadata = meta[file.path] ?? {};
80
+ if (metadata.kind === "builtin") {
81
+ if (!metadata.id) throw new Error(`Built-in file "${file.path}" is missing its ID in the render metadata.`);
82
+ this.emitBuiltinSync(file.contents, metadata.id, {
83
+ skipFormat: metadata.skipFormat,
84
+ storage: metadata.storage,
85
+ extension: (0, __stryke_path_file_path_fns.findFileExtension)(file.path)
86
+ });
87
+ } else if (metadata.kind === "entry") this.emitEntrySync(file.contents, file.path, {
88
+ skipFormat: metadata.skipFormat,
89
+ storage: metadata.storage,
90
+ ...metadata.typeDefinition ?? {}
91
+ });
92
+ else this.emitSync(file.contents, file.path, metadata);
93
+ } else this.fs.copySync(file.sourcePath, file.path);
94
+ }
95
+ });
96
+ };
97
+ }
98
+ }
99
+ }
100
+ ];
101
+ };
102
+ var src_default$1 = plugin;
103
+
104
+ //#endregion
105
+ exports.default = src_default$1;
@@ -0,0 +1,103 @@
1
+ import src_default from "../../plugin-babel/src/index.mjs";
2
+ import { Output as Output$1 } from "./core/components/output.mjs";
3
+ import { createComponent } from "@alloy-js/core/jsx-runtime";
4
+ import { findFileExtension, findFileExtensionSafe } from "@stryke/path/file-path-fns";
5
+ import alloyPreset from "@alloy-js/babel-preset";
6
+ import { renderAsync, traverseOutput } from "@alloy-js/core";
7
+ import { StormJSON } from "@stryke/json/storm-json";
8
+
9
+ //#region ../plugin-alloy/src/index.tsx
10
+ /**
11
+ * Alloy-js plugin for Powerlines.
12
+ *
13
+ * @param options - The Alloy-js plugin user configuration options.
14
+ * @returns A Powerlines plugin that integrates Alloy-js transformations.
15
+ */
16
+ const plugin = (options = {}) => {
17
+ return [
18
+ src_default(),
19
+ {
20
+ name: "alloy:config",
21
+ config() {
22
+ this.debug("Updating configuration options to support Alloy-js builds.");
23
+ return {
24
+ alloy: {
25
+ typescript: true,
26
+ ...options
27
+ },
28
+ transform: { babel: { presets: [[
29
+ alloyPreset({ addSourceInfo: this.config.mode === "development" }),
30
+ {},
31
+ (_, id) => /^(?:m|c)?tsx?$/.test(findFileExtensionSafe(id, { fullExtension: true }))
32
+ ]] } },
33
+ build: {
34
+ inputOptions: { transform: { jsx: "preserve" } },
35
+ external: [
36
+ "@alloy-js/core",
37
+ "@alloy-js/typescript",
38
+ "@alloy-js/json",
39
+ "@alloy-js/markdown"
40
+ ]
41
+ }
42
+ };
43
+ },
44
+ async configResolved() {
45
+ this.debug("Ensuring TypeScript configuration is set up for Alloy-js.");
46
+ if (this.tsconfig.tsconfigJson.compilerOptions?.jsx !== "preserve" || this.tsconfig.tsconfigJson.compilerOptions?.jsxImportSource !== "@alloy-js/core") {
47
+ this.tsconfig.tsconfigJson.compilerOptions ??= {};
48
+ if (this.tsconfig.tsconfigJson.compilerOptions.jsx !== "preserve") this.tsconfig.tsconfigJson.compilerOptions.jsx = "preserve";
49
+ if (this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource !== "@alloy-js/core") this.tsconfig.tsconfigJson.compilerOptions.jsxImportSource = "@alloy-js/core";
50
+ await this.fs.write(this.tsconfig.tsconfigFilePath, StormJSON.stringify(this.tsconfig.tsconfigJson));
51
+ }
52
+ }
53
+ },
54
+ {
55
+ name: "alloy:create-render",
56
+ configResolved: {
57
+ order: "pre",
58
+ async handler() {
59
+ this.debug("Attaching the `render` method to the context object.");
60
+ this.render = async (children) => {
61
+ const _self$ = this;
62
+ const meta = {};
63
+ await traverseOutput(await renderAsync(createComponent(Output$1, {
64
+ context: _self$,
65
+ meta,
66
+ get basePath() {
67
+ return _self$.workspaceConfig.workspaceRoot;
68
+ },
69
+ children
70
+ })), {
71
+ visitDirectory: (directory) => {
72
+ if (this.fs.existsSync(directory.path)) return;
73
+ this.fs.mkdirSync(directory.path);
74
+ },
75
+ visitFile: (file) => {
76
+ if ("contents" in file) {
77
+ const metadata = meta[file.path] ?? {};
78
+ if (metadata.kind === "builtin") {
79
+ if (!metadata.id) throw new Error(`Built-in file "${file.path}" is missing its ID in the render metadata.`);
80
+ this.emitBuiltinSync(file.contents, metadata.id, {
81
+ skipFormat: metadata.skipFormat,
82
+ storage: metadata.storage,
83
+ extension: findFileExtension(file.path)
84
+ });
85
+ } else if (metadata.kind === "entry") this.emitEntrySync(file.contents, file.path, {
86
+ skipFormat: metadata.skipFormat,
87
+ storage: metadata.storage,
88
+ ...metadata.typeDefinition ?? {}
89
+ });
90
+ else this.emitSync(file.contents, file.path, metadata);
91
+ } else this.fs.copySync(file.sourcePath, file.path);
92
+ }
93
+ });
94
+ };
95
+ }
96
+ }
97
+ }
98
+ ];
99
+ };
100
+ var src_default$1 = plugin;
101
+
102
+ //#endregion
103
+ export { src_default$1 as default };