powerlines 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/README.md +8 -2
  2. package/dist/{api-DE9Ixr0u.d.cts → api-2c6P7OLq.d.cts} +1 -1
  3. package/dist/{api-S471id5Y.d.ts → api-D6eCzojg.d.ts} +1 -1
  4. package/dist/api.cjs +3 -3
  5. package/dist/api.d.cts +2 -2
  6. package/dist/api.d.ts +2 -2
  7. package/dist/api.js +2 -2
  8. package/dist/astro.cjs +5 -5
  9. package/dist/astro.d.cts +1 -1
  10. package/dist/astro.d.ts +1 -1
  11. package/dist/astro.js +4 -4
  12. package/dist/{chunk-N6UOEGTC.cjs → chunk-2LSP523Q.cjs} +5 -5
  13. package/dist/{chunk-57GCROWS.cjs → chunk-2TMERZSM.cjs} +4 -4
  14. package/dist/{chunk-6MQ6LCVC.js → chunk-5GOXUZPZ.js} +2 -2
  15. package/dist/{chunk-Q4ZLKJS2.js → chunk-7DOCWJ76.js} +6 -6
  16. package/dist/{chunk-T3T6WSX2.cjs → chunk-BXKRABQU.cjs} +2 -2
  17. package/dist/chunk-HRAVYQI4.cjs +12 -0
  18. package/dist/{chunk-TARQ5ZEQ.js → chunk-IBPL4XRD.js} +3 -3
  19. package/dist/{chunk-FCZMWEL7.js → chunk-K3D4TTN5.js} +3 -3
  20. package/dist/{chunk-AGFJZWS3.cjs → chunk-NP2ZVRIF.cjs} +4 -4
  21. package/dist/chunk-OXST2CTF.cjs +12 -0
  22. package/dist/{chunk-246ZHDQL.cjs → chunk-PYLCLJKJ.cjs} +7 -7
  23. package/dist/{chunk-X56DYZYO.js → chunk-TFHWUEMM.js} +3 -3
  24. package/dist/{chunk-M7SQJLGB.js → chunk-VYLFOZVJ.js} +3 -3
  25. package/dist/{chunk-O5PLPU55.js → chunk-W2BP7RBB.js} +3 -3
  26. package/dist/{context-p7xgIm3D.d.ts → context-CRJ4Zq86.d.ts} +5 -5
  27. package/dist/{context-BwnxICfB.d.cts → context-D5kPamM6.d.cts} +5 -5
  28. package/dist/esbuild.cjs +7 -7
  29. package/dist/esbuild.d.cts +1 -1
  30. package/dist/esbuild.d.ts +1 -1
  31. package/dist/esbuild.js +4 -4
  32. package/dist/farm.cjs +4 -4
  33. package/dist/farm.d.cts +1 -1
  34. package/dist/farm.d.ts +1 -1
  35. package/dist/farm.js +3 -3
  36. package/dist/index.cjs +11 -11
  37. package/dist/index.d.cts +3 -3
  38. package/dist/index.d.ts +3 -3
  39. package/dist/index.js +3 -3
  40. package/dist/lib/{api-1xCU-974.d.ts → api-DPyF-O8S.d.ts} +1 -1
  41. package/dist/lib/{api-BvkhY-MU.d.cts → api-DzuW_qQS.d.cts} +1 -1
  42. package/dist/lib/build/esbuild.d.cts +1 -1
  43. package/dist/lib/build/esbuild.d.ts +1 -1
  44. package/dist/lib/build/index.cjs +5 -5
  45. package/dist/lib/build/index.d.cts +3 -3
  46. package/dist/lib/build/index.d.ts +3 -3
  47. package/dist/lib/build/index.js +1 -1
  48. package/dist/lib/build/rolldown.d.cts +1 -1
  49. package/dist/lib/build/rolldown.d.ts +1 -1
  50. package/dist/lib/build/rollup.d.cts +1 -1
  51. package/dist/lib/build/rollup.d.ts +1 -1
  52. package/dist/lib/build/rspack.d.cts +1 -1
  53. package/dist/lib/build/rspack.d.ts +1 -1
  54. package/dist/lib/build/tsdown.cjs +5 -5
  55. package/dist/lib/build/tsdown.d.cts +1 -1
  56. package/dist/lib/build/tsdown.d.ts +1 -1
  57. package/dist/lib/build/tsdown.js +1 -1
  58. package/dist/lib/build/tsup.d.cts +1 -1
  59. package/dist/lib/build/tsup.d.ts +1 -1
  60. package/dist/lib/build/unbuild.d.cts +3 -3
  61. package/dist/lib/build/unbuild.d.ts +3 -3
  62. package/dist/lib/build/vite.d.cts +1 -1
  63. package/dist/lib/build/vite.d.ts +1 -1
  64. package/dist/lib/build/webpack.d.cts +1 -1
  65. package/dist/lib/build/webpack.d.ts +1 -1
  66. package/dist/lib/{chunk-HCJQJ2NV.cjs → chunk-65ANDTTL.cjs} +2 -2
  67. package/dist/lib/chunk-65ANDTTL.cjs.map +1 -0
  68. package/dist/lib/{chunk-US6LDIXH.js → chunk-76DBMONS.js} +6 -6
  69. package/dist/lib/{chunk-US6LDIXH.js.map → chunk-76DBMONS.js.map} +1 -1
  70. package/dist/lib/{chunk-SP5FOE5B.cjs → chunk-EXAOCEQF.cjs} +12 -9
  71. package/dist/lib/chunk-EXAOCEQF.cjs.map +1 -0
  72. package/dist/lib/{chunk-JEB4OVD5.js → chunk-FHSSBMCC.js} +2 -2
  73. package/dist/lib/chunk-FHSSBMCC.js.map +1 -0
  74. package/dist/lib/{chunk-K7EXK3ZX.cjs → chunk-GEMGC7W6.cjs} +7 -7
  75. package/dist/lib/{chunk-K7EXK3ZX.cjs.map → chunk-GEMGC7W6.cjs.map} +1 -1
  76. package/dist/lib/{chunk-LQMUXGB5.cjs → chunk-KOD33DBU.cjs} +4 -4
  77. package/dist/lib/{chunk-LQMUXGB5.cjs.map → chunk-KOD33DBU.cjs.map} +1 -1
  78. package/dist/lib/{chunk-MZ3GS5X3.js → chunk-M7SU453W.js} +3 -3
  79. package/dist/lib/{chunk-MZ3GS5X3.js.map → chunk-M7SU453W.js.map} +1 -1
  80. package/dist/lib/{chunk-SIYSGNDD.js → chunk-Q7C3YOFX.js} +12 -9
  81. package/dist/lib/chunk-Q7C3YOFX.js.map +1 -0
  82. package/dist/lib/{config-CFT-8XXu.d.cts → config-CHOLTlno.d.cts} +3 -3
  83. package/dist/lib/{config-CwebNcAh.d.ts → config-Cf85ts8m.d.ts} +3 -3
  84. package/dist/lib/config-file.d.cts +1 -1
  85. package/dist/lib/config-file.d.ts +1 -1
  86. package/dist/lib/contexts/api-context.cjs +3 -3
  87. package/dist/lib/contexts/api-context.d.cts +3 -3
  88. package/dist/lib/contexts/api-context.d.ts +3 -3
  89. package/dist/lib/contexts/api-context.js +2 -2
  90. package/dist/lib/contexts/context.d.cts +3 -3
  91. package/dist/lib/contexts/context.d.ts +3 -3
  92. package/dist/lib/contexts/environment-context.cjs +2 -2
  93. package/dist/lib/contexts/environment-context.d.cts +3 -3
  94. package/dist/lib/contexts/environment-context.d.ts +3 -3
  95. package/dist/lib/contexts/environment-context.js +1 -1
  96. package/dist/lib/contexts/index.cjs +4 -4
  97. package/dist/lib/contexts/index.d.cts +3 -3
  98. package/dist/lib/contexts/index.d.ts +3 -3
  99. package/dist/lib/contexts/index.js +2 -2
  100. package/dist/lib/contexts/plugin-context.d.cts +3 -3
  101. package/dist/lib/contexts/plugin-context.d.ts +3 -3
  102. package/dist/lib/entry.d.cts +1 -1
  103. package/dist/lib/entry.d.ts +1 -1
  104. package/dist/lib/fs/index.d.cts +1 -1
  105. package/dist/lib/fs/index.d.ts +1 -1
  106. package/dist/lib/fs/vfs.d.cts +1 -1
  107. package/dist/lib/fs/vfs.d.ts +1 -1
  108. package/dist/lib/index.cjs +6 -6
  109. package/dist/lib/index.d.cts +4 -4
  110. package/dist/lib/index.d.ts +4 -4
  111. package/dist/lib/index.js +3 -3
  112. package/dist/lib/{internal-BavTJeC5.d.cts → internal-CJEi85Up.d.cts} +2 -2
  113. package/dist/lib/{internal-DxQ28691.d.ts → internal-CgJbkA5Y.d.ts} +2 -2
  114. package/dist/lib/logger.d.cts +1 -1
  115. package/dist/lib/logger.d.ts +1 -1
  116. package/dist/lib/typescript/import-transformer.d.cts +1 -1
  117. package/dist/lib/typescript/import-transformer.d.ts +1 -1
  118. package/dist/lib/typescript/index.d.cts +1 -1
  119. package/dist/lib/typescript/index.d.ts +1 -1
  120. package/dist/lib/typescript/ts-morph.d.cts +1 -1
  121. package/dist/lib/typescript/ts-morph.d.ts +1 -1
  122. package/dist/lib/unplugin/factory.cjs +4 -4
  123. package/dist/lib/unplugin/factory.d.cts +3 -3
  124. package/dist/lib/unplugin/factory.d.ts +3 -3
  125. package/dist/lib/unplugin/factory.js +3 -3
  126. package/dist/lib/unplugin/helpers.d.cts +1 -1
  127. package/dist/lib/unplugin/helpers.d.ts +1 -1
  128. package/dist/lib/unplugin/index.cjs +4 -4
  129. package/dist/lib/unplugin/index.d.cts +3 -3
  130. package/dist/lib/unplugin/index.d.ts +3 -3
  131. package/dist/lib/unplugin/index.js +3 -3
  132. package/dist/lib/unplugin/plugin.d.cts +3 -3
  133. package/dist/lib/unplugin/plugin.d.ts +3 -3
  134. package/dist/lib/{unplugin-DVAN82cd.d.cts → unplugin-B_IjyAl1.d.cts} +2 -2
  135. package/dist/lib/{unplugin-CpYxomBB.d.ts → unplugin-CzkNGCn5.d.ts} +2 -2
  136. package/dist/lib/utilities/bundle.d.cts +1 -1
  137. package/dist/lib/utilities/bundle.d.ts +1 -1
  138. package/dist/lib/utilities/cache.d.cts +1 -1
  139. package/dist/lib/utilities/cache.d.ts +1 -1
  140. package/dist/lib/utilities/file-header.d.cts +1 -1
  141. package/dist/lib/utilities/file-header.d.ts +1 -1
  142. package/dist/lib/utilities/index.d.cts +1 -1
  143. package/dist/lib/utilities/index.d.ts +1 -1
  144. package/dist/lib/utilities/meta.d.cts +1 -1
  145. package/dist/lib/utilities/meta.d.ts +1 -1
  146. package/dist/lib/utilities/resolve.d.cts +1 -1
  147. package/dist/lib/utilities/resolve.d.ts +1 -1
  148. package/dist/lib/utilities/source-file.d.cts +1 -1
  149. package/dist/lib/utilities/source-file.d.ts +1 -1
  150. package/dist/lib/utilities/source-map.d.cts +1 -1
  151. package/dist/lib/utilities/source-map.d.ts +1 -1
  152. package/dist/lib/utilities/worker.d.cts +1 -1
  153. package/dist/lib/utilities/worker.d.ts +1 -1
  154. package/dist/lib/utilities/write-file.d.cts +1 -1
  155. package/dist/lib/utilities/write-file.d.ts +1 -1
  156. package/dist/next.cjs +5 -5
  157. package/dist/next.js +4 -4
  158. package/dist/nuxt.cjs +7 -7
  159. package/dist/nuxt.js +5 -5
  160. package/dist/plugin-utils/{context-BwokDIBz.d.cts → context-DDQIG3fZ.d.cts} +4 -4
  161. package/dist/plugin-utils/{context-BwokDIBz.d.ts → context-DDQIG3fZ.d.ts} +4 -4
  162. package/dist/plugin-utils/context-helpers.d.cts +1 -1
  163. package/dist/plugin-utils/context-helpers.d.ts +1 -1
  164. package/dist/plugin-utils/enforce.d.cts +1 -1
  165. package/dist/plugin-utils/enforce.d.ts +1 -1
  166. package/dist/plugin-utils/extend.d.cts +1 -1
  167. package/dist/plugin-utils/extend.d.ts +1 -1
  168. package/dist/plugin-utils/get-config-path.d.cts +1 -1
  169. package/dist/plugin-utils/get-config-path.d.ts +1 -1
  170. package/dist/plugin-utils/helpers.d.cts +3 -3
  171. package/dist/plugin-utils/helpers.d.ts +3 -3
  172. package/dist/plugin-utils/index.d.cts +1 -1
  173. package/dist/plugin-utils/index.d.ts +1 -1
  174. package/dist/plugin-utils/merge.d.cts +1 -1
  175. package/dist/plugin-utils/merge.d.ts +1 -1
  176. package/dist/plugin-utils/paths.d.cts +1 -1
  177. package/dist/plugin-utils/paths.d.ts +1 -1
  178. package/dist/rolldown.cjs +7 -7
  179. package/dist/rolldown.d.cts +1 -1
  180. package/dist/rolldown.d.ts +1 -1
  181. package/dist/rolldown.js +4 -4
  182. package/dist/rollup.cjs +4 -4
  183. package/dist/rollup.d.cts +1 -1
  184. package/dist/rollup.d.ts +1 -1
  185. package/dist/rollup.js +3 -3
  186. package/dist/rspack.cjs +4 -4
  187. package/dist/rspack.d.cts +1 -1
  188. package/dist/rspack.d.ts +1 -1
  189. package/dist/rspack.js +3 -3
  190. package/dist/tsdown.cjs +5 -5
  191. package/dist/tsdown.js +4 -4
  192. package/dist/tsup.cjs +5 -5
  193. package/dist/tsup.js +4 -4
  194. package/dist/types/api.d.cts +2 -2
  195. package/dist/types/api.d.ts +2 -2
  196. package/dist/types/babel.d.cts +1 -1
  197. package/dist/types/babel.d.ts +1 -1
  198. package/dist/types/commands.d.cts +1 -1
  199. package/dist/types/commands.d.ts +1 -1
  200. package/dist/types/config.d.cts +1 -1
  201. package/dist/types/config.d.ts +1 -1
  202. package/dist/types/context.d.cts +1 -1
  203. package/dist/types/context.d.ts +1 -1
  204. package/dist/types/hooks.d.cts +1 -1
  205. package/dist/types/hooks.d.ts +1 -1
  206. package/dist/types/index.cjs +2 -2
  207. package/dist/types/index.d.cts +2 -2
  208. package/dist/types/index.d.ts +2 -2
  209. package/dist/types/index.js +1 -1
  210. package/dist/types/internal.d.cts +2 -2
  211. package/dist/types/internal.d.ts +2 -2
  212. package/dist/types/plugin.cjs +2 -2
  213. package/dist/types/plugin.d.cts +1 -1
  214. package/dist/types/plugin.d.ts +1 -1
  215. package/dist/types/plugin.js +1 -1
  216. package/dist/types/resolved.d.cts +1 -1
  217. package/dist/types/resolved.d.ts +1 -1
  218. package/dist/types/unplugin.d.cts +2 -2
  219. package/dist/types/unplugin.d.ts +2 -2
  220. package/dist/unloader.cjs +4 -4
  221. package/dist/unloader.d.cts +1 -1
  222. package/dist/unloader.d.ts +1 -1
  223. package/dist/unloader.js +3 -3
  224. package/dist/unplugin.cjs +6 -6
  225. package/dist/unplugin.d.cts +2 -2
  226. package/dist/unplugin.d.ts +2 -2
  227. package/dist/unplugin.js +4 -4
  228. package/dist/vite.cjs +7 -7
  229. package/dist/vite.d.cts +1 -1
  230. package/dist/vite.d.ts +1 -1
  231. package/dist/vite.js +4 -4
  232. package/dist/webpack.cjs +7 -7
  233. package/dist/webpack.d.cts +1 -1
  234. package/dist/webpack.d.ts +1 -1
  235. package/dist/webpack.js +4 -4
  236. package/package.json +9 -9
  237. package/dist/chunk-LRZLY3R7.cjs +0 -12
  238. package/dist/chunk-YEBH46ZU.cjs +0 -12
  239. package/dist/lib/chunk-HCJQJ2NV.cjs.map +0 -1
  240. package/dist/lib/chunk-JEB4OVD5.js.map +0 -1
  241. package/dist/lib/chunk-SIYSGNDD.js.map +0 -1
  242. package/dist/lib/chunk-SP5FOE5B.cjs.map +0 -1
