powerlines 0.29.0 → 0.30.1

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 (242) hide show
  1. package/README.md +8 -2
  2. package/dist/{api-DE9Ixr0u.d.cts → api-2c6P7OLq.d.cts} +1 -1
  3. package/dist/{api-S471id5Y.d.ts → api-D6eCzojg.d.ts} +1 -1
  4. package/dist/api.cjs +3 -3
  5. package/dist/api.d.cts +2 -2
  6. package/dist/api.d.ts +2 -2
  7. package/dist/api.js +2 -2
  8. package/dist/astro.cjs +5 -5
  9. package/dist/astro.d.cts +1 -1
  10. package/dist/astro.d.ts +1 -1
  11. package/dist/astro.js +4 -4
  12. package/dist/{chunk-N6UOEGTC.cjs → chunk-2LSP523Q.cjs} +5 -5
  13. package/dist/{chunk-57GCROWS.cjs → chunk-2TMERZSM.cjs} +4 -4
  14. package/dist/{chunk-6MQ6LCVC.js → chunk-5GOXUZPZ.js} +2 -2
  15. package/dist/{chunk-Q4ZLKJS2.js → chunk-7DOCWJ76.js} +6 -6
  16. package/dist/{chunk-T3T6WSX2.cjs → chunk-BXKRABQU.cjs} +2 -2
  17. package/dist/chunk-HRAVYQI4.cjs +12 -0
  18. package/dist/{chunk-TARQ5ZEQ.js → chunk-IBPL4XRD.js} +3 -3
  19. package/dist/{chunk-FCZMWEL7.js → chunk-K3D4TTN5.js} +3 -3
  20. package/dist/{chunk-AGFJZWS3.cjs → chunk-NP2ZVRIF.cjs} +4 -4
  21. package/dist/chunk-OXST2CTF.cjs +12 -0
  22. package/dist/{chunk-246ZHDQL.cjs → chunk-PYLCLJKJ.cjs} +7 -7
  23. package/dist/{chunk-X56DYZYO.js → chunk-TFHWUEMM.js} +3 -3
  24. package/dist/{chunk-M7SQJLGB.js → chunk-VYLFOZVJ.js} +3 -3
  25. package/dist/{chunk-O5PLPU55.js → chunk-W2BP7RBB.js} +3 -3
  26. package/dist/{context-p7xgIm3D.d.ts → context-CRJ4Zq86.d.ts} +5 -5
  27. package/dist/{context-BwnxICfB.d.cts → context-D5kPamM6.d.cts} +5 -5
  28. package/dist/esbuild.cjs +7 -7
  29. package/dist/esbuild.d.cts +1 -1
  30. package/dist/esbuild.d.ts +1 -1
  31. package/dist/esbuild.js +4 -4
  32. package/dist/farm.cjs +4 -4
  33. package/dist/farm.d.cts +1 -1
  34. package/dist/farm.d.ts +1 -1
  35. package/dist/farm.js +3 -3
  36. package/dist/index.cjs +11 -11
  37. package/dist/index.d.cts +3 -3
  38. package/dist/index.d.ts +3 -3
  39. package/dist/index.js +3 -3
  40. package/dist/lib/{api-1xCU-974.d.ts → api-DPyF-O8S.d.ts} +1 -1
  41. package/dist/lib/{api-BvkhY-MU.d.cts → api-DzuW_qQS.d.cts} +1 -1
  42. package/dist/lib/build/esbuild.d.cts +1 -1
  43. package/dist/lib/build/esbuild.d.ts +1 -1
  44. package/dist/lib/build/index.cjs +5 -5
  45. package/dist/lib/build/index.d.cts +3 -3
  46. package/dist/lib/build/index.d.ts +3 -3
  47. package/dist/lib/build/index.js +1 -1
  48. package/dist/lib/build/rolldown.d.cts +1 -1
  49. package/dist/lib/build/rolldown.d.ts +1 -1
  50. package/dist/lib/build/rollup.d.cts +1 -1
  51. package/dist/lib/build/rollup.d.ts +1 -1
  52. package/dist/lib/build/rspack.d.cts +1 -1
  53. package/dist/lib/build/rspack.d.ts +1 -1
  54. package/dist/lib/build/tsdown.cjs +5 -5
  55. package/dist/lib/build/tsdown.d.cts +1 -1
  56. package/dist/lib/build/tsdown.d.ts +1 -1
  57. package/dist/lib/build/tsdown.js +1 -1
  58. package/dist/lib/build/tsup.d.cts +1 -1
  59. package/dist/lib/build/tsup.d.ts +1 -1
  60. package/dist/lib/build/unbuild.d.cts +3 -3
  61. package/dist/lib/build/unbuild.d.ts +3 -3
  62. package/dist/lib/build/vite.d.cts +1 -1
  63. package/dist/lib/build/vite.d.ts +1 -1
  64. package/dist/lib/build/webpack.d.cts +1 -1
  65. package/dist/lib/build/webpack.d.ts +1 -1
  66. package/dist/lib/{chunk-HCJQJ2NV.cjs → chunk-65ANDTTL.cjs} +2 -2
  67. package/dist/lib/chunk-65ANDTTL.cjs.map +1 -0
  68. package/dist/lib/{chunk-US6LDIXH.js → chunk-76DBMONS.js} +6 -6
  69. package/dist/lib/{chunk-US6LDIXH.js.map → chunk-76DBMONS.js.map} +1 -1
  70. package/dist/lib/{chunk-SP5FOE5B.cjs → chunk-EXAOCEQF.cjs} +12 -9
  71. package/dist/lib/chunk-EXAOCEQF.cjs.map +1 -0
  72. package/dist/lib/{chunk-JEB4OVD5.js → chunk-FHSSBMCC.js} +2 -2
  73. package/dist/lib/chunk-FHSSBMCC.js.map +1 -0
  74. package/dist/lib/{chunk-K7EXK3ZX.cjs → chunk-GEMGC7W6.cjs} +7 -7
  75. package/dist/lib/{chunk-K7EXK3ZX.cjs.map → chunk-GEMGC7W6.cjs.map} +1 -1
  76. package/dist/lib/{chunk-LQMUXGB5.cjs → chunk-KOD33DBU.cjs} +4 -4
  77. package/dist/lib/{chunk-LQMUXGB5.cjs.map → chunk-KOD33DBU.cjs.map} +1 -1
  78. package/dist/lib/{chunk-MZ3GS5X3.js → chunk-M7SU453W.js} +3 -3
  79. package/dist/lib/{chunk-MZ3GS5X3.js.map → chunk-M7SU453W.js.map} +1 -1
  80. package/dist/lib/{chunk-SIYSGNDD.js → chunk-Q7C3YOFX.js} +12 -9
  81. package/dist/lib/chunk-Q7C3YOFX.js.map +1 -0
  82. package/dist/lib/{config-CFT-8XXu.d.cts → config-CHOLTlno.d.cts} +3 -3
  83. package/dist/lib/{config-CwebNcAh.d.ts → config-Cf85ts8m.d.ts} +3 -3
  84. package/dist/lib/config-file.d.cts +1 -1
  85. package/dist/lib/config-file.d.ts +1 -1
  86. package/dist/lib/contexts/api-context.cjs +3 -3
  87. package/dist/lib/contexts/api-context.d.cts +3 -3
  88. package/dist/lib/contexts/api-context.d.ts +3 -3
  89. package/dist/lib/contexts/api-context.js +2 -2
  90. package/dist/lib/contexts/context.d.cts +3 -3
  91. package/dist/lib/contexts/context.d.ts +3 -3
  92. package/dist/lib/contexts/environment-context.cjs +2 -2
  93. package/dist/lib/contexts/environment-context.d.cts +3 -3
  94. package/dist/lib/contexts/environment-context.d.ts +3 -3
  95. package/dist/lib/contexts/environment-context.js +1 -1
  96. package/dist/lib/contexts/index.cjs +4 -4
  97. package/dist/lib/contexts/index.d.cts +3 -3
  98. package/dist/lib/contexts/index.d.ts +3 -3
  99. package/dist/lib/contexts/index.js +2 -2
  100. package/dist/lib/contexts/plugin-context.d.cts +3 -3
  101. package/dist/lib/contexts/plugin-context.d.ts +3 -3
  102. package/dist/lib/entry.d.cts +1 -1
  103. package/dist/lib/entry.d.ts +1 -1
  104. package/dist/lib/fs/index.d.cts +1 -1
  105. package/dist/lib/fs/index.d.ts +1 -1
  106. package/dist/lib/fs/vfs.d.cts +1 -1
  107. package/dist/lib/fs/vfs.d.ts +1 -1
  108. package/dist/lib/index.cjs +6 -6
  109. package/dist/lib/index.d.cts +4 -4
  110. package/dist/lib/index.d.ts +4 -4
  111. package/dist/lib/index.js +3 -3
  112. package/dist/lib/{internal-BavTJeC5.d.cts → internal-CJEi85Up.d.cts} +2 -2
  113. package/dist/lib/{internal-DxQ28691.d.ts → internal-CgJbkA5Y.d.ts} +2 -2
  114. package/dist/lib/logger.d.cts +1 -1
  115. package/dist/lib/logger.d.ts +1 -1
  116. package/dist/lib/typescript/import-transformer.d.cts +1 -1
  117. package/dist/lib/typescript/import-transformer.d.ts +1 -1
  118. package/dist/lib/typescript/index.d.cts +1 -1
  119. package/dist/lib/typescript/index.d.ts +1 -1
  120. package/dist/lib/typescript/ts-morph.d.cts +1 -1
  121. package/dist/lib/typescript/ts-morph.d.ts +1 -1
  122. package/dist/lib/unplugin/factory.cjs +4 -4
  123. package/dist/lib/unplugin/factory.d.cts +3 -3
  124. package/dist/lib/unplugin/factory.d.ts +3 -3
  125. package/dist/lib/unplugin/factory.js +3 -3
  126. package/dist/lib/unplugin/helpers.d.cts +1 -1
  127. package/dist/lib/unplugin/helpers.d.ts +1 -1
  128. package/dist/lib/unplugin/index.cjs +4 -4
  129. package/dist/lib/unplugin/index.d.cts +3 -3
  130. package/dist/lib/unplugin/index.d.ts +3 -3
  131. package/dist/lib/unplugin/index.js +3 -3
  132. package/dist/lib/unplugin/plugin.d.cts +3 -3
  133. package/dist/lib/unplugin/plugin.d.ts +3 -3
  134. package/dist/lib/{unplugin-DVAN82cd.d.cts → unplugin-B_IjyAl1.d.cts} +2 -2
  135. package/dist/lib/{unplugin-CpYxomBB.d.ts → unplugin-CzkNGCn5.d.ts} +2 -2
  136. package/dist/lib/utilities/bundle.d.cts +1 -1
  137. package/dist/lib/utilities/bundle.d.ts +1 -1
  138. package/dist/lib/utilities/cache.d.cts +1 -1
  139. package/dist/lib/utilities/cache.d.ts +1 -1
  140. package/dist/lib/utilities/file-header.d.cts +1 -1
  141. package/dist/lib/utilities/file-header.d.ts +1 -1
  142. package/dist/lib/utilities/index.d.cts +1 -1
  143. package/dist/lib/utilities/index.d.ts +1 -1
  144. package/dist/lib/utilities/meta.d.cts +1 -1
  145. package/dist/lib/utilities/meta.d.ts +1 -1
  146. package/dist/lib/utilities/resolve.d.cts +1 -1
  147. package/dist/lib/utilities/resolve.d.ts +1 -1
  148. package/dist/lib/utilities/source-file.d.cts +1 -1
  149. package/dist/lib/utilities/source-file.d.ts +1 -1
  150. package/dist/lib/utilities/source-map.d.cts +1 -1
  151. package/dist/lib/utilities/source-map.d.ts +1 -1
  152. package/dist/lib/utilities/worker.d.cts +1 -1
  153. package/dist/lib/utilities/worker.d.ts +1 -1
  154. package/dist/lib/utilities/write-file.d.cts +1 -1
  155. package/dist/lib/utilities/write-file.d.ts +1 -1
  156. package/dist/next.cjs +5 -5
  157. package/dist/next.js +4 -4
  158. package/dist/nuxt.cjs +7 -7
  159. package/dist/nuxt.js +5 -5
  160. package/dist/plugin-utils/{context-BwokDIBz.d.cts → context-DDQIG3fZ.d.cts} +4 -4
  161. package/dist/plugin-utils/{context-BwokDIBz.d.ts → context-DDQIG3fZ.d.ts} +4 -4
  162. package/dist/plugin-utils/context-helpers.d.cts +1 -1
  163. package/dist/plugin-utils/context-helpers.d.ts +1 -1
  164. package/dist/plugin-utils/enforce.d.cts +1 -1
  165. package/dist/plugin-utils/enforce.d.ts +1 -1
  166. package/dist/plugin-utils/extend.d.cts +1 -1
  167. package/dist/plugin-utils/extend.d.ts +1 -1
  168. package/dist/plugin-utils/get-config-path.d.cts +1 -1
  169. package/dist/plugin-utils/get-config-path.d.ts +1 -1
  170. package/dist/plugin-utils/helpers.d.cts +3 -3
  171. package/dist/plugin-utils/helpers.d.ts +3 -3
  172. package/dist/plugin-utils/index.d.cts +1 -1
  173. package/dist/plugin-utils/index.d.ts +1 -1
  174. package/dist/plugin-utils/merge.d.cts +1 -1
  175. package/dist/plugin-utils/merge.d.ts +1 -1
  176. package/dist/plugin-utils/paths.d.cts +1 -1
  177. package/dist/plugin-utils/paths.d.ts +1 -1
  178. package/dist/rolldown.cjs +7 -7
  179. package/dist/rolldown.d.cts +1 -1
  180. package/dist/rolldown.d.ts +1 -1
  181. package/dist/rolldown.js +4 -4
  182. package/dist/rollup.cjs +4 -4
  183. package/dist/rollup.d.cts +1 -1
  184. package/dist/rollup.d.ts +1 -1
  185. package/dist/rollup.js +3 -3
  186. package/dist/rspack.cjs +4 -4
  187. package/dist/rspack.d.cts +1 -1
  188. package/dist/rspack.d.ts +1 -1
  189. package/dist/rspack.js +3 -3
  190. package/dist/tsdown.cjs +5 -5
  191. package/dist/tsdown.js +4 -4
  192. package/dist/tsup.cjs +5 -5
  193. package/dist/tsup.js +4 -4
  194. package/dist/types/api.d.cts +2 -2
  195. package/dist/types/api.d.ts +2 -2
  196. package/dist/types/babel.d.cts +1 -1
  197. package/dist/types/babel.d.ts +1 -1
  198. package/dist/types/commands.d.cts +1 -1
  199. package/dist/types/commands.d.ts +1 -1
  200. package/dist/types/config.d.cts +1 -1
  201. package/dist/types/config.d.ts +1 -1
  202. package/dist/types/context.d.cts +1 -1
  203. package/dist/types/context.d.ts +1 -1
  204. package/dist/types/hooks.d.cts +1 -1
  205. package/dist/types/hooks.d.ts +1 -1
  206. package/dist/types/index.cjs +2 -2
  207. package/dist/types/index.d.cts +2 -2
  208. package/dist/types/index.d.ts +2 -2
  209. package/dist/types/index.js +1 -1
  210. package/dist/types/internal.d.cts +2 -2
  211. package/dist/types/internal.d.ts +2 -2
  212. package/dist/types/plugin.cjs +2 -2
  213. package/dist/types/plugin.d.cts +1 -1
  214. package/dist/types/plugin.d.ts +1 -1
  215. package/dist/types/plugin.js +1 -1
  216. package/dist/types/resolved.d.cts +1 -1
  217. package/dist/types/resolved.d.ts +1 -1
  218. package/dist/types/unplugin.d.cts +2 -2
  219. package/dist/types/unplugin.d.ts +2 -2
  220. package/dist/unloader.cjs +4 -4
  221. package/dist/unloader.d.cts +1 -1
  222. package/dist/unloader.d.ts +1 -1
  223. package/dist/unloader.js +3 -3
  224. package/dist/unplugin.cjs +6 -6
  225. package/dist/unplugin.d.cts +2 -2
  226. package/dist/unplugin.d.ts +2 -2
  227. package/dist/unplugin.js +4 -4
  228. package/dist/vite.cjs +7 -7
  229. package/dist/vite.d.cts +1 -1
  230. package/dist/vite.d.ts +1 -1
  231. package/dist/vite.js +4 -4
  232. package/dist/webpack.cjs +7 -7
  233. package/dist/webpack.d.cts +1 -1
  234. package/dist/webpack.d.ts +1 -1
  235. package/dist/webpack.js +4 -4
  236. package/package.json +9 -9
  237. package/dist/chunk-LRZLY3R7.cjs +0 -12
  238. package/dist/chunk-YEBH46ZU.cjs +0 -12
  239. package/dist/lib/chunk-HCJQJ2NV.cjs.map +0 -1
  240. package/dist/lib/chunk-JEB4OVD5.js.map +0 -1
  241. package/dist/lib/chunk-SIYSGNDD.js.map +0 -1
  242. package/dist/lib/chunk-SP5FOE5B.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkHCJQJ2NV_cjs = require('./chunk-HCJQJ2NV.cjs');
