powerlines 0.38.21 → 0.38.22

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 (129) 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-Y2FPUWRY.cjs → chunk-CDEQCPSI.cjs} +4 -4
  6. package/dist/{chunk-WMP4NPSZ.cjs → chunk-CZFVRMI5.cjs} +5 -5
  7. package/dist/{chunk-V7JA56SL.js → chunk-EE7OXGR7.js} +3 -3
  8. package/dist/chunk-ETEJD5I4.cjs +12 -0
  9. package/dist/{chunk-FDHRVCNI.js → chunk-HTTONH4Q.js} +3 -3
  10. package/dist/{chunk-DR4GZ6IG.js → chunk-OWDFXSMC.js} +3 -3
  11. package/dist/{chunk-7WVW52N4.js → chunk-PXBNGNKI.js} +8 -7
  12. package/dist/{chunk-3HMK7VZ3.js → chunk-R25OWZMZ.js} +3 -3
  13. package/dist/{chunk-2USTFOK3.cjs → chunk-TECLLPMJ.cjs} +4 -4
  14. package/dist/{chunk-G2G7CCIY.js → chunk-VTWC4IWG.js} +3 -3
  15. package/dist/chunk-ZO5D3DJH.cjs +12 -0
  16. package/dist/{chunk-RPOWKNTN.cjs → chunk-ZW3SZFT3.cjs} +8 -7
  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 +17 -17
  26. package/dist/lib/build/index.js +5 -5
  27. package/dist/lib/build/tsdown.cjs +5 -5
  28. package/dist/lib/build/tsdown.js +1 -1
  29. package/dist/lib/build/tsup.cjs +6 -6
  30. package/dist/lib/build/tsup.js +3 -3
  31. package/dist/lib/build/vite.cjs +5 -5
  32. package/dist/lib/build/vite.js +3 -3
  33. package/dist/lib/{chunk-JD2LTS53.cjs → chunk-36DX6SUL.cjs} +4 -4
  34. package/dist/lib/{chunk-JD2LTS53.cjs.map → chunk-36DX6SUL.cjs.map} +1 -1
  35. package/dist/lib/{chunk-3C7QOICH.cjs → chunk-3A7K3RLS.cjs} +5 -5
  36. package/dist/lib/{chunk-3C7QOICH.cjs.map → chunk-3A7K3RLS.cjs.map} +1 -1
  37. package/dist/lib/{chunk-XXXXZDVY.cjs → chunk-4EUNWTQ4.cjs} +17 -17
  38. package/dist/lib/{chunk-XXXXZDVY.cjs.map → chunk-4EUNWTQ4.cjs.map} +1 -1
  39. package/dist/lib/{chunk-G2GLLLRU.js → chunk-4Q6SFRGB.js} +9 -8
  40. package/dist/lib/chunk-4Q6SFRGB.js.map +1 -0
  41. package/dist/lib/{chunk-5DVF32IK.js → chunk-53ID7W4T.js} +4 -4
  42. package/dist/lib/{chunk-5DVF32IK.js.map → chunk-53ID7W4T.js.map} +1 -1
  43. package/dist/lib/{chunk-PT7HBWL2.js → chunk-5RHFCGJH.js} +4 -4
  44. package/dist/lib/chunk-5RHFCGJH.js.map +1 -0
  45. package/dist/lib/{chunk-IJ7YQK2D.cjs → chunk-63AHB2NQ.cjs} +4 -4
  46. package/dist/lib/{chunk-IJ7YQK2D.cjs.map → chunk-63AHB2NQ.cjs.map} +1 -1
  47. package/dist/lib/{chunk-PVWONV7N.cjs → chunk-6I443PQJ.cjs} +4 -4
  48. package/dist/lib/{chunk-PVWONV7N.cjs.map → chunk-6I443PQJ.cjs.map} +1 -1
  49. package/dist/lib/{chunk-DP7VQ6IC.js → chunk-7HDFZZBX.js} +3 -3
  50. package/dist/lib/{chunk-DP7VQ6IC.js.map → chunk-7HDFZZBX.js.map} +1 -1
  51. package/dist/lib/{chunk-FK6WAYTG.js → chunk-DHE2ZESG.js} +3 -3
  52. package/dist/lib/{chunk-FK6WAYTG.js.map → chunk-DHE2ZESG.js.map} +1 -1
  53. package/dist/lib/{chunk-HCDETYRM.cjs → chunk-DYRH2BJS.cjs} +9 -8
  54. package/dist/lib/chunk-DYRH2BJS.cjs.map +1 -0
  55. package/dist/lib/{chunk-FA7RSY75.js → chunk-EFNYSTP3.js} +3 -3
  56. package/dist/lib/{chunk-FA7RSY75.js.map → chunk-EFNYSTP3.js.map} +1 -1
  57. package/dist/lib/{chunk-D3WTYUUX.js → chunk-EQK3HJNG.js} +3 -3
  58. package/dist/lib/{chunk-D3WTYUUX.js.map → chunk-EQK3HJNG.js.map} +1 -1
  59. package/dist/lib/{chunk-ZBJ5KEU3.cjs → chunk-F2BQGNHK.cjs} +19 -19
  60. package/dist/lib/{chunk-ZBJ5KEU3.cjs.map → chunk-F2BQGNHK.cjs.map} +1 -1
  61. package/dist/lib/{chunk-3C3ARSM4.js → chunk-JNYTTN2X.js} +3 -3
  62. package/dist/lib/{chunk-3C3ARSM4.js.map → chunk-JNYTTN2X.js.map} +1 -1
  63. package/dist/lib/{chunk-TLQERY6D.js → chunk-M2HYB4GK.js} +3 -3
  64. package/dist/lib/{chunk-TLQERY6D.js.map → chunk-M2HYB4GK.js.map} +1 -1
  65. package/dist/lib/{chunk-SEYYRL3M.cjs → chunk-MRYE72H6.cjs} +4 -4
  66. package/dist/lib/chunk-MRYE72H6.cjs.map +1 -0
  67. package/dist/lib/{chunk-2IJXLF57.cjs → chunk-O4BWSNCP.cjs} +6 -6
  68. package/dist/lib/{chunk-2IJXLF57.cjs.map → chunk-O4BWSNCP.cjs.map} +1 -1
  69. package/dist/lib/{chunk-L4TPIXBN.cjs → chunk-S4YOMJOS.cjs} +4 -4
  70. package/dist/lib/{chunk-L4TPIXBN.cjs.map → chunk-S4YOMJOS.cjs.map} +1 -1
  71. package/dist/lib/{chunk-FLTOE5GA.js → chunk-TVA5RQN2.js} +3 -3
  72. package/dist/lib/{chunk-FLTOE5GA.js.map → chunk-TVA5RQN2.js.map} +1 -1
  73. package/dist/lib/{chunk-KWY7QMC6.cjs → chunk-WDCWUS27.cjs} +4 -4
  74. package/dist/lib/{chunk-KWY7QMC6.cjs.map → chunk-WDCWUS27.cjs.map} +1 -1
  75. package/dist/lib/{chunk-6THULCNF.js → chunk-Y2BURO4I.js} +5 -5
  76. package/dist/lib/{chunk-6THULCNF.js.map → chunk-Y2BURO4I.js.map} +1 -1
  77. package/dist/lib/contexts/api-context.cjs +5 -5
  78. package/dist/lib/contexts/api-context.js +4 -4
  79. package/dist/lib/contexts/context.cjs +3 -3
  80. package/dist/lib/contexts/context.js +2 -2
  81. package/dist/lib/contexts/environment-context.cjs +4 -4
  82. package/dist/lib/contexts/environment-context.js +3 -3
  83. package/dist/lib/contexts/index.cjs +7 -7
  84. package/dist/lib/contexts/index.js +4 -4
  85. package/dist/lib/entry.cjs +8 -8
  86. package/dist/lib/entry.d.cts +1 -1
  87. package/dist/lib/entry.d.ts +1 -1
  88. package/dist/lib/entry.js +1 -1
  89. package/dist/lib/index.cjs +21 -21
  90. package/dist/lib/index.js +8 -8
  91. package/dist/lib/unplugin/factory.cjs +6 -6
  92. package/dist/lib/unplugin/factory.js +5 -5
  93. package/dist/lib/unplugin/index.cjs +6 -6
  94. package/dist/lib/unplugin/index.js +5 -5
  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 +9 -9
  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-3A3U4FGM.cjs +0 -12
  125. package/dist/chunk-6YXVKRO4.cjs +0 -12
  126. package/dist/lib/chunk-G2GLLLRU.js.map +0 -1
  127. package/dist/lib/chunk-HCDETYRM.cjs.map +0 -1
  128. package/dist/lib/chunk-PT7HBWL2.js.map +0 -1
  129. package/dist/lib/chunk-SEYYRL3M.cjs.map +0 -1
