@powerlines/plugin-react 0.1.134 → 0.1.136

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 (204) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  2. package/dist/components/index.cjs +2 -3
  3. package/dist/components/index.d.cts +1 -3
  4. package/dist/components/index.d.mts +1 -4
  5. package/dist/components/index.mjs +1 -2
  6. package/dist/components/react-optimized.cjs +48 -2
  7. package/dist/components/react-optimized.d.cts +13 -2
  8. package/dist/components/react-optimized.d.mts +13 -3
  9. package/dist/components/react-optimized.mjs +45 -1
  10. package/dist/deepkit/schemas/reflection.cjs +3940 -0
  11. package/dist/{plugin-CJdK9GYW.d.cts → deepkit/schemas/reflection.d.cts} +1 -331
  12. package/dist/{plugin-Noy_HIP5.d.mts → deepkit/schemas/reflection.d.mts} +59 -389
  13. package/dist/deepkit/schemas/reflection.mjs +3938 -0
  14. package/dist/deepkit/schemas/reflection2.cjs +4112 -0
  15. package/dist/deepkit/schemas/reflection2.mjs +4110 -0
  16. package/dist/deepkit/src/capnp.cjs +913 -0
  17. package/dist/deepkit/src/capnp.mjs +911 -0
  18. package/dist/deepkit/src/esbuild-plugin.cjs +47 -0
  19. package/dist/deepkit/src/esbuild-plugin.mjs +46 -0
  20. package/dist/deepkit/src/reflect-type.cjs +22 -0
  21. package/dist/deepkit/src/reflect-type.mjs +20 -0
  22. package/dist/deepkit/src/resolve-reflections.cjs +16 -0
  23. package/dist/deepkit/src/resolve-reflections.mjs +15 -0
  24. package/dist/deepkit/src/transformer.cjs +52 -0
  25. package/dist/deepkit/src/transformer.mjs +49 -0
  26. package/dist/deepkit/src/transpile.cjs +29 -0
  27. package/dist/deepkit/src/transpile.mjs +27 -0
  28. package/dist/deepkit/src/types.d.cts +10 -0
  29. package/dist/deepkit/src/types.d.mts +10 -0
  30. package/dist/deepkit/src/utilities.cjs +66 -0
  31. package/dist/deepkit/src/utilities.mjs +65 -0
  32. package/dist/index.cjs +16 -11295
  33. package/dist/index.d.cts +6 -7
  34. package/dist/index.d.mts +6 -8
  35. package/dist/index.mjs +7 -11280
  36. package/dist/plugin-alloy/src/core/components/output.cjs +45 -0
  37. package/dist/plugin-alloy/src/core/components/output.mjs +44 -0
  38. package/dist/plugin-alloy/src/core/components/single-line-comment.cjs +22 -0
  39. package/dist/plugin-alloy/src/core/components/single-line-comment.mjs +21 -0
  40. package/dist/plugin-alloy/src/core/components/source-file.cjs +64 -0
  41. package/dist/plugin-alloy/src/core/components/source-file.d.cts +23 -0
  42. package/dist/plugin-alloy/src/core/components/source-file.d.mts +23 -0
  43. package/dist/plugin-alloy/src/core/components/source-file.mjs +62 -0
  44. package/dist/plugin-alloy/src/core/contexts/context.cjs +60 -0
  45. package/dist/plugin-alloy/src/core/contexts/context.mjs +54 -0
  46. package/dist/plugin-alloy/src/core/contexts/index.cjs +2 -0
  47. package/dist/plugin-alloy/src/core/contexts/index.mjs +4 -0
  48. package/dist/plugin-alloy/src/core/contexts/reflection.cjs +46 -0
  49. package/dist/plugin-alloy/src/core/contexts/reflection.mjs +42 -0
  50. package/dist/plugin-alloy/src/helpers/refkey.cjs +16 -0
  51. package/dist/plugin-alloy/src/helpers/refkey.mjs +15 -0
  52. package/dist/plugin-alloy/src/index.cjs +99 -0
  53. package/dist/plugin-alloy/src/index.mjs +97 -0
  54. package/dist/plugin-alloy/src/markdown/components/markdown-file.cjs +7 -0
  55. package/dist/plugin-alloy/src/markdown/components/markdown-file.mjs +9 -0
  56. package/dist/plugin-alloy/src/markdown/components/markdown-table.cjs +5 -0
  57. package/dist/plugin-alloy/src/markdown/components/markdown-table.mjs +7 -0
  58. package/dist/plugin-alloy/src/markdown/contexts/markdown-table.cjs +17 -0
  59. package/dist/plugin-alloy/src/markdown/contexts/markdown-table.mjs +17 -0
  60. package/dist/plugin-alloy/src/types/components.d.cts +23 -0
  61. package/dist/{components-Bs3-ohmM.d.mts → plugin-alloy/src/types/components.d.mts} +2 -1
  62. package/dist/plugin-alloy/src/types/index.d.cts +2 -0
  63. package/dist/plugin-alloy/src/types/index.d.mts +2 -0
  64. package/dist/plugin-alloy/src/types/plugin.d.cts +37 -0
  65. package/dist/plugin-alloy/src/types/plugin.d.mts +37 -0
  66. package/dist/plugin-alloy/src/typescript/components/builtin-file.cjs +57 -0
  67. package/dist/plugin-alloy/src/typescript/components/builtin-file.d.cts +26 -0
  68. package/dist/plugin-alloy/src/typescript/components/builtin-file.d.mts +26 -0
  69. package/dist/plugin-alloy/src/typescript/components/builtin-file.mjs +56 -0
  70. package/dist/plugin-alloy/src/typescript/components/tsdoc-reflection.cjs +126 -0
  71. package/dist/plugin-alloy/src/typescript/components/tsdoc-reflection.mjs +124 -0
  72. package/dist/plugin-alloy/src/typescript/components/tsdoc.cjs +442 -0
  73. package/dist/plugin-alloy/src/typescript/components/tsdoc.d.cts +28 -0
  74. package/dist/plugin-alloy/src/typescript/components/tsdoc.d.mts +28 -0
  75. package/dist/plugin-alloy/src/typescript/components/tsdoc.mjs +433 -0
  76. package/dist/plugin-alloy/src/typescript/components/typescript-file.cjs +194 -0
  77. package/dist/plugin-alloy/src/typescript/components/typescript-file.d.cts +15 -0
  78. package/dist/plugin-alloy/src/typescript/components/typescript-file.d.mts +15 -0
  79. package/dist/plugin-alloy/src/typescript/components/typescript-file.mjs +191 -0
  80. package/dist/plugin-alloy/src/typescript/components/typescript-interface.cjs +68 -0
  81. package/dist/plugin-alloy/src/typescript/components/typescript-interface.mjs +67 -0
  82. package/dist/plugin-alloy/src/typescript/components/typescript-object.cjs +124 -0
  83. package/dist/plugin-alloy/src/typescript/components/typescript-object.mjs +123 -0
  84. package/dist/plugin-automd/src/index.cjs +101 -0
  85. package/dist/plugin-automd/src/index.mjs +98 -0
  86. package/dist/plugin-automd/src/types/plugin.d.cts +38 -0
  87. package/dist/plugin-automd/src/types/plugin.d.mts +40 -0
  88. package/dist/plugin-automd/src/types/toc.d.cts +33 -0
  89. package/dist/plugin-automd/src/types/toc.d.mts +33 -0
  90. package/dist/plugin-babel/src/helpers/ast-utils.cjs +10 -0
  91. package/dist/plugin-babel/src/helpers/ast-utils.mjs +9 -0
  92. package/dist/plugin-babel/src/helpers/create-plugin.cjs +41 -0
  93. package/dist/plugin-babel/src/helpers/create-plugin.mjs +39 -0
  94. package/dist/plugin-babel/src/helpers/filters.cjs +23 -0
  95. package/dist/plugin-babel/src/helpers/filters.mjs +21 -0
  96. package/dist/plugin-babel/src/helpers/index.cjs +5 -0
  97. package/dist/plugin-babel/src/helpers/index.mjs +7 -0
  98. package/dist/plugin-babel/src/helpers/module-helpers.cjs +38 -0
  99. package/dist/plugin-babel/src/helpers/module-helpers.mjs +35 -0
  100. package/dist/plugin-babel/src/helpers/options.cjs +50 -0
  101. package/dist/plugin-babel/src/helpers/options.mjs +47 -0
  102. package/dist/plugin-babel/src/index.cjs +91 -0
  103. package/dist/plugin-babel/src/index.mjs +89 -0
  104. package/dist/plugin-babel/src/types/index.d.mts +1 -0
  105. package/dist/plugin-babel/src/types/plugin.d.cts +15 -0
  106. package/dist/plugin-babel/src/types/plugin.d.mts +15 -0
  107. package/dist/plugin-env/src/babel/index.cjs +1 -0
  108. package/dist/plugin-env/src/babel/index.mjs +3 -0
  109. package/dist/plugin-env/src/babel/plugin.cjs +121 -0
  110. package/dist/plugin-env/src/babel/plugin.mjs +119 -0
  111. package/dist/plugin-env/src/components/docs.cjs +9 -0
  112. package/dist/plugin-env/src/components/docs.mjs +11 -0
  113. package/dist/plugin-env/src/components/env.cjs +575 -0
  114. package/dist/plugin-env/src/components/env.mjs +572 -0
  115. package/dist/plugin-env/src/components/index.cjs +2 -0
  116. package/dist/plugin-env/src/components/index.mjs +4 -0
  117. package/dist/plugin-env/src/helpers/automd-generator.cjs +22 -0
  118. package/dist/plugin-env/src/helpers/automd-generator.mjs +21 -0
  119. package/dist/plugin-env/src/helpers/create-reflection-resource.cjs +55 -0
  120. package/dist/plugin-env/src/helpers/create-reflection-resource.mjs +54 -0
  121. package/dist/plugin-env/src/helpers/index.cjs +6 -0
  122. package/dist/plugin-env/src/helpers/index.mjs +8 -0
  123. package/dist/plugin-env/src/helpers/load.cjs +83 -0
  124. package/dist/plugin-env/src/helpers/load.mjs +80 -0
  125. package/dist/plugin-env/src/helpers/persistence.cjs +199 -0
  126. package/dist/plugin-env/src/helpers/persistence.mjs +188 -0
  127. package/dist/plugin-env/src/helpers/reflect.cjs +111 -0
  128. package/dist/plugin-env/src/helpers/reflect.mjs +103 -0
  129. package/dist/plugin-env/src/helpers/source-file-env.cjs +24 -0
  130. package/dist/plugin-env/src/helpers/source-file-env.mjs +23 -0
  131. package/dist/plugin-env/src/helpers/template-helpers.cjs +2 -0
  132. package/dist/plugin-env/src/helpers/template-helpers.mjs +4 -0
  133. package/dist/plugin-env/src/index.cjs +175 -0
  134. package/dist/plugin-env/src/index.mjs +173 -0
  135. package/dist/plugin-env/src/types/plugin.d.cts +152 -0
  136. package/dist/plugin-env/src/types/plugin.d.mts +153 -0
  137. package/dist/{runtime-B8Zgz0Kb.d.cts → plugin-env/src/types/runtime.d.cts} +2 -2
  138. package/dist/{runtime-BFnA_zZ8.d.mts → plugin-env/src/types/runtime.d.mts} +2 -2
  139. package/dist/powerlines/src/lib/build/esbuild.cjs +102 -0
  140. package/dist/powerlines/src/lib/build/esbuild.mjs +100 -0
  141. package/dist/powerlines/src/lib/entry.cjs +12 -0
  142. package/dist/powerlines/src/lib/entry.mjs +14 -0
  143. package/dist/powerlines/src/lib/logger.cjs +41 -0
  144. package/dist/powerlines/src/lib/logger.mjs +39 -0
  145. package/dist/powerlines/src/lib/typescript/tsconfig.cjs +38 -0
  146. package/dist/powerlines/src/lib/typescript/tsconfig.mjs +35 -0
  147. package/dist/powerlines/src/lib/utilities/bundle.cjs +35 -0
  148. package/dist/powerlines/src/lib/utilities/bundle.mjs +34 -0
  149. package/dist/powerlines/src/lib/utilities/resolve.cjs +30 -0
  150. package/dist/powerlines/src/lib/utilities/resolve.mjs +29 -0
  151. package/dist/powerlines/src/plugin-utils/paths.cjs +1 -0
  152. package/dist/powerlines/src/plugin-utils/paths.mjs +3 -0
  153. package/dist/powerlines/src/types/babel.d.cts +22 -0
  154. package/dist/powerlines/src/types/babel.d.mts +22 -0
  155. package/dist/powerlines/src/types/build.d.cts +145 -0
  156. package/dist/powerlines/src/types/build.d.mts +147 -0
  157. package/dist/powerlines/src/types/commands.d.cts +8 -0
  158. package/dist/powerlines/src/types/commands.d.mts +9 -0
  159. package/dist/powerlines/src/types/config.d.cts +387 -0
  160. package/dist/powerlines/src/types/config.d.mts +388 -0
  161. package/dist/powerlines/src/types/context.d.cts +414 -0
  162. package/dist/powerlines/src/types/context.d.mts +416 -0
  163. package/dist/powerlines/src/types/fs.d.cts +486 -0
  164. package/dist/powerlines/src/types/fs.d.mts +486 -0
  165. package/dist/powerlines/src/types/hooks.d.mts +2 -0
  166. package/dist/powerlines/src/types/plugin.d.cts +231 -0
  167. package/dist/powerlines/src/types/plugin.d.mts +231 -0
  168. package/dist/powerlines/src/types/resolved.d.cts +82 -0
  169. package/dist/powerlines/src/types/resolved.d.mts +83 -0
  170. package/dist/powerlines/src/types/tsconfig.d.cts +69 -0
  171. package/dist/powerlines/src/types/tsconfig.d.mts +69 -0
  172. package/dist/types/index.cjs +0 -3
  173. package/dist/types/index.d.cts +2 -5
  174. package/dist/types/index.d.mts +2 -6
  175. package/dist/types/index.mjs +0 -4
  176. package/dist/types/plugin.cjs +0 -1
  177. package/dist/types/plugin.d.cts +72 -3
  178. package/dist/types/plugin.d.mts +72 -4
  179. package/dist/types/plugin.mjs +0 -2
  180. package/dist/types/runtime.cjs +0 -1
  181. package/dist/types/runtime.d.cts +14 -3
  182. package/dist/types/runtime.d.mts +14 -3
  183. package/dist/types/runtime.mjs +0 -2
  184. package/package.json +6 -6
  185. package/dist/components-BWLXb7a2.cjs +0 -0
  186. package/dist/components-D-mbfYAe.mjs +0 -1
  187. package/dist/index-B8OHl-c_.d.mts +0 -1
  188. package/dist/index-CFG0_wK4.d.cts +0 -1
  189. package/dist/index-DNLi60D-.d.mts +0 -1
  190. package/dist/index-_wQ5ClJU.d.cts +0 -1
  191. package/dist/plugin-jZ9N9Mz-.mjs +0 -1
  192. package/dist/plugin-pBKbb5K9.cjs +0 -0
  193. package/dist/react-optimized-BpFTLlx0.mjs +0 -937
  194. package/dist/react-optimized-CVXQfO40.d.mts +0 -88
  195. package/dist/react-optimized-Kv14o38g.cjs +0 -1078
  196. package/dist/react-optimized-NGRcJkqA.d.cts +0 -105
  197. package/dist/resolved-CTt23qfE.d.cts +0 -1795
  198. package/dist/resolved-Nive48eM.d.mts +0 -1796
  199. package/dist/runtime-B-KyPHeI.d.mts +0 -15
  200. package/dist/runtime-BKY6WvHV.mjs +0 -1
  201. package/dist/runtime-Bp9G0scd.cjs +0 -0
  202. package/dist/runtime-Dm--tkdO.d.cts +0 -15
  203. package/dist/types--fVOUYBq.mjs +0 -1
  204. package/dist/types-a8gm_IaQ.cjs +0 -0