3
+ var chunk65ANDTTL_cjs = require('./chunk-65ANDTTL.cjs');
4
4
  var chunk2OMOKN7Y_cjs = require('./chunk-2OMOKN7Y.cjs');
5
5
  var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
6
6
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
@@ -152,7 +152,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk2OMOKN7Y_cjs
152
152
  if (this.environments[environment.name]) {
153
153
  context = this.environments[environment.name];
154
154
  } else {
155
- context = await chunkHCJQJ2NV_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
155
+ context = await chunk65ANDTTL_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
156
156
  }
157
157
  if (isSetObject.isSetObject(this.config.inlineConfig)) {
158
158
  await context.withInlineConfig(this.config.inlineConfig);
@@ -235,5 +235,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk2OMOKN7Y_cjs
235
235
  };
236
236
 
237
237
  exports.PowerlinesAPIContext = PowerlinesAPIContext;
238
- //# sourceMappingURL=chunk-LQMUXGB5.cjs.map
239
- //# sourceMappingURL=chunk-LQMUXGB5.cjs.map
238
+ //# sourceMappingURL=chunk-KOD33DBU.cjs.map
239
+ //# sourceMappingURL=chunk-KOD33DBU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":"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","file":"chunk-LQMUXGB5.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":";;;;;;;;;;;;;;;;;;;AAuBO,IAAMA,mBAAAA,GAAsB,SAAA;AAE5B,SAASC,iBAAAA,CACdC,MACAC,UAAAA,EAA4C;AAE5C,EAAA,OAAOC,sBACLD,UAAAA,CAAWE,YAAAA,GAAeH,IAAAA,CAAAA,IAAS,EAAC,EACpC;AACEA,IAAAA,IAAAA;AACAI,IAAAA,KAAAA,EAAOH,UAAAA,CAAWG,KAAAA,IAASC,mBAAAA,CAAUJ,UAAAA,CAAWD,IAAI,CAAA;IACpDM,GAAAA,EAAK,KAAA;IACLC,UAAAA,EACEN,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;AAAC,MAAA,SAAA;AAAW,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;AACrC,KAAA,GAAA;AAAC,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;;IAChCC,UAAAA,EAAY;AAAC,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,MAAA;AAAQ,MAAA;;AAC3DC,IAAAA,QAAAA,EAAUV,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAAY,QAAA,GAAW,QAAA;IAChEG,OAAAA,EACEX,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;MACEI,IAAAA,EAAM,IAAA;MACNC,IAAAA,EAAM,IAAA;MACNC,UAAAA,EAAY,KAAA;;MAEZC,IAAAA,EAAM,WAAA;MACNC,YAAAA,EAAc;AAAC,QAAA;;MACfC,IAAAA,EAAM,IAAA;AACNC,MAAAA,OAAAA,EAAS;KACX,GACAC;AACR,GAAA,EACAnB,UAAAA,CAAAA;AAEJ;AAhCgBF,wBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAkCT,SAASsB,yBAEdpB,UAAAA,EAA4C;AAC5C,EAAA,OAAOF,iBAAAA,CAAkBD,qBAAqBG,UAAAA,CAAAA;AAChD;AAJgBoB,wBAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;;;ACNT,IAAMC,oBAAAA,GAAN,MAAMA,qBAAAA,SAGHC,mCAAAA,CAAAA;EAxDV;;;AA2DE,EAAA,aAAA,GACE,EAAC;AAEH,EAAA,QAAA,GAAqD,EAAA;AAErD,EAAA,IAAA;;;;;;;;EASA,aAA6BC,IAAAA,CAG3BC,eACAC,MAAAA,EACsC;AACtC,IAAA,MAAMC,OAAAA,GAAU,IAAIL,qBAAAA,CAClB,MAAMM,sCAAoBH,aAAAA,EAAeC,MAAAA,CAAOG,IAAI,CAAA,CAAA;AAEtD,IAAA,MAAMF,OAAAA,CAAQG,eAAeJ,MAAAA,CAAAA;AAE7BC,IAAAA,OAAAA,CAAQI,cAAAA,GAAiB,MAAMC,sBAAAA,CAAe,YAAA,CAAA;AAC9C,IAAA,IAAI,CAACL,QAAQI,cAAAA,EAAgB;AAC3B,MAAA,MAAM,IAAIE,MAAM,kDAAA,CAAA;AAClB,IAAA;AAEA,IAAA,OAAON,OAAAA;AACT,EAAA;;;;;;;;;AAUA,EAAA,IAAoBO,UAAAA,GAAsD;AACxE,IAAA,OAAO,KAAA,CAAMA,UAAAA;AACf,EAAA;;;;;;;;;AAUA,EAAA,IAAoBA,WAClBC,KAAAA,EACA;AACA,IAAA,KAAA,CAAMD,UAAAA,GAAaC,KAAAA;AACnB,IAAA,KAAA,MAAWC,WAAAA,IAAeC,MAAAA,CAAOC,MAAAA,CAAO,IAAA,CAAKnC,YAAY,CAAA,EAAG;AAC1DiC,MAAAA,WAAAA,CAAYF,aAAa,KAAA,CAAMA,UAAAA;AACjC,IAAA;AACF,EAAA;;;;AAKA,EAAA,IAAW/B,YAAAA,GAGT;AACA,IAAA,OAAO,IAAA,CAAK,aAAA;AACd,EAAA;AAEA,EAAA,IAAoBoC,GAAAA,GAAa;AAC/B,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,IAAA,CAAK,IAAA,GAAO,IAAA,CAAKC,SAAAA,CAAU,QAAA,CAAA;AAC7B,IAAA;AAEA,IAAA,OAAO,IAAA,CAAK,IAAA;AACd,EAAA;AAEA,EAAA,IAAWC,OAAAA,GAAyD;AAClE,IAAA,OAAO,IAAA,CAAK,QAAA;AACd,EAAA;AAEA,EAAA,WAAA,CAAsBC,eAAAA,EAAkC;AACtD,IAAA,KAAA,CAAMA,eAAAA,CAAAA;AACR,EAAA;;;;;;EAOA,MAAyBC,IAAAA,CACvBjB,MAAAA,GAAiD,EAAC,EAClD;AACA,IAAA,MAAM,KAAA,CAAMiB,KAAKjB,MAAAA,CAAAA;AAEjB,IAAA,MAAMkB,QAAQC,GAAAA,CACZC,eAAAA,CACE,KAAKpB,MAAAA,CAAOzB,UAAAA,CAAWE,gBACrBkC,MAAAA,CAAOU,IAAAA,CAAK,IAAA,CAAKrB,MAAAA,CAAOzB,WAAWE,YAAY,CAAA,CAAE6C,SAAS,CAAA,GACxDX,MAAAA,CAAOU,KAAK,IAAA,CAAKrB,MAAAA,CAAOzB,UAAAA,CAAWE,YAAY,EAAE8C,GAAAA,CAAIjD,CAAAA,SACnDD,iBAAAA,CAAkBC,IAAAA,EAAM,KAAK0B,MAAAA,CAAOzB,UAAU,CAAA,CAAA,GAEhDoB,wBAAAA,CAAyB,KAAKK,MAAAA,CAAOzB,UAAU,CAAA,CAAA,CACnDgD,GAAAA,CAAI,OAAMC,GAAAA,KAAAA;AACV,MAAA,IAAA,CAAK,cAAcA,GAAAA,CAAIlD,IAAI,IAAI,MAAM,IAAA,CAAKmD,GAAGD,GAAAA,CAAAA;AAC/C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaC,GACXf,WAAAA,EACqD;AACrD,IAAA,IAAIT,OAAAA;AACJ,IAAA,IAAI,IAAA,CAAKxB,YAAAA,CAAaiC,WAAAA,CAAYpC,IAAI,CAAA,EAAG;AACvC2B,MAAAA,OAAAA,GAAU,IAAA,CAAKxB,YAAAA,CAAaiC,WAAAA,CAAYpC,IAAI,CAAA;IAC9C,CAAA,MAAO;AACL2B,MAAAA,OAAAA,GAAW,MAAMyB,8CAAAA,CAA6BC,UAAAA,CAC5C,IAAA,CAAKX,eAAAA,EACL,KAAKhB,MAAM,CAAA;AAEf,IAAA;AAEA,IAAA,IAAI4B,uBAAAA,CAAY,IAAA,CAAK5B,MAAAA,CAAO6B,YAAY,CAAA,EAAG;AACzC,MAAA,MAAM5B,OAAAA,CAAQ6B,gBAAAA,CAAiB,IAAA,CAAK9B,MAAAA,CAAO6B,YAAY,CAAA;AACzD,IAAA;AAEA5B,IAAAA,OAAAA,CAAQS,WAAAA,GAAcA,WAAAA;AACtBT,IAAAA,OAAAA,CAAQc,UAAU,EAAA;AAElB,IAAA,KAAA,MAAWgB,MAAAA,IAAU,KAAKhB,OAAAA,EAAS;AACjC,MAAA,MAAMd,OAAAA,CAAQ+B,UAAUD,MAAAA,CAAAA;AAC1B,IAAA;AAEA,IAAA,OAAO9B,OAAAA;AACT,EAAA;;;;;;EAOA,MAAsBG,cAAAA,CACpB7B,YACA0D,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAM9B,cAAAA,CAAe7B,UAAAA,EAAY0D,OAAAA,CAAAA;AAEvC,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAO8B,cAAAA,CAC9B7B,YACA0D,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;EAOA,MAAsBH,gBAAAA,CACpBD,cACAI,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAMJ,gBAAAA,CAAiBD,YAAAA,EAAcI,OAAAA,CAAAA;AAE3C,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAOwD,gBAAAA,CAC9BD,cACAI,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;AAOA,EAAA,MAAaD,UAAUD,MAAAA,EAAgD;AACrE,IAAA,IAAA,CAAKhB,OAAAA,CAAQoB,KAAKJ,MAAAA,CAAAA;AAElB,IAAA,MAAMb,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK5C,YAAY,CAAA,CAAE8C,GAAAA,CAAI,OAAMjD,IAAAA,KAAAA;AACvC,MAAA,MAAM,IAAA,CAAKG,YAAAA,CAAaH,IAAAA,CAAAA,CAAO0D,UAAUD,MAAAA,CAAAA;AAC3C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaK,eAAe9D,IAAAA,EAAe;AACzC,IAAA,IAAIoC,WAAAA;AACJ,IAAA,IAAIpC,IAAAA,EAAM;AACRoC,MAAAA,WAAAA,GAAc,IAAA,CAAKjC,aAAaH,IAAAA,CAAAA;AAClC,IAAA;AAEA,IAAA,IAAIqC,OAAOU,IAAAA,CAAK,IAAA,CAAK5C,YAAY,CAAA,CAAE6C,WAAW,CAAA,EAAG;AAC/CZ,MAAAA,WAAAA,GAAc,IAAA,CAAKjC,aAAakC,MAAAA,CAAOU,IAAAA,CAAK,KAAK5C,YAAY,CAAA,CAAE,CAAA,CAAE,CAAA;AAEjE,MAAA,IAAA,CAAKoC,GAAAA,CACHwB,mBAAAA,CAAcC,KAAAA,EACd,CAAA,0CAAA,EAA6CC,sBAAAA,CAAMC,IAAAA,CAAKC,UAAAA,CACtD/B,WAAAA,EAAaA,WAAAA,CAAYpC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,IAAI,CAACoC,WAAAA,EAAa;AAChB,MAAA,IAAIpC,IAAAA,EAAM;AACR,QAAA,MAAM,IAAIiC,KAAAA,CAAM,CAAA,aAAA,EAAgBjC,IAAAA,CAAAA,YAAAA,CAAkB,CAAA;AACpD,MAAA;AAEAoC,MAAAA,WAAAA,GAAc,MAAM,IAAA,CAAKe,EAAAA,CACvB9B,yBAAyB,IAAA,CAAKK,MAAAA,CAAOzB,UAAU,CAAA,CAAA;AAGjD,MAAA,IAAA,CAAKsC,GAAAA,CACHwB,mBAAAA,CAAcK,IAAAA,EACd,CAAA,mGAAA,EAAsGH,sBAAAA,CAAMC,IAAAA,CAAKC,UAAAA,CAC/G/B,WAAAA,EAAaA,WAAAA,CAAYpC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,OAAOoC,WAAAA;AACT,EAAA;AAEA,EAAA,MAAaiC,mBACXrE,IAAAA,EAC0D;AAC1D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,IAAA,CAAK8D,cAAAA,CAAe9D,IAAAA,CAAAA;IACnC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAOoB,MAAAA;AACT,IAAA;AACF,EAAA;AACF","file":"chunk-KOD33DBU.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { PowerlinesEnvironmentContext } from './chunk-JEB4OVD5.js';
1
+ import { PowerlinesEnvironmentContext } from './chunk-FHSSBMCC.js';
2
2
  import { PowerlinesContext } from './chunk-7CDTHZ3R.js';
