powerlines 0.37.42 → 0.37.44

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 (131) hide show
  1. package/dist/api.cjs +2 -2
  2. package/dist/api.js +1 -1
  3. package/dist/astro.cjs +4 -4
  4. package/dist/astro.js +3 -3
  5. package/dist/{chunk-MAIDZWFU.js → chunk-3UXCOD4O.js} +3 -3
  6. package/dist/{chunk-XJPU63VJ.js → chunk-3WIREKNH.js} +3 -3
  7. package/dist/{chunk-S2DXY4GD.cjs → chunk-5DVNYVUC.cjs} +4 -4
  8. package/dist/{chunk-C3OZXDOS.cjs → chunk-5PUHX2LD.cjs} +4 -4
  9. package/dist/{chunk-M7XOB7RK.js → chunk-HEAFJGIQ.js} +3 -3
  10. package/dist/{chunk-PKV54D3T.cjs → chunk-KCC6ZVOH.cjs} +11 -7
  11. package/dist/{chunk-UAULYLI5.js → chunk-KLVDIUY7.js} +3 -3
  12. package/dist/chunk-PHCQPLBN.cjs +12 -0
  13. package/dist/{chunk-LXF3YPQA.js → chunk-UQRCBAVS.js} +3 -3
  14. package/dist/{chunk-KCRHZ544.js → chunk-V2LGBQ7I.js} +11 -7
  15. package/dist/{chunk-NHHZKCXU.cjs → chunk-WT25CKUZ.cjs} +5 -5
  16. package/dist/chunk-Z7MWRPFH.cjs +12 -0
  17. package/dist/esbuild.cjs +6 -6
  18. package/dist/esbuild.js +3 -3
  19. package/dist/farm.cjs +3 -3
  20. package/dist/farm.js +2 -2
  21. package/dist/index.cjs +10 -10
  22. package/dist/index.js +2 -2
  23. package/dist/lib/build/esbuild.cjs +5 -5
  24. package/dist/lib/build/esbuild.js +2 -2
  25. package/dist/lib/build/index.cjs +12 -12
  26. package/dist/lib/build/index.js +4 -4
  27. package/dist/lib/build/tsup.cjs +6 -6
  28. package/dist/lib/build/tsup.js +3 -3
  29. package/dist/lib/build/vite.cjs +5 -5
  30. package/dist/lib/build/vite.js +3 -3
  31. package/dist/lib/{chunk-PAI37O2U.cjs → chunk-3DXTB6HW.cjs} +4 -4
  32. package/dist/lib/{chunk-PAI37O2U.cjs.map → chunk-3DXTB6HW.cjs.map} +1 -1
  33. package/dist/lib/{chunk-KQGACHG6.js → chunk-75ZEC2OW.js} +3 -3
  34. package/dist/lib/{chunk-KQGACHG6.js.map → chunk-75ZEC2OW.js.map} +1 -1
  35. package/dist/lib/{chunk-IUXE765Q.js → chunk-7SGO34YW.js} +3 -3
  36. package/dist/lib/{chunk-IUXE765Q.js.map → chunk-7SGO34YW.js.map} +1 -1
  37. package/dist/lib/{chunk-ZJLNZTS6.js → chunk-ASOA4TMY.js} +4 -4
  38. package/dist/lib/{chunk-ZJLNZTS6.js.map → chunk-ASOA4TMY.js.map} +1 -1
  39. package/dist/lib/{chunk-OE4RRA62.js → chunk-AZRQDCQ6.js} +5 -6
  40. package/dist/lib/chunk-AZRQDCQ6.js.map +1 -0
  41. package/dist/lib/{chunk-W4IO562P.cjs → chunk-DCR5SAMV.cjs} +13 -9
  42. package/dist/lib/chunk-DCR5SAMV.cjs.map +1 -0
  43. package/dist/lib/{chunk-HUX2IZ23.js → chunk-DLTSMAQU.js} +3 -3
  44. package/dist/lib/{chunk-HUX2IZ23.js.map → chunk-DLTSMAQU.js.map} +1 -1
  45. package/dist/lib/{chunk-FQMOHR6C.cjs → chunk-ENCMVOF2.cjs} +4 -4
  46. package/dist/lib/{chunk-FQMOHR6C.cjs.map → chunk-ENCMVOF2.cjs.map} +1 -1
  47. package/dist/lib/{chunk-LJEWIZNL.js → chunk-HVVCPRH4.js} +3 -3
  48. package/dist/lib/{chunk-LJEWIZNL.js.map → chunk-HVVCPRH4.js.map} +1 -1
  49. package/dist/lib/{chunk-47MWIOWK.cjs → chunk-MF3QRNAH.cjs} +4 -4
  50. package/dist/lib/{chunk-47MWIOWK.cjs.map → chunk-MF3QRNAH.cjs.map} +1 -1
  51. package/dist/lib/{chunk-PWHWNYGJ.js → chunk-NEINAB3V.js} +9 -5
  52. package/dist/lib/chunk-NEINAB3V.js.map +1 -0
  53. package/dist/lib/{chunk-LJSLLLPW.cjs → chunk-PI3PHTRX.cjs} +6 -6
  54. package/dist/lib/{chunk-LJSLLLPW.cjs.map → chunk-PI3PHTRX.cjs.map} +1 -1
  55. package/dist/lib/{chunk-YRAAZ7EW.cjs → chunk-R6FS4GTA.cjs} +17 -17
  56. package/dist/lib/{chunk-YRAAZ7EW.cjs.map → chunk-R6FS4GTA.cjs.map} +1 -1
  57. package/dist/lib/{chunk-5XL2KMBD.cjs → chunk-RNTCGHUN.cjs} +4 -4
  58. package/dist/lib/{chunk-5XL2KMBD.cjs.map → chunk-RNTCGHUN.cjs.map} +1 -1
  59. package/dist/lib/{chunk-OYYPCZW3.js → chunk-SVVX5O6H.js} +3 -3
  60. package/dist/lib/{chunk-OYYPCZW3.js.map → chunk-SVVX5O6H.js.map} +1 -1
  61. package/dist/lib/{chunk-4DIBUT27.cjs → chunk-U2U3JFI4.cjs} +5 -6
  62. package/dist/lib/chunk-U2U3JFI4.cjs.map +1 -0
  63. package/dist/lib/{chunk-YHVDIRBV.js → chunk-UNN3W6R6.js} +3 -3
  64. package/dist/lib/chunk-UNN3W6R6.js.map +1 -0
  65. package/dist/lib/{chunk-GCHRZFMA.js → chunk-V5QEG5KI.js} +5 -5
  66. package/dist/lib/{chunk-GCHRZFMA.js.map → chunk-V5QEG5KI.js.map} +1 -1
  67. package/dist/lib/{chunk-O3S2VD5V.cjs → chunk-VQZDGNQY.cjs} +3 -3
  68. package/dist/lib/chunk-VQZDGNQY.cjs.map +1 -0
  69. package/dist/lib/{chunk-GOC5UCU6.cjs → chunk-W335QXN6.cjs} +4 -4
  70. package/dist/lib/{chunk-GOC5UCU6.cjs.map → chunk-W335QXN6.cjs.map} +1 -1
  71. package/dist/lib/{chunk-5LE4REIP.cjs → chunk-WDLQTF7H.cjs} +19 -19
  72. package/dist/lib/{chunk-5LE4REIP.cjs.map → chunk-WDLQTF7H.cjs.map} +1 -1
  73. package/dist/lib/{chunk-TZGFR4HR.js → chunk-YQKIPMK7.js} +3 -3
  74. package/dist/lib/{chunk-TZGFR4HR.js.map → chunk-YQKIPMK7.js.map} +1 -1
  75. package/dist/lib/contexts/api-context.cjs +6 -6
  76. package/dist/lib/contexts/api-context.js +5 -5
  77. package/dist/lib/contexts/context.cjs +4 -4
  78. package/dist/lib/contexts/context.js +3 -3
  79. package/dist/lib/contexts/environment-context.cjs +5 -5
  80. package/dist/lib/contexts/environment-context.js +4 -4
  81. package/dist/lib/contexts/index.cjs +8 -8
  82. package/dist/lib/contexts/index.js +5 -5
  83. package/dist/lib/entry.cjs +10 -10
  84. package/dist/lib/entry.js +1 -1
  85. package/dist/lib/fs/index.cjs +2 -2
  86. package/dist/lib/fs/index.js +1 -1
  87. package/dist/lib/fs/vfs.cjs +2 -2
  88. package/dist/lib/fs/vfs.js +1 -1
  89. package/dist/lib/index.cjs +25 -25
  90. package/dist/lib/index.js +9 -9
  91. package/dist/lib/unplugin/factory.cjs +7 -7
  92. package/dist/lib/unplugin/factory.js +6 -6
  93. package/dist/lib/unplugin/index.cjs +7 -7
  94. package/dist/lib/unplugin/index.js +6 -6
  95. package/dist/lib/utilities/bundle.cjs +4 -4
  96. package/dist/lib/utilities/bundle.js +3 -3
  97. package/dist/lib/utilities/index.cjs +6 -6
  98. package/dist/lib/utilities/index.js +4 -4
  99. package/dist/lib/utilities/resolve.cjs +5 -5
  100. package/dist/lib/utilities/resolve.js +4 -4
  101. package/dist/next.cjs +4 -4
  102. package/dist/next.js +3 -3
  103. package/dist/nuxt.cjs +8 -8
  104. package/dist/nuxt.js +4 -4
  105. package/dist/rolldown.cjs +6 -6
  106. package/dist/rolldown.js +3 -3
  107. package/dist/rollup.cjs +3 -3
  108. package/dist/rollup.js +2 -2
  109. package/dist/rspack.cjs +3 -3
  110. package/dist/rspack.js +2 -2
  111. package/dist/tsdown.cjs +4 -4
  112. package/dist/tsdown.js +3 -3
  113. package/dist/tsup.cjs +4 -4
  114. package/dist/tsup.js +3 -3
  115. package/dist/unloader.cjs +3 -3
  116. package/dist/unloader.js +2 -2
  117. package/dist/unplugin.cjs +8 -8
  118. package/dist/unplugin.js +4 -4
  119. package/dist/vite.cjs +6 -6
  120. package/dist/vite.js +3 -3
  121. package/dist/webpack.cjs +6 -6
  122. package/dist/webpack.js +3 -3
  123. package/package.json +2 -2
  124. package/dist/chunk-AUCFIZG5.cjs +0 -12
  125. package/dist/chunk-WOAM2B5Q.cjs +0 -12
  126. package/dist/lib/chunk-4DIBUT27.cjs.map +0 -1
  127. package/dist/lib/chunk-O3S2VD5V.cjs.map +0 -1
  128. package/dist/lib/chunk-OE4RRA62.js.map +0 -1
  129. package/dist/lib/chunk-PWHWNYGJ.js.map +0 -1
  130. package/dist/lib/chunk-W4IO562P.cjs.map +0 -1
  131. package/dist/lib/chunk-YHVDIRBV.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  export { extractRspackConfig } from '../chunk-KJCQ3FNZ.js';