@@ -15,11 +15,11 @@ function resolveEntryOutput(context, typeDefinition) {
15
15
  return replaceExtension(replacePath(replacePath(replacePath(replacePath(replacePath(typeDefinition.file, joinPaths(context.workspaceConfig.workspaceRoot, context.config.sourceRoot)), joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot)), context.config.sourceRoot), context.config.projectRoot), replacePath(context.config.sourceRoot, context.config.projectRoot)));
16
16
  }
17
17
  __name(resolveEntryOutput, "resolveEntryOutput");
18
- function resolveEntry(context, typeDefinition) {
18
+ function resolveEntry(context, typeDefinition, input, output) {
19
19
  return {
20
20
  ...typeDefinition,
21
- input: typeDefinition,
22
- output: resolveEntryOutput(context, typeDefinition)
21
+ input: input ?? typeDefinition,
22
+ output: output || resolveEntryOutput(context, typeDefinition)
23
23
  };
24
24
  }
25
25
  __name(resolveEntry, "resolveEntry");
@@ -43,12 +43,12 @@ async function resolveEntries(context, typeDefinitions) {
43
43
  return resolveEntry(context, {
44
44
  file: replacePath(filePath, context.config.projectRoot),
45
45
  name: typeDefinition.name
46
- });
46
+ }, entry.input, entry.output);
47
47
  }
48
48
  return (await context.fs.glob(appendPath(filePath, context.workspaceConfig.workspaceRoot))).map((file) => resolveEntry(context, {
49
49
  file: replacePath(file, context.config.projectRoot),
50
50
  name: typeDefinition.name
51
- }));
51
+ }, entry.input, entry.output));
52
52
  }))).flat().filter(Boolean);
53
53
  }
54
54
  __name(resolveEntries, "resolveEntries");
@@ -57,7 +57,7 @@ function isTypeDefinition(entry) {
57
57
  }
58
58
  __name(isTypeDefinition, "isTypeDefinition");
59
59
  function isResolvedEntryTypeDefinition(entry) {
60
- return isTypeDefinition(entry) && entry.input !== void 0 && entry.output !== void 0;
60
+ return isTypeDefinition(entry) && entry.output !== void 0;
61
61
  }
62
62
  __name(isResolvedEntryTypeDefinition, "isResolvedEntryTypeDefinition");
