powerlines 0.38.21 → 0.38.23

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 (139) 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-3HMK7VZ3.js → chunk-3G26JDU5.js} +3 -3
  6. package/dist/{chunk-DR4GZ6IG.js → chunk-ACMAXM2I.js} +3 -3
  7. package/dist/chunk-GAVJGBPI.cjs +12 -0
  8. package/dist/{chunk-2USTFOK3.cjs → chunk-GF7FP4V7.cjs} +4 -4
  9. package/dist/{chunk-V7JA56SL.js → chunk-KFOMEENO.js} +3 -3
  10. package/dist/{chunk-7WVW52N4.js → chunk-OPVYFKFC.js} +14 -7
  11. package/dist/chunk-PJQZ67YW.cjs +12 -0
  12. package/dist/{chunk-RPOWKNTN.cjs → chunk-SBHY5EQZ.cjs} +14 -7
  13. package/dist/{chunk-G2G7CCIY.js → chunk-X3LJN32J.js} +3 -3
  14. package/dist/{chunk-FDHRVCNI.js → chunk-XI7RPPGI.js} +3 -3
  15. package/dist/{chunk-WMP4NPSZ.cjs → chunk-YNECCUJR.cjs} +5 -5
  16. package/dist/{chunk-Y2FPUWRY.cjs → chunk-ZSMYRTWW.cjs} +4 -4
  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-6XA327NW.cjs → chunk-4D2EY6K4.cjs} +8 -2
  36. package/dist/lib/chunk-4D2EY6K4.cjs.map +1 -0
  37. package/dist/lib/{chunk-G2GLLLRU.js → chunk-4Q6SFRGB.js} +9 -8
  38. package/dist/lib/chunk-4Q6SFRGB.js.map +1 -0
  39. package/dist/lib/{chunk-PT7HBWL2.js → chunk-5RHFCGJH.js} +4 -4
  40. package/dist/lib/chunk-5RHFCGJH.js.map +1 -0
  41. package/dist/lib/{chunk-IJ7YQK2D.cjs → chunk-63AHB2NQ.cjs} +4 -4
  42. package/dist/lib/{chunk-IJ7YQK2D.cjs.map → chunk-63AHB2NQ.cjs.map} +1 -1
  43. package/dist/lib/{chunk-PVWONV7N.cjs → chunk-6I443PQJ.cjs} +4 -4
  44. package/dist/lib/{chunk-PVWONV7N.cjs.map → chunk-6I443PQJ.cjs.map} +1 -1
  45. package/dist/lib/{chunk-5DVF32IK.js → chunk-7GV25NQ5.js} +4 -4
  46. package/dist/lib/{chunk-5DVF32IK.js.map → chunk-7GV25NQ5.js.map} +1 -1
  47. package/dist/lib/{chunk-DP7VQ6IC.js → chunk-7HDFZZBX.js} +3 -3
  48. package/dist/lib/{chunk-DP7VQ6IC.js.map → chunk-7HDFZZBX.js.map} +1 -1
  49. package/dist/lib/{chunk-TITHVUO5.js → chunk-ALLMUXUL.js} +8 -2
  50. package/dist/lib/chunk-ALLMUXUL.js.map +1 -0
  51. package/dist/lib/{chunk-3C7QOICH.cjs → chunk-DED5TFZC.cjs} +8 -8
  52. package/dist/lib/{chunk-3C7QOICH.cjs.map → chunk-DED5TFZC.cjs.map} +1 -1
  53. package/dist/lib/{chunk-6THULCNF.js → chunk-DGWGKBQ4.js} +5 -5
  54. package/dist/lib/{chunk-6THULCNF.js.map → chunk-DGWGKBQ4.js.map} +1 -1
  55. package/dist/lib/{chunk-HCDETYRM.cjs → chunk-DYRH2BJS.cjs} +9 -8
  56. package/dist/lib/chunk-DYRH2BJS.cjs.map +1 -0
  57. package/dist/lib/{chunk-FA7RSY75.js → chunk-EFNYSTP3.js} +3 -3
  58. package/dist/lib/{chunk-FA7RSY75.js.map → chunk-EFNYSTP3.js.map} +1 -1
  59. package/dist/lib/{chunk-2IJXLF57.cjs → chunk-EKCJXSS7.cjs} +6 -6
  60. package/dist/lib/{chunk-2IJXLF57.cjs.map → chunk-EKCJXSS7.cjs.map} +1 -1
  61. package/dist/lib/{chunk-XXXXZDVY.cjs → chunk-EP4RY524.cjs} +17 -17
  62. package/dist/lib/{chunk-XXXXZDVY.cjs.map → chunk-EP4RY524.cjs.map} +1 -1
  63. package/dist/lib/{chunk-D3WTYUUX.js → chunk-EQK3HJNG.js} +3 -3
  64. package/dist/lib/{chunk-D3WTYUUX.js.map → chunk-EQK3HJNG.js.map} +1 -1
  65. package/dist/lib/{chunk-TLQERY6D.js → chunk-M2HYB4GK.js} +3 -3
  66. package/dist/lib/{chunk-TLQERY6D.js.map → chunk-M2HYB4GK.js.map} +1 -1
  67. package/dist/lib/{chunk-ZBJ5KEU3.cjs → chunk-M5CKYR2K.cjs} +19 -19
  68. package/dist/lib/{chunk-ZBJ5KEU3.cjs.map → chunk-M5CKYR2K.cjs.map} +1 -1
  69. package/dist/lib/{chunk-SEYYRL3M.cjs → chunk-MRYE72H6.cjs} +4 -4
  70. package/dist/lib/chunk-MRYE72H6.cjs.map +1 -0
  71. package/dist/lib/{chunk-3C3ARSM4.js → chunk-NLIBCNIN.js} +4 -4
  72. package/dist/lib/{chunk-3C3ARSM4.js.map → chunk-NLIBCNIN.js.map} +1 -1
  73. package/dist/lib/{chunk-L4TPIXBN.cjs → chunk-S4YOMJOS.cjs} +4 -4
  74. package/dist/lib/{chunk-L4TPIXBN.cjs.map → chunk-S4YOMJOS.cjs.map} +1 -1
  75. package/dist/lib/{chunk-FLTOE5GA.js → chunk-TVA5RQN2.js} +3 -3
  76. package/dist/lib/{chunk-FLTOE5GA.js.map → chunk-TVA5RQN2.js.map} +1 -1
  77. package/dist/lib/{chunk-KWY7QMC6.cjs → chunk-WDCWUS27.cjs} +4 -4
  78. package/dist/lib/{chunk-KWY7QMC6.cjs.map → chunk-WDCWUS27.cjs.map} +1 -1
  79. package/dist/lib/{chunk-FK6WAYTG.js → chunk-XI72ZBDI.js} +3 -3
  80. package/dist/lib/{chunk-FK6WAYTG.js.map → chunk-XI72ZBDI.js.map} +1 -1
  81. package/dist/lib/contexts/api-context.cjs +6 -6
  82. package/dist/lib/contexts/api-context.js +5 -5
  83. package/dist/lib/contexts/context.cjs +4 -4
  84. package/dist/lib/contexts/context.js +3 -3
  85. package/dist/lib/contexts/environment-context.cjs +5 -5
  86. package/dist/lib/contexts/environment-context.js +4 -4
  87. package/dist/lib/contexts/index.cjs +8 -8
  88. package/dist/lib/contexts/index.js +5 -5
  89. package/dist/lib/entry.cjs +8 -8
  90. package/dist/lib/entry.d.cts +1 -1
  91. package/dist/lib/entry.d.ts +1 -1
  92. package/dist/lib/entry.js +1 -1
  93. package/dist/lib/fs/index.cjs +2 -2
  94. package/dist/lib/fs/index.js +1 -1
  95. package/dist/lib/fs/vfs.cjs +2 -2
  96. package/dist/lib/fs/vfs.js +1 -1
  97. package/dist/lib/index.cjs +23 -23
  98. package/dist/lib/index.js +9 -9
  99. package/dist/lib/unplugin/factory.cjs +7 -7
  100. package/dist/lib/unplugin/factory.js +6 -6
  101. package/dist/lib/unplugin/index.cjs +7 -7
  102. package/dist/lib/unplugin/index.js +6 -6
  103. package/dist/lib/utilities/bundle.cjs +4 -4
  104. package/dist/lib/utilities/bundle.js +3 -3
  105. package/dist/lib/utilities/index.cjs +6 -6
  106. package/dist/lib/utilities/index.js +4 -4
  107. package/dist/lib/utilities/resolve.cjs +5 -5
  108. package/dist/lib/utilities/resolve.js +4 -4
  109. package/dist/next.cjs +4 -4
  110. package/dist/next.js +3 -3
  111. package/dist/nuxt.cjs +8 -8
  112. package/dist/nuxt.js +4 -4
  113. package/dist/rolldown.cjs +6 -6
  114. package/dist/rolldown.js +3 -3
  115. package/dist/rollup.cjs +3 -3
  116. package/dist/rollup.js +2 -2
  117. package/dist/rspack.cjs +3 -3
  118. package/dist/rspack.js +2 -2
  119. package/dist/tsdown.cjs +4 -4
  120. package/dist/tsdown.js +3 -3
  121. package/dist/tsup.cjs +4 -4
  122. package/dist/tsup.js +3 -3
  123. package/dist/unloader.cjs +3 -3
  124. package/dist/unloader.js +2 -2
  125. package/dist/unplugin.cjs +9 -9
  126. package/dist/unplugin.js +4 -4
  127. package/dist/vite.cjs +6 -6
  128. package/dist/vite.js +3 -3
  129. package/dist/webpack.cjs +6 -6
  130. package/dist/webpack.js +3 -3
  131. package/package.json +2 -2
  132. package/dist/chunk-3A3U4FGM.cjs +0 -12
  133. package/dist/chunk-6YXVKRO4.cjs +0 -12
  134. package/dist/lib/chunk-6XA327NW.cjs.map +0 -1
  135. package/dist/lib/chunk-G2GLLLRU.js.map +0 -1
  136. package/dist/lib/chunk-HCDETYRM.cjs.map +0 -1
  137. package/dist/lib/chunk-PT7HBWL2.js.map +0 -1
  138. package/dist/lib/chunk-SEYYRL3M.cjs.map +0 -1
  139. package/dist/lib/chunk-TITHVUO5.js.map +0 -1