2
2
  export { DEFAULT_TSDOWN_CONFIG, extractTsdownConfig, resolveFromTsdownFormat, resolveTsdownFormat } from '../chunk-6OPCSOQS.js';
3
- export { DEFAULT_TSUP_CONFIG, extractTsupConfig, resolveTsupEntry } from '../chunk-OYYPCZW3.js';
3
+ export { DEFAULT_TSUP_CONFIG, extractTsupConfig, resolveTsupEntry } from '../chunk-SVVX5O6H.js';
4
4
  export { DEFAULT_UNBUILD_CONFIG, extractUnbuildConfig, unbuildLoader } from '../chunk-SLC5EL2C.js';
5
- export { DEFAULT_VITE_CONFIG, extractViteConfig } from '../chunk-TZGFR4HR.js';
5
+ export { DEFAULT_VITE_CONFIG, extractViteConfig } from '../chunk-YQKIPMK7.js';
6
6
  export { extractWebpackConfig } from '../chunk-VOTCZHM5.js';
7
7
  import '../chunk-D55ZAZCX.js';
8
- export { DEFAULT_ESBUILD_CONFIG, extractESBuildConfig, resolveESBuildEntry } from '../chunk-IUXE765Q.js';
9
- import '../chunk-OE4RRA62.js';
8
+ export { DEFAULT_ESBUILD_CONFIG, extractESBuildConfig, resolveESBuildEntry } from '../chunk-7SGO34YW.js';
9
+ import '../chunk-AZRQDCQ6.js';
10
10
  import '../chunk-FFATMOAQ.js';
11
11
  export { extractRolldownConfig } from '../chunk-L273AS74.js';
12
12
  export { dtsBundlePlugin, extractRollupConfig } from '../chunk-C2P7PUMG.js';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk47MWIOWK_cjs = require('../chunk-47MWIOWK.cjs');
4
- require('../chunk-FQMOHR6C.cjs');
5
- require('../chunk-4DIBUT27.cjs');
3
+ var chunkMF3QRNAH_cjs = require('../chunk-MF3QRNAH.cjs');
4
+ require('../chunk-ENCMVOF2.cjs');
5
+ require('../chunk-U2U3JFI4.cjs');
6
6
  require('../chunk-YF57WETC.cjs');
7
7
  require('../chunk-PK6SKIKE.cjs');
8
8
 
@@ -10,15 +10,15 @@ require('../chunk-PK6SKIKE.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "DEFAULT_TSUP_CONFIG", {
12
12
  enumerable: true,
13
- get: function () { return chunk47MWIOWK_cjs.DEFAULT_TSUP_CONFIG; }
13
+ get: function () { return chunkMF3QRNAH_cjs.DEFAULT_TSUP_CONFIG; }
14
14
  });
15
15
  Object.defineProperty(exports, "extractTsupConfig", {
16
16
  enumerable: true,
17
- get: function () { return chunk47MWIOWK_cjs.extractTsupConfig; }
17
+ get: function () { return chunkMF3QRNAH_cjs.extractTsupConfig; }
18
18
  });
19
19
  Object.defineProperty(exports, "resolveTsupEntry", {
20
20
  enumerable: true,
21
- get: function () { return chunk47MWIOWK_cjs.resolveTsupEntry; }
21
+ get: function () { return chunkMF3QRNAH_cjs.resolveTsupEntry; }
22
22
  });
23
23
  //# sourceMappingURL=tsup.cjs.map
24
24
  //# sourceMappingURL=tsup.cjs.map
@@ -1,6 +1,6 @@
1
- export { DEFAULT_TSUP_CONFIG, extractTsupConfig, resolveTsupEntry } from '../chunk-OYYPCZW3.js';
2
- import '../chunk-IUXE765Q.js';
3
- import '../chunk-OE4RRA62.js';
1
+ export { DEFAULT_TSUP_CONFIG, extractTsupConfig, resolveTsupEntry } from '../chunk-SVVX5O6H.js';
2
+ import '../chunk-7SGO34YW.js';
3
+ import '../chunk-AZRQDCQ6.js';
4
4
  import '../chunk-FFATMOAQ.js';
5
5
  import '../chunk-7QVYU63E.js';
6
6
  //# sourceMappingURL=tsup.js.map
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkPAI37O2U_cjs = require('../chunk-PAI37O2U.cjs');
4
- require('../chunk-FQMOHR6C.cjs');
5
- require('../chunk-4DIBUT27.cjs');
3
+ var chunk3DXTB6HW_cjs = require('../chunk-3DXTB6HW.cjs');
4
+ require('../chunk-ENCMVOF2.cjs');
5
+ require('../chunk-U2U3JFI4.cjs');
6
6
  require('../chunk-YF57WETC.cjs');
7
7
  require('../chunk-PK6SKIKE.cjs');
8
8
 
@@ -10,11 +10,11 @@ require('../chunk-PK6SKIKE.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "DEFAULT_VITE_CONFIG", {
12
12
  enumerable: true,
13
- get: function () { return chunkPAI37O2U_cjs.DEFAULT_VITE_CONFIG; }
13
+ get: function () { return chunk3DXTB6HW_cjs.DEFAULT_VITE_CONFIG; }
14
14
  });
15
15
  Object.defineProperty(exports, "extractViteConfig", {
16
16
  enumerable: true,
17
- get: function () { return chunkPAI37O2U_cjs.extractViteConfig; }
17
+ get: function () { return chunk3DXTB6HW_cjs.extractViteConfig; }
18
18
  });
19
19
  //# sourceMappingURL=vite.cjs.map
20
20
  //# sourceMappingURL=vite.cjs.map