@@ -18,7 +18,10 @@ var DEFAULT_TSDOWN_CONFIG = {
18
18
  minify: true,
19
19
  sourcemap: false,
20
20
  cjsDefault: true,
21
- dts: true,
21
+ dts: {
22
+ parallel: true,
23
+ newContext: true
24
+ },
22
25
  shims: true,
23
26
  silent: true,
24
27
  treeshake: true,
@@ -80,7 +83,7 @@ function extractTsdownConfig(context) {
80
83
  cwd: append.appendPath(context.config.projectRoot, context.workspaceConfig.workspaceRoot),
81
84
  outDir: replace.replacePath(append.appendPath(context.config.output.buildPath, context.workspaceConfig.workspaceRoot), append.appendPath(context.config.projectRoot, context.workspaceConfig.workspaceRoot)),
82
85
  tsconfig: append.appendPath(context.tsconfig.tsconfigFilePath, context.workspaceConfig.workspaceRoot),
83
- format: context.config.output.format,
86
+ format: toArray.toArray(context.config.output.format).map((format) => format === "esm" ? "es" : format).filter(Boolean),
84
87
  mode: context.config.mode,
85
88
  treeshake: context.config.build.variant === "tsdown" ? context.config.build?.treeshake : context.config.build.variant === "tsup" ? context.config.build?.treeshake : context.config.build.variant === "esbuild" ? context.config.build?.treeShaking : void 0,
86
89
  minify: context.config.mode !== "development",
@@ -91,11 +94,11 @@ function extractTsdownConfig(context) {
91
94
  logLevel: context.config.logLevel === "trace" ? "debug" : context.config.logLevel,
92
95
  customLogger: {
93
96
  level: context.config.logLevel === "trace" ? "debug" : context.config.logLevel,
94
- info: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message) && context.info(formatMessage(context, message)), "info"),
95
- warn: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message) && context.warn(formatMessage(context, message)), "warn"),
96
- warnOnce: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message) && context.warn(formatMessage(context, message)), "warnOnce"),
97
- error: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message) && context.error(formatMessage(context, message)), "error"),
98
- success: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message) && context.info(formatMessage(context, message)), "success")
97
+ info: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.info(formatMessage(context, message)), "info"),
98
+ warn: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.warn(formatMessage(context, message)), "warn"),
99
+ warnOnce: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.warn(formatMessage(context, message)), "warnOnce"),
100
+ error: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.error(formatMessage(context, message)), "error"),
101
+ success: /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((message) => formatMessage(context, message).replace(/\s+/g, "").length > 5 && context.info(formatMessage(context, message)), "success")
99
102
  }