3
3
  import { loadWorkspaceConfig } from './chunk-Q25ZPXA7.js';
4
4
  import { __name } from './chunk-7QVYU63E.js';
@@ -228,5 +228,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
228
228
  };
229
229
 
230
230
  export { PowerlinesAPIContext };
231
- //# sourceMappingURL=chunk-MZ3GS5X3.js.map
232
- //# sourceMappingURL=chunk-MZ3GS5X3.js.map
231
+ //# sourceMappingURL=chunk-M7SU453W.js.map
232
+ //# sourceMappingURL=chunk-M7SU453W.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":"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","file":"chunk-MZ3GS5X3.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["DEFAULT_ENVIRONMENT","createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","PowerlinesAPIContext","PowerlinesContext","from","workspaceRoot","config","context","loadWorkspaceConfig","root","withUserConfig","powerlinesPath","resolvePackage","Error","$$internal","value","environment","Object","values","log","createLog","plugins","workspaceConfig","init","Promise","all","toArray","keys","length","map","env","in","PowerlinesEnvironmentContext","fromConfig","isSetObject","inlineConfig","withInlineConfig","plugin","addPlugin","options","isHighPriority","push","getEnvironment","LogLevelLabel","DEBUG","chalk","bold","cyanBright","WARN","getEnvironmentSafe"],"mappings":"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","file":"chunk-M7SU453W.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\n\nexport const DEFAULT_ENVIRONMENT = \"default\" as const;\n\nexport function createEnvironment<TContext extends Context = Context>(\n name: string,\n userConfig: TContext[\"config\"][\"userConfig\"]\n): EnvironmentResolvedConfig {\n return defu(\n userConfig.environments?.[name] ?? {},\n {\n name,\n title: userConfig.title || titleCase(userConfig.name),\n ssr: false,\n mainFields:\n userConfig.build?.platform === \"browser\"\n ? [\"browser\", \"module\", \"jsnext:main\", \"jsnext\"]\n : [\"module\", \"jsnext:main\", \"jsnext\"],\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"],\n consumer: userConfig.build?.platform === \"browser\" ? \"client\" : \"server\",\n preview:\n userConfig.build?.platform === \"browser\"\n ? {\n port: 5173,\n open: true,\n strictPort: false,\n // https: false,\n host: \"localhost\",\n allowedHosts: [\".\"],\n cors: true,\n headers: {}\n }\n : undefined\n },\n userConfig\n ) as EnvironmentResolvedConfig;\n}\n\nexport function createDefaultEnvironment<\n TContext extends APIContext = APIContext\n>(userConfig: TContext[\"config\"][\"userConfig\"]): EnvironmentResolvedConfig {\n return createEnvironment(DEFAULT_ENVIRONMENT, userConfig);\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport chalk from \"chalk\";\nimport {\n createDefaultEnvironment,\n createEnvironment\n} from \"../../internal/helpers/environment\";\nimport {\n InitialUserConfig,\n InlineConfig,\n LogFn,\n UserConfig,\n WorkspaceConfig\n} from \"../../types/config\";\nimport {\n APIContext,\n EnvironmentContext,\n InitContextOptions,\n PluginContext\n} from \"../../types/context\";\nimport {\n UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/internal\";\nimport { Plugin } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { loadWorkspaceConfig } from \"../config-file\";\nimport { PowerlinesContext } from \"./context\";\nimport { PowerlinesEnvironmentContext } from \"./environment-context\";\n\nexport class PowerlinesAPIContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements APIContext<TResolvedConfig>\n{\n #environments: Record<string, UNSAFE_EnvironmentContext<TResolvedConfig>> =\n {};\n\n #plugins: Plugin<PluginContext<TResolvedConfig>>[] = [];\n\n #log!: LogFn;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceRoot - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static override async from<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceRoot: string,\n config: InitialUserConfig<TResolvedConfig[\"userConfig\"]>\n ): Promise<APIContext<TResolvedConfig>> {\n const context = new PowerlinesAPIContext<TResolvedConfig>(\n await loadWorkspaceConfig(workspaceRoot, config.root)\n );\n await context.withUserConfig(config);\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override get $$internal(): UNSAFE_ContextInternal<TResolvedConfig> {\n return super.$$internal;\n }\n\n /**\n * Internal context fields and methods\n *\n * @danger\n * This field is for internal use only and should not be accessed or modified directly. It is unstable and can be changed at anytime.\n *\n * @internal\n */\n public override set $$internal(\n value: UNSAFE_ContextInternal<TResolvedConfig>\n ) {\n super.$$internal = value;\n for (const environment of Object.values(this.environments)) {\n environment.$$internal = super.$$internal;\n }\n }\n\n /**\n * A record of all environments by name\n */\n public get environments(): Record<\n string,\n UNSAFE_EnvironmentContext<TResolvedConfig>\n > {\n return this.#environments;\n }\n\n public override get log(): LogFn {\n if (!this.#log) {\n this.#log = this.createLog(\"engine\");\n }\n\n return this.#log;\n }\n\n public get plugins(): Array<Plugin<PluginContext<TResolvedConfig>>> {\n return this.#plugins;\n }\n\n protected constructor(workspaceConfig: WorkspaceConfig) {\n super(workspaceConfig);\n }\n\n /**\n * Initialize the context with the provided configuration options\n *\n * @param config - The partial user configuration to use for initialization.\n */\n protected override async init(\n config: Partial<TResolvedConfig[\"userConfig\"]> = {}\n ) {\n await super.init(config);\n\n await Promise.all(\n toArray(\n this.config.userConfig.environments &&\n Object.keys(this.config.userConfig.environments).length > 0\n ? Object.keys(this.config.userConfig.environments).map(name =>\n createEnvironment(name, this.config.userConfig)\n )\n : createDefaultEnvironment(this.config.userConfig)\n ).map(async env => {\n this.#environments[env.name] = await this.in(env);\n })\n );\n }\n\n /**\n * A function to copy the context and update the fields for a specific environment\n *\n * @param environment - The environment configuration to use.\n * @returns A new context instance with the updated environment.\n */\n public async in(\n environment: EnvironmentResolvedConfig\n ): Promise<UNSAFE_EnvironmentContext<TResolvedConfig>> {\n let context: UNSAFE_EnvironmentContext<TResolvedConfig>;\n if (this.environments[environment.name]) {\n context = this.environments[environment.name] as any;\n } else {\n context = (await PowerlinesEnvironmentContext.fromConfig(\n this.workspaceConfig,\n this.config\n )) as any;\n }\n\n if (isSetObject(this.config.inlineConfig)) {\n await context.withInlineConfig(this.config.inlineConfig);\n }\n\n context.environment = environment;\n context.plugins = [];\n\n for (const plugin of this.plugins) {\n await context.addPlugin(plugin);\n }\n\n return context;\n }\n\n /**\n * Update the context using a new user configuration options\n *\n * @param userConfig - The new user configuration options.\n */\n public override async withUserConfig(\n userConfig: InitialUserConfig<TResolvedConfig[\"userConfig\"]>,\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withUserConfig(userConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withUserConfig(\n userConfig as UserConfig,\n options\n );\n })\n );\n }\n\n /**\n * Update the context using a new inline configuration options\n *\n * @param inlineConfig - The new inline configuration options.\n */\n public override async withInlineConfig(\n inlineConfig: TResolvedConfig[\"inlineConfig\"],\n options: InitContextOptions = {\n isHighPriority: true\n }\n ) {\n await super.withInlineConfig(inlineConfig, options);\n\n await Promise.all(\n Object.keys(this.#environments).map(async name => {\n await this.#environments[name]!.withInlineConfig(\n inlineConfig as InlineConfig,\n options\n );\n })\n );\n }\n\n /**\n * Add a plugin to the API context and all environments\n *\n * @param plugin - The plugin to add.\n */\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n this.plugins.push(plugin);\n\n await Promise.all(\n Object.keys(this.environments).map(async name => {\n await this.environments[name]!.addPlugin(plugin);\n })\n );\n }\n\n /**\n * Get an environment by name, or the default environment if no name is provided\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context.\n */\n public async getEnvironment(name?: string) {\n let environment: EnvironmentContext<TResolvedConfig> | undefined;\n if (name) {\n environment = this.environments[name];\n }\n\n if (Object.keys(this.environments).length === 1) {\n environment = this.environments[Object.keys(this.environments)[0]!];\n\n this.log(\n LogLevelLabel.DEBUG,\n `Applying the only configured environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n if (!environment) {\n if (name) {\n throw new Error(`Environment \"${name}\" not found.`);\n }\n\n environment = await this.in(\n createDefaultEnvironment(this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.WARN,\n `No environment specified, and no default environment found. Using a temporary default environment: ${chalk.bold.cyanBright(\n environment?.environment.name\n )}`\n );\n }\n\n return environment;\n }\n\n public async getEnvironmentSafe(\n name?: string\n ): Promise<EnvironmentContext<TResolvedConfig> | undefined> {\n try {\n return await this.getEnvironment(name);\n } catch {\n return undefined;\n }\n }\n}\n"]}
@@ -12,7 +12,10 @@ var DEFAULT_TSDOWN_CONFIG = {
12
12
  minify: true,
13
13
  sourcemap: false,
14
14
  cjsDefault: true,
15
- dts: true,
15
+ dts: {
16
+ parallel: true,
17
+ newContext: true
18
+ },
16
19
  shims: true,
17
20
  silent: true,
18
21
  treeshake: true,
@@ -74,7 +77,7 @@ function extractTsdownConfig(context) {
74
77
  cwd: appendPath(context.config.projectRoot, context.workspaceConfig.workspaceRoot),
75
78
  outDir: replacePath(appendPath(context.config.output.buildPath, context.workspaceConfig.workspaceRoot), appendPath(context.config.projectRoot, context.workspaceConfig.workspaceRoot)),
76
79
  tsconfig: appendPath(context.tsconfig.tsconfigFilePath, context.workspaceConfig.workspaceRoot),
77
- format: context.config.output.format,
80
+ format: toArray(context.config.output.format).map((format) => format === "esm" ? "es" : format).filter(Boolean),
78
81
  mode: context.config.mode,
79
82
  treeshake: context.config.build.variant === "tsdown" ? context.config.build?.treeshake : context.config.build.variant === "tsup" ? context.config.build?.treeshake : context.config.build.variant === "esbuild" ? context.config.build?.treeShaking : void 0,
80
83
  minify: context.config.mode !== "development",
@@ -85,16 +88,16 @@ function extractTsdownConfig(context) {
85
88
  logLevel: context.config.logLevel === "trace" ? "debug" : context.config.logLevel,
86
89
  customLogger: {
87
90
  level: context.config.logLevel === "trace" ? "debug" : context.config.logLevel,
88
- info: /* @__PURE__ */ __name((message) => formatMessage(context, message) && context.info(formatMessage(context, message)), "info"),
89
- warn: /* @__PURE__ */ __name((message) => formatMessage(context, message) && context.warn(formatMessage(context, message)), "warn"),
90
- warnOnce: /* @__PURE__ */ __name((message) => formatMessage(context, message) && context.warn(formatMessage(context, message)), "warnOnce"),
91
- error: /* @__PURE__ */ __name((message) => formatMessage(context, message) && context.error(formatMessage(context, message)), "error"),
92
- success: /* @__PURE__ */ __name((message) => formatMessage(context, message) && context.info(formatMessage(context, message)), "success")
91
+ info: /* @__PURE__ */ __name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.info(formatMessage(context, message)), "info"),
92
+ warn: /* @__PURE__ */ __name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.warn(formatMessage(context, message)), "warn"),
93
+ warnOnce: /* @__PURE__ */ __name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.warn(formatMessage(context, message)), "warnOnce"),
94
+ error: /* @__PURE__ */ __name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.error(formatMessage(context, message)), "error"),
95
+ success: /* @__PURE__ */ __name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.info(formatMessage(context, message)), "success")
93
96
  }