@@ -0,0 +1,152 @@
1
+ import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig } from "../../../plugin-babel/src/types/plugin.cjs";
2
+ import { Reflection } from "../../../deepkit/src/types.cjs";
3
+ import { AlloyPluginContext, AlloyPluginOptions, AlloyPluginResolvedConfig, AlloyPluginUserConfig } from "../../../plugin-alloy/src/types/plugin.cjs";
4
+ import "../../../plugin-alloy/src/types/index.cjs";
5
+ import { AutoMDPluginOptions } from "../../../plugin-automd/src/types/plugin.cjs";
6
+ import { EnvInterface, SecretsInterface } from "./runtime.cjs";
7
+ import { DotenvConfiguration, TypeDefinition, TypeDefinitionParameter } from "@stryke/types/configuration";
8
+ import { Children } from "@alloy-js/core/jsx-runtime";
9
+ import { DotenvParseOutput } from "@stryke/env/types";
10
+
11
+ //#region ../plugin-env/src/types/plugin.d.ts
12
+ type EnvPluginOptions = Omit<DotenvConfiguration, "types"> & {
13
+ /**
14
+ * A path to the type definition for the expected env configuration parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"` or `"#"` character. For example: `"./src/types/env.ts#ConfigConfiguration"`.
15
+ */
16
+ types?: TypeDefinitionParameter;
17
+ /**
18
+ * A path to the type definition for the expected env secret parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"` or `"#"` character. For example: `"./src/types/env.ts#ConfigSecrets"`.
19
+ */
20
+ secrets?: TypeDefinitionParameter;
21
+ /**
22
+ * An additional prefix (or list of additional prefixes) to apply to the environment variables
23
+ *
24
+ * @remarks
25
+ * By default, the plugin will use the `POWERLINES_` prefix. This option is useful for avoiding conflicts with other environment variables.
26
+ */
27
+ prefix?: string | string[];
28
+ /**
29
+ * Should the plugin inject the env variables in the source code with their values?
30
+ *
31
+ * @remarks
32
+ * This option is set to `true` when building an application project.
33
+ *
34
+ * @defaultValue false
35
+ */
36
+ inject?: boolean;
37
+ /**
38
+ * The default configuration to use when loading environment variables.
39
+ *
40
+ * @remarks
41
+ * This configuration is used as the base configuration when loading environment variables, and will be overridden by any values found in the `.env` file or the process environment.
42
+ */
43
+ defaultConfig?: Children;
44
+ /**
45
+ * Babel configuration options to use when injecting environment variables into the source code.
46
+ *
47
+ * @remarks
48
+ * This option allows you to customize the Babel transformation process used to inject environment variables into the source code. If not provided, the plugin will use default Babel settings.
49
+ */
50
+ babel?: BabelPluginOptions;
51
+ /**
52
+ * AutoMD configuration options to allow injecting environment variables documentation into a markdown file such as a README.md.
53
+ *
54
+ * @remarks
55
+ * The README.md file should contain the `<!-- automd:env --><!-- /automd -->` comment block where the documentation will be injected.
56
+ */
57
+ automd?: AutoMDPluginOptions;
58
+ /**
59
+ * Alloy configuration options to use when injecting environment variables into the source code.
60
+ *
61
+ * @remarks
62
+ * This option allows you to customize the Alloy transformation process used to inject environment variables into the source code. If not provided, the plugin will use default Alloy settings.
63
+ */
64
+ alloy?: AlloyPluginOptions;
65
+ };
66
+ type EnvPluginUserConfig = BabelPluginUserConfig & AlloyPluginUserConfig & {
67
+ env: EnvPluginOptions;
68
+ };
69
+ type EnvPluginResolvedConfig = BabelPluginResolvedConfig & AlloyPluginResolvedConfig & {
70
+ env: Required<Pick<DotenvConfiguration, "additionalFiles">> & Required<Pick<EnvPluginOptions, "defaultConfig">> & {
71
+ /**
72
+ * The type definition for the expected env variable parameters
73
+ *
74
+ * @remarks
75
+ * This value is parsed from the {@link EnvPluginOptions.types} option.
76
+ */
77
+ types: TypeDefinition;
78
+ /**
79
+ * The type definition for the expected env secret parameters
80
+ *
81
+ * @remarks
82
+ * This value is parsed from the {@link EnvPluginOptions.secrets} option.
83
+ */
84
+ secrets: TypeDefinition;
85
+ /**
86
+ * Should the plugin inject the env variables in the source code with their values?
87
+ *
88
+ * @remarks
89
+ * This value is the result of reflecting the {@link EnvPluginOptions.inject} option.
90
+ */
91
+ inject: EnvPluginOptions["inject"];
92
+ /**
93
+ * The prefix used for environment variables
94
+ *
95
+ * @remarks
96
+ * This value is used to filter environment variables that are loaded from the .env file and the process environment.
97
+ */
98
+ prefix: string[];
99
+ };
100
+ };
101
+ interface EnvPluginContext<TResolvedConfig extends EnvPluginResolvedConfig = EnvPluginResolvedConfig> extends BabelPluginContext<TResolvedConfig>, AlloyPluginContext<TResolvedConfig> {
102
+ env: {
103
+ /**
104
+ * The type definitions reflection for the env variables and secrets
105
+ *
106
+ * @remarks
107
+ * These reflections contains the structure of the expected environment variables and secrets as defined by the type definitions provided in the plugin configuration.
108
+ */
109
+ types: {
110
+ /**
111
+ * The type definitions for the expected env variables
112
+ */
113
+ env: Reflection;
114
+ /**
115
+ * The type definitions for the expected env secrets
116
+ */
117
+ secrets: Reflection;
118
+ };
119
+ /**
120
+ * The current **used** environment variables and secrets reflection
121
+ *
122
+ * @remarks
123
+ * This reflection contains the structure of the current environment variables and secrets as defined during the plugin initialization by extracting the values from the source code.
124
+ */
125
+ used: {
126
+ /**
127
+ * The current env variables reflection
128
+ */
129
+ env: Reflection<EnvInterface>;
130
+ /**
131
+ * The current env secrets reflection
132
+ */
133
+ secrets: Reflection<SecretsInterface>;
134
+ };
135
+ /**
136
+ * The parsed .env configuration object
137
+ *
138
+ * @remarks
139
+ * This value is the result of loading the .env configuration file found in the project root directory and merging it with the values provided at {@link EnvPluginOptions.values}
140
+ */
141
+ parsed: DotenvParseOutput;
142
+ /**
143
+ * The injected environment variables and secrets reflection
144
+ *
145
+ * @remarks
146
+ * This reflection contains the structure of the injected environment variables and secrets that were injected into the source code during the build process.
147
+ */
148
+ injected: Reflection;
149
+ };
150
+ }
151
+ //#endregion
152
+ export { EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig };
@@ -0,0 +1,153 @@
1
+ import { BabelPluginContext, BabelPluginOptions, BabelPluginResolvedConfig, BabelPluginUserConfig } from "../../../plugin-babel/src/types/plugin.mjs";
2
+ import { Reflection } from "../../../deepkit/src/types.mjs";
3
+ import { AlloyPluginContext, AlloyPluginOptions, AlloyPluginResolvedConfig, AlloyPluginUserConfig } from "../../../plugin-alloy/src/types/plugin.mjs";
4
+ import "../../../plugin-alloy/src/types/index.mjs";
5
+ import { AutoMDPluginOptions } from "../../../plugin-automd/src/types/plugin.mjs";
6
+ import "../../../plugin-babel/src/types/index.mjs";
7
+ import { EnvInterface, SecretsInterface } from "./runtime.mjs";
8
+ import { Children } from "@alloy-js/core/jsx-runtime";
9
+ import { DotenvParseOutput } from "@stryke/env/types";
10
+ import { DotenvConfiguration, TypeDefinition, TypeDefinitionParameter } from "@stryke/types/configuration";
11
+
12
+ //#region ../plugin-env/src/types/plugin.d.ts
13
+ type EnvPluginOptions = Omit<DotenvConfiguration, "types"> & {
14
+ /**
15
+ * A path to the type definition for the expected env configuration parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"` or `"#"` character. For example: `"./src/types/env.ts#ConfigConfiguration"`.
16
+ */
17
+ types?: TypeDefinitionParameter;
18
+ /**
19
+ * A path to the type definition for the expected env secret parameters. This value can include both a path to the typescript file and the name of the type definition to use separated by a `":"` or `"#"` character. For example: `"./src/types/env.ts#ConfigSecrets"`.
20
+ */
21
+ secrets?: TypeDefinitionParameter;
22
+ /**
23
+ * An additional prefix (or list of additional prefixes) to apply to the environment variables
24
+ *
25
+ * @remarks
26
+ * By default, the plugin will use the `POWERLINES_` prefix. This option is useful for avoiding conflicts with other environment variables.
27
+ */
28
+ prefix?: string | string[];
29
+ /**
30
+ * Should the plugin inject the env variables in the source code with their values?
31
+ *
32
+ * @remarks
33
+ * This option is set to `true` when building an application project.
34
+ *
35
+ * @defaultValue false
36
+ */
37
+ inject?: boolean;
38
+ /**
39
+ * The default configuration to use when loading environment variables.
40
+ *
41
+ * @remarks
42
+ * This configuration is used as the base configuration when loading environment variables, and will be overridden by any values found in the `.env` file or the process environment.
43
+ */
44
+ defaultConfig?: Children;
45
+ /**
46
+ * Babel configuration options to use when injecting environment variables into the source code.
47
+ *
48
+ * @remarks
49
+ * This option allows you to customize the Babel transformation process used to inject environment variables into the source code. If not provided, the plugin will use default Babel settings.
50
+ */
51
+ babel?: BabelPluginOptions;
52
+ /**
53
+ * AutoMD configuration options to allow injecting environment variables documentation into a markdown file such as a README.md.
54
+ *
55
+ * @remarks
56
+ * The README.md file should contain the `<!-- automd:env --><!-- /automd -->` comment block where the documentation will be injected.
57
+ */
58
+ automd?: AutoMDPluginOptions;
59
+ /**
60
+ * Alloy configuration options to use when injecting environment variables into the source code.
61
+ *
62
+ * @remarks
63
+ * This option allows you to customize the Alloy transformation process used to inject environment variables into the source code. If not provided, the plugin will use default Alloy settings.
64
+ */
65
+ alloy?: AlloyPluginOptions;
66
+ };
67
+ type EnvPluginUserConfig = BabelPluginUserConfig & AlloyPluginUserConfig & {
68
+ env: EnvPluginOptions;
69
+ };
70
+ type EnvPluginResolvedConfig = BabelPluginResolvedConfig & AlloyPluginResolvedConfig & {
71
+ env: Required<Pick<DotenvConfiguration, "additionalFiles">> & Required<Pick<EnvPluginOptions, "defaultConfig">> & {
72
+ /**
73
+ * The type definition for the expected env variable parameters
74
+ *
75
+ * @remarks
76
+ * This value is parsed from the {@link EnvPluginOptions.types} option.
77
+ */
78
+ types: TypeDefinition;
79
+ /**
80
+ * The type definition for the expected env secret parameters
81
+ *
82
+ * @remarks
83
+ * This value is parsed from the {@link EnvPluginOptions.secrets} option.
84
+ */
85
+ secrets: TypeDefinition;
86
+ /**
87
+ * Should the plugin inject the env variables in the source code with their values?
88
+ *
89
+ * @remarks
90
+ * This value is the result of reflecting the {@link EnvPluginOptions.inject} option.
91
+ */
92
+ inject: EnvPluginOptions["inject"];
93
+ /**
94
+ * The prefix used for environment variables
95
+ *
96
+ * @remarks
97
+ * This value is used to filter environment variables that are loaded from the .env file and the process environment.
98
+ */
99
+ prefix: string[];
100
+ };
101
+ };
102
+ interface EnvPluginContext<TResolvedConfig extends EnvPluginResolvedConfig = EnvPluginResolvedConfig> extends BabelPluginContext<TResolvedConfig>, AlloyPluginContext<TResolvedConfig> {
103
+ env: {
104
+ /**
105
+ * The type definitions reflection for the env variables and secrets
106
+ *
107
+ * @remarks
108
+ * These reflections contains the structure of the expected environment variables and secrets as defined by the type definitions provided in the plugin configuration.
109
+ */
110
+ types: {
111
+ /**
112
+ * The type definitions for the expected env variables
113
+ */
114
+ env: Reflection;
115
+ /**
116
+ * The type definitions for the expected env secrets
117
+ */
118
+ secrets: Reflection;
119
+ };
120
+ /**
121
+ * The current **used** environment variables and secrets reflection
122
+ *
123
+ * @remarks
124
+ * This reflection contains the structure of the current environment variables and secrets as defined during the plugin initialization by extracting the values from the source code.
125
+ */
126
+ used: {
127
+ /**
128
+ * The current env variables reflection
129
+ */
130
+ env: Reflection<EnvInterface>;
131
+ /**
132
+ * The current env secrets reflection
133
+ */
134
+ secrets: Reflection<SecretsInterface>;
135
+ };
136
+ /**
137
+ * The parsed .env configuration object
138
+ *
139
+ * @remarks
140
+ * This value is the result of loading the .env configuration file found in the project root directory and merging it with the values provided at {@link EnvPluginOptions.values}
141
+ */
142
+ parsed: DotenvParseOutput;
143
+ /**
144
+ * The injected environment variables and secrets reflection
145
+ *
146
+ * @remarks
147
+ * This reflection contains the structure of the injected environment variables and secrets that were injected into the source code during the build process.
148
+ */
149
+ injected: Reflection;
150
+ };
151
+ }
152
+ //#endregion
153
+ export { EnvPluginContext, EnvPluginOptions, EnvPluginResolvedConfig, EnvPluginUserConfig };
@@ -1,4 +1,4 @@
1
- import { a as LogLevel } from "./resolved-CTt23qfE.cjs";
1
+ import { LogLevel } from "../../../powerlines/src/types/context.cjs";
2
2
 