@@ -1,6 +1,6 @@
1
- export { DEFAULT_VITE_CONFIG, extractViteConfig } from '../chunk-TZGFR4HR.js';
2
- import '../chunk-IUXE765Q.js';
3
- import '../chunk-OE4RRA62.js';
1
+ export { DEFAULT_VITE_CONFIG, extractViteConfig } from '../chunk-YQKIPMK7.js';
2
+ import '../chunk-7SGO34YW.js';
3
+ import '../chunk-AZRQDCQ6.js';
4
4
  import '../chunk-FFATMOAQ.js';
5
5
  import '../chunk-7QVYU63E.js';
6
6
  //# sourceMappingURL=vite.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkFQMOHR6C_cjs = require('./chunk-FQMOHR6C.cjs');
3
+ var chunkENCMVOF2_cjs = require('./chunk-ENCMVOF2.cjs');
4
4
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var omit = require('@stryke/helpers/omit');
6
6
  var joinPaths = require('@stryke/path/join-paths');
@@ -86,7 +86,7 @@ function extractViteConfig(context) {
86
86
  tsconfig: context.tsconfig.tsconfigFilePath,
87
87
  tsconfigRaw: context.tsconfig.tsconfigJson
88
88
  },
89
- esbuild: chunkFQMOHR6C_cjs.extractESBuildConfig(context),
89
+ esbuild: chunkENCMVOF2_cjs.extractESBuildConfig(context),
90
90
  logLevel: context.config.logLevel ?? void 0,
91
91
  envDir: context.config.projectRoot
92
92
  }, DEFAULT_VITE_CONFIG);
@@ -95,5 +95,5 @@ chunkPK6SKIKE_cjs.__name(extractViteConfig, "extractViteConfig");
95
95
 
96
96
  exports.DEFAULT_VITE_CONFIG = DEFAULT_VITE_CONFIG;
97
97
  exports.extractViteConfig = extractViteConfig;
98
- //# sourceMappingURL=chunk-PAI37O2U.cjs.map
99
- //# sourceMappingURL=chunk-PAI37O2U.cjs.map
98
+ //# sourceMappingURL=chunk-3DXTB6HW.cjs.map
99
+ //# sourceMappingURL=chunk-3DXTB6HW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/build/vite.ts"],"names":["DEFAULT_VITE_CONFIG","resolve","extensions","json","stringify","logLevel","clearScreen","extractViteConfig","context","defu","alias","builtins","reduce","ret","id","find","e","path","fs","paths","push","replacement","config","build","Array","isArray","Object","entries","dedupe","mainFields","conditions","variant","override","optimizeDeps","omit","keepProcessEnv","define","rootDir","sourceRoot","platform","mode","cacheDir","joinPaths","cachePath","minify","metafile","sourcemap","outDir","output","buildPath","tsconfig","tsconfigFilePath","tsconfigRaw","tsconfigJson","esbuild","extractESBuildConfig","undefined","envDir","projectRoot"],"mappings":"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","file":"chunk-PAI37O2U.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { ESBuildOptions } from \"vite\";\nimport { ViteResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"./esbuild\";\n\nexport const DEFAULT_VITE_CONFIG: Partial<ViteResolvedBuildConfig> = {\n resolve: {\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"]\n },\n json: {\n stringify: true\n },\n logLevel: \"silent\",\n clearScreen: true\n};\n\n/**\n * Resolves the options for [vite](https://vitejs.dev/).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractViteConfig(context: Context): ViteResolvedBuildConfig {\n return defu(\n {\n resolve: {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret.find(e => e.find === id)) {\n const path = context.fs.paths[id];\n if (path) {\n ret.push({ find: id, replacement: path });\n }\n }\n\n return ret;\n },\n (context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias\n : Object.entries(context.config.build.alias).reduce(\n (ret, [id, path]) => {\n if (!ret.find(e => e.find === id)) {\n ret.push({ find: id, replacement: path });\n }\n\n return ret;\n },\n [] as { find: string; replacement: string }[]\n )\n : []) as { find: string; replacement: string }[]\n ),\n dedupe: context.config.build.dedupe,\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n extensions: context.config.build.extensions\n }\n },\n context.config.build.variant === \"vite\"\n ? defu(\n context.config.build.override ?? {},\n {\n optimizeDeps:\n (context.config.build.override as ViteResolvedBuildConfig)\n ?.optimizeDeps ?? {}\n },\n {\n optimizeDeps: {\n extensions: context.config.build.override?.extensions\n }\n }\n )\n : {},\n context.config.build.variant === \"vite\"\n ? defu(\n omit(context.config.build, [\"override\", \"variant\"]),\n {\n optimizeDeps:\n (context.config.build as ViteResolvedBuildConfig)?.optimizeDeps ??\n {}\n },\n {\n optimizeDeps: {\n extensions: context.config.build.extensions\n }\n }\n )\n : {},\n {\n keepProcessEnv: context.config.build.keepProcessEnv,\n define: context.config.build.define,\n rootDir: context.config.sourceRoot,\n platform: context.config.build.platform,\n mode:\n context.config.mode === \"development\" ? \"development\" : \"production\",\n cacheDir: joinPaths(context.cachePath, \"vite\"),\n build: {\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\",\n outDir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n tsconfigRaw: context.tsconfig.tsconfigJson\n },\n esbuild: extractESBuildConfig(context) as ESBuildOptions,\n logLevel: context.config.logLevel ?? undefined,\n envDir: context.config.projectRoot\n },\n DEFAULT_VITE_CONFIG\n ) as ViteResolvedBuildConfig;\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/build/vite.ts"],"names":["DEFAULT_VITE_CONFIG","resolve","extensions","json","stringify","logLevel","clearScreen","extractViteConfig","context","defu","alias","builtins","reduce","ret","id","find","e","path","fs","paths","push","replacement","config","build","Array","isArray","Object","entries","dedupe","mainFields","conditions","variant","override","optimizeDeps","omit","keepProcessEnv","define","rootDir","sourceRoot","platform","mode","cacheDir","joinPaths","cachePath","minify","metafile","sourcemap","outDir","output","buildPath","tsconfig","tsconfigFilePath","tsconfigRaw","tsconfigJson","esbuild","extractESBuildConfig","undefined","envDir","projectRoot"],"mappings":"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","file":"chunk-3DXTB6HW.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport defu from \"defu\";\nimport { ESBuildOptions } from \"vite\";\nimport { ViteResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"./esbuild\";\n\nexport const DEFAULT_VITE_CONFIG: Partial<ViteResolvedBuildConfig> = {\n resolve: {\n extensions: [\".mjs\", \".js\", \".mts\", \".ts\", \".jsx\", \".tsx\", \".json\"]\n },\n json: {\n stringify: true\n },\n logLevel: \"silent\",\n clearScreen: true\n};\n\n/**\n * Resolves the options for [vite](https://vitejs.dev/).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractViteConfig(context: Context): ViteResolvedBuildConfig {\n return defu(\n {\n resolve: {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret.find(e => e.find === id)) {\n const path = context.fs.paths[id];\n if (path) {\n ret.push({ find: id, replacement: path });\n }\n }\n\n return ret;\n },\n (context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias\n : Object.entries(context.config.build.alias).reduce(\n (ret, [id, path]) => {\n if (!ret.find(e => e.find === id)) {\n ret.push({ find: id, replacement: path });\n }\n\n return ret;\n },\n [] as { find: string; replacement: string }[]\n )\n : []) as { find: string; replacement: string }[]\n ),\n dedupe: context.config.build.dedupe,\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n extensions: context.config.build.extensions\n }\n },\n context.config.build.variant === \"vite\"\n ? defu(\n context.config.build.override ?? {},\n {\n optimizeDeps:\n (context.config.build.override as ViteResolvedBuildConfig)\n ?.optimizeDeps ?? {}\n },\n {\n optimizeDeps: {\n extensions: context.config.build.override?.extensions\n }\n }\n )\n : {},\n context.config.build.variant === \"vite\"\n ? defu(\n omit(context.config.build, [\"override\", \"variant\"]),\n {\n optimizeDeps:\n (context.config.build as ViteResolvedBuildConfig)?.optimizeDeps ??\n {}\n },\n {\n optimizeDeps: {\n extensions: context.config.build.extensions\n }\n }\n )\n : {},\n {\n keepProcessEnv: context.config.build.keepProcessEnv,\n define: context.config.build.define,\n rootDir: context.config.sourceRoot,\n platform: context.config.build.platform,\n mode:\n context.config.mode === \"development\" ? \"development\" : \"production\",\n cacheDir: joinPaths(context.cachePath, \"vite\"),\n build: {\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\",\n outDir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n tsconfigRaw: context.tsconfig.tsconfigJson\n },\n esbuild: extractESBuildConfig(context) as ESBuildOptions,\n logLevel: context.config.logLevel ?? undefined,\n envDir: context.config.projectRoot\n },\n DEFAULT_VITE_CONFIG\n ) as ViteResolvedBuildConfig;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { extractESBuildConfig } from './chunk-IUXE765Q.js';
1
+ import { extractESBuildConfig } from './chunk-7SGO34YW.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { LogLevelLabel } from '@storm-software/config-tools/types';
4
4
  import { build } from 'esbuild';