100
103
  }, DEFAULT_TSDOWN_CONFIG);
101
104
  }
@@ -105,5 +108,5 @@ exports.DEFAULT_TSDOWN_CONFIG = DEFAULT_TSDOWN_CONFIG;
105
108
  exports.extractTsdownConfig = extractTsdownConfig;
106
109
  exports.resolveFromTsdownFormat = resolveFromTsdownFormat;
107
110
  exports.resolveTsdownFormat = resolveTsdownFormat;
108
- //# sourceMappingURL=chunk-SP5FOE5B.cjs.map
109
- //# sourceMappingURL=chunk-SP5FOE5B.cjs.map
111
+ //# sourceMappingURL=chunk-EXAOCEQF.cjs.map
112
+ //# sourceMappingURL=chunk-EXAOCEQF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lib/build/tsdown.ts"],"names":["DEFAULT_TSDOWN_CONFIG","platform","target","minify","sourcemap","cjsDefault","dts","parallel","newContext","shims","silent","treeshake","fixedExtension","nodeProtocol","resolveTsdownFormat","formats","toArray","map","format","resolveFromTsdownFormat","formatMessage","__name","context","message","replace","RegExp","config","name","trim","extractTsdownConfig","defu","entry","typeDef","parseTypeDefinition","file","filter","Boolean","alias","builtins","reduce","ret","id","path","fs","ids","noExternal","build","variant","override","omit","cwd","appendPath","projectRoot","workspaceConfig","workspaceRoot","outDir","replacePath","output","buildPath","tsconfig","tsconfigFilePath","mode","treeShaking","undefined","metafile","debug","logLevel","customLogger","level","info","length","warn","warnOnce","error","success"],"mappings":"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","file":"chunk-EXAOCEQF.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 type { Format } from \"@storm-software/build-tools/types\";\nimport { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { toArray } from \"@stryke/convert/to-array\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { replacePath } from \"@stryke/path/replace\";\nimport defu from \"defu\";\nimport { Format as TsdownFormat } from \"tsdown\";\nimport {\n ESBuildBuildConfig,\n TsdownBuildConfig,\n TsdownResolvedBuildConfig,\n TsupBuildConfig\n} from \"../../types/build\";\nimport { Context } from \"../../types/context\";\n\nexport const DEFAULT_TSDOWN_CONFIG: Partial<TsdownResolvedBuildConfig> = {\n platform: \"neutral\",\n target: \"esnext\",\n minify: true,\n sourcemap: false,\n cjsDefault: true,\n dts: {\n parallel: true,\n newContext: true\n },\n shims: true,\n silent: true,\n treeshake: true,\n fixedExtension: true,\n nodeProtocol: false\n} as const;\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveTsdownFormat(\n formats?: Format | Format[]\n): TsdownFormat[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n default:\n return \"esm\";\n }\n });\n}\n\n/**\n * Resolves the entry options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param formats - The formats to resolve.\n * @returns The resolved entry options.\n */\nexport function resolveFromTsdownFormat(\n formats?: TsdownFormat | TsdownFormat[]\n): Format[] {\n return toArray(formats).map(format => {\n switch (format) {\n case \"cjs\":\n case \"commonjs\":\n return \"cjs\";\n case \"iife\":\n return \"iife\";\n case \"esm\":\n case \"es\":\n case \"module\":\n case \"umd\":\n default:\n return \"esm\";\n }\n });\n}\n\nconst formatMessage = (context: Context, message: string) =>\n message.replace(new RegExp(`\\\\[${context.config.name}\\\\]`, \"g\"), \"\").trim();\n\n/**\n * Resolves the options for [tsdown](https://github.com/rolldown/tsdown).\n *\n * @param context - The build context.\n * @returns The resolved options.\n */\nexport function extractTsdownConfig(\n context: Context\n): TsdownResolvedBuildConfig {\n return defu(\n {\n entry: toArray(context.config.entry)\n .map(entry => {\n const typeDef = parseTypeDefinition(entry);\n\n return typeDef?.file;\n })\n .filter(Boolean) as string[],\n alias: context.builtins.reduce(\n (ret, id) => {\n const path = context.fs.ids[id];\n if (path) {\n ret[id] = path;\n }\n\n return ret;\n },\n {} as Record<string, string>\n ),\n noExternal: context.builtins\n },\n context.config.build.variant === \"tsdown\"\n ? context.config.build.override\n : {},\n context.config.build.variant === \"tsdown\"\n ? omit(context.config.build, [\"override\", \"variant\"])\n : {},\n {\n name: context.config.name,\n cwd: appendPath(\n context.config.projectRoot,\n context.workspaceConfig.workspaceRoot\n ),\n outDir: replacePath(\n appendPath(\n context.config.output.buildPath,\n context.workspaceConfig.workspaceRoot\n ),\n appendPath(\n context.config.projectRoot,\n context.workspaceConfig.workspaceRoot\n )\n ),\n tsconfig: appendPath(\n context.tsconfig.tsconfigFilePath,\n context.workspaceConfig.workspaceRoot\n ),\n format: toArray(context.config.output.format)\n .map(format => (format === \"esm\" ? \"es\" : format))\n .filter(Boolean) as TsdownFormat[],\n mode: context.config.mode,\n treeshake:\n context.config.build.variant === \"tsdown\"\n ? (context.config.build as TsdownBuildConfig)?.treeshake\n : context.config.build.variant === \"tsup\"\n ? (context.config.build as TsupBuildConfig)?.treeshake\n : context.config.build.variant === \"esbuild\"\n ? (context.config.build as ESBuildBuildConfig)?.treeShaking\n : undefined,\n minify: context.config.mode !== \"development\",\n metafile: context.config.mode === \"development\",\n sourcemap: context.config.mode === \"development\",\n debug: context.config.mode === \"development\",\n silent:\n context.config.logLevel === null ||\n context.config.mode === \"production\",\n logLevel:\n context.config.logLevel === \"trace\" ? \"debug\" : context.config.logLevel,\n customLogger: {\n level:\n context.config.logLevel === \"trace\"\n ? \"debug\"\n : context.config.logLevel,\n info: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.info(formatMessage(context, message)),\n warn: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.warn(formatMessage(context, message)),\n warnOnce: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.warn(formatMessage(context, message)),\n error: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.error(formatMessage(context, message)),\n success: (message: string) =>\n formatMessage(context, message).replace(/\\s+/g, \"\").length > 5 &&\n context.info(formatMessage(context, message))\n }\n } as TsdownResolvedBuildConfig,\n DEFAULT_TSDOWN_CONFIG\n );\n}\n"]}
@@ -197,5 +197,5 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends P
197
197
  };