94
97
  }, DEFAULT_TSDOWN_CONFIG);
95
98
  }
96
99
  __name(extractTsdownConfig, "extractTsdownConfig");
97
100
 
98
101
  export { DEFAULT_TSDOWN_CONFIG, extractTsdownConfig, resolveFromTsdownFormat, resolveTsdownFormat };
99
- //# sourceMappingURL=chunk-SIYSGNDD.js.map
100
- //# sourceMappingURL=chunk-SIYSGNDD.js.map
102
+ //# sourceMappingURL=chunk-Q7C3YOFX.js.map
103
+ //# sourceMappingURL=chunk-Q7C3YOFX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/build/tsdown.ts"],"names":["DEFAULT_TSDOWN_CONFIG","platform","target","minify","sourcemap","cjsDefault","dts","parallel","newContext","shims","silent","treeshake","fixedExtension","nodeProtocol","resolveTsdownFormat","formats","toArray","map","format","resolveFromTsdownFormat","formatMessage","context","message","replace","RegExp","config","name","trim","extractTsdownConfig","defu","entry","typeDef","parseTypeDefinition","file","filter","Boolean","alias","builtins","reduce","ret","id","path","fs","ids","noExternal","build","variant","override","omit","cwd","appendPath","projectRoot","workspaceConfig","workspaceRoot","outDir","replacePath","output","buildPath","tsconfig","tsconfigFilePath","mode","treeShaking","undefined","metafile","debug","logLevel","customLogger","level","info","length","warn","warnOnce","error","success"],"mappings":"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","file":"chunk-Q7C3YOFX.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Format } from \"@storm-software/build-tools/types\";\nimport { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { replacePath } from \"@stryke/path/replace\";\nimport defu from \"defu\";\nimport { Format as TsdownFormat } from \"tsdown\";\nimport {\n ESBuildBuildConfig,\n TsdownBuildConfig,\n TsdownResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\n\nexport const DEFAULT_TSDOWN_CONFIG: Partial<TsdownResolvedBuildConfig> = {\n platform: \"neutral\",\n target: \"esnext\",\n minify: true,\n sourcemap: false,\n cjsDefault: true,\n dts: {\n parallel: true,\n newContext: true\n },\n shims: true,\n silent: true,\n treeshake: true,\n fixedExtension: true,\n nodeProtocol: false\n} as const;\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveTsdownFormat(\n formats?: Format | Format[]\n): TsdownFormat[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n default:\n return \"esm\";\n }\n });\n}\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFromTsdownFormat(\n formats?: TsdownFormat | TsdownFormat[]\n): Format[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n case \"commonjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n case \"es\":\n case \"module\":\n case \"umd\":\n default:\n return \"esm\";\n }\n });\n}\n\nconst formatMessage = (context: Context, message: string) =>\n message.replace(new RegExp(`\\\\[${context.config.name}\\\\]`, \"g\"), \"\").trim();\n\n/**\n * Resolves the options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractTsdownConfig(\n context: Context\n): TsdownResolvedBuildConfig {\n return defu(\n {\n entry: toArray(context.config.entry)\n .map(entry => {\n const typeDef = parseTypeDefinition(entry);\n\n return typeDef?.file;\n })\n .filter(Boolean) as string[],\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n ),\n noExternal: context.builtins\n },\n context.config.build.variant === \"tsdown\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"tsdown\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n name: context.config.name,\n cwd: appendPath(\n context.config.projectRoot,\n context.workspaceConfig.workspaceRoot\n ),\n outDir: replacePath(\n appendPath(\n context.config.output.buildPath,\n context.workspaceConfig.workspaceRoot\n ),\n appendPath(\n context.config.projectRoot,\n context.workspaceConfig.workspaceRoot\n )\n ),\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.workspaceConfig.workspaceRoot\n ),\n format: toArray(context.config.output.format)\n .map(format => (format === \"esm\" ? \"es\" : format))\n .filter(Boolean) as TsdownFormat[],\n mode: context.config.mode,\n treeshake:\n context.config.build.variant === \"tsdown\"\n ? (context.config.build as TsdownBuildConfig)?.treeshake\n : context.config.build.variant === \"tsup\"\n ? (context.config.build as TsupBuildConfig)?.treeshake\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig)?.treeShaking\n : undefined,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\",\n debug: context.config.mode === \"development\",\n silent:\n context.config.logLevel === null ||\n context.config.mode === \"production\",\n logLevel:\n context.config.logLevel === \"trace\" ? \"debug\" : context.config.logLevel,\n customLogger: {\n level:\n context.config.logLevel === \"trace\"\n ? \"debug\"\n : context.config.logLevel,\n info: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.info(formatMessage(context, message)),\n warn: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.warn(formatMessage(context, message)),\n warnOnce: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.warn(formatMessage(context, message)),\n error: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.error(formatMessage(context, message)),\n success: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.info(formatMessage(context, message))\n }\n } as TsdownResolvedBuildConfig,\n DEFAULT_TSDOWN_CONFIG\n );\n}\n"]}
@@ -294,9 +294,9 @@ interface PluginHookObject<THookFunction extends FunctionLike, TFilter extends k
294
294
  }