@@ -37,5 +37,5 @@ async function bundle(context, file, overrides = {}) {
37
37
  __name(bundle, "bundle");
38
38
 
39
39
  export { bundle };
40
- //# sourceMappingURL=chunk-KQGACHG6.js.map
41
- //# sourceMappingURL=chunk-KQGACHG6.js.map
40
+ //# sourceMappingURL=chunk-75ZEC2OW.js.map
41
+ //# sourceMappingURL=chunk-75ZEC2OW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utilities/bundle.ts"],"names":["bundle","context","file","overrides","path","fs","resolve","existsSync","Error","result","build","extractESBuildConfig","entryPoints","write","sourcemap","splitting","treeShaking","packages","platform","logLevel","errors","length","map","error","text","join","warnings","log","LogLevelLabel","WARN","warning","outputFiles","filter","Boolean"],"mappings":";;;;;AAgCA,eAAsBA,MAAAA,CACpBC,OAAAA,EACAC,IAAAA,EACAC,SAAAA,GAAiD,EAAC,EAAC;AAEnD,EAAA,MAAMC,IAAAA,GAAO,MAAMH,OAAAA,CAAQI,EAAAA,CAAGC,QAAQJ,IAAAA,CAAAA;AACtC,EAAA,IAAI,CAACE,IAAAA,IAAQ,CAACH,QAAQI,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AACzC,IAAA,MAAM,IAAII,KAAAA,CACR,CAAA,mBAAA,EAAsBN,IAAAA,CAAAA,uCAAAA,CAA6C,CAAA;AAEvE,EAAA;AAEA,EAAA,MAAMO,MAAAA,GAAS,MAAMC,KAAAA,CAAM;AACzB,IAAA,GAAGC,qBAAqBV,OAAAA,CAAAA;IACxBW,WAAAA,EAAa;AAACR,MAAAA;;IACdS,KAAAA,EAAO,KAAA;IACPC,SAAAA,EAAW,KAAA;IACXC,SAAAA,EAAW,KAAA;IACXC,WAAAA,EAAa,KAAA;IACbhB,MAAAA,EAAQ,IAAA;IACRiB,QAAAA,EAAU,UAAA;IACVC,QAAAA,EAAU,MAAA;IACVC,QAAAA,EAAU,QAAA;IACV,GAAGhB;GACL,CAAA;AACA,EAAA,IAAIM,MAAAA,CAAOW,MAAAA,CAAOC,MAAAA,GAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIb,KAAAA,CACR,CAAA,oBAAA,EAAuBN,IAAAA,CAAAA,EAAAA,EAASO,OAAOW,MAAAA,CACpCE,GAAAA,CAAIC,CAAAA,KAAAA,KAASA,MAAMC,IAAI,CAAA,CACvBC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAIhB,MAAAA,CAAOiB,QAAAA,CAASL,MAAAA,GAAS,CAAA,EAAG;AAC9BpB,IAAAA,OAAAA,CAAQ0B,IACNC,aAAAA,CAAcC,IAAAA,EACd,CAAA,2BAAA,EAA8B3B,IAAAA,KAASO,MAAAA,CAAOiB,QAAAA,CAC3CJ,GAAAA,CAAIQ,CAAAA,YAAWA,OAAAA,CAAQN,IAAI,EAC3BC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAI,CAAChB,OAAOsB,WAAAA,IAAetB,MAAAA,CAAOsB,YAAYC,MAAAA,CAAOC,OAAAA,CAAAA,CAASZ,MAAAA,KAAW,CAAA,EAAG;AAC1E,IAAA,MAAM,IAAIb,KAAAA,CACR,CAAA,8BAAA,EACEN,IAAAA,CAAAA,+CAAAA,CAC+C,CAAA;AAErD,EAAA;AAEA,EAAA,OAAOO,MAAAA,CAAOsB,WAAAA,CAAYC,MAAAA,CAAOC,OAAAA,EAAS,CAAA,CAAA;AAC5C;AAjDsBjC,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"chunk-KQGACHG6.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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { build, BuildOptions, OutputFile } from \"esbuild\";\nimport { ESBuildResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"../build/esbuild\";\n\n/**\n * Bundle a type definition to a module.\n *\n * @param context - The context object containing the environment paths.\n * @param file - The file path to bundle.\n * @param overrides - Optional overrides for the ESBuild configuration.\n * @returns A promise that resolves to the bundled module.\n */\nexport async function bundle(\n context: Context,\n file: string,\n overrides: Partial<ESBuildResolvedBuildConfig> = {}\n): Promise<OutputFile> {\n const path = await context.fs.resolve(file);\n if (!path || !context.fs.existsSync(path)) {\n throw new Error(\n `Module not found: \"${file}\". Please check the path and try again.`\n );\n }\n\n const result = await build({\n ...extractESBuildConfig(context),\n entryPoints: [path],\n write: false,\n sourcemap: false,\n splitting: false,\n treeShaking: false,\n bundle: true,\n packages: \"external\",\n platform: \"node\",\n logLevel: \"silent\",\n ...overrides\n } as BuildOptions);\n if (result.errors.length > 0) {\n throw new Error(\n `Failed to transpile ${file}: ${result.errors\n .map(error => error.text)\n .join(\", \")}`\n );\n }\n if (result.warnings.length > 0) {\n context.log(\n LogLevelLabel.WARN,\n `Warnings while transpiling ${file}: ${result.warnings\n .map(warning => warning.text)\n .join(\", \")}`\n );\n }\n if (!result.outputFiles || result.outputFiles.filter(Boolean).length === 0) {\n throw new Error(\n `No output files generated for ${\n file\n }. Please check the configuration and try again.`\n );\n }\n\n return result.outputFiles.filter(Boolean)[0]!;\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/utilities/bundle.ts"],"names":["bundle","context","file","overrides","path","fs","resolve","existsSync","Error","result","build","extractESBuildConfig","entryPoints","write","sourcemap","splitting","treeShaking","packages","platform","logLevel","errors","length","map","error","text","join","warnings","log","LogLevelLabel","WARN","warning","outputFiles","filter","Boolean"],"mappings":";;;;;AAgCA,eAAsBA,MAAAA,CACpBC,OAAAA,EACAC,IAAAA,EACAC,SAAAA,GAAiD,EAAC,EAAC;AAEnD,EAAA,MAAMC,IAAAA,GAAO,MAAMH,OAAAA,CAAQI,EAAAA,CAAGC,QAAQJ,IAAAA,CAAAA;AACtC,EAAA,IAAI,CAACE,IAAAA,IAAQ,CAACH,QAAQI,EAAAA,CAAGE,UAAAA,CAAWH,IAAAA,CAAAA,EAAO;AACzC,IAAA,MAAM,IAAII,KAAAA,CACR,CAAA,mBAAA,EAAsBN,IAAAA,CAAAA,uCAAAA,CAA6C,CAAA;AAEvE,EAAA;AAEA,EAAA,MAAMO,MAAAA,GAAS,MAAMC,KAAAA,CAAM;AACzB,IAAA,GAAGC,qBAAqBV,OAAAA,CAAAA;IACxBW,WAAAA,EAAa;AAACR,MAAAA;;IACdS,KAAAA,EAAO,KAAA;IACPC,SAAAA,EAAW,KAAA;IACXC,SAAAA,EAAW,KAAA;IACXC,WAAAA,EAAa,KAAA;IACbhB,MAAAA,EAAQ,IAAA;IACRiB,QAAAA,EAAU,UAAA;IACVC,QAAAA,EAAU,MAAA;IACVC,QAAAA,EAAU,QAAA;IACV,GAAGhB;GACL,CAAA;AACA,EAAA,IAAIM,MAAAA,CAAOW,MAAAA,CAAOC,MAAAA,GAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIb,KAAAA,CACR,CAAA,oBAAA,EAAuBN,IAAAA,CAAAA,EAAAA,EAASO,OAAOW,MAAAA,CACpCE,GAAAA,CAAIC,CAAAA,KAAAA,KAASA,MAAMC,IAAI,CAAA,CACvBC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAIhB,MAAAA,CAAOiB,QAAAA,CAASL,MAAAA,GAAS,CAAA,EAAG;AAC9BpB,IAAAA,OAAAA,CAAQ0B,IACNC,aAAAA,CAAcC,IAAAA,EACd,CAAA,2BAAA,EAA8B3B,IAAAA,KAASO,MAAAA,CAAOiB,QAAAA,CAC3CJ,GAAAA,CAAIQ,CAAAA,YAAWA,OAAAA,CAAQN,IAAI,EAC3BC,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AAEnB,EAAA;AACA,EAAA,IAAI,CAAChB,OAAOsB,WAAAA,IAAetB,MAAAA,CAAOsB,YAAYC,MAAAA,CAAOC,OAAAA,CAAAA,CAASZ,MAAAA,KAAW,CAAA,EAAG;AAC1E,IAAA,MAAM,IAAIb,KAAAA,CACR,CAAA,8BAAA,EACEN,IAAAA,CAAAA,+CAAAA,CAC+C,CAAA;AAErD,EAAA;AAEA,EAAA,OAAOO,MAAAA,CAAOsB,WAAAA,CAAYC,MAAAA,CAAOC,OAAAA,EAAS,CAAA,CAAA;AAC5C;AAjDsBjC,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"chunk-75ZEC2OW.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 { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { build, BuildOptions, OutputFile } from \"esbuild\";\nimport { ESBuildResolvedBuildConfig } from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { extractESBuildConfig } from \"../build/esbuild\";\n\n/**\n * Bundle a type definition to a module.\n *\n * @param context - The context object containing the environment paths.\n * @param file - The file path to bundle.\n * @param overrides - Optional overrides for the ESBuild configuration.\n * @returns A promise that resolves to the bundled module.\n */\nexport async function bundle(\n context: Context,\n file: string,\n overrides: Partial<ESBuildResolvedBuildConfig> = {}\n): Promise<OutputFile> {\n const path = await context.fs.resolve(file);\n if (!path || !context.fs.existsSync(path)) {\n throw new Error(\n `Module not found: \"${file}\". Please check the path and try again.`\n );\n }\n\n const result = await build({\n ...extractESBuildConfig(context),\n entryPoints: [path],\n write: false,\n sourcemap: false,\n splitting: false,\n treeShaking: false,\n bundle: true,\n packages: \"external\",\n platform: \"node\",\n logLevel: \"silent\",\n ...overrides\n } as BuildOptions);\n if (result.errors.length > 0) {\n throw new Error(\n `Failed to transpile ${file}: ${result.errors\n .map(error => error.text)\n .join(\", \")}`\n );\n }\n if (result.warnings.length > 0) {\n context.log(\n LogLevelLabel.WARN,\n `Warnings while transpiling ${file}: ${result.warnings\n .map(warning => warning.text)\n .join(\", \")}`\n );\n }\n if (!result.outputFiles || result.outputFiles.filter(Boolean).length === 0) {\n throw new Error(\n `No output files generated for ${\n file\n }. Please check the configuration and try again.`\n );\n }\n\n return result.outputFiles.filter(Boolean)[0]!;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { resolveEntryInputFile, resolveEntryOutput } from './chunk-OE4RRA62.js';
1
+ import { resolveEntryInputFile, resolveEntryOutput } from './chunk-AZRQDCQ6.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { omit } from '@stryke/helpers/omit';
4
4
  import { joinPaths } from '@stryke/path/join-paths';
@@ -122,5 +122,5 @@ export { ${key} };`;
122
122
  __name(extractESBuildConfig, "extractESBuildConfig");
123
123
 
124
124
  export { DEFAULT_ESBUILD_CONFIG, extractESBuildConfig, resolveESBuildEntry };
125
- //# sourceMappingURL=chunk-IUXE765Q.js.map
126
- //# sourceMappingURL=chunk-IUXE765Q.js.map
125
+ //# sourceMappingURL=chunk-7SGO34YW.js.map
126
+ //# sourceMappingURL=chunk-7SGO34YW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/build/esbuild.ts"],"names":["DEFAULT_ESBUILD_CONFIG","target","platform","format","write","minify","sourcemap","bundle","treeShaking","keepNames","splitting","logLevel","resolveESBuildEntry","context","entryPoints","reduce","ret","entry","isString","replaceExtension","replacePath","config","sourceRoot","projectRoot","output","resolveEntryOutput","input","resolveEntryInputFile","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","builtins","id","path","paths","find","toString","replacement","undefined","variant","omit","mainFields","conditions","define","resolveExtensions","extensions","packages","skipNodeModulesBundle","Boolean","treeshake","outdir","buildPath","tsconfig","tsconfigFilePath","mode","metafile"],"mappings":"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","file":"chunk-IUXE765Q.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveEntryInputFile, resolveEntryOutput } from \"../entry\";\n\n// const resolverPlugin = (\n// context: Context,\n// options: Pick<\n// BuildResolvedConfig,\n// \"external\" | \"noExternal\" | \"skipNodeModulesBundle\"\n// > = {}\n// ): Plugin => {\n// return {\n// name: \"powerlines:resolver\",\n// setup(build) {\n// const skipNodeModulesBundle =\n// options.skipNodeModulesBundle ??\n// context.config.build.skipNodeModulesBundle;\n// const external = options.external ?? context.config.build.external ?? [];\n// const noExternal =\n// options.noExternal ?? context.config.build.noExternal ?? [];\n// const resolvePatterns = skipNodeModulesBundle\n// ? tsconfigPathsToRegExp(context.tsconfig.options.paths ?? [])\n// : [];\n\n// const handle = async (args: OnResolveArgs) => {\n// const result = await handleResolveId(\n// context,\n// {\n// id: args.path,\n// importer: args.importer,\n// options: {\n// isEntry: false\n// }\n// },\n// {\n// skipNodeModulesBundle,\n// external,\n// noExternal,\n// resolvePatterns\n// }\n// );\n// if (!result) {\n// return;\n// }\n\n// return {\n// path: result?.id,\n// external: result?.external\n// };\n// };\n\n// build.onResolve({ filter: /.*/ }, handle);\n// build.onResolve({ filter: /^storm:/ }, handle);\n// }\n// };\n// };\n\nexport const DEFAULT_ESBUILD_CONFIG: Partial<ESBuildResolvedBuildConfig> = {\n target: \"esnext\",\n platform: \"neutral\" as Platform,\n format: \"esm\" as Format,\n write: true,\n minify: true,\n sourcemap: false,\n bundle: true,\n treeShaking: true,\n keepNames: true,\n splitting: true,\n logLevel: \"silent\" as LogLevel\n};\n\n/**\n * Resolves the entry options for esbuild.\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveESBuildEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[] = []\n): ESBuildResolvedBuildConfig[\"entryPoints\"] {\n return entryPoints.reduce(\n (ret, entry) => {\n if (isString(entry)) {\n ret[\n replaceExtension(\n replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n )\n )\n ] = replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n );\n } else {\n ret[entry.output || resolveEntryOutput(context, entry.input ?? entry)] =\n resolveEntryInputFile(context, entry.input ?? entry);\n }\n\n return ret;\n },\n {} as Record<string, string>\n );\n}\n\n/**\n * Resolves the esbuild options.\n *\n * @param context - The build context.\n * @returns The resolved esbuild options.\n */\nexport function extractESBuildConfig(context: Context): BuildOptions {\n const inject =\n context.config.build.override.inject ?? context.config.build.inject;\n if (inject && Object.keys(inject).length > 0) {\n context.fs.writeSync(\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n ),\n Object.entries(inject)\n .map(([key, value]) => {\n if (value) {\n if (Array.isArray(value)) {\n if (camelCase(key) !== key) {\n if (value.length === 1) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${camelCase(key)}` : `{ ${value[1]} as ${camelCase(key)} }`} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n }\n } else if (value.length === 1) {\n return `\nimport ${key} from \"${value[0]}\";\nexport { ${key} };`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from \"${value[0]}\";\nexport { ${key} };`;\n }\n } else if (camelCase(key) !== key) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else {\n return `\nimport ${key} from \"${value}\";\nexport { ${key} };`;\n }\n }\n\n return \"\";\n })\n .join(\"\\n\")\n );\n }\n\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret[id]) {\n const path = context.fs.paths[id];\n if (path) {\n ret[id] = path;\n }\n }\n\n return ret;\n },\n context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias.reduce(\n (ret, alias) => {\n if (!ret[alias.find.toString()]) {\n ret[alias.find.toString()] = alias.replacement;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n : context.config.build.alias\n : {}\n ),\n inject:\n inject && Object.keys(inject).length > 0\n ? [\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n )\n ]\n : undefined\n },\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build.override, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\"\n ]) as BuildOptions)\n : {},\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\",\n \"variant\",\n \"override\"\n ]) as BuildOptions)\n : {},\n {\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n define: context.config.build.define,\n resolveExtensions: context.config.build.extensions,\n packages: context.config.build.skipNodeModulesBundle\n ? \"external\"\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig).packages\n : undefined,\n format: (Array.isArray(context.config.output.format)\n ? context.config.output.format[0]\n : context.config.output.format) as Format,\n platform: context.config.build.platform,\n treeShaking:\n Boolean((context.config.build as TsupBuildConfig)?.treeshake) ||\n (context.config.build as ESBuildBuildConfig)?.treeShaking,\n outdir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_ESBUILD_CONFIG\n ) as BuildOptions;\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/build/esbuild.ts"],"names":["DEFAULT_ESBUILD_CONFIG","target","platform","format","write","minify","sourcemap","bundle","treeShaking","keepNames","splitting","logLevel","resolveESBuildEntry","context","entryPoints","reduce","ret","entry","isString","replaceExtension","replacePath","config","sourceRoot","projectRoot","output","resolveEntryOutput","input","resolveEntryInputFile","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","builtins","id","path","paths","find","toString","replacement","undefined","variant","omit","mainFields","conditions","define","resolveExtensions","extensions","packages","skipNodeModulesBundle","Boolean","treeshake","outdir","buildPath","tsconfig","tsconfigFilePath","mode","metafile"],"mappings":"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","file":"chunk-7SGO34YW.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 { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveEntryInputFile, resolveEntryOutput } from \"../entry\";\n\n// const resolverPlugin = (\n// context: Context,\n// options: Pick<\n// BuildResolvedConfig,\n// \"external\" | \"noExternal\" | \"skipNodeModulesBundle\"\n// > = {}\n// ): Plugin => {\n// return {\n// name: \"powerlines:resolver\",\n// setup(build) {\n// const skipNodeModulesBundle =\n// options.skipNodeModulesBundle ??\n// context.config.build.skipNodeModulesBundle;\n// const external = options.external ?? context.config.build.external ?? [];\n// const noExternal =\n// options.noExternal ?? context.config.build.noExternal ?? [];\n// const resolvePatterns = skipNodeModulesBundle\n// ? tsconfigPathsToRegExp(context.tsconfig.options.paths ?? [])\n// : [];\n\n// const handle = async (args: OnResolveArgs) => {\n// const result = await handleResolveId(\n// context,\n// {\n// id: args.path,\n// importer: args.importer,\n// options: {\n// isEntry: false\n// }\n// },\n// {\n// skipNodeModulesBundle,\n// external,\n// noExternal,\n// resolvePatterns\n// }\n// );\n// if (!result) {\n// return;\n// }\n\n// return {\n// path: result?.id,\n// external: result?.external\n// };\n// };\n\n// build.onResolve({ filter: /.*/ }, handle);\n// build.onResolve({ filter: /^storm:/ }, handle);\n// }\n// };\n// };\n\nexport const DEFAULT_ESBUILD_CONFIG: Partial<ESBuildResolvedBuildConfig> = {\n target: \"esnext\",\n platform: \"neutral\" as Platform,\n format: \"esm\" as Format,\n write: true,\n minify: true,\n sourcemap: false,\n bundle: true,\n treeShaking: true,\n keepNames: true,\n splitting: true,\n logLevel: \"silent\" as LogLevel\n};\n\n/**\n * Resolves the entry options for esbuild.\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveESBuildEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[] = []\n): ESBuildResolvedBuildConfig[\"entryPoints\"] {\n return entryPoints.reduce(\n (ret, entry) => {\n if (isString(entry)) {\n ret[\n replaceExtension(\n replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n )\n )\n ] = replacePath(\n entry,\n context.config.sourceRoot || context.config.projectRoot\n );\n } else {\n ret[entry.output || resolveEntryOutput(context, entry.input ?? entry)] =\n resolveEntryInputFile(context, entry.input ?? entry);\n }\n\n return ret;\n },\n {} as Record<string, string>\n );\n}\n\n/**\n * Resolves the esbuild options.\n *\n * @param context - The build context.\n * @returns The resolved esbuild options.\n */\nexport function extractESBuildConfig(context: Context): BuildOptions {\n const inject =\n context.config.build.override.inject ?? context.config.build.inject;\n if (inject && Object.keys(inject).length > 0) {\n context.fs.writeSync(\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n ),\n Object.entries(inject)\n .map(([key, value]) => {\n if (value) {\n if (Array.isArray(value)) {\n if (camelCase(key) !== key) {\n if (value.length === 1) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${camelCase(key)}` : `{ ${value[1]} as ${camelCase(key)} }`} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n }\n } else if (value.length === 1) {\n return `\nimport ${key} from \"${value[0]}\";\nexport { ${key} };`;\n } else if (value.length > 1) {\n return `\nimport ${value[1] === \"*\" ? `* as ${key}` : `{ ${value[1]} as ${key} }`} from \"${value[0]}\";\nexport { ${key} };`;\n }\n } else if (camelCase(key) !== key) {\n return `\nimport ${camelCase(key)} from \"${value[0]}\";\nexport { ${camelCase(key)} as \"${key}\" }`;\n } else {\n return `\nimport ${key} from \"${value}\";\nexport { ${key} };`;\n }\n }\n\n return \"\";\n })\n .join(\"\\n\")\n );\n }\n\n return defu(\n {\n alias: context.builtins.reduce(\n (ret, id) => {\n if (!ret[id]) {\n const path = context.fs.paths[id];\n if (path) {\n ret[id] = path;\n }\n }\n\n return ret;\n },\n context.config.build.alias\n ? Array.isArray(context.config.build.alias)\n ? context.config.build.alias.reduce(\n (ret, alias) => {\n if (!ret[alias.find.toString()]) {\n ret[alias.find.toString()] = alias.replacement;\n }\n\n return ret;\n },\n {} as Record<string, string>\n )\n : context.config.build.alias\n : {}\n ),\n inject:\n inject && Object.keys(inject).length > 0\n ? [\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot,\n context.artifactsPath,\n \"inject-shim.js\"\n )\n ]\n : undefined\n },\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build.override, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\"\n ]) as BuildOptions)\n : {},\n context.config.build.variant === \"esbuild\"\n ? (omit(context.config.build, [\n \"alias\",\n \"inject\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"extensions\",\n \"variant\",\n \"override\"\n ]) as BuildOptions)\n : {},\n {\n mainFields: context.config.build.mainFields,\n conditions: context.config.build.conditions,\n define: context.config.build.define,\n resolveExtensions: context.config.build.extensions,\n packages: context.config.build.skipNodeModulesBundle\n ? \"external\"\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig).packages\n : undefined,\n format: (Array.isArray(context.config.output.format)\n ? context.config.output.format[0]\n : context.config.output.format) as Format,\n platform: context.config.build.platform,\n treeShaking:\n Boolean((context.config.build as TsupBuildConfig)?.treeshake) ||\n (context.config.build as ESBuildBuildConfig)?.treeShaking,\n outdir: context.config.output.buildPath,\n tsconfig: context.tsconfig.tsconfigFilePath,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\"\n },\n DEFAULT_ESBUILD_CONFIG\n ) as BuildOptions;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { PowerlinesEnvironmentContext } from './chunk-HUX2IZ23.js';
2
- import { PowerlinesContext } from './chunk-PWHWNYGJ.js';
1
+ import { PowerlinesEnvironmentContext } from './chunk-DLTSMAQU.js';
2
+ import { PowerlinesContext } from './chunk-NEINAB3V.js';
3
3
  import { GLOBAL_ENVIRONMENT, DEFAULT_ENVIRONMENT } from './chunk-BZ5L2CVR.js';