198
198
 
199
199
  export { PowerlinesEnvironmentContext };
200
- //# sourceMappingURL=chunk-JEB4OVD5.js.map
201
- //# sourceMappingURL=chunk-JEB4OVD5.js.map
200
+ //# sourceMappingURL=chunk-FHSSBMCC.js.map
201
+ //# sourceMappingURL=chunk-FHSSBMCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/plugin.ts","../../src/lib/contexts/environment-context.ts"],"names":["PLUGIN_NON_HOOK_FIELDS","PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPlugin","createPluginContext","push","filter","key","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","isFunction","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":"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","file":"chunk-FHSSBMCC.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 { ArrayValues } from \"@stryke/types/array\";\nimport type { FunctionLike, MaybePromise } from \"@stryke/types/base\";\nimport type {\n ExternalIdResult,\n HookFilter,\n TransformResult,\n UnpluginOptions\n} from \"unplugin\";\nimport type { UnpluginBuildVariant } from \"./build\";\nimport type { CommandType } from \"./commands\";\nimport type { EnvironmentConfig, PluginConfig } from \"./config\";\nimport type {\n BuildPluginContext,\n PluginContext,\n UnresolvedContext\n} from \"./context\";\nimport type { EnvironmentResolvedConfig, ResolvedConfig } from \"./resolved\";\n\nexport interface PluginHookObject<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> {\n /**\n * The order in which the plugin should be applied.\n */\n order?: \"pre\" | \"post\" | null | undefined;\n\n /**\n * A filter to determine when the hook should be called.\n */\n filter?: Pick<HookFilter, TFilter>;\n\n /**\n * The hook function to be called.\n */\n handler: THookFunction;\n}\n\nexport type PluginHook<\n THookFunction extends FunctionLike,\n TFilter extends keyof HookFilter = never\n> = THookFunction | PluginHookObject<THookFunction, TFilter>;\n\n/**\n * A result returned by the plugin from the `types` hook that describes the declaration types output file.\n */\nexport interface TypesResult {\n directives?: string[];\n code: string;\n}\n\ntype DeepPartial<T> = {\n [K in keyof T]?: DeepPartial<T[K]>;\n};\n\nexport type ConfigResult<TContext extends PluginContext = PluginContext> =\n DeepPartial<TContext[\"config\"]> & Record<string, any>;\n\nexport interface BasePluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> extends Record<CommandType, (this: TContext) => MaybePromise<void>> {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config: (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>;\n\n /**\n * Modify environment configs before it's resolved. The hook can either mutate the passed-in environment config directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @remarks\n * This hook is called for each environment with a partially resolved environment config that already accounts for the default environment config values set at the root level. If plugins need to modify the config of a given environment, they should do it in this hook instead of the config hook. Leaving the config hook only for modifying the root default environment config.\n *\n * @see https://vitejs.dev/guide/api-plugin#configenvironment\n *\n * @param this - The build context.\n * @param name - The name of the environment being configured.\n * @param environment - The Vite-like environment object containing information about the current build environment.\n * @returns A promise that resolves when the hook is complete.\n */\n configEnvironment: (\n this: TContext,\n name: string,\n environment: EnvironmentConfig\n ) => MaybePromise<Partial<EnvironmentResolvedConfig> | undefined | null>;\n\n /**\n * A hook that is called when the plugin is resolved.\n *\n * @see https://vitejs.dev/guide/api-plugin#configresolved\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n configResolved: (this: TContext) => MaybePromise<void>;\n\n /**\n * A hook that is called to overwrite the generated declaration types file (.d.ts). The generated type definitions should describe the built-in modules/logic added during the `prepare` task.\n *\n * @param this - The build context.\n * @param code - The source code to generate types for.\n * @returns A promise that resolves when the hook is complete.\n */\n types: (\n this: TContext,\n code: string\n ) => MaybePromise<TypesResult | string | undefined | null>;\n\n /**\n * A hook that is called at the start of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildStart: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called at the end of the build process.\n *\n * @param this - The build context and unplugin build context.\n * @returns A promise that resolves when the hook is complete.\n */\n buildEnd: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext\n ) => MaybePromise<void>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>;\n\n /**\n * A hook that is called to write the bundle to disk.\n *\n * @param this - The build context.\n * @returns A promise that resolves when the hook is complete.\n */\n writeBundle: (this: TContext) => MaybePromise<void>;\n}\n\nexport type BuildPlugin<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant,\n TOptions extends Required<UnpluginOptions>[TBuildVariant] =\n Required<UnpluginOptions>[TBuildVariant]\n> = {\n [TKey in keyof TOptions]: TOptions[TKey] extends FunctionLike\n ? (\n this: ThisParameterType<TOptions[TKey]> & TContext,\n ...args: Parameters<TOptions[TKey]>\n ) => ReturnType<TOptions[TKey]> | MaybePromise<ReturnType<TOptions[TKey]>>\n : TOptions[TKey];\n};\n\nexport type ExternalPluginHookFunctionsVariant<\n TContext extends PluginContext = PluginContext,\n TBuildVariant extends UnpluginBuildVariant = UnpluginBuildVariant\n> = {\n [TKey in keyof BuildPlugin<TContext, TBuildVariant> &\n string as `${TBuildVariant}:${TKey}`]: BuildPlugin<\n TContext,\n TBuildVariant\n >[TKey];\n};\n\nexport type ExternalPluginHookFunctions<TContext extends PluginContext> =\n ExternalPluginHookFunctionsVariant<TContext, \"vite\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"esbuild\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rolldown\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rollup\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"webpack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"rspack\"> &\n ExternalPluginHookFunctionsVariant<TContext, \"farm\">;\n\nexport type PluginHookFunctions<\n TContext extends PluginContext = PluginContext\n> = BasePluginHookFunctions<TContext> & ExternalPluginHookFunctions<TContext>;\n\nexport type PluginHooks<TContext extends PluginContext = PluginContext> = {\n [TKey in keyof BasePluginHookFunctions<TContext>]: PluginHook<\n BasePluginHookFunctions<TContext>[TKey]\n >;\n} & {\n /**\n * A function that returns configuration options to be merged with the build context's options.\n *\n * @remarks\n * Modify config before it's resolved. The hook can either mutate {@link Context.config} on the passed-in context directly, or return a partial config object that will be deeply merged into existing config.\n *\n * @warning User plugins are resolved before running this hook so injecting other plugins inside the config hook will have no effect. If you want to add plugins, consider doing so in the {@link Plugin.dependsOn} property instead.\n *\n * @see https://vitejs.dev/guide/api-plugin#config\n *\n * @param this - The build context.\n * @param config - The partial configuration object to be modified.\n * @returns A promise that resolves to a partial configuration object.\n */\n config:\n | PluginHook<\n (\n this: UnresolvedContext<TContext[\"config\"]>\n ) => MaybePromise<ConfigResult<TContext>>\n >\n | ConfigResult<TContext>;\n\n /**\n * A hook that is called to transform the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param code - The source code to transform.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n transform: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n code: string,\n id: string\n ) => MaybePromise<TransformResult>,\n \"code\" | \"id\"\n >;\n\n /**\n * A hook that is called to load the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @returns A promise that resolves when the hook is complete.\n */\n load: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string\n ) => MaybePromise<TransformResult>,\n \"id\"\n >;\n\n /**\n * A hook that is called to resolve the identifier of the source code.\n *\n * @param this - The build context, unplugin build context, and unplugin context.\n * @param id - The identifier of the source code.\n * @param importer - The importer of the source code.\n * @param options - The options for resolving the identifier.\n * @returns A promise that resolves when the hook is complete.\n */\n resolveId: PluginHook<\n (\n this: BuildPluginContext<TContext[\"config\"]> & TContext,\n id: string,\n importer: string | undefined,\n options: { isEntry: boolean }\n ) => MaybePromise<string | ExternalIdResult | null | undefined>,\n \"id\"\n >;\n};\n\nexport type PluginBuildPlugins<TContext extends PluginContext = PluginContext> =\n {\n [TBuildVariant in UnpluginBuildVariant]?: BuildPlugin<\n TContext,\n TBuildVariant\n >;\n };\n\nexport interface Plugin<\n in out TContext extends PluginContext<ResolvedConfig> =\n PluginContext<ResolvedConfig>\n>\n extends Partial<PluginHooks<TContext>>, PluginBuildPlugins<TContext> {\n /**\n * The name of the plugin, for use in deduplication, error messages and logs.\n */\n name: string;\n\n /**\n * An API object that can be used for inter-plugin communication.\n *\n * @see https://rollupjs.org/plugin-development/#direct-plugin-communication\n */\n api?: Record<string, any>;\n\n /**\n * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering is still subject to the `order` property in the hook object.\n *\n * @remarks\n * The Plugin invocation order is as follows:\n * - `enforce: 'pre'` plugins\n * - `order: 'pre'` plugin hooks\n * - any other plugins (normal)\n * - `order: 'post'` plugin hooks\n * - `enforce: 'post'` plugins\n *\n * @see https://vitejs.dev/guide/api-plugin.html#plugin-ordering\n * @see https://rollupjs.org/plugin-development/#build-hooks\n * @see https://webpack.js.org/concepts/loaders/#enforce---pre-and-post\n * @see https://esbuild.github.io/plugins/#concepts\n */\n enforce?: \"pre\" | \"post\";\n\n /**\n * A function to determine if two plugins are the same and can be de-duplicated.\n *\n * @remarks\n * If this is not provided, plugins are de-duplicated by comparing their names.\n *\n * @param other - The other plugin to compare against.\n * @returns `true` if the two plugins are the same, `false` otherwise.\n */\n dedupe?: false | ((other: Plugin<any>) => boolean);\n\n /**\n * A list of pre-requisite plugins that must be loaded before this plugin can be used.\n */\n dependsOn?: PluginConfig<any>[];\n\n /**\n * Define environments where this plugin should be active. By default, the plugin is active in all environments.\n *\n * @param environment - The environment to check.\n * @returns `true` if the plugin should be active in the specified environment, `false` otherwise.\n */\n applyToEnvironment?: (\n environment: EnvironmentResolvedConfig\n ) => MaybePromise<boolean | Plugin<TContext>>;\n}\n\nexport const PLUGIN_NON_HOOK_FIELDS = [\n \"name\",\n \"api\",\n \"enforce\",\n \"dedupe\",\n \"dependsOn\",\n \"applyToEnvironment\"\n] as const;\n\nexport type PluginNonHookFields =\n | ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n | UnpluginBuildVariant;\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 { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - 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 async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n context.powerlinesPath = await resolvePackage(\"powerlines\");\n if (!context.powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (plugin.applyToEnvironment) {\n const result = await Promise.resolve(\n plugin.applyToEnvironment(this.environment)\n );\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n resolvedPlugin = isPlugin<TResolvedConfig>(result) ? result : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkMFC7UJHT_cjs = require('./chunk-MFC7UJHT.cjs');
4
- var chunkLQMUXGB5_cjs = require('./chunk-LQMUXGB5.cjs');
4
+ var chunkKOD33DBU_cjs = require('./chunk-KOD33DBU.cjs');
5
5
  var chunk2OMOKN7Y_cjs = require('./chunk-2OMOKN7Y.cjs');