3
3
  //#region ../plugin-env/src/types/runtime.d.ts
4
4
 
@@ -789,4 +789,4 @@ interface SecretsInterface {
789
789
  ENCRYPTION_KEY: string;
790
790
  }
791
791
  //#endregion
792
- export { SecretsInterface as n, EnvInterface as t };
792
+ export { EnvInterface, SecretsInterface };
@@ -1,4 +1,4 @@
1
- import { a as LogLevel } from "./resolved-Nive48eM.mjs";
1
+ import { LogLevel } from "../../../powerlines/src/types/context.mjs";
2
2
 
3
3
  //#region ../plugin-env/src/types/runtime.d.ts
4
4
 
@@ -789,4 +789,4 @@ interface SecretsInterface {
789
789
  ENCRYPTION_KEY: string;
790
790
  }
791
791
  //#endregion
792
- export { SecretsInterface as n, EnvInterface as t };
792
+ export { EnvInterface, SecretsInterface };
@@ -0,0 +1,102 @@
1
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
2
+ require('../entry.cjs');
3
+ let defu = require("defu");
4
+ defu = require_rolldown_runtime.__toESM(defu);
5
+ let __stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
6
+ let __stryke_path_replace = require("@stryke/path/replace");
7
+ let __stryke_path_join_paths = require("@stryke/path/join-paths");
8
+ let __stryke_helpers_omit = require("@stryke/helpers/omit");
9
+ let __stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
10
+
11
+ //#region ../powerlines/src/lib/build/esbuild.ts
12
+ const DEFAULT_ESBUILD_CONFIG = {
13
+ target: "esnext",
14
+ platform: "neutral",
15
+ format: "esm",
16
+ write: true,
17
+ minify: true,
18
+ sourcemap: false,
19
+ bundle: true,
20
+ treeShaking: true,
21
+ keepNames: true,
22
+ splitting: true,
23
+ logLevel: "silent"
24
+ };
25
+ /**
26
+ * Resolves the esbuild options.
27
+ *
28
+ * @param context - The build context.
29
+ * @returns The resolved esbuild options.
30
+ */
31
+ function extractESBuildConfig(context) {
32
+ const inject = context.config.build.override.inject ?? context.config.build.inject;
33
+ if (inject && Object.keys(inject).length > 0) context.fs.writeSync((0, __stryke_path_join_paths.joinPaths)(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
34
+ if (value) if (Array.isArray(value)) {
35
+ if ((0, __stryke_string_format_camel_case.camelCase)(key) !== key) {
36
+ if (value.length === 1) return `
37
+ import ${(0, __stryke_string_format_camel_case.camelCase)(key)} from "${value[0]}";
38
+ export { ${(0, __stryke_string_format_camel_case.camelCase)(key)} as "${key}" }`;
39
+ else if (value.length > 1) return `
40
+ import ${value[1] === "*" ? `* as ${(0, __stryke_string_format_camel_case.camelCase)(key)}` : `{ ${value[1]} as ${(0, __stryke_string_format_camel_case.camelCase)(key)} }`} from "${value[0]}";
41
+ export { ${(0, __stryke_string_format_camel_case.camelCase)(key)} as "${key}" }`;
42
+ } else if (value.length === 1) return `
43
+ import ${key} from "${value[0]}";
44
+ export { ${key} };`;
45
+ else if (value.length > 1) return `
46
+ import ${value[1] === "*" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from "${value[0]}";
47
+ export { ${key} };`;
48
+ } else if ((0, __stryke_string_format_camel_case.camelCase)(key) !== key) return `
49
+ import ${(0, __stryke_string_format_camel_case.camelCase)(key)} from "${value[0]}";
50
+ export { ${(0, __stryke_string_format_camel_case.camelCase)(key)} as "${key}" }`;
51
+ else return `
52
+ import ${key} from "${value}";
53
+ export { ${key} };`;
54
+ return "";
55
+ }).join("\n"));
56
+ return (0, defu.default)({
57
+ alias: context.builtins.reduce((ret, id) => {
58
+ if (!ret[id]) {
59
+ const path = context.fs.ids[id];
60
+ if (path) ret[id] = path;
61
+ }
62
+ return ret;
63
+ }, context.config.build.alias ? Array.isArray(context.config.build.alias) ? context.config.build.alias.reduce((ret, alias) => {
64
+ if (!ret[alias.find.toString()]) ret[alias.find.toString()] = alias.replacement;
65
+ return ret;
66
+ }, {}) : context.config.build.alias : {}),
67
+ inject: inject && Object.keys(inject).length > 0 ? [(0, __stryke_path_join_paths.joinPaths)(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js")] : void 0
68
+ }, context.config.build.variant === "esbuild" ? (0, __stryke_helpers_omit.omit)(context.config.build.override, [
69
+ "alias",
70
+ "inject",
71
+ "external",
72
+ "noExternal",
73
+ "skipNodeModulesBundle",
74
+ "extensions"
75
+ ]) : {}, context.config.build.variant === "esbuild" ? (0, __stryke_helpers_omit.omit)(context.config.build, [
76
+ "alias",
77
+ "inject",
78
+ "external",
79
+ "noExternal",
80
+ "skipNodeModulesBundle",
81
+ "extensions",
82
+ "variant",
83
+ "override"
84
+ ]) : {}, {
85
+ mainFields: context.config.build.mainFields,
86
+ conditions: context.config.build.conditions,
87
+ define: context.config.build.define,
88
+ resolveExtensions: context.config.build.extensions,
89
+ packages: context.config.build.skipNodeModulesBundle ? "external" : context.config.build.variant === "esbuild" ? context.config.build.packages : void 0,
90
+ format: Array.isArray(context.config.output.format) ? context.config.output.format[0] : context.config.output.format,
91
+ platform: context.config.build.platform,
92
+ treeShaking: Boolean(context.config.build?.treeshake) || context.config.build?.treeShaking,
93
+ outdir: context.config.output.buildPath,
94
+ tsconfig: context.tsconfig.tsconfigFilePath,
95
+ minify: context.config.mode !== "development",
96
+ metafile: context.config.mode === "development",
97
+ sourcemap: context.config.mode === "development"
98
+ }, DEFAULT_ESBUILD_CONFIG);
99
+ }
100
+
101
+ //#endregion
102
+ exports.extractESBuildConfig = extractESBuildConfig;
@@ -0,0 +1,100 @@
1
+ import "../entry.mjs";
2
+ import defu from "defu";
3
+ import { isString } from "@stryke/type-checks/is-string";
4
+ import { replaceExtension, replacePath } from "@stryke/path/replace";
5
+ import { joinPaths } from "@stryke/path/join-paths";
6
+ import { omit } from "@stryke/helpers/omit";
7
+ import { camelCase } from "@stryke/string-format/camel-case";
8
+
9
+ //#region ../powerlines/src/lib/build/esbuild.ts
10
+ const DEFAULT_ESBUILD_CONFIG = {
11
+ target: "esnext",
12
+ platform: "neutral",
13
+ format: "esm",
14
+ write: true,
15
+ minify: true,
16
+ sourcemap: false,
17
+ bundle: true,
18
+ treeShaking: true,
19
+ keepNames: true,
20
+ splitting: true,
21
+ logLevel: "silent"
22
+ };
23
+ /**
24
+ * Resolves the esbuild options.
25
+ *
26
+ * @param context - The build context.
27
+ * @returns The resolved esbuild options.
28
+ */
29
+ function extractESBuildConfig(context) {
30
+ const inject = context.config.build.override.inject ?? context.config.build.inject;
31
+ if (inject && Object.keys(inject).length > 0) context.fs.writeSync(joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js"), Object.entries(inject).map(([key, value]) => {
32
+ if (value) if (Array.isArray(value)) {
33
+ if (camelCase(key) !== key) {
34
+ if (value.length === 1) return `
35
+ import ${camelCase(key)} from "${value[0]}";
36
+ export { ${camelCase(key)} as "${key}" }`;
37
+ else if (value.length > 1) return `
38
+ import ${value[1] === "*" ? `* as ${camelCase(key)}` : `{ ${value[1]} as ${camelCase(key)} }`} from "${value[0]}";
39
+ export { ${camelCase(key)} as "${key}" }`;
40
+ } else if (value.length === 1) return `
41
+ import ${key} from "${value[0]}";
42
+ export { ${key} };`;
43
+ else if (value.length > 1) return `
44
+ import ${value[1] === "*" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from "${value[0]}";
45
+ export { ${key} };`;
46
+ } else if (camelCase(key) !== key) return `
47
+ import ${camelCase(key)} from "${value[0]}";
48
+ export { ${camelCase(key)} as "${key}" }`;
49
+ else return `
50
+ import ${key} from "${value}";
51
+ export { ${key} };`;
52
+ return "";
53
+ }).join("\n"));
54
+ return defu({
55
+ alias: context.builtins.reduce((ret, id) => {
56
+ if (!ret[id]) {
57
+ const path = context.fs.ids[id];
58
+ if (path) ret[id] = path;
59
+ }
60
+ return ret;
61
+ }, context.config.build.alias ? Array.isArray(context.config.build.alias) ? context.config.build.alias.reduce((ret, alias) => {
62
+ if (!ret[alias.find.toString()]) ret[alias.find.toString()] = alias.replacement;
63
+ return ret;
64
+ }, {}) : context.config.build.alias : {}),
65
+ inject: inject && Object.keys(inject).length > 0 ? [joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot, context.artifactsPath, "inject-shim.js")] : void 0
66
+ }, context.config.build.variant === "esbuild" ? omit(context.config.build.override, [
67
+ "alias",
68
+ "inject",
69
+ "external",
70
+ "noExternal",
71
+ "skipNodeModulesBundle",
72
+ "extensions"
73
+ ]) : {}, context.config.build.variant === "esbuild" ? omit(context.config.build, [
74
+ "alias",
75
+ "inject",
76
+ "external",
77
+ "noExternal",
78
+ "skipNodeModulesBundle",
79
+ "extensions",
80
+ "variant",
81
+ "override"
82
+ ]) : {}, {
83
+ mainFields: context.config.build.mainFields,
84
+ conditions: context.config.build.conditions,
85
+ define: context.config.build.define,
86
+ resolveExtensions: context.config.build.extensions,
87
+ packages: context.config.build.skipNodeModulesBundle ? "external" : context.config.build.variant === "esbuild" ? context.config.build.packages : void 0,
88
+ format: Array.isArray(context.config.output.format) ? context.config.output.format[0] : context.config.output.format,
89
+ platform: context.config.build.platform,
90
+ treeShaking: Boolean(context.config.build?.treeshake) || context.config.build?.treeShaking,
91
+ outdir: context.config.output.buildPath,
92
+ tsconfig: context.tsconfig.tsconfigFilePath,
93
+ minify: context.config.mode !== "development",
94
+ metafile: context.config.mode === "development",
95
+ sourcemap: context.config.mode === "development"
96
+ }, DEFAULT_ESBUILD_CONFIG);
97
+ }
98
+
99
+ //#endregion
100
+ export { extractESBuildConfig };
@@ -0,0 +1,12 @@
1
+ require('../plugin-utils/paths.cjs');
2
+ let __stryke_type_checks_is_set_string = require("@stryke/type-checks/is-set-string");
3
+ let __stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
4
+ let __stryke_path_replace = require("@stryke/path/replace");
5
+ let __stryke_convert_to_array = require("@stryke/convert/to-array");
6
+ let __stryke_fs_is_file = require("@stryke/fs/is-file");
7
+ let __stryke_fs_list_files = require("@stryke/fs/list-files");
8
+ let __stryke_path_append = require("@stryke/path/append");
9
+ let __stryke_path_join_paths = require("@stryke/path/join-paths");
10
+ let __stryke_convert_parse_type_definition = require("@stryke/convert/parse-type-definition");
11
+ let __stryke_helpers_get_unique = require("@stryke/helpers/get-unique");
12
+ require("@stryke/hash/murmurhash");
@@ -0,0 +1,14 @@
1
+ import "../plugin-utils/paths.mjs";
2
+ import { isSetString } from "@stryke/type-checks/is-set-string";
3
+ import { isString } from "@stryke/type-checks/is-string";
4
+ import { replaceExtension, replacePath } from "@stryke/path/replace";
5
+ import { toArray } from "@stryke/convert/to-array";
6
+ import "@stryke/fs/is-file";
7
+ import { listFiles } from "@stryke/fs/list-files";
8
+ import { appendPath } from "@stryke/path/append";
9
+ import { joinPaths } from "@stryke/path/join-paths";
10
+ import { parseTypeDefinition } from "@stryke/convert/parse-type-definition";
11
+ import { getUniqueBy } from "@stryke/helpers/get-unique";
12
+ import "@stryke/hash/murmurhash";
13
+
14
+ export { };
@@ -0,0 +1,41 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ let __storm_software_config_tools_types = require("@storm-software/config-tools/types");
3
+ let chalk = require("chalk");
4
+ chalk = require_rolldown_runtime.__toESM(chalk);
5
+ require("@storm-software/config-tools/logger");
6
+ require("@storm-software/config-tools/utilities/colors");
7
+ require("@stryke/helpers/noop");
8
+ let __stryke_string_format_kebab_case = require("@stryke/string-format/kebab-case");
9
+ let __stryke_string_format_title_case = require("@stryke/string-format/title-case");
10
+
11
+ //#region ../powerlines/src/lib/logger.ts
12
+ const BADGE_COLORS = [
13
+ "#00A0DD",
14
+ "#6FCE4E",
15
+ "#FBBF24",
16
+ "#F43F5E",
17
+ "#3B82F6",
18
+ "#A855F7",
19
+ "#469592",
20
+ "#288EDF",
21
+ "#D8B4FE",
22
+ "#10B981",
23
+ "#EF4444",
24
+ "#F0EC56",
25
+ "#F472B6",
26
+ "#22D3EE",
27
+ "#EAB308",
28
+ "#84CC16",
29
+ "#F87171",
30
+ "#0EA5E9",
31
+ "#D946EF",
32
+ "#FACC15",
33
+ "#34D399",
34
+ "#8B5CF6"
35
+ ];
36
+ const extendLog = (logFn, name) => {
37
+ return (type, ...args) => logFn(type, ` ${chalk.default.inverse.hex(BADGE_COLORS[name.split("").map((char) => char.charCodeAt(0)).reduce((ret, charCode) => ret + charCode, 0) % BADGE_COLORS.length] || BADGE_COLORS[0])(` ${(0, __stryke_string_format_title_case.titleCase)(name)} `)} ${args.join(" ")} `);
38
+ };
39
+
40
+ //#endregion
41
+ exports.extendLog = extendLog;
@@ -0,0 +1,39 @@
1
+ import { LogLevelLabel } from "@storm-software/config-tools/types";
2
+ import chalk from "chalk";
3
+ import "@storm-software/config-tools/logger";
4
+ import "@storm-software/config-tools/utilities/colors";
5
+ import "@stryke/helpers/noop";
6
+ import { kebabCase } from "@stryke/string-format/kebab-case";
7
+ import { titleCase } from "@stryke/string-format/title-case";
8
+
9
+ //#region ../powerlines/src/lib/logger.ts
10
+ const BADGE_COLORS = [
11
+ "#00A0DD",
12
+ "#6FCE4E",
13
+ "#FBBF24",
14
+ "#F43F5E",
15
+ "#3B82F6",
16
+ "#A855F7",
17
+ "#469592",
18
+ "#288EDF",
19
+ "#D8B4FE",
20
+ "#10B981",
21
+ "#EF4444",
22
+ "#F0EC56",
23
+ "#F472B6",
24
+ "#22D3EE",
25
+ "#EAB308",
26
+ "#84CC16",
27
+ "#F87171",
28
+ "#0EA5E9",
29
+ "#D946EF",
30
+ "#FACC15",
31
+ "#34D399",
32
+ "#8B5CF6"
33
+ ];
34
+ const extendLog = (logFn, name) => {
35
+ return (type, ...args) => logFn(type, ` ${chalk.inverse.hex(BADGE_COLORS[name.split("").map((char) => char.charCodeAt(0)).reduce((ret, charCode) => ret + charCode, 0) % BADGE_COLORS.length] || BADGE_COLORS[0])(` ${titleCase(name)} `)} ${args.join(" ")} `);
36
+ };
37
+
38
+ //#endregion
39
+ export { extendLog };