63
63
  function resolveEntriesSync(context, typeDefinitions) {
@@ -65,6 +65,7 @@ function resolveEntriesSync(context, typeDefinitions) {
65
65
  if (isResolvedEntryTypeDefinition(entry)) {
66
66
  return {
67
67
  ...entry,
68
+ output: entry.output ? replacePathTokens(context, entry.output) : void 0,
68
69
  file: replacePathTokens(context, entry.file)
69
70
  };
70
71
  }
@@ -97,5 +98,5 @@ function getUniqueEntries(entries = []) {
97
98
  __name(getUniqueEntries, "getUniqueEntries");
98
99
 
99
100
  export { getUniqueEntries, isResolvedEntryTypeDefinition, isTypeDefinition, resolveEntries, resolveEntriesSync, resolveEntry, resolveEntryOutput };
100
- //# sourceMappingURL=chunk-G2GLLLRU.js.map
101
- //# sourceMappingURL=chunk-G2GLLLRU.js.map
101
+ //# sourceMappingURL=chunk-4Q6SFRGB.js.map
102
+ //# sourceMappingURL=chunk-4Q6SFRGB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/entry.ts"],"names":["resolveEntryOutput","context","typeDefinition","replaceExtension","replacePath","file","joinPaths","workspaceConfig","workspaceRoot","config","sourceRoot","projectRoot","resolveEntry","input","output","resolveEntries","typeDefinitions","Promise","all","map","entry","isResolvedEntryTypeDefinition","replacePathTokens","isString","parseTypeDefinition","filePath","isAbsolutePath","appendPath","fs","isFile","name","glob","flat","filter","Boolean","isTypeDefinition","undefined","resolveEntriesSync","isFileSync","globSync","getUniqueEntries","entries","getUniqueBy","toArray","item","isSetString","murmurhash","maxLength"],"mappings":"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","file":"chunk-4Q6SFRGB.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 { isAbsolutePath } from \"@stryke/path/is-type\";\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 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 input?: TypeDefinition,\n output?: string\n): ResolvedEntryTypeDefinition {\n return {\n ...typeDefinition,\n input: input ?? typeDefinition,\n output: 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 = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.projectRoot);\n if (await context.fs.isFile(filePath)) {\n return resolveEntry(\n context,\n {\n file: replacePath(filePath, context.config.projectRoot),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\n );\n }\n\n return (\n await context.fs.glob(\n appendPath(filePath, context.workspaceConfig.workspaceRoot)\n )\n ).map(file =>\n resolveEntry(\n context,\n {\n file: replacePath(file, context.config.projectRoot),\n name: typeDefinition.name\n },\n (entry as ResolvedEntryTypeDefinition).input,\n (entry as ResolvedEntryTypeDefinition).output\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).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 {\n ...entry,\n output: entry.output\n ? replacePathTokens(context, entry.output)\n : undefined,\n file: replacePathTokens(context, entry.file)\n };\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 = isAbsolutePath(typeDefinition.file)\n ? typeDefinition.file\n : appendPath(typeDefinition.file, context.config.projectRoot);\n if (context.fs.isFileSync(filePath)) {\n return resolveEntry(context, {\n file: appendPath(filePath, context.workspaceConfig.workspaceRoot),\n name: typeDefinition.name\n });\n }\n\n return context.fs\n .globSync(appendPath(filePath, context.workspaceConfig.workspaceRoot))\n .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"]}
@@ -1,5 +1,5 @@
1
- import { PowerlinesEnvironmentContext } from './chunk-FK6WAYTG.js';
2
- import { PowerlinesContext } from './chunk-3C3ARSM4.js';
1
+ import { PowerlinesEnvironmentContext } from './chunk-DHE2ZESG.js';
2
+ import { PowerlinesContext } from './chunk-JNYTTN2X.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';
@@ -252,5 +252,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends PowerlinesContext
252
252
  };
253
253
 
254
254
  export { PowerlinesAPIContext };
255
- //# sourceMappingURL=chunk-5DVF32IK.js.map
256
- //# sourceMappingURL=chunk-5DVF32IK.js.map
255
+ //# sourceMappingURL=chunk-53ID7W4T.js.map
256
+ //# sourceMappingURL=chunk-53ID7W4T.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","debug","chalk","bold","cyanBright","warn","getEnvironmentSafe","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-5DVF32IK.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 { 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 UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/_internal\";\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 { 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.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.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.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","debug","chalk","bold","cyanBright","warn","getEnvironmentSafe","toEnvironment","GLOBAL_ENVIRONMENT"],"mappings":"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","file":"chunk-53ID7W4T.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 { 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 UNSAFE_ContextInternal,\n UNSAFE_EnvironmentContext\n} from \"../../types/_internal\";\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 { 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.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.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.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"]}
@@ -52,8 +52,8 @@ var formatMessage = /* @__PURE__ */ __name((context, ...msgs) => msgs.filter(Boo
52
52
  function extractTsdownConfig(context) {
53
53
  const { external, noExternal } = getDependencyConfig(context);
54
54
  return defu({
55
- entry: context.entry.map((entry) => entry?.file).filter(Boolean).length > 0 ? Object.fromEntries(context.entry.filter((entry) => entry?.file).map((entry) => [
56
- entry.output || replaceExtension(replacePath(entry.file, context.config.sourceRoot)),
55
+ entry: context.entry.filter((entry) => entry?.file).length > 0 ? Object.fromEntries(context.entry.filter((entry) => entry?.file).map((entry) => [
56
+ entry.output || replaceExtension(replacePath(replacePath(entry.file, context.config.sourceRoot), context.entryPath)),
57
57
  entry.file
58
58
  ])) : [
59
59
  joinPaths(context.workspaceConfig.workspaceRoot, context.config.sourceRoot, "**/*.ts"),
@@ -159,5 +159,5 @@ function extractTsdownConfig(context) {
159
159
  __name(extractTsdownConfig, "extractTsdownConfig");
160
160
 
161
161
  export { DEFAULT_TSDOWN_CONFIG, extractTsdownConfig, resolveFromTsdownFormat, resolveTsdownFormat };
162
- //# sourceMappingURL=chunk-PT7HBWL2.js.map
163
- //# sourceMappingURL=chunk-PT7HBWL2.js.map
162
+ //# sourceMappingURL=chunk-5RHFCGJH.js.map
163
+ //# sourceMappingURL=chunk-5RHFCGJH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/build/tsdown.ts"],"names":["DEFAULT_TSDOWN_CONFIG","platform","target","fixedExtension","nodeProtocol","clean","resolveTsdownFormat","formats","toArray","map","format","resolveFromTsdownFormat","formatMessage","context","msgs","filter","Boolean","join","replace","RegExp","config","name","replaceAll","trim","extractTsdownConfig","external","noExternal","getDependencyConfig","defu","entry","file","length","Object","fromEntries","output","replaceExtension","replacePath","sourceRoot","entryPath","joinPaths","workspaceConfig","workspaceRoot","alias","resolve","exports","build","variant","override","isSetObject","customExports","result","entries","key","value","isSetString","currentExport","require","types","fullExtension","default","import","keys","sort","reduce","ret","undefined","inputOptions","omit","cwd","appendPath","projectRoot","define","transform","inject","dts","outDir","buildPath","tsconfig","tsconfigFilePath","mode","treeshake","treeShaking","minify","metafile","sourcemap","debug","silent","logLevel","customLogger","level","info","warn","warnOnce","error","success"],"mappings":"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","file":"chunk-5RHFCGJH.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 { toArray } from \"@stryke/convert/to-array\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport defu from \"defu\";\nimport { Format as TsdownFormat } from \"tsdown\";\nimport {\n ESBuildBuildConfig,\n RolldownBuildConfig,\n TsdownBuildConfig,\n TsdownResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { getDependencyConfig } from \"./helpers\";\n\nexport const DEFAULT_TSDOWN_CONFIG: Partial<TsdownResolvedBuildConfig> = {\n platform: \"neutral\",\n target: \"esnext\",\n fixedExtension: true,\n nodeProtocol: true,\n clean: 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, ...msgs: any[]) =>\n msgs\n .filter(Boolean)\n .join(\" \")\n .replace(new RegExp(`\\\\[${context.config.name}\\\\]`, \"g\"), \"\")\n .replaceAll(/^\\s+/g, \"\")\n .replaceAll(/\\s+$/g, \"\")\n .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 const { external, noExternal } = getDependencyConfig(context);\n\n return defu(\n {\n entry:\n context.entry.filter(entry => entry?.file).length > 0\n ? Object.fromEntries(\n context.entry\n .filter(entry => entry?.file)\n .map(entry => [\n entry.output ||\n replaceExtension(\n replacePath(\n replacePath(entry.file, context.config.sourceRoot),\n context.entryPath\n )\n ),\n entry.file\n ])\n )\n : [\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.sourceRoot,\n \"**/*.ts\"\n ),\n joinPaths(\n context.workspaceConfig.workspaceRoot,\n context.config.sourceRoot,\n \"**/*.tsx\"\n )\n ],\n external,\n noExternal,\n alias: context.alias,\n resolve: {\n alias: context.alias\n },\n exports:\n context.config.build.variant === \"tsdown\" &&\n ((context.config.build as TsdownBuildConfig).exports ||\n (context.config.build as TsdownBuildConfig).override?.exports)\n ? {\n ...(isSetObject(\n (context.config.build as TsdownBuildConfig).override?.exports\n )\n ? (context.config.build as TsdownBuildConfig).override?.exports\n : isSetObject(\n (context.config.build as TsdownBuildConfig).exports\n )\n ? (context.config.build as TsdownBuildConfig).exports\n : {}),\n customExports: (exports: Record<string, any>) => {\n const result = Object.fromEntries(\n Object.entries(exports).map(([key, value]) => {\n if (isSetString(value)) {\n return [key, value];\n }\n\n const currentExport = {} as Record<string, any>;\n if (isSetString(value.require)) {\n currentExport.require = {\n types: replaceExtension(value.require, \".d.cts\", {\n fullExtension: true\n }),\n default: value.require\n };\n }\n\n if (isSetString(value.import)) {\n currentExport.import = {\n types: replaceExtension(value.import, \".d.mts\", {\n fullExtension: true\n }),\n default: value.import\n };\n }\n\n if (!isSetObject(value.default)) {\n if (isSetObject(currentExport.import)) {\n currentExport.default = currentExport.import;\n } else if (isSetObject(currentExport.require)) {\n currentExport.default = currentExport.require;\n }\n }\n\n return [key, currentExport];\n })\n );\n\n return Object.keys(result)\n .sort()\n .reduce(\n (ret, key) => {\n ret[key] = result[key];\n return ret;\n },\n {} as Record<string, any>\n );\n }\n }\n : undefined\n },\n context.config.build.variant === \"tsdown\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"rolldown\"\n ? {\n inputOptions: context.config.build.override\n }\n : {},\n context.config.build.variant === \"tsdown\"\n ? (omit(context.config.build, [\n \"override\",\n \"variant\",\n \"external\",\n \"noExternal\"\n ]) as TsdownBuildConfig)\n : {},\n context.config.build.variant === \"rolldown\"\n ? {\n inputOptions: omit(context.config.build, [\n \"override\",\n \"variant\",\n \"external\",\n \"noExternal\"\n ]) as RolldownBuildConfig\n }\n : {},\n {\n name: context.config.name,\n cwd: appendPath(\n context.config.projectRoot,\n context.workspaceConfig.workspaceRoot\n ),\n define: context.config.build.define,\n inputOptions: {\n transform: {\n inject: context.config.build.inject\n }\n },\n platform: context.config.build.platform,\n dts: true,\n outDir: appendPath(\n context.config.output.buildPath,\n context.workspaceConfig.workspaceRoot\n ),\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.workspaceConfig.workspaceRoot\n ),\n format: resolveTsdownFormat(context.config.output.format).filter(Boolean),\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 === \"rolldown\"\n ? (context.config.build as RolldownBuildConfig)?.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 === \"production\",\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: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.debug(formatMessage(context, ...msgs)),\n warn: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n warnOnce: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.warn(formatMessage(context, ...msgs)),\n error: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.error(formatMessage(context, ...msgs)),\n success: (...msgs: any[]) =>\n isSetString(formatMessage(context, ...msgs).replace(/\\s+/g, \"\")) &&\n context.debug(formatMessage(context, ...msgs))\n }\n } as TsdownResolvedBuildConfig,\n DEFAULT_TSDOWN_CONFIG\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkHCDETYRM_cjs = require('./chunk-HCDETYRM.cjs');
3
+ var chunkDYRH2BJS_cjs = require('./chunk-DYRH2BJS.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');
@@ -31,7 +31,7 @@ function resolveESBuildEntry(context, entryPoints = []) {
31
31
  if (isString.isString(entry)) {
32
32
  ret[replace.replaceExtension(replace.replacePath(entry, context.config.sourceRoot || context.config.projectRoot))] = replace.replacePath(entry, context.config.sourceRoot || context.config.projectRoot);
33
33
  } else {
34
- ret[entry.output || chunkHCDETYRM_cjs.resolveEntryOutput(context, entry)] = entry.file;
34
+ ret[entry.output || chunkDYRH2BJS_cjs.resolveEntryOutput(context, entry)] = entry.file;
35
35
  }
36
36
  return ret;
37
37
  }, {});
@@ -117,5 +117,5 @@ chunkPK6SKIKE_cjs.__name(extractESBuildConfig, "extractESBuildConfig");
117
117
  exports.DEFAULT_ESBUILD_CONFIG = DEFAULT_ESBUILD_CONFIG;
118
118
  exports.extractESBuildConfig = extractESBuildConfig;
119
119
  exports.resolveESBuildEntry = resolveESBuildEntry;
120
- //# sourceMappingURL=chunk-IJ7YQK2D.cjs.map
121
- //# sourceMappingURL=chunk-IJ7YQK2D.cjs.map
120
+ //# sourceMappingURL=chunk-63AHB2NQ.cjs.map
121
+ //# sourceMappingURL=chunk-63AHB2NQ.cjs.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","file","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","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-IJ7YQK2D.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 { 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 { 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)] = entry.file;\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.alias,\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","file","extractESBuildConfig","inject","build","override","Object","keys","length","fs","writeSync","joinPaths","workspaceConfig","workspaceRoot","artifactsPath","entries","map","key","value","Array","isArray","camelCase","join","defu","alias","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-63AHB2NQ.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 { 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 { 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)] = entry.file;\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.alias,\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,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkIJ7YQK2D_cjs = require('./chunk-IJ7YQK2D.cjs');
3
+ var chunk63AHB2NQ_cjs = require('./chunk-63AHB2NQ.cjs');
4
4
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
5
5
  var constants = require('@storm-software/tsup/constants');
6
6
  var toArray = require('@stryke/convert/to-array');
@@ -30,7 +30,7 @@ var DEFAULT_TSUP_CONFIG = {
30
30
  banner: {}
31
31
  };
32
32
  function resolveTsupEntry(context, entryPoints) {
33
- return chunkIJ7YQK2D_cjs.resolveESBuildEntry(context, entryPoints);
33
+ return chunk63AHB2NQ_cjs.resolveESBuildEntry(context, entryPoints);
34
34
  }
35
35
  chunkPK6SKIKE_cjs.__name(resolveTsupEntry, "resolveTsupEntry");
36
36
  function extractTsupConfig(context) {
@@ -82,5 +82,5 @@ chunkPK6SKIKE_cjs.__name(extractTsupConfig, "extractTsupConfig");
82
82
  exports.DEFAULT_TSUP_CONFIG = DEFAULT_TSUP_CONFIG;
83
83
  exports.extractTsupConfig = extractTsupConfig;
84
84
  exports.resolveTsupEntry = resolveTsupEntry;
85
- //# sourceMappingURL=chunk-PVWONV7N.cjs.map
86
- //# sourceMappingURL=chunk-PVWONV7N.cjs.map
85
+ //# sourceMappingURL=chunk-6I443PQJ.cjs.map
86
+ //# sourceMappingURL=chunk-6I443PQJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/build/tsup.ts"],"names":["DEFAULT_TSUP_CONFIG","DEFAULT_BUILD_OPTIONS","platform","target","config","minify","sourcemap","cjsInterop","bundle","dts","shims","silent","treeshake","keepNames","splitting","banner","resolveTsupEntry","context","entryPoints","resolveESBuildEntry","extractTsupConfig","result","defu","esbuildOptions","__name","options","ctx","build","variant","override","alias","noExternal","builtins","omit","name","assets","output","resolveExtensions","extensions","outputPath","buildPath","projectRoot","tsconfig","tsconfigFilePath","experimentalDts","compilerOptions","tsconfigJson","undefined","format","mode","treeShaking","metafile","logLevel","verbose","workspaceConfig","workspaceRoot","getUnique","toArray"],"mappings":"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","file":"chunk-PVWONV7N.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 { AssetGlob, Entry } from \"@storm-software/build-tools/types\";\nimport { DEFAULT_BUILD_OPTIONS } from \"@storm-software/tsup/constants\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport defu from \"defu\";\nimport {\n ESBuildBuildConfig,\n TsupBuildConfig,\n TsupResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveESBuildEntry } from \"./esbuild\";\n\nexport const DEFAULT_TSUP_CONFIG: Partial<TsupBuildConfig> = {\n ...DEFAULT_BUILD_OPTIONS,\n platform: \"neutral\",\n target: \"esnext\",\n config: false,\n minify: true,\n sourcemap: false,\n cjsInterop: true,\n bundle: true,\n dts: true,\n shims: true,\n silent: true,\n treeshake: true,\n keepNames: true,\n splitting: true,\n banner: {}\n};\n\n/**\n * Resolves the entry options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveTsupEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[]\n): Entry {\n return resolveESBuildEntry(context, entryPoints) as Entry;\n}\n\n/**\n * Resolves the options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractTsupConfig(context: Context): TsupResolvedBuildConfig {\n const result = defu(\n {\n esbuildOptions: ((options, ctx) => {\n if (context.config.build.variant === \"tsup\") {\n if (\n (\n context.config.build as Omit<\n TsupResolvedBuildConfig,\n \"projectRoot\"\n >\n ).esbuildOptions\n ) {\n (\n context.config.build as Omit<\n TsupResolvedBuildConfig,\n \"projectRoot\"\n >\n ).esbuildOptions?.(options, ctx);\n } else if (\n (context.config.build.override as TsupResolvedBuildConfig)\n .esbuildOptions\n ) {\n (\n context.config.build.override as TsupResolvedBuildConfig\n ).esbuildOptions?.(options, ctx);\n }\n }\n\n options.alias = {\n ...context.alias,\n ...options.alias\n };\n }) as TsupResolvedBuildConfig[\"esbuildOptions\"],\n noExternal: context.builtins\n },\n context.config.build.variant === \"tsup\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"tsup\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n name: context.config.name,\n assets: context.config.output.assets as (string | AssetGlob)[],\n resolveExtensions: context.config.build.extensions,\n outputPath: context.config.output.buildPath,\n projectRoot: context.config.projectRoot,\n tsconfig: context.tsconfig.tsconfigFilePath,\n dts:\n context.config.build.variant !== \"tsup\" ||\n (!(context.config.build as TsupBuildConfig)?.experimentalDts &&\n !(context.config.build.override as TsupBuildConfig)?.experimentalDts)\n ? {\n compilerOptions: context.tsconfig.tsconfigJson.compilerOptions\n }\n : undefined,\n format: context.config.output.format,\n mode: context.config.mode,\n treeshake:\n context.config.build.variant === \"tsup\"\n ? (context.config.build as TsupBuildConfig)?.treeshake\n : context.config.build.variant === \"tsup\"\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 silent:\n context.config.logLevel === null ||\n context.config.mode === \"production\",\n verbose:\n context.config.logLevel === null ||\n context.config.logLevel === \"trace\" ||\n context.config.mode === \"development\",\n workspaceConfig: { workspaceRoot: context.workspaceConfig.workspaceRoot }\n },\n DEFAULT_TSUP_CONFIG\n );\n\n result.format = getUnique(toArray(result.format));\n return result as TsupResolvedBuildConfig;\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/build/tsup.ts"],"names":["DEFAULT_TSUP_CONFIG","DEFAULT_BUILD_OPTIONS","platform","target","config","minify","sourcemap","cjsInterop","bundle","dts","shims","silent","treeshake","keepNames","splitting","banner","resolveTsupEntry","context","entryPoints","resolveESBuildEntry","extractTsupConfig","result","defu","esbuildOptions","__name","options","ctx","build","variant","override","alias","noExternal","builtins","omit","name","assets","output","resolveExtensions","extensions","outputPath","buildPath","projectRoot","tsconfig","tsconfigFilePath","experimentalDts","compilerOptions","tsconfigJson","undefined","format","mode","treeShaking","metafile","logLevel","verbose","workspaceConfig","workspaceRoot","getUnique","toArray"],"mappings":"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","file":"chunk-6I443PQJ.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 { AssetGlob, Entry } from \"@storm-software/build-tools/types\";\nimport { DEFAULT_BUILD_OPTIONS } from \"@storm-software/tsup/constants\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { getUnique } from \"@stryke/helpers/get-unique\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport defu from \"defu\";\nimport {\n ESBuildBuildConfig,\n TsupBuildConfig,\n TsupResolvedBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { resolveESBuildEntry } from \"./esbuild\";\n\nexport const DEFAULT_TSUP_CONFIG: Partial<TsupBuildConfig> = {\n ...DEFAULT_BUILD_OPTIONS,\n platform: \"neutral\",\n target: \"esnext\",\n config: false,\n minify: true,\n sourcemap: false,\n cjsInterop: true,\n bundle: true,\n dts: true,\n shims: true,\n silent: true,\n treeshake: true,\n keepNames: true,\n splitting: true,\n banner: {}\n};\n\n/**\n * Resolves the entry options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @param entryPoints - The entry points to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveTsupEntry(\n context: Context,\n entryPoints: ResolvedEntryTypeDefinition[] | string[]\n): Entry {\n return resolveESBuildEntry(context, entryPoints) as Entry;\n}\n\n/**\n * Resolves the options for [tsup](https://github.com/egoist/tsup).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractTsupConfig(context: Context): TsupResolvedBuildConfig {\n const result = defu(\n {\n esbuildOptions: ((options, ctx) => {\n if (context.config.build.variant === \"tsup\") {\n if (\n (\n context.config.build as Omit<\n TsupResolvedBuildConfig,\n \"projectRoot\"\n >\n ).esbuildOptions\n ) {\n (\n context.config.build as Omit<\n TsupResolvedBuildConfig,\n \"projectRoot\"\n >\n ).esbuildOptions?.(options, ctx);\n } else if (\n (context.config.build.override as TsupResolvedBuildConfig)\n .esbuildOptions\n ) {\n (\n context.config.build.override as TsupResolvedBuildConfig\n ).esbuildOptions?.(options, ctx);\n }\n }\n\n options.alias = {\n ...context.alias,\n ...options.alias\n };\n }) as TsupResolvedBuildConfig[\"esbuildOptions\"],\n noExternal: context.builtins\n },\n context.config.build.variant === \"tsup\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"tsup\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n name: context.config.name,\n assets: context.config.output.assets as (string | AssetGlob)[],\n resolveExtensions: context.config.build.extensions,\n outputPath: context.config.output.buildPath,\n projectRoot: context.config.projectRoot,\n tsconfig: context.tsconfig.tsconfigFilePath,\n dts:\n context.config.build.variant !== \"tsup\" ||\n (!(context.config.build as TsupBuildConfig)?.experimentalDts &&\n !(context.config.build.override as TsupBuildConfig)?.experimentalDts)\n ? {\n compilerOptions: context.tsconfig.tsconfigJson.compilerOptions\n }\n : undefined,\n format: context.config.output.format,\n mode: context.config.mode,\n treeshake:\n context.config.build.variant === \"tsup\"\n ? (context.config.build as TsupBuildConfig)?.treeshake\n : context.config.build.variant === \"tsup\"\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 silent:\n context.config.logLevel === null ||\n context.config.mode === \"production\",\n verbose:\n context.config.logLevel === null ||\n context.config.logLevel === \"trace\" ||\n context.config.mode === \"development\",\n workspaceConfig: { workspaceRoot: context.workspaceConfig.workspaceRoot }\n },\n DEFAULT_TSUP_CONFIG\n );\n\n result.format = getUnique(toArray(result.format));\n return result as TsupResolvedBuildConfig;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { bundle } from './chunk-D3WTYUUX.js';
1
+ import { bundle } from './chunk-EQK3HJNG.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { parseTypeDefinition } from '@stryke/convert/parse-type-definition';
4
4
  import { isSetString } from '@stryke/type-checks/is-set-string';
@@ -46,5 +46,5 @@ ${result.text}` : ""}`);
46
46
  __name(resolve, "resolve");
47
47
 
48
48
  export { resolve };
49
- //# sourceMappingURL=chunk-DP7VQ6IC.js.map
50
- //# sourceMappingURL=chunk-DP7VQ6IC.js.map
49
+ //# sourceMappingURL=chunk-7HDFZZBX.js.map
50
+ //# sourceMappingURL=chunk-7HDFZZBX.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utilities/resolve.ts"],"names":["resolve","context","type","overrides","typeDefinition","isSetString","parseTypeDefinition","result","bundle","file","resolved","resolver","evalModule","text","filename","path","forceTranspile","error","message","RegExp","config","framework","test","moduleName","match","Error","logLevel","exportName","name","resolvedExport","undefined","Object","keys","length","join"],"mappings":"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","file":"chunk-DP7VQ6IC.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 { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { ESBuildResolvedBuildConfig } from \"../../types/build\";\nimport { PluginContext } from \"../../types/context\";\nimport { bundle } from \"./bundle\";\n\n/**\n * Compiles a type definition to a module.\n *\n * @param context - The context object containing the environment paths.\n * @param type - The type definition to compile. This can be either a string or a {@link TypeDefinition} object.\n * @param overrides - Optional overrides for the ESBuild configuration.\n * @returns A promise that resolves to the compiled module.\n */\nexport async function resolve<TResult>(\n context: PluginContext,\n type: TypeDefinitionParameter,\n overrides: Partial<ESBuildResolvedBuildConfig> = {}\n): Promise<TResult> {\n let typeDefinition!: TypeDefinition;\n if (isSetString(type)) {\n typeDefinition = parseTypeDefinition(type) as TypeDefinition;\n } else {\n typeDefinition = type;\n }\n\n const result = await bundle(context, typeDefinition.file, overrides);\n\n let resolved: any;\n try {\n resolved = await context.resolver.evalModule(result.text, {\n filename: result.path,\n forceTranspile: true\n });\n } catch (error) {\n if (\n isSetString((error as Error).message) &&\n new RegExp(\n `Cannot find module '${context.config.framework || \"powerlines\"}:.*'`\n ).test((error as Error).message)\n ) {\n const moduleName = (error as Error).message.match(\n new RegExp(\n `Cannot find module '(${context.config.framework || \"powerlines\"}:.*)'`\n )\n )?.[1];\n throw new Error(\n `The module \"${moduleName}\" could not be resolved while evaluating \"${\n typeDefinition.file\n }\". It is possible the required built-in modules have not yet been generated. Please check the order of your plugins. ${\n context.config.logLevel === \"debug\" ||\n context.config.logLevel === \"trace\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n throw new Error(\n `Failed to evaluate the bundled module for \"${\n typeDefinition.file\n }\". Error: ${(error as Error).message}${\n context.config.logLevel === \"debug\" ||\n context.config.logLevel === \"trace\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n let exportName = typeDefinition.name;\n if (!exportName) {\n exportName = \"default\";\n }\n\n const resolvedExport = resolved[exportName] ?? resolved[`__Ω${exportName}`];\n if (resolvedExport === undefined) {\n throw new Error(\n `The export \"${exportName}\" could not be resolved in the \"${\n typeDefinition.file\n }\" module. ${\n Object.keys(resolved).length === 0\n ? `After bundling, no exports were found in the module. Please ensure that the \"${\n typeDefinition.file\n }\" module has a \"${exportName}\" export with the desired value.`\n : `After bundling, the available exports were: ${Object.keys(\n resolved\n ).join(\n \", \"\n )}. Please ensure that the export exists and is correctly named.`\n }${\n context.config.logLevel === \"debug\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n return resolvedExport;\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/utilities/resolve.ts"],"names":["resolve","context","type","overrides","typeDefinition","isSetString","parseTypeDefinition","result","bundle","file","resolved","resolver","evalModule","text","filename","path","forceTranspile","error","message","RegExp","config","framework","test","moduleName","match","Error","logLevel","exportName","name","resolvedExport","undefined","Object","keys","length","join"],"mappings":"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","file":"chunk-7HDFZZBX.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 { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport { ESBuildResolvedBuildConfig } from \"../../types/build\";\nimport { PluginContext } from \"../../types/context\";\nimport { bundle } from \"./bundle\";\n\n/**\n * Compiles a type definition to a module.\n *\n * @param context - The context object containing the environment paths.\n * @param type - The type definition to compile. This can be either a string or a {@link TypeDefinition} object.\n * @param overrides - Optional overrides for the ESBuild configuration.\n * @returns A promise that resolves to the compiled module.\n */\nexport async function resolve<TResult>(\n context: PluginContext,\n type: TypeDefinitionParameter,\n overrides: Partial<ESBuildResolvedBuildConfig> = {}\n): Promise<TResult> {\n let typeDefinition!: TypeDefinition;\n if (isSetString(type)) {\n typeDefinition = parseTypeDefinition(type) as TypeDefinition;\n } else {\n typeDefinition = type;\n }\n\n const result = await bundle(context, typeDefinition.file, overrides);\n\n let resolved: any;\n try {\n resolved = await context.resolver.evalModule(result.text, {\n filename: result.path,\n forceTranspile: true\n });\n } catch (error) {\n if (\n isSetString((error as Error).message) &&\n new RegExp(\n `Cannot find module '${context.config.framework || \"powerlines\"}:.*'`\n ).test((error as Error).message)\n ) {\n const moduleName = (error as Error).message.match(\n new RegExp(\n `Cannot find module '(${context.config.framework || \"powerlines\"}:.*)'`\n )\n )?.[1];\n throw new Error(\n `The module \"${moduleName}\" could not be resolved while evaluating \"${\n typeDefinition.file\n }\". It is possible the required built-in modules have not yet been generated. Please check the order of your plugins. ${\n context.config.logLevel === \"debug\" ||\n context.config.logLevel === \"trace\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n throw new Error(\n `Failed to evaluate the bundled module for \"${\n typeDefinition.file\n }\". Error: ${(error as Error).message}${\n context.config.logLevel === \"debug\" ||\n context.config.logLevel === \"trace\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n let exportName = typeDefinition.name;\n if (!exportName) {\n exportName = \"default\";\n }\n\n const resolvedExport = resolved[exportName] ?? resolved[`__Ω${exportName}`];\n if (resolvedExport === undefined) {\n throw new Error(\n `The export \"${exportName}\" could not be resolved in the \"${\n typeDefinition.file\n }\" module. ${\n Object.keys(resolved).length === 0\n ? `After bundling, no exports were found in the module. Please ensure that the \"${\n typeDefinition.file\n }\" module has a \"${exportName}\" export with the desired value.`\n : `After bundling, the available exports were: ${Object.keys(\n resolved\n ).join(\n \", \"\n )}. Please ensure that the export exists and is correctly named.`\n }${\n context.config.logLevel === \"debug\"\n ? `\n\nBundle output for module:\n${result.text}`\n : \"\"\n }`\n );\n }\n\n return resolvedExport;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { isUnpluginBuilderVariant } from './chunk-254IMO3A.js';
2
- import { PowerlinesContext, isPluginConfig, isPlugin, PLUGIN_NON_HOOK_FIELDS, isPluginHookField, isPluginHook, addPluginHook, isUnpluginHookField, isUnpluginHookKey } from './chunk-3C3ARSM4.js';
2
+ import { PowerlinesContext, isPluginConfig, isPlugin, PLUGIN_NON_HOOK_FIELDS, isPluginHookField, isPluginHook, addPluginHook, isUnpluginHookField, isUnpluginHookKey } from './chunk-JNYTTN2X.js';
3
3
  import { createPluginContext } from './chunk-PKJBITRF.js';
4
4
  import { __name } from './chunk-7QVYU63E.js';
5
5
  import { resolvePackage } from '@stryke/fs/resolve';
@@ -228,5 +228,5 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends P
228
228
  };
229
229
 
230
230
  export { PowerlinesEnvironmentContext };
231
- //# sourceMappingURL=chunk-FK6WAYTG.js.map
232
- //# sourceMappingURL=chunk-FK6WAYTG.js.map
231
+ //# sourceMappingURL=chunk-DHE2ZESG.js.map
232
+ //# sourceMappingURL=chunk-DHE2ZESG.js.map