4
4
  import { loadWorkspaceConfig } from './chunk-Q25ZPXA7.js';
5
5
  import { __name } from './chunk-7QVYU63E.js';
@@ -253,5 +253,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
253
253
  };
254
254
 
255
255
  export { PowerlinesAPIContext };
256
- //# sourceMappingURL=chunk-ZJLNZTS6.js.map
257
- //# sourceMappingURL=chunk-ZJLNZTS6.js.map
256
+ //# sourceMappingURL=chunk-ASOA4TMY.js.map
257
+ //# sourceMappingURL=chunk-ASOA4TMY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","DEFAULT_ENVIRONMENT","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","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-ZJLNZTS6.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 { DEFAULT_ENVIRONMENT } from \"../../lib/constants/environments\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\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 { GLOBAL_ENVIRONMENT } from \"../constants/environments\";\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 const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\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();\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 /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\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 /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/internal/helpers/environment.ts","../../src/lib/contexts/api-context.ts"],"names":["createEnvironment","name","userConfig","defu","environments","title","titleCase","ssr","mainFields","build","platform","extensions","consumer","preview","port","open","strictPort","host","allowedHosts","cors","headers","undefined","createDefaultEnvironment","DEFAULT_ENVIRONMENT","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","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-ASOA4TMY.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 { DEFAULT_ENVIRONMENT } from \"../../lib/constants/environments\";\nimport { APIContext, Context } from \"../../types/context\";\nimport { EnvironmentResolvedConfig } from \"../../types/resolved\";\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 { GLOBAL_ENVIRONMENT } from \"../constants/environments\";\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 const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\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();\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 /**\n * A safe version of `getEnvironment` that returns `undefined` if the environment is not found\n *\n * @param name - The name of the environment to retrieve.\n * @returns The requested environment context or `undefined` if not found.\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 /**\n * A function to merge all configured environments into a single context.\n *\n * @remarks\n * If only one environment is configured, that environment will be returned directly.\n *\n * @returns A promise that resolves to a merged/global environment context.\n */\n public async toEnvironment(): Promise<EnvironmentContext<TResolvedConfig>> {\n let environment: EnvironmentContext<TResolvedConfig>;\n if (Object.keys(this.environments).length > 1) {\n environment = await this.in(\n createEnvironment(GLOBAL_ENVIRONMENT, this.config.userConfig)\n );\n\n this.log(\n LogLevelLabel.DEBUG,\n `Combined all ${Object.keys(this.environments).length} environments into a single global context.`\n );\n } else {\n environment = await this.getEnvironment();\n }\n\n return environment;\n }\n}\n"]}
@@ -2,7 +2,6 @@ import { replacePathTokens } from './chunk-FFATMOAQ.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { parseTypeDefinition } from '@stryke/convert/parse-type-definition';
4
4
  import { toArray } from '@stryke/convert/to-array';