@@ -17,11 +17,11 @@ function resolveEntryOutput(context, typeDefinition) {
17
17
  return replace.replaceExtension(replace.replacePath(replace.replacePath(replace.replacePath(replace.replacePath(replace.replacePath(typeDefinition.file, joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.sourceRoot)), joinPaths.joinPaths(context.workspaceConfig.workspaceRoot, context.config.projectRoot)), context.config.sourceRoot), context.config.projectRoot), replace.replacePath(context.config.sourceRoot, context.config.projectRoot)));
18
18
  }
19
19
  chunkPK6SKIKE_cjs.__name(resolveEntryOutput, "resolveEntryOutput");
20
- function resolveEntry(context, typeDefinition) {
20
+ function resolveEntry(context, typeDefinition, input, output) {
21
21
  return {
22
22
  ...typeDefinition,
23
- input: typeDefinition,
24
- output: resolveEntryOutput(context, typeDefinition)
23
+ input: input ?? typeDefinition,
24
+ output: output || resolveEntryOutput(context, typeDefinition)
25
25
  };
26
26
  }
27
27
  chunkPK6SKIKE_cjs.__name(resolveEntry, "resolveEntry");
@@ -45,12 +45,12 @@ async function resolveEntries(context, typeDefinitions) {
45
45
  return resolveEntry(context, {
46
46
  file: replace.replacePath(filePath, context.config.projectRoot),
47
47
  name: typeDefinition.name
48
- });
48
+ }, entry.input, entry.output);
49
49
  }