6
6
  var chunkBJGMF356_cjs = require('./chunk-BJGMF356.cjs');
7
7
  var chunkZWLSNYIN_cjs = require('./chunk-ZWLSNYIN.cjs');
@@ -494,7 +494,7 @@ var PowerlinesAPI = class _PowerlinesAPI {
494
494
  * @returns A new instance of the Powerlines API
495
495
  */
496
496
  static async from(workspaceRoot, config) {
497
- const api = new _PowerlinesAPI(await chunkLQMUXGB5_cjs.PowerlinesAPIContext.from(workspaceRoot, config));
497
+ const api = new _PowerlinesAPI(await chunkKOD33DBU_cjs.PowerlinesAPIContext.from(workspaceRoot, config));
498
498
  api.#context.$$internal = {
499
499
  api
500
500
  };
@@ -622,7 +622,7 @@ ${console.formatLogMessage(context.config)}`);
622
622
  context.log(types.LogLevelLabel.TRACE, `Generating TypeScript declaration file ${context.dtsPath}.`);
623
623
  const directives = [];
624
624
  const asNextParam = /* @__PURE__ */ chunkPK6SKIKE_cjs.__name((previousResult) => isObject.isObject(previousResult) ? previousResult.code : previousResult, "asNextParam");
625
- let result = await this.callHook("generateTypes", {
625
+ let result = await this.callHook("types", {
626
626
  environment: context,
627
627
  sequential: true,
628
628
  order: "pre",
@@ -639,7 +639,7 @@ ${console.formatLogMessage(context.config)}`);
639
639
  generatedTypes = result;
640
640
  }
641
641
  }
642
- result = await this.callHook("generateTypes", {
642
+ result = await this.callHook("types", {
643
643
  environment: context,
644
644
  sequential: true,
645
645
  order: "normal",
@@ -656,7 +656,7 @@ ${console.formatLogMessage(context.config)}`);
656
656
  generatedTypes = result;
657
657
  }
658
658
  }
659
- result = await this.callHook("generateTypes", {
659
+ result = await this.callHook("types", {
660
660
  environment: context,
661
661
  sequential: true,
662
662
  order: "post",
@@ -1205,5 +1205,5 @@ function createUnpluginFactory(variant, decorate) {
1205
1205
  chunkPK6SKIKE_cjs.__name(createUnpluginFactory, "createUnpluginFactory");
1206
1206
 
1207
1207
  exports.createUnpluginFactory = createUnpluginFactory;
1208
- //# sourceMappingURL=chunk-K7EXK3ZX.cjs.map
1209
- //# sourceMappingURL=chunk-K7EXK3ZX.cjs.map
1208
+ //# sourceMappingURL=chunk-GEMGC7W6.cjs.map
1209
+ //# sourceMappingURL=chunk-GEMGC7W6.cjs.map