5
- import { isFile } from '@stryke/fs/is-file';
6
5
  import { murmurhash } from '@stryke/hash/murmurhash';
7
6
  import { getUniqueBy } from '@stryke/helpers/get-unique';
8
7
  import { appendPath } from '@stryke/path/append';
@@ -51,14 +50,14 @@ async function resolveEntries(context, typeDefinitions) {
51
50
  typeDefinition.file = replacePathTokens(context, typeDefinition.file);
52
51
  }
53
52
  const filePath = appendPath(typeDefinition.file, context.config.projectRoot);
54
- if (isFile(filePath)) {
53
+ if (context.fs.isFileSync(filePath)) {
55
54
  return resolveEntry(context, {
56
55
  file: replacePath(filePath, context.config.projectRoot),
57
56
  name: typeDefinition.name
58
57
  });
59
58
  }
60
59
  return (await context.fs.list(filePath)).map((file) => resolveEntry(context, {
61
- file,
60
+ file: replacePath(file, context.config.projectRoot),
62
61
  name: typeDefinition.name
63
62
  }));
64
63
  }))).flat().filter(Boolean);
@@ -88,7 +87,7 @@ function resolveEntriesSync(context, typeDefinitions) {
88
87
  typeDefinition.file = replacePathTokens(context, typeDefinition.file);
89
88
  }