295
295
  type PluginHook<THookFunction extends FunctionLike, TFilter extends keyof HookFilter = never> = THookFunction | PluginHookObject<THookFunction, TFilter>;
296
296
  /**
297
- * A result returned by the plugin from the `generateTypes` hook that describes the declaration types output file.
297
+ * A result returned by the plugin from the `types` hook that describes the declaration types output file.
298
298
  */
299
- interface GenerateTypesResult {
299
+ interface TypesResult {
300
300
  directives?: string[];
301
301
  code: string;
302
302
  }
@@ -350,7 +350,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
350
350
  * @param code - The source code to generate types for.
351
351
  * @returns A promise that resolves when the hook is complete.
352
352
  */
353
- generateTypes: (this: TContext, code: string) => MaybePromise<GenerateTypesResult | string | undefined | null>;
353
+ types: (this: TContext, code: string) => MaybePromise<TypesResult | string | undefined | null>;
354
354
  /**
355
355
  * A hook that is called at the start of the build process.
356
356
  *
@@ -294,9 +294,9 @@ interface PluginHookObject<THookFunction extends FunctionLike, TFilter extends k
294
294
  }
295
295
  type PluginHook<THookFunction extends FunctionLike, TFilter extends keyof HookFilter = never> = THookFunction | PluginHookObject<THookFunction, TFilter>;
296
296
  /**
297
- * A result returned by the plugin from the `generateTypes` hook that describes the declaration types output file.
297
+ * A result returned by the plugin from the `types` hook that describes the declaration types output file.
298
298
  */
299
- interface GenerateTypesResult {
299
+ interface TypesResult {
300
300
  directives?: string[];
301
301
  code: string;
302
302
  }
@@ -350,7 +350,7 @@ interface BasePluginHookFunctions<TContext extends PluginContext = PluginContext
350
350
  * @param code - The source code to generate types for.
351
351
  * @returns A promise that resolves when the hook is complete.
352
352
  */
353
- generateTypes: (this: TContext, code: string) => MaybePromise<GenerateTypesResult | string | undefined | null>;
353
+ types: (this: TContext, code: string) => MaybePromise<TypesResult | string | undefined | null>;
354
354
  /**
355
355
  * A hook that is called at the start of the build process.
356
356
  *
@@ -1,5 +1,5 @@
1
1
  import { Jiti } from 'jiti';
2
- import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-CFT-8XXu.cjs';
2
+ import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-CHOLTlno.cjs';
3
3
  import '@storm-software/build-tools/types';
4
4
  import '@storm-software/config-tools/types';
5
5
  import '@storm-software/config/types';
@@ -1,5 +1,5 @@
1
1
  import { Jiti } from 'jiti';
2
- import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-CwebNcAh.js';
2
+ import { C as Context, W as WorkspaceConfig, P as PowerlinesCommand, a as ParsedUserConfig } from './config-Cf85ts8m.js';
3
3
  import '@storm-software/build-tools/types';
4
4
  import '@storm-software/config-tools/types';
5
5
  import '@storm-software/config/types';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkLQMUXGB5_cjs = require('../chunk-LQMUXGB5.cjs');
4
- require('../chunk-HCJQJ2NV.cjs');
3
+ var chunkKOD33DBU_cjs = require('../chunk-KOD33DBU.cjs');
4
+ require('../chunk-65ANDTTL.cjs');
5
5
  require('../chunk-63DAS6TJ.cjs');
6
6
  require('../chunk-2OMOKN7Y.cjs');
7
7
  require('../chunk-BJGMF356.cjs');
@@ -22,7 +22,7 @@ require('../chunk-PK6SKIKE.cjs');
22
22
 
23
23
  Object.defineProperty(exports, "PowerlinesAPIContext", {
24
24
  enumerable: true,
25
- get: function () { return chunkLQMUXGB5_cjs.PowerlinesAPIContext; }
25
+ get: function () { return chunkKOD33DBU_cjs.PowerlinesAPIContext; }
26
26
  });
27
27
  //# sourceMappingURL=api-context.cjs.map
28
28
  //# sourceMappingURL=api-context.cjs.map
@@ -1,5 +1,5 @@
1
- import { g as ResolvedConfig, A as APIContext, I as InitialUserConfig, L as LogFn, h as Plugin, i as PluginContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, k as InitContextOptions, l as EnvironmentContext } from '../config-CFT-8XXu.cjs';
2
- import { a as UNSAFE_ContextInternal, b as UNSAFE_EnvironmentContext } from '../internal-BavTJeC5.cjs';
1
+ import { g as ResolvedConfig, A as APIContext, I as InitialUserConfig, L as LogFn, h as Plugin, i as PluginContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, k as InitContextOptions, l as EnvironmentContext } from '../config-CHOLTlno.cjs';
2
+ import { a as UNSAFE_ContextInternal, b as UNSAFE_EnvironmentContext } from '../internal-CJEi85Up.cjs';
3
3
  import { PowerlinesContext } from './context.cjs';
4
4
  import '@storm-software/build-tools/types';
5
5
  import '@storm-software/config-tools/types';
@@ -35,7 +35,7 @@ import '@stryke/types/array';
35
35
  import '../tsconfig-Bz-CiFqD.cjs';
36
36
  import '@stryke/types/tsconfig';
37
37
  import 'typescript';
38
- import '../api-BvkhY-MU.cjs';
38
+ import '../api-DzuW_qQS.cjs';
39
39
  import 'flat-cache';
40
40
 
41
41
  declare class PowerlinesAPIContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends PowerlinesContext<TResolvedConfig> implements APIContext<TResolvedConfig> {
@@ -1,5 +1,5 @@
1
- import { g as ResolvedConfig, A as APIContext, I as InitialUserConfig, L as LogFn, h as Plugin, i as PluginContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, k as InitContextOptions, l as EnvironmentContext } from '../config-CwebNcAh.js';
2
- import { a as UNSAFE_ContextInternal, b as UNSAFE_EnvironmentContext } from '../internal-DxQ28691.js';
1
+ import { g as ResolvedConfig, A as APIContext, I as InitialUserConfig, L as LogFn, h as Plugin, i as PluginContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, k as InitContextOptions, l as EnvironmentContext } from '../config-Cf85ts8m.js';
2
+ import { a as UNSAFE_ContextInternal, b as UNSAFE_EnvironmentContext } from '../internal-CgJbkA5Y.js';
3
3
  import { PowerlinesContext } from './context.js';
4
4
  import '@storm-software/build-tools/types';
5
5
  import '@storm-software/config-tools/types';
@@ -35,7 +35,7 @@ import '@stryke/types/array';
35
35
  import '../tsconfig-Bz-CiFqD.js';
36
36
  import '@stryke/types/tsconfig';
37
37
  import 'typescript';
38
- import '../api-1xCU-974.js';
38
+ import '../api-DPyF-O8S.js';
39
39
  import 'flat-cache';
40
40
 
41
41
  declare class PowerlinesAPIContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends PowerlinesContext<TResolvedConfig> implements APIContext<TResolvedConfig> {
@@ -1,5 +1,5 @@
1
- export { PowerlinesAPIContext } from '../chunk-MZ3GS5X3.js';
2
- import '../chunk-JEB4OVD5.js';
1
+ export { PowerlinesAPIContext } from '../chunk-M7SU453W.js';
2
+ import '../chunk-FHSSBMCC.js';
3
3
  import '../chunk-6OGQTUXF.js';
4
4
  import '../chunk-7CDTHZ3R.js';
5
5
  import '../chunk-45D4XIOK.js';
@@ -6,9 +6,9 @@ import { Range } from 'semver';
6
6
  import { Project } from 'ts-morph';
7
7
  import { RequestInfo, Response } from 'undici';
8
8
  import { ExternalIdResult, UnpluginMessage } from 'unplugin';
9
- import { g as ResolvedConfig, C as Context, I as InitialUserConfig, M as MetaInfo, p as Resolver, R as ResolvedEntryTypeDefinition, L as LogFn, W as WorkspaceConfig, F as FetchOptions, q as ParseOptions, r as TransformResult, k as InitContextOptions } from '../config-CFT-8XXu.cjs';
9
+ import { g as ResolvedConfig, C as Context, I as InitialUserConfig, M as MetaInfo, p as Resolver, R as ResolvedEntryTypeDefinition, L as LogFn, W as WorkspaceConfig, F as FetchOptions, q as ParseOptions, r as TransformResult, k as InitContextOptions } from '../config-CHOLTlno.cjs';
10
10
  import { V as VirtualFileSystemInterface, R as ResolveOptions, a as VirtualFile, W as WriteOptions } from '../fs-abWbkR69.cjs';
11
- import { a as UNSAFE_ContextInternal } from '../internal-BavTJeC5.cjs';
11
+ import { a as UNSAFE_ContextInternal } from '../internal-CJEi85Up.cjs';
12
12
  import { P as ParsedTypeScriptConfig } from '../tsconfig-Bz-CiFqD.cjs';
13
13
  import '@storm-software/build-tools/types';
14
14
  import '@storm-software/config-tools/types';
@@ -33,7 +33,7 @@ import 'jiti';
33
33
  import 'magic-string';
34
34
  import '@stryke/types/array';
35
35
  import '@stryke/fs/resolve';
36
- import '../api-BvkhY-MU.cjs';
36
+ import '../api-DzuW_qQS.cjs';
37
37
  import '@stryke/types/tsconfig';
38
38
  import 'typescript';
39
39
 
@@ -6,9 +6,9 @@ import { Range } from 'semver';
6
6
  import { Project } from 'ts-morph';
7
7
  import { RequestInfo, Response } from 'undici';
8
8
  import { ExternalIdResult, UnpluginMessage } from 'unplugin';
9
- import { g as ResolvedConfig, C as Context, I as InitialUserConfig, M as MetaInfo, p as Resolver, R as ResolvedEntryTypeDefinition, L as LogFn, W as WorkspaceConfig, F as FetchOptions, q as ParseOptions, r as TransformResult, k as InitContextOptions } from '../config-CwebNcAh.js';
9
+ import { g as ResolvedConfig, C as Context, I as InitialUserConfig, M as MetaInfo, p as Resolver, R as ResolvedEntryTypeDefinition, L as LogFn, W as WorkspaceConfig, F as FetchOptions, q as ParseOptions, r as TransformResult, k as InitContextOptions } from '../config-Cf85ts8m.js';
10
10
  import { V as VirtualFileSystemInterface, R as ResolveOptions, a as VirtualFile, W as WriteOptions } from '../fs-abWbkR69.js';
11
- import { a as UNSAFE_ContextInternal } from '../internal-DxQ28691.js';
11
+ import { a as UNSAFE_ContextInternal } from '../internal-CgJbkA5Y.js';
12
12
  import { P as ParsedTypeScriptConfig } from '../tsconfig-Bz-CiFqD.js';
13
13
  import '@storm-software/build-tools/types';
14
14
  import '@storm-software/config-tools/types';
@@ -33,7 +33,7 @@ import 'jiti';
33
33
  import 'magic-string';
34
34
  import '@stryke/types/array';
35
35
  import '@stryke/fs/resolve';
36
- import '../api-1xCU-974.js';
36
+ import '../api-DPyF-O8S.js';
37
37
  import '@stryke/types/tsconfig';
38
38
  import 'typescript';
39
39
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkHCJQJ2NV_cjs = require('../chunk-HCJQJ2NV.cjs');
3
+ var chunk65ANDTTL_cjs = require('../chunk-65ANDTTL.cjs');
4
4
  require('../chunk-63DAS6TJ.cjs');
5
5
  require('../chunk-2OMOKN7Y.cjs');
6
6
  require('../chunk-BJGMF356.cjs');
@@ -21,7 +21,7 @@ require('../chunk-PK6SKIKE.cjs');
21
21
 
22
22
  Object.defineProperty(exports, "PowerlinesEnvironmentContext", {
23
23
  enumerable: true,
24
- get: function () { return chunkHCJQJ2NV_cjs.PowerlinesEnvironmentContext; }
24
+ get: function () { return chunk65ANDTTL_cjs.PowerlinesEnvironmentContext; }
25
25
  });
26
26
  //# sourceMappingURL=environment-context.cjs.map
27
27
  //# sourceMappingURL=environment-context.cjs.map
@@ -1,4 +1,4 @@
1
- import { g as ResolvedConfig, l as EnvironmentContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, m as EnvironmentContextPlugin, H as HooksList, i as PluginContext, h as Plugin, n as HookKeys, S as SelectHooksOptions, o as SelectHooksResult } from '../config-CFT-8XXu.cjs';
1
+ import { g as ResolvedConfig, l as EnvironmentContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, m as EnvironmentContextPlugin, H as HooksList, i as PluginContext, h as Plugin, n as HookKeys, S as SelectHooksOptions, o as SelectHooksResult } from '../config-CHOLTlno.cjs';
2
2
  import { PowerlinesContext } from './context.cjs';
3
3
  import '@storm-software/build-tools/types';
4
4
  import '@storm-software/config-tools/types';
@@ -35,8 +35,8 @@ import '../tsconfig-Bz-CiFqD.cjs';
35
35
  import '@stryke/types/tsconfig';
36
36
  import 'typescript';
37
37
  import 'flat-cache';
38
- import '../internal-BavTJeC5.cjs';
39
- import '../api-BvkhY-MU.cjs';
38
+ import '../internal-CJEi85Up.cjs';
39
+ import '../api-DzuW_qQS.cjs';
40
40
 
41
41
  declare class PowerlinesEnvironmentContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends PowerlinesContext<TResolvedConfig> implements EnvironmentContext<TResolvedConfig> {
42
42
  #private;
@@ -1,4 +1,4 @@
1
- import { g as ResolvedConfig, l as EnvironmentContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, m as EnvironmentContextPlugin, H as HooksList, i as PluginContext, h as Plugin, n as HookKeys, S as SelectHooksOptions, o as SelectHooksResult } from '../config-CwebNcAh.js';
1
+ import { g as ResolvedConfig, l as EnvironmentContext, W as WorkspaceConfig, j as EnvironmentResolvedConfig, m as EnvironmentContextPlugin, H as HooksList, i as PluginContext, h as Plugin, n as HookKeys, S as SelectHooksOptions, o as SelectHooksResult } from '../config-Cf85ts8m.js';
2
2
  import { PowerlinesContext } from './context.js';
3
3
  import '@storm-software/build-tools/types';
4
4
  import '@storm-software/config-tools/types';
@@ -35,8 +35,8 @@ import '../tsconfig-Bz-CiFqD.js';
35
35
  import '@stryke/types/tsconfig';
36
36
  import 'typescript';
37
37
  import 'flat-cache';
38
- import '../internal-DxQ28691.js';
39
- import '../api-1xCU-974.js';
38
+ import '../internal-CgJbkA5Y.js';
39
+ import '../api-DPyF-O8S.js';
40
40
 
41
41
  declare class PowerlinesEnvironmentContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> extends PowerlinesContext<TResolvedConfig> implements EnvironmentContext<TResolvedConfig> {
42
42
  #private;
@@ -1,4 +1,4 @@
1
- export { PowerlinesEnvironmentContext } from '../chunk-JEB4OVD5.js';
1
+ export { PowerlinesEnvironmentContext } from '../chunk-FHSSBMCC.js';
2
2
  import '../chunk-6OGQTUXF.js';
3
3
  import '../chunk-7CDTHZ3R.js';
4
4
  import '../chunk-45D4XIOK.js';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-QMKA57N4.cjs');
4
- var chunkLQMUXGB5_cjs = require('../chunk-LQMUXGB5.cjs');
5
- var chunkHCJQJ2NV_cjs = require('../chunk-HCJQJ2NV.cjs');
4
+ var chunkKOD33DBU_cjs = require('../chunk-KOD33DBU.cjs');
5
+ var chunk65ANDTTL_cjs = require('../chunk-65ANDTTL.cjs');
6
6
  var chunk63DAS6TJ_cjs = require('../chunk-63DAS6TJ.cjs');
7
7
  var chunk2OMOKN7Y_cjs = require('../chunk-2OMOKN7Y.cjs');
8
8
  require('../chunk-BJGMF356.cjs');
@@ -23,11 +23,11 @@ require('../chunk-PK6SKIKE.cjs');
23
23
 
24
24
  Object.defineProperty(exports, "PowerlinesAPIContext", {
25
25
  enumerable: true,
26
- get: function () { return chunkLQMUXGB5_cjs.PowerlinesAPIContext; }
26
+ get: function () { return chunkKOD33DBU_cjs.PowerlinesAPIContext; }
27
27
  });
28
28
  Object.defineProperty(exports, "PowerlinesEnvironmentContext", {
29
29
  enumerable: true,
30
- get: function () { return chunkHCJQJ2NV_cjs.PowerlinesEnvironmentContext; }
30
+ get: function () { return chunk65ANDTTL_cjs.PowerlinesEnvironmentContext; }
31
31
  });
32
32
  Object.defineProperty(exports, "createPluginContext", {
33
33
  enumerable: true,
@@ -2,7 +2,7 @@ export { PowerlinesAPIContext } from './api-context.cjs';
2
2
  export { PowerlinesContext } from './context.cjs';
3
3
  export { PowerlinesEnvironmentContext } from './environment-context.cjs';
4
4
  export { createPluginContext } from './plugin-context.cjs';
5
- import '../config-CFT-8XXu.cjs';
5
+ import '../config-CHOLTlno.cjs';
6
6
  import '@storm-software/build-tools/types';
7
7
  import '@storm-software/config-tools/types';
8
8
  import '@storm-software/config/types';
@@ -37,6 +37,6 @@ import '@stryke/types/array';
37
37
  import '../tsconfig-Bz-CiFqD.cjs';
38
38
  import '@stryke/types/tsconfig';
39
39
  import 'typescript';
40
- import '../internal-BavTJeC5.cjs';
41
- import '../api-BvkhY-MU.cjs';
40
+ import '../internal-CJEi85Up.cjs';
41
+ import '../api-DzuW_qQS.cjs';
42
42
  import 'flat-cache';