50
50
  return (await context.fs.glob(append.appendPath(filePath, context.workspaceConfig.workspaceRoot))).map((file) => resolveEntry(context, {
51
51
  file: replace.replacePath(file, context.config.projectRoot),
52
52
  name: typeDefinition.name
53
- }));
53
+ }, entry.input, entry.output));
54
54
  }))).flat().filter(Boolean);
55
55
  }
56
56
  chunkPK6SKIKE_cjs.__name(resolveEntries, "resolveEntries");
@@ -59,7 +59,7 @@ function isTypeDefinition(entry) {
59
59
  }
60
60
  chunkPK6SKIKE_cjs.__name(isTypeDefinition, "isTypeDefinition");
61
61
  function isResolvedEntryTypeDefinition(entry) {
62
- return isTypeDefinition(entry) && entry.input !== void 0 && entry.output !== void 0;
62
+ return isTypeDefinition(entry) && entry.output !== void 0;
63
63
  }
64
64
  chunkPK6SKIKE_cjs.__name(isResolvedEntryTypeDefinition, "isResolvedEntryTypeDefinition");
65
65
  function resolveEntriesSync(context, typeDefinitions) {
@@ -67,6 +67,7 @@ function resolveEntriesSync(context, typeDefinitions) {
67
67
  if (isResolvedEntryTypeDefinition(entry)) {
68
68
  return {
69
69
  ...entry,
70
+ output: entry.output ? chunkYF57WETC_cjs.replacePathTokens(context, entry.output) : void 0,
70
71
  file: chunkYF57WETC_cjs.replacePathTokens(context, entry.file)
71
72
  };
72
73
  }
@@ -105,5 +106,5 @@ exports.resolveEntries = resolveEntries;
105
106
  exports.resolveEntriesSync = resolveEntriesSync;
106
107
  exports.resolveEntry = resolveEntry;
107
108
  exports.resolveEntryOutput = resolveEntryOutput;
108
- //# sourceMappingURL=chunk-HCDETYRM.cjs.map
109
- //# sourceMappingURL=chunk-HCDETYRM.cjs.map
109
+ //# sourceMappingURL=chunk-DYRH2BJS.cjs.map
110
+ //# sourceMappingURL=chunk-DYRH2BJS.cjs.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-DYRH2BJS.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 { 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,4 +1,4 @@
1
- import { resolveEntryOutput } from './chunk-G2GLLLRU.js';
1
+ import { resolveEntryOutput } from './chunk-4Q6SFRGB.js';
2
2
  import { __name } from './chunk-7QVYU63E.js';
3
3
  import { omit } from '@stryke/helpers/omit';
4
4
  import { joinPaths } from '@stryke/path/join-paths';
@@ -109,5 +109,5 @@ export { ${key} };`;
109
109
  __name(extractESBuildConfig, "extractESBuildConfig");
110
110
 
111
111
  export { DEFAULT_ESBUILD_CONFIG, extractESBuildConfig, resolveESBuildEntry };
112
- //# sourceMappingURL=chunk-FA7RSY75.js.map
113
- //# sourceMappingURL=chunk-FA7RSY75.js.map
112
+ //# sourceMappingURL=chunk-EFNYSTP3.js.map
113
+ //# sourceMappingURL=chunk-EFNYSTP3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/build/esbuild.ts"],"names":["DEFAULT_ESBUILD_CONFIG","target","platform","format","write","minify","sourcemap","bundle","treeShaking","keepNames","splitting","logLevel","resolveESBuildEntry","context","entryPoints","reduce","ret","entry","isString","replaceExtension","replacePath","config","sourceRoot","projectRoot","output","resolveEntryOutput","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-FA7RSY75.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { 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-EFNYSTP3.js","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { replaceExtension, replacePath } from \"@stryke/path/replace\";\nimport { camelCase } from \"@stryke/string-format/camel-case\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { BuildOptions, Format, LogLevel, Platform } from \"esbuild\";\nimport {\n ESBuildBuildConfig,\n ESBuildResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\nimport type { ResolvedEntryTypeDefinition } from \"../../types/resolved\";\nimport { 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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkZBJ5KEU3_cjs = require('./chunk-ZBJ5KEU3.cjs');
4
- var chunk3C7QOICH_cjs = require('./chunk-3C7QOICH.cjs');
3
+ var chunkM5CKYR2K_cjs = require('./chunk-M5CKYR2K.cjs');
4
+ var chunkDED5TFZC_cjs = require('./chunk-DED5TFZC.cjs');
5
5
  var chunkH3C5BWBW_cjs = require('./chunk-H3C5BWBW.cjs');
6
6
  var chunk2JR645O3_cjs = require('./chunk-2JR645O3.cjs');
7
7
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
@@ -63,7 +63,7 @@ function createDefaultEnvironment(userConfig) {
63
63
  chunkPK6SKIKE_cjs.__name(createDefaultEnvironment, "createDefaultEnvironment");
64
64
 
65
65
  // src/lib/contexts/api-context.ts
66
- var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk3C7QOICH_cjs.PowerlinesContext {
66
+ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunkDED5TFZC_cjs.PowerlinesContext {
67
67
  static {
68
68
  chunkPK6SKIKE_cjs.__name(this, "PowerlinesAPIContext");
69
69
  }
@@ -152,7 +152,7 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk3C7QOICH_cjs
152
152
  if (this.environments[environment.name]) {
153
153
  context = this.environments[environment.name];
154
154
  } else {
155
- context = await chunkZBJ5KEU3_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
155
+ context = await chunkM5CKYR2K_cjs.PowerlinesEnvironmentContext.fromConfig(this.workspaceConfig, this.config);
156
156
  }
157
157
  if (isSetObject.isSetObject(this.config.inlineConfig)) {
158
158
  await context.withInlineConfig(this.config.inlineConfig);
@@ -259,5 +259,5 @@ var PowerlinesAPIContext = class _PowerlinesAPIContext extends chunk3C7QOICH_cjs
259
259
  };
260
260
 
261
261
  exports.PowerlinesAPIContext = PowerlinesAPIContext;
262
- //# sourceMappingURL=chunk-2IJXLF57.cjs.map
263
- //# sourceMappingURL=chunk-2IJXLF57.cjs.map
262
+ //# sourceMappingURL=chunk-EKCJXSS7.cjs.map
263
+ //# sourceMappingURL=chunk-EKCJXSS7.cjs.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":";;;;;;;;;;;;;;;;;;;AAwBO,SAASA,iBAAAA,CACdC,MACAC,UAAAA,EAA4C;AAE5C,EAAA,OAAOC,sBACLD,UAAAA,CAAWE,YAAAA,GAAeH,IAAAA,CAAAA,IAAS,EAAC,EACpC;AACEA,IAAAA,IAAAA;AACAI,IAAAA,KAAAA,EAAOH,UAAAA,CAAWG,KAAAA,IAASC,mBAAAA,CAAUJ,UAAAA,CAAWD,IAAI,CAAA;IACpDM,GAAAA,EAAK,KAAA;IACLC,UAAAA,EACEN,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;AAAC,MAAA,SAAA;AAAW,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;AACrC,KAAA,GAAA;AAAC,MAAA,QAAA;AAAU,MAAA,aAAA;AAAe,MAAA;;IAChCC,UAAAA,EAAY;AAAC,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,KAAA;AAAO,MAAA,MAAA;AAAQ,MAAA,MAAA;AAAQ,MAAA;;AAC3DC,IAAAA,QAAAA,EAAUV,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAAY,QAAA,GAAW,QAAA;IAChEG,OAAAA,EACEX,UAAAA,CAAWO,KAAAA,EAAOC,QAAAA,KAAa,SAAA,GAC3B;MACEI,IAAAA,EAAM,IAAA;MACNC,IAAAA,EAAM,IAAA;MACNC,UAAAA,EAAY,KAAA;;MAEZC,IAAAA,EAAM,WAAA;MACNC,YAAAA,EAAc;AAAC,QAAA;;MACfC,IAAAA,EAAM,IAAA;AACNC,MAAAA,OAAAA,EAAS;KACX,GACAC;AACR,GAAA,EACAnB,UAAAA,CAAAA;AAEJ;AAhCgBF,wBAAAA,CAAAA,iBAAAA,EAAAA,mBAAAA,CAAAA;AAkCT,SAASsB,yBAEdpB,UAAAA,EAA4C;AAC5C,EAAA,OAAOF,iBAAAA,CAAkBuB,uCAAqBrB,UAAAA,CAAAA;AAChD;AAJgBoB,wBAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;;;ACLT,IAAME,oBAAAA,GAAN,MAAMA,qBAAAA,SAGHC,mCAAAA,CAAAA;EAxDV;;;AA2DE,EAAA,aAAA,GACE,EAAC;AAEH,EAAA,QAAA,GAAqD,EAAA;AAErD,EAAA,IAAA;;;;;;;;EASA,aAA6BC,IAAAA,CAG3BC,eACAC,MAAAA,EACsC;AACtC,IAAA,MAAMC,OAAAA,GAAU,IAAIL,qBAAAA,CAClB,MAAMM,sCAAoBH,aAAAA,EAAeC,MAAAA,CAAOG,IAAI,CAAA,CAAA;AAEtD,IAAA,MAAMF,OAAAA,CAAQG,eAAeJ,MAAAA,CAAAA;AAE7B,IAAA,MAAMK,cAAAA,GAAiB,MAAMC,sBAAAA,CAAe,YAAA,CAAA;AAC5C,IAAA,IAAI,CAACD,cAAAA,EAAgB;AACnB,MAAA,MAAM,IAAIE,MAAM,kDAAA,CAAA;AAClB,IAAA;AAEAN,IAAAA,OAAAA,CAAQI,cAAAA,GAAiBA,cAAAA;AAEzB,IAAA,OAAOJ,OAAAA;AACT,EAAA;;;;;;;;;AAUA,EAAA,IAAoBO,UAAAA,GAAsD;AACxE,IAAA,OAAO,KAAA,CAAMA,UAAAA;AACf,EAAA;;;;;;;;;AAUA,EAAA,IAAoBA,WAClBC,KAAAA,EACA;AACA,IAAA,KAAA,CAAMD,UAAAA,GAAaC,KAAAA;AACnB,IAAA,KAAA,MAAWC,WAAAA,IAAeC,MAAAA,CAAOC,MAAAA,CAAO,IAAA,CAAKpC,YAAY,CAAA,EAAG;AAC1DkC,MAAAA,WAAAA,CAAYF,aAAa,KAAA,CAAMA,UAAAA;AACjC,IAAA;AACF,EAAA;;;;AAKA,EAAA,IAAWhC,YAAAA,GAGT;AACA,IAAA,OAAO,IAAA,CAAK,aAAA;AACd,EAAA;AAEA,EAAA,IAAoBqC,GAAAA,GAAa;AAC/B,IAAA,IAAI,CAAC,KAAK,IAAA,EAAM;AACd,MAAA,IAAA,CAAK,IAAA,GAAO,KAAKC,SAAAA,EAAS;AAC5B,IAAA;AAEA,IAAA,OAAO,IAAA,CAAK,IAAA;AACd,EAAA;AAEA,EAAA,IAAWC,OAAAA,GAAyD;AAClE,IAAA,OAAO,IAAA,CAAK,QAAA;AACd,EAAA;AAEA,EAAA,WAAA,CAAsBC,eAAAA,EAAkC;AACtD,IAAA,KAAA,CAAMA,eAAAA,CAAAA;AACR,EAAA;;;;;;EAOA,MAAyBC,IAAAA,CACvBjB,MAAAA,GAAiD,EAAC,EAClD;AACA,IAAA,MAAM,KAAA,CAAMiB,KAAKjB,MAAAA,CAAAA;AAEjB,IAAA,MAAMkB,QAAQC,GAAAA,CACZC,eAAAA,CACE,KAAKpB,MAAAA,CAAO1B,UAAAA,CAAWE,gBACrBmC,MAAAA,CAAOU,IAAAA,CAAK,IAAA,CAAKrB,MAAAA,CAAO1B,WAAWE,YAAY,CAAA,CAAE8C,SAAS,CAAA,GACxDX,MAAAA,CAAOU,KAAK,IAAA,CAAKrB,MAAAA,CAAO1B,UAAAA,CAAWE,YAAY,EAAE+C,GAAAA,CAAIlD,CAAAA,SACnDD,iBAAAA,CAAkBC,IAAAA,EAAM,KAAK2B,MAAAA,CAAO1B,UAAU,CAAA,CAAA,GAEhDoB,wBAAAA,CAAyB,KAAKM,MAAAA,CAAO1B,UAAU,CAAA,CAAA,CACnDiD,GAAAA,CAAI,OAAMC,GAAAA,KAAAA;AACV,MAAA,IAAA,CAAK,cAAcA,GAAAA,CAAInD,IAAI,IAAI,MAAM,IAAA,CAAKoD,GAAGD,GAAAA,CAAAA;AAC/C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaC,GACXf,WAAAA,EACqD;AACrD,IAAA,IAAIT,OAAAA;AACJ,IAAA,IAAI,IAAA,CAAKzB,YAAAA,CAAakC,WAAAA,CAAYrC,IAAI,CAAA,EAAG;AACvC4B,MAAAA,OAAAA,GAAU,IAAA,CAAKzB,YAAAA,CAAakC,WAAAA,CAAYrC,IAAI,CAAA;IAC9C,CAAA,MAAO;AACL4B,MAAAA,OAAAA,GAAW,MAAMyB,8CAAAA,CAA6BC,UAAAA,CAC5C,IAAA,CAAKX,eAAAA,EACL,KAAKhB,MAAM,CAAA;AAEf,IAAA;AAEA,IAAA,IAAI4B,uBAAAA,CAAY,IAAA,CAAK5B,MAAAA,CAAO6B,YAAY,CAAA,EAAG;AACzC,MAAA,MAAM5B,OAAAA,CAAQ6B,gBAAAA,CAAiB,IAAA,CAAK9B,MAAAA,CAAO6B,YAAY,CAAA;AACzD,IAAA;AAEA5B,IAAAA,OAAAA,CAAQS,WAAAA,GAAcA,WAAAA;AACtBT,IAAAA,OAAAA,CAAQc,UAAU,EAAA;AAElB,IAAA,KAAA,MAAWgB,MAAAA,IAAU,KAAKhB,OAAAA,EAAS;AACjC,MAAA,MAAMd,OAAAA,CAAQ+B,UAAUD,MAAAA,CAAAA;AAC1B,IAAA;AAEA,IAAA,OAAO9B,OAAAA;AACT,EAAA;;;;;;EAOA,MAAsBG,cAAAA,CACpB9B,YACA2D,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAM9B,cAAAA,CAAe9B,UAAAA,EAAY2D,OAAAA,CAAAA;AAEvC,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMlD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAO+B,cAAAA,CAC9B9B,YACA2D,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;EAOA,MAAsBH,gBAAAA,CACpBD,cACAI,OAAAA,GAA8B;IAC5BC,cAAAA,EAAgB;GAClB,EACA;AACA,IAAA,MAAM,KAAA,CAAMJ,gBAAAA,CAAiBD,YAAAA,EAAcI,OAAAA,CAAAA;AAE3C,IAAA,MAAMf,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK,aAAa,CAAA,CAAEE,GAAAA,CAAI,OAAMlD,IAAAA,KAAAA;AACxC,MAAA,MAAM,KAAK,aAAA,CAAcA,IAAAA,CAAAA,CAAOyD,gBAAAA,CAC9BD,cACAI,OAAAA,CAAAA;AAEJ,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;AAOA,EAAA,MAAaD,UAAUD,MAAAA,EAAgD;AACrE,IAAA,IAAA,CAAKhB,OAAAA,CAAQoB,KAAKJ,MAAAA,CAAAA;AAElB,IAAA,MAAMb,OAAAA,CAAQC,IACZR,MAAAA,CAAOU,IAAAA,CAAK,KAAK7C,YAAY,CAAA,CAAE+C,GAAAA,CAAI,OAAMlD,IAAAA,KAAAA;AACvC,MAAA,MAAM,IAAA,CAAKG,YAAAA,CAAaH,IAAAA,CAAAA,CAAO2D,UAAUD,MAAAA,CAAAA;AAC3C,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA;;;;;;;AAQA,EAAA,MAAaK,eAAe/D,IAAAA,EAAe;AACzC,IAAA,IAAIqC,WAAAA;AACJ,IAAA,IAAIrC,IAAAA,EAAM;AACRqC,MAAAA,WAAAA,GAAc,IAAA,CAAKlC,aAAaH,IAAAA,CAAAA;AAClC,IAAA;AAEA,IAAA,IAAIsC,OAAOU,IAAAA,CAAK,IAAA,CAAK7C,YAAY,CAAA,CAAE8C,WAAW,CAAA,EAAG;AAC/CZ,MAAAA,WAAAA,GAAc,IAAA,CAAKlC,aAAamC,MAAAA,CAAOU,IAAAA,CAAK,KAAK7C,YAAY,CAAA,CAAE,CAAA,CAAE,CAAA;AAEjE,MAAA,IAAA,CAAK6D,KAAAA,CACH,6CAA6CC,sBAAAA,CAAMC,IAAAA,CAAKC,WACtD9B,WAAAA,EAAaA,WAAAA,CAAYrC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,IAAI,CAACqC,WAAAA,EAAa;AAChB,MAAA,IAAIrC,IAAAA,EAAM;AACR,QAAA,MAAM,IAAIkC,KAAAA,CAAM,CAAA,aAAA,EAAgBlC,IAAAA,CAAAA,YAAAA,CAAkB,CAAA;AACpD,MAAA;AAEAqC,MAAAA,WAAAA,GAAc,MAAM,IAAA,CAAKe,EAAAA,CACvB/B,yBAAyB,IAAA,CAAKM,MAAAA,CAAO1B,UAAU,CAAA,CAAA;AAGjD,MAAA,IAAA,CAAKmE,IAAAA,CACH,sGAAsGH,sBAAAA,CAAMC,IAAAA,CAAKC,WAC/G9B,WAAAA,EAAaA,WAAAA,CAAYrC,IAAAA,CAAAA,CAAAA,CACxB,CAAA;AAEP,IAAA;AAEA,IAAA,OAAOqC,WAAAA;AACT,EAAA;;;;;;;AAQA,EAAA,MAAagC,mBACXrE,IAAAA,EAC0D;AAC1D,IAAA,IAAI;AACF,MAAA,OAAO,MAAM,IAAA,CAAK+D,cAAAA,CAAe/D,IAAAA,CAAAA;IACnC,CAAA,CAAA,MAAQ;AACN,MAAA,OAAOoB,MAAAA;AACT,IAAA;AACF,EAAA;;;;;;;;;AAUA,EAAA,MAAakD,aAAAA,GAA8D;AACzE,IAAA,IAAIjC,WAAAA;AACJ,IAAA,IAAIC,OAAOU,IAAAA,CAAK,IAAA,CAAK7C,YAAY,CAAA,CAAE8C,SAAS,CAAA,EAAG;AAC7CZ,MAAAA,WAAAA,GAAc,MAAM,KAAKe,EAAAA,CACvBrD,iBAAAA,CAAkBwE,sCAAoB,IAAA,CAAK5C,MAAAA,CAAO1B,UAAU,CAAA,CAAA;AAG9D,MAAA,IAAA,CAAK+D,KAAAA,CACH,gBAAgB1B,MAAAA,CAAOU,IAAAA,CAAK,KAAK7C,YAAY,CAAA,CAAE8C,MAAM,CAAA,2CAAA,CAA6C,CAAA;IAEtG,CAAA,MAAO;AACLZ,MAAAA,WAAAA,GAAc,MAAM,KAAK0B,cAAAA,EAAc;AACzC,IAAA;AAEA,IAAA,OAAO1B,WAAAA;AACT,EAAA;AACF","file":"chunk-2IJXLF57.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { 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-EKCJXSS7.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport defu from \"defu\";\nimport { 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"]}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkMFC7UJHT_cjs = require('./chunk-MFC7UJHT.cjs');
4
4
  var chunkX7HOXJFK_cjs = require('./chunk-X7HOXJFK.cjs');
5
- var chunk2IJXLF57_cjs = require('./chunk-2IJXLF57.cjs');
6
- var chunk3C7QOICH_cjs = require('./chunk-3C7QOICH.cjs');
5
+ var chunkEKCJXSS7_cjs = require('./chunk-EKCJXSS7.cjs');
6
+ var chunkDED5TFZC_cjs = require('./chunk-DED5TFZC.cjs');
7
7
  var chunkK6OXYSBF_cjs = require('./chunk-K6OXYSBF.cjs');
8
8
  var chunkQHTL2U3L_cjs = require('./chunk-QHTL2U3L.cjs');
9
9
  var chunkL5I5KIOG_cjs = require('./chunk-L5I5KIOG.cjs');
@@ -53,7 +53,7 @@ var Handlebars__default = /*#__PURE__*/_interopDefault(Handlebars);
53
53
 
54
54
  // package.json
55
55
  var package_default = {
56
- version: "0.38.20"};
56
+ version: "0.38.22"};
57
57
  var getModuleCommentBlockRegex = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((moduleId) => new RegExp(`\\/\\*\\*(?s:.)*?@module\\s+${moduleId}(?s:.)*?\\*\\/\\s+`), "getModuleCommentBlockRegex");
58
58
  function formatTypes(code) {
59
59
  return code.replace(
@@ -394,7 +394,7 @@ var PowerlinesAPI = class _PowerlinesAPI {
394
394
  * @returns A new instance of the Powerlines API
395
395
  */
396
396
  static async from(workspaceRoot, config) {
397
- const api = new _PowerlinesAPI(await chunk2IJXLF57_cjs.PowerlinesAPIContext.from(workspaceRoot, config));
397
+ const api = new _PowerlinesAPI(await chunkEKCJXSS7_cjs.PowerlinesAPIContext.from(workspaceRoot, config));
398
398
  api.#context.$$internal = {
399
399
  api,
400
400
  addPlugin: api.#addPlugin.bind(api)
@@ -885,8 +885,8 @@ ${formatTypes(types)}
885
885
  if (isPromise.isPromiseLike(config)) {
886
886
  awaited = await Promise.resolve(config);
887
887
  }
888
- if (!chunk3C7QOICH_cjs.isPluginConfig(awaited)) {
889
- const invalid = chunk3C7QOICH_cjs.findInvalidPluginConfig(awaited);
888
+ if (!chunkDED5TFZC_cjs.isPluginConfig(awaited)) {
889
+ const invalid = chunkDED5TFZC_cjs.findInvalidPluginConfig(awaited);
890
890
  throw new Error(`Invalid ${invalid && invalid.length > 1 ? "plugins" : "plugin"} specified in the configuration - ${invalid && invalid.length > 0 ? JSON.stringify(awaited) : invalid?.join("\n\n")}
891
891
 
892
892
  Please ensure the value is one of the following:
@@ -898,7 +898,7 @@ Please ensure the value is one of the following:
898
898
  - an array of plugins or plugin configurations`);
899
899
  }
900
900
  let plugins;
901
- if (chunk3C7QOICH_cjs.isPlugin(awaited)) {
901
+ if (chunkDED5TFZC_cjs.isPlugin(awaited)) {
902
902
  plugins = [
903
903
  awaited
904
904
  ];
@@ -911,9 +911,9 @@ Please ensure the value is one of the following:
911
911
  } else {
912
912
  plugins = toArray.toArray(resolved);
913
913
  }
914
- } else if (Array.isArray(awaited) && awaited.every(chunk3C7QOICH_cjs.isPlugin)) {
914
+ } else if (Array.isArray(awaited) && awaited.every(chunkDED5TFZC_cjs.isPlugin)) {
915
915
  plugins = awaited;
916
- } else if (Array.isArray(awaited) && awaited.every(chunk3C7QOICH_cjs.isPluginConfig)) {
916
+ } else if (Array.isArray(awaited) && awaited.every(chunkDED5TFZC_cjs.isPluginConfig)) {
917
917
  plugins = [];
918
918
  for (const pluginConfig of awaited) {
919
919
  const initialized = await this.#initPlugin(pluginConfig);
@@ -921,10 +921,10 @@ Please ensure the value is one of the following:
921
921
  plugins.push(...initialized);
922
922
  }
923
923
  }
924
- } else if (chunk3C7QOICH_cjs.isPluginConfigTuple(awaited) || chunk3C7QOICH_cjs.isPluginConfigObject(awaited)) {
924
+ } else if (chunkDED5TFZC_cjs.isPluginConfigTuple(awaited) || chunkDED5TFZC_cjs.isPluginConfigObject(awaited)) {
925
925
  let pluginConfig;
926
926
  let pluginOptions;
927
- if (chunk3C7QOICH_cjs.isPluginConfigTuple(awaited)) {
927
+ if (chunkDED5TFZC_cjs.isPluginConfigTuple(awaited)) {
928
928
  pluginConfig = awaited[0];
929
929
  pluginOptions = awaited?.length === 2 ? awaited[1] : void 0;
930
930
  } else {
@@ -940,21 +940,21 @@ Please ensure the value is one of the following:
940
940
  }
941
941
  } else if (isFunction.isFunction(pluginConfig)) {
942
942
  plugins = toArray.toArray(await Promise.resolve(pluginConfig(pluginOptions)));
943
- } else if (Array.isArray(pluginConfig) && pluginConfig.every(chunk3C7QOICH_cjs.isPlugin)) {
943
+ } else if (Array.isArray(pluginConfig) && pluginConfig.every(chunkDED5TFZC_cjs.isPlugin)) {
944
944
  plugins = pluginConfig;
945
- } else if (chunk3C7QOICH_cjs.isPlugin(pluginConfig)) {
945
+ } else if (chunkDED5TFZC_cjs.isPlugin(pluginConfig)) {
946
946
  plugins = toArray.toArray(pluginConfig);
947
947
  }
948
948
  }
949
949
  if (!plugins) {
950
950
  throw new Error(`The plugin configuration ${JSON.stringify(awaited)} is invalid. This configuration must point to a valid Powerlines plugin module.`);
951
951
  }
952
- if (plugins.length > 0 && !plugins.every(chunk3C7QOICH_cjs.isPlugin)) {
952
+ if (plugins.length > 0 && !plugins.every(chunkDED5TFZC_cjs.isPlugin)) {
953
953
  throw new Error(`The plugin option ${JSON.stringify(plugins)} does not export a valid module. This configuration must point to a valid Powerlines plugin module.`);
954
954
  }
955
955
  const result = [];
956
956
  for (const plugin of plugins) {
957
- if (chunk3C7QOICH_cjs.checkDedupe(plugin, this.context.plugins)) {
957
+ if (chunkDED5TFZC_cjs.checkDedupe(plugin, this.context.plugins)) {
958
958
  this.context.trace(`Duplicate ${chalk3__default.default.bold.cyanBright(plugin.name)} plugin dependency detected - Skipping initialization.`);
959
959
  } else {
960
960
  result.push(plugin);
@@ -1125,5 +1125,5 @@ function createUnpluginFactory(variant, decorate) {
1125
1125
  chunkPK6SKIKE_cjs.__name(createUnpluginFactory, "createUnpluginFactory");
1126
1126
 
1127
1127
  exports.createUnpluginFactory = createUnpluginFactory;
1128
- //# sourceMappingURL=chunk-XXXXZDVY.cjs.map
1129
- //# sourceMappingURL=chunk-XXXXZDVY.cjs.map
1128
+ //# sourceMappingURL=chunk-EP4RY524.cjs.map
1129
+ //# sourceMappingURL=chunk-EP4RY524.cjs.map