90
89
  const filePath = appendPath(typeDefinition.file, context.config.projectRoot);
91
- if (isFile(filePath)) {
90
+ if (context.fs.isFileSync(filePath)) {
92
91
  return resolveEntry(context, {
93
92
  file: replacePath(filePath, context.config.projectRoot),
94
93
  name: typeDefinition.name
@@ -109,5 +108,5 @@ function getUniqueEntries(entries = []) {
109
108
  __name(getUniqueEntries, "getUniqueEntries");
110
109
 
111
110
  export { getUniqueEntries, isResolvedEntryTypeDefinition, isTypeDefinition, resolveEntries, resolveEntriesSync, resolveEntry, resolveEntryInput, resolveEntryInputFile, resolveEntryOutput };
112
- //# sourceMappingURL=chunk-OE4RRA62.js.map
113
- //# sourceMappingURL=chunk-OE4RRA62.js.map
111
+ //# sourceMappingURL=chunk-AZRQDCQ6.js.map
112
+ //# sourceMappingURL=chunk-AZRQDCQ6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/entry.ts"],"names":["resolveEntryInputFile","context","typeDefinition","replacePath","file","joinPaths","workspaceConfig","workspaceRoot","config","projectRoot","resolveEntryInput","name","resolveEntryOutput","replaceExtension","sourceRoot","resolveEntry","input","output","resolveEntries","typeDefinitions","Promise","all","map","entry","isResolvedEntryTypeDefinition","replacePathTokens","isString","parseTypeDefinition","filePath","appendPath","fs","isFileSync","list","flat","filter","Boolean","isTypeDefinition","undefined","resolveEntriesSync","listSync","getUniqueEntries","entries","getUniqueBy","toArray","item","isSetString","murmurhash","maxLength"],"mappings":"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","file":"chunk-AZRQDCQ6.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 { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { murmurhash } from \"@stryke/hash/murmurhash\";\nimport { getUniqueBy } from \"@stryke/helpers/get-unique\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { replacePathTokens } from \"../plugin-utils/paths\";\nimport type { Context } from \"../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../types/resolved\";\n\nexport function resolveEntryInputFile(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return replacePath(\n typeDefinition.file,\n joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot)\n );\n}\n\nexport function resolveEntryInput(\n context: Context,\n typeDefinition: TypeDefinition\n): TypeDefinition {\n return {\n file: resolveEntryInputFile(context, typeDefinition),\n name: typeDefinition.name\n };\n}\n\nexport function resolveEntryOutput(\n context: Context,\n typeDefinition: TypeDefinition\n): string {\n return replaceExtension(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n replacePath(\n typeDefinition.file,\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.sourceRoot\n )\n ),\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.projectRoot\n )\n ),\n context.config.sourceRoot\n ),\n context.config.projectRoot\n ),\n replacePath(context.config.sourceRoot, context.config.projectRoot)\n )\n );\n}\n\nexport function resolveEntry(\n context: Context,\n typeDefinition: TypeDefinition\n): ResolvedEntryTypeDefinition {\n const input = resolveEntryInput(context, typeDefinition);\n\n return {\n ...input,\n input,\n output: resolveEntryOutput(context, typeDefinition)\n };\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport async function resolveEntries(\n context: Context,\n typeDefinitions: Array<TypeDefinitionParameter | ResolvedEntryTypeDefinition>\n): Promise<ResolvedEntryTypeDefinition[]> {\n return (\n await Promise.all(\n typeDefinitions.map(async entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return { ...entry, file: replacePathTokens(context, entry.file) };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = appendPath(\n typeDefinition.file,\n context.config.projectRoot\n );\n if (context.fs.isFileSync(filePath)) {\n return resolveEntry(context, {\n file: replacePath(filePath, context.config.projectRoot),\n name: typeDefinition.name\n });\n }\n\n return (await context.fs.list(filePath)).map(file =>\n resolveEntry(context, {\n file: replacePath(file, context.config.projectRoot),\n name: typeDefinition.name\n })\n );\n })\n )\n )\n .flat()\n .filter(Boolean);\n}\n\n/**\n * Checks if the provided entry is a type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a type definition, false otherwise.\n */\nexport function isTypeDefinition(\n entry: TypeDefinitionParameter\n): entry is TypeDefinition {\n return !isString(entry) && entry.file !== undefined;\n}\n\n/**\n * Checks if the provided entry is a resolved entry type definition.\n *\n * @param entry - The entry to check.\n * @returns True if the entry is a resolved entry type definition, false otherwise.\n */\nexport function isResolvedEntryTypeDefinition(\n entry: TypeDefinitionParameter | ResolvedEntryTypeDefinition\n): entry is ResolvedEntryTypeDefinition {\n return (\n isTypeDefinition(entry) &&\n (entry as ResolvedEntryTypeDefinition).input !== undefined &&\n (entry as ResolvedEntryTypeDefinition).output !== undefined\n );\n}\n\n/**\n * Resolves multiple type definitions into their corresponding resolved entry type definitions.\n *\n * @param context - The current context\n * @param typeDefinitions - The type definitions to resolve.\n * @returns A promise that resolves to an array of resolved entry type definitions.\n */\nexport function resolveEntriesSync(\n context: Context,\n typeDefinitions: Array<TypeDefinitionParameter | ResolvedEntryTypeDefinition>\n): ResolvedEntryTypeDefinition[] {\n return typeDefinitions\n .map(entry => {\n if (isResolvedEntryTypeDefinition(entry)) {\n return { ...entry, file: replacePathTokens(context, entry.file) };\n }\n\n let typeDefinition: TypeDefinition;\n if (isString(entry)) {\n typeDefinition = parseTypeDefinition(\n replacePathTokens(context, entry)\n )!;\n } else {\n typeDefinition = entry;\n typeDefinition.file = replacePathTokens(context, typeDefinition.file);\n }\n\n const filePath = appendPath(\n typeDefinition.file,\n context.config.projectRoot\n );\n if (context.fs.isFileSync(filePath)) {\n return resolveEntry(context, {\n file: replacePath(filePath, context.config.projectRoot),\n name: typeDefinition.name\n });\n }\n\n return context.fs.listSync(filePath).map(file =>\n resolveEntry(context, {\n file,\n name: typeDefinition.name\n })\n );\n })\n .flat()\n .filter(Boolean);\n}\n\n// /** Resolve a virtual entry point by generating a unique file path in the artifacts directory.\n// *\n// * @param context - The current context\n// * @param typeDefinition - The type definition to resolve.\n// * @returns The resolved entry type definition with a unique virtual file path.\n// */\n// export function resolveVirtualEntry(\n// context: Context,\n// typeDefinition: TypeDefinitionParameter\n// ): ResolvedEntryTypeDefinition {\n// const parsed = parseTypeDefinition(typeDefinition)!;\n// const resolved = resolveEntry(context, parsed);\n// const file = joinPaths(\n// context.artifactsPath,\n// `entry-${murmurhash(\n// { file: resolved.file, name: resolved.name },\n// { maxLength: 24 }\n// )\n// .replaceAll(\"-\", \"0\")\n// .replaceAll(\"_\", \"1\")}.ts`\n// );\n\n// return {\n// file,\n// name: resolved.name,\n// input: {\n// file,\n// name: resolved.name\n// },\n// output: file\n// };\n// }\n\n/**\n * Get unique entries from the provided list.\n *\n * @param entries - The entries to process.\n * @returns An array of unique entries (by file path or content hash).\n */\nexport function getUniqueEntries(\n entries: TypeDefinitionParameter | TypeDefinitionParameter[] = []\n): TypeDefinitionParameter[] {\n return getUniqueBy(toArray(entries), (item: TypeDefinitionParameter) =>\n isSetString(item) ? item : murmurhash(item ?? {}, { maxLength: 24 })\n );\n}\n"]}
@@ -4,10 +4,10 @@ var chunkBJGMF356_cjs = require('./chunk-BJGMF356.cjs');
4
4
  var chunkZWLSNYIN_cjs = require('./chunk-ZWLSNYIN.cjs');
5
5
  var chunkQHTL2U3L_cjs = require('./chunk-QHTL2U3L.cjs');
6
6
  var chunk64R4MDJ7_cjs = require('./chunk-64R4MDJ7.cjs');
7
- var chunkO3S2VD5V_cjs = require('./chunk-O3S2VD5V.cjs');
7
+ var chunkVQZDGNQY_cjs = require('./chunk-VQZDGNQY.cjs');
8
8
  var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
9
9
  var chunkGFUPZMLG_cjs = require('./chunk-GFUPZMLG.cjs');
10
- var chunk4DIBUT27_cjs = require('./chunk-4DIBUT27.cjs');
10
+ var chunkU2U3JFI4_cjs = require('./chunk-U2U3JFI4.cjs');
11
11
  var chunkYF57WETC_cjs = require('./chunk-YF57WETC.cjs');
12
12
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
13
13
  var types = require('@storm-software/config-tools/types');
@@ -338,7 +338,7 @@ var PowerlinesContext = class _PowerlinesContext {
338
338
  */
339
339
  get entry() {
340
340
  const entry = this._entry;
341
- return chunk4DIBUT27_cjs.resolveEntriesSync(this, !entry || entry.length === 0 ? toArray.toArray(this.config.entry) : entry);
341
+ return chunkU2U3JFI4_cjs.resolveEntriesSync(this, !entry || entry.length === 0 ? toArray.toArray(this.config.entry) : entry);
342
342
  }
343
343
  /**
344
344
  * The TypeScript configuration parsed from the tsconfig file
@@ -363,7 +363,7 @@ var PowerlinesContext = class _PowerlinesContext {
363
363
  */
364
364
  get fs() {
365
365
  if (!this.#fs) {
366
- this.#fs = chunkO3S2VD5V_cjs.VirtualFileSystem.createSync(this);
366
+ this.#fs = chunkVQZDGNQY_cjs.VirtualFileSystem.createSync(this);
367
367
  }
368
368
  return this.#fs;
369
369
  }
@@ -1160,7 +1160,7 @@ var PowerlinesContext = class _PowerlinesContext {
1160
1160
  }
1161
1161
  });
1162
1162
  }
1163
- this.config.entry = chunk4DIBUT27_cjs.getUniqueEntries(this.config.entry);
1163
+ this.config.entry = chunkU2U3JFI4_cjs.getUniqueEntries(this.config.entry);
1164
1164
  if (this.config.name?.startsWith("@") && this.config.name.split("/").filter(Boolean).length > 1) {
1165
1165
  this.config.name = this.config.name.split("/").filter(Boolean)[1];
1166
1166
  }
@@ -1210,7 +1210,11 @@ var PowerlinesContext = class _PowerlinesContext {
1210
1210
  this.config.tsconfig = chunkYF57WETC_cjs.replacePathTokens(this, this.config.tsconfig);
1211
1211
  }
1212
1212
  if (this.config.output.dts) {
1213
- this.config.output.dts = chunkYF57WETC_cjs.replacePathTokens(this, this.config.output.dts);
1213
+ if (isSetString.isSetString(this.config.output.dts)) {
1214
+ this.config.output.dts = chunkYF57WETC_cjs.replacePathTokens(this, this.config.output.dts);
1215
+ } else {
1216
+ this.config.output.dts = join.joinPaths(this.config.projectRoot, `${this.config.framework ?? "powerlines"}.d.ts`);
1217
+ }
1214
1218
  }
1215
1219
  if (this.config.build.polyfill) {
1216
1220
  this.config.build.polyfill = this.config.build.polyfill.map((polyfill) => chunkYF57WETC_cjs.replacePathTokens(this, polyfill));
@@ -1224,7 +1228,7 @@ var PowerlinesContext = class _PowerlinesContext {
1224
1228
  output: chunkYF57WETC_cjs.replacePathTokens(this, asset.output)
1225
1229
  }));
1226
1230
  }
1227
- this.#fs ??= await chunkO3S2VD5V_cjs.VirtualFileSystem.create(this);
1231
+ this.#fs ??= await chunkVQZDGNQY_cjs.VirtualFileSystem.create(this);
1228
1232
  }
1229
1233
  mergeUserConfig(from = {}, into = this.config.userConfig ?? {}) {
1230
1234
  this.config.userConfig = defu2__default.default({
@@ -1260,5 +1264,5 @@ exports.isPluginHook = isPluginHook;
1260
1264
  exports.isPluginHookField = isPluginHookField;
1261
1265
  exports.isUnpluginHookField = isUnpluginHookField;
1262
1266
  exports.isUnpluginHookKey = isUnpluginHookKey;
1263
- //# sourceMappingURL=chunk-W4IO562P.cjs.map
1264
- //# sourceMappingURL=chunk-W4IO562P.cjs.map
1267
+ //# sourceMappingURL=chunk-DCR5SAMV.cjs.map
1268
+ //# sourceMappingURL=chunk-DCR5SAMV.cjs.map