powerlines 0.6.1 → 0.7.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 (253) hide show
  1. package/dist/astro.cjs +8 -8
  2. package/dist/astro.d.cts +1 -1
  3. package/dist/astro.d.ts +1 -1
  4. package/dist/astro.js +5 -5
  5. package/dist/{chunk-KNO2M23A.js → chunk-2CNNHTLQ.js} +3 -3
  6. package/dist/{chunk-L5GLIKXZ.js → chunk-3KDLNXR2.js} +3 -3
  7. package/dist/{chunk-ADSCR5XG.js → chunk-3M7JOAG2.js} +3 -3
  8. package/dist/{chunk-TXTWKVWH.js → chunk-3TWKQNDH.js} +3 -3
  9. package/dist/chunk-3WADZS76.cjs +24 -0
  10. package/dist/chunk-4AKYOJXA.cjs +20 -0
  11. package/dist/{chunk-WJT7T6W5.cjs → chunk-5BMVZ2J3.cjs} +25 -20
  12. package/dist/{chunk-5QMOCGCK.js → chunk-5FOMG64G.js} +3 -3
  13. package/dist/{chunk-FO3BCZ7I.cjs → chunk-B5UJMXT7.cjs} +2 -2
  14. package/dist/chunk-CT56Z4A5.cjs +12 -0
  15. package/dist/{chunk-AW2LSG43.cjs → chunk-G4VNZ3U2.cjs} +4 -4
  16. package/dist/{chunk-FK3MZTKX.cjs → chunk-H3DAM4ZC.cjs} +4 -4
  17. package/dist/{chunk-B6G6LTDH.js → chunk-HQOIPPXC.js} +3 -3
  18. package/dist/{chunk-KFCDBHCT.js → chunk-ITUNIK6G.js} +24 -19
  19. package/dist/{chunk-RF2IZCFH.cjs → chunk-IWAWK6QY.cjs} +4 -4
  20. package/dist/chunk-KMLFL4CW.js +14 -0
  21. package/dist/{chunk-FAMB6PTO.cjs → chunk-L2FOZFCY.cjs} +4 -4
  22. package/dist/{chunk-S7USQUJV.js → chunk-L3BSBOST.js} +3 -3
  23. package/dist/chunk-LJKLD77I.cjs +12 -0
  24. package/dist/chunk-NKOW5VPV.cjs +12 -0
  25. package/dist/chunk-NWADEQ7Z.cjs +12 -0
  26. package/dist/chunk-PBF6NZ5X.cjs +12 -0
  27. package/dist/{chunk-UPPRHJT4.js → chunk-QQGS6IQZ.js} +3 -3
  28. package/dist/{chunk-NDZJPIXK.cjs → chunk-R7QBD2CA.cjs} +8 -8
  29. package/dist/{chunk-7HEPGGKY.cjs → chunk-RELMZQ2F.cjs} +4 -4
  30. package/dist/{chunk-UDSXA7AL.cjs → chunk-S7OH2JEE.cjs} +2 -2
  31. package/dist/{chunk-N2QM4T3D.js → chunk-SXZICBIR.js} +2 -2
  32. package/dist/chunk-ULXUM6T3.cjs +34 -0
  33. package/dist/chunk-UWSABODX.js +31 -0
  34. package/dist/{chunk-SXQLYT2H.js → chunk-UXQMPRRF.js} +2 -2
  35. package/dist/{chunk-5ACQG5UA.js → chunk-XPRQFK7T.js} +3 -3
  36. package/dist/{chunk-S4I5DL5U.js → chunk-XQNFWNO4.js} +3 -3
  37. package/dist/{chunk-DJ7OEHR6.js → chunk-Y3DXEDVV.js} +3 -3
  38. package/dist/{chunk-TBICI24M.js → chunk-ZBOHY2FX.js} +4 -4
  39. package/dist/define-config.d.cts +1 -1
  40. package/dist/define-config.d.ts +1 -1
  41. package/dist/esbuild.cjs +7 -7
  42. package/dist/esbuild.d.cts +1 -1
  43. package/dist/esbuild.d.ts +1 -1
  44. package/dist/esbuild.js +4 -4
  45. package/dist/extend-plugin.cjs +13 -0
  46. package/dist/extend-plugin.d.cts +48 -0
  47. package/dist/extend-plugin.d.ts +48 -0
  48. package/dist/extend-plugin.js +4 -0
  49. package/dist/farm.cjs +4 -4
  50. package/dist/farm.d.cts +1 -1
  51. package/dist/farm.d.ts +1 -1
  52. package/dist/farm.js +3 -3
  53. package/dist/hooks-Bsux3yRH.d.cts +28 -0
  54. package/dist/hooks-DNo6rFyJ.d.ts +28 -0
  55. package/dist/index.cjs +27 -22
  56. package/dist/index.d.cts +4 -2
  57. package/dist/index.d.ts +4 -2
  58. package/dist/index.js +18 -17
  59. package/dist/internal/api.cjs +3 -3
  60. package/dist/internal/api.d.cts +2 -1
  61. package/dist/internal/api.d.ts +2 -1
  62. package/dist/internal/api.js +2 -2
  63. package/dist/lib/build/esbuild.d.cts +2 -2
  64. package/dist/lib/build/esbuild.d.ts +2 -2
  65. package/dist/lib/build/index.cjs +4 -4
  66. package/dist/lib/build/index.d.cts +3 -2
  67. package/dist/lib/build/index.d.ts +3 -2
  68. package/dist/lib/build/index.js +1 -1
  69. package/dist/lib/build/rolldown.d.cts +2 -2
  70. package/dist/lib/build/rolldown.d.ts +2 -2
  71. package/dist/lib/build/rollup.d.cts +2 -2
  72. package/dist/lib/build/rollup.d.ts +2 -2
  73. package/dist/lib/build/rspack.d.cts +2 -2
  74. package/dist/lib/build/rspack.d.ts +2 -2
  75. package/dist/lib/build/tsup.d.cts +2 -2
  76. package/dist/lib/build/tsup.d.ts +2 -2
  77. package/dist/lib/build/unbuild.cjs +4 -4
  78. package/dist/lib/build/unbuild.d.cts +22 -3
  79. package/dist/lib/build/unbuild.d.ts +22 -3
  80. package/dist/lib/build/unbuild.js +1 -1
  81. package/dist/lib/build/vite.d.cts +2 -2
  82. package/dist/lib/build/vite.d.ts +2 -2
  83. package/dist/lib/build/webpack.d.cts +2 -2
  84. package/dist/lib/build/webpack.d.ts +2 -2
  85. package/dist/lib/{chunk-TJURBPBY.cjs → chunk-6WVUO7M4.cjs} +3 -3
  86. package/dist/lib/chunk-6WVUO7M4.cjs.map +1 -0
  87. package/dist/lib/{chunk-RAMRPMFI.js → chunk-76ZPTPDX.js} +3 -4
  88. package/dist/lib/chunk-76ZPTPDX.js.map +1 -0
  89. package/dist/lib/{chunk-W6ZSRUY2.cjs → chunk-7IBV47QK.cjs} +2 -3
  90. package/dist/lib/chunk-7IBV47QK.cjs.map +1 -0
  91. package/dist/lib/{chunk-UGV446VO.cjs → chunk-7QV523K6.cjs} +3 -4
  92. package/dist/lib/chunk-7QV523K6.cjs.map +1 -0
  93. package/dist/lib/{chunk-OY2CMFTJ.js → chunk-B74JOQLB.js} +2 -3
  94. package/dist/lib/chunk-B74JOQLB.js.map +1 -0
  95. package/dist/lib/{chunk-YO7VJP6Z.cjs → chunk-K5WQ3PLT.cjs} +36 -31
  96. package/dist/lib/chunk-K5WQ3PLT.cjs.map +1 -0
  97. package/dist/lib/{chunk-T6FKCZRX.js → chunk-XOHGJW5P.js} +3 -3
  98. package/dist/lib/chunk-XOHGJW5P.js.map +1 -0
  99. package/dist/lib/{chunk-QZUPXK3A.js → chunk-XXK5BM6Z.js} +23 -18
  100. package/dist/lib/chunk-XXK5BM6Z.js.map +1 -0
  101. package/dist/lib/{config-CHVR37vX.d.ts → config-CNAXWorR.d.ts} +11 -53
  102. package/dist/lib/{config-DoR-gOOH.d.cts → config-Db6OT19W.d.cts} +11 -53
  103. package/dist/lib/config-file.d.cts +2 -2
  104. package/dist/lib/config-file.d.ts +2 -2
  105. package/dist/lib/deepkit/index.cjs +1 -1
  106. package/dist/lib/deepkit/index.d.cts +2 -2
  107. package/dist/lib/deepkit/index.d.ts +2 -2
  108. package/dist/lib/deepkit/index.js +1 -1
  109. package/dist/lib/deepkit/reflect-type.cjs +1 -1
  110. package/dist/lib/deepkit/reflect-type.d.cts +2 -2
  111. package/dist/lib/deepkit/reflect-type.d.ts +2 -2
  112. package/dist/lib/deepkit/reflect-type.js +1 -1
  113. package/dist/lib/deepkit/resolve-reflections.d.cts +2 -2
  114. package/dist/lib/deepkit/resolve-reflections.d.ts +2 -2
  115. package/dist/lib/deepkit/transformer.d.cts +2 -2
  116. package/dist/lib/deepkit/transformer.d.ts +2 -2
  117. package/dist/lib/entry.d.cts +2 -2
  118. package/dist/lib/entry.d.ts +2 -2
  119. package/dist/lib/hooks-Do13PWjN.d.cts +28 -0
  120. package/dist/lib/hooks-PaFdWKMh.d.ts +28 -0
  121. package/dist/lib/index.cjs +19 -19
  122. package/dist/lib/index.d.cts +3 -2
  123. package/dist/lib/index.d.ts +3 -2
  124. package/dist/lib/index.js +4 -4
  125. package/dist/lib/logger.d.cts +2 -2
  126. package/dist/lib/logger.d.ts +2 -2
  127. package/dist/lib/typescript/compiler-host.d.cts +2 -2
  128. package/dist/lib/typescript/compiler-host.d.ts +2 -2
  129. package/dist/lib/typescript/import-transformer.d.cts +2 -2
  130. package/dist/lib/typescript/import-transformer.d.ts +2 -2
  131. package/dist/lib/typescript/index.d.cts +2 -2
  132. package/dist/lib/typescript/index.d.ts +2 -2
  133. package/dist/lib/typescript/program.d.cts +2 -2
  134. package/dist/lib/typescript/program.d.ts +2 -2
  135. package/dist/lib/typescript/transpile.d.cts +2 -2
  136. package/dist/lib/typescript/transpile.d.ts +2 -2
  137. package/dist/lib/unplugin/factory.cjs +3 -3
  138. package/dist/lib/unplugin/factory.d.cts +3 -2
  139. package/dist/lib/unplugin/factory.d.ts +3 -2
  140. package/dist/lib/unplugin/factory.js +2 -2
  141. package/dist/lib/unplugin/index.cjs +5 -5
  142. package/dist/lib/unplugin/index.d.cts +3 -2
  143. package/dist/lib/unplugin/index.d.ts +3 -2
  144. package/dist/lib/unplugin/index.js +3 -3
  145. package/dist/lib/unplugin/plugin.cjs +2 -2
  146. package/dist/lib/unplugin/plugin.d.cts +2 -2
  147. package/dist/lib/unplugin/plugin.d.ts +2 -2
  148. package/dist/lib/unplugin/plugin.js +1 -1
  149. package/dist/lib/unplugin/resolve-id.d.cts +2 -2
  150. package/dist/lib/unplugin/resolve-id.d.ts +2 -2
  151. package/dist/lib/utilities/file-header.d.cts +2 -2
  152. package/dist/lib/utilities/file-header.d.ts +2 -2
  153. package/dist/lib/utilities/index.cjs +14 -14
  154. package/dist/lib/utilities/index.d.cts +2 -2
  155. package/dist/lib/utilities/index.d.ts +2 -2
  156. package/dist/lib/utilities/index.js +1 -1
  157. package/dist/lib/utilities/meta.d.cts +2 -2
  158. package/dist/lib/utilities/meta.d.ts +2 -2
  159. package/dist/lib/utilities/plugin-helpers.cjs +14 -14
  160. package/dist/lib/utilities/plugin-helpers.d.cts +1 -1
  161. package/dist/lib/utilities/plugin-helpers.d.ts +1 -1
  162. package/dist/lib/utilities/plugin-helpers.js +1 -1
  163. package/dist/lib/utilities/resolve-path.d.cts +2 -2
  164. package/dist/lib/utilities/resolve-path.d.ts +2 -2
  165. package/dist/lib/utilities/worker.d.cts +2 -2
  166. package/dist/lib/utilities/worker.d.ts +2 -2
  167. package/dist/lib/utilities/write-file.d.cts +2 -2
  168. package/dist/lib/utilities/write-file.d.ts +2 -2
  169. package/dist/next.cjs +8 -8
  170. package/dist/next.js +5 -5
  171. package/dist/nuxt.cjs +9 -9
  172. package/dist/nuxt.js +6 -6
  173. package/dist/{resolved-FsbyTSdi.d.cts → resolved-DcBls4aH.d.cts} +142 -186
  174. package/dist/{resolved-BAlwv88V.d.ts → resolved-vAIx5R3j.d.ts} +142 -186
  175. package/dist/rolldown.cjs +7 -7
  176. package/dist/rolldown.d.cts +1 -1
  177. package/dist/rolldown.d.ts +1 -1
  178. package/dist/rolldown.js +4 -4
  179. package/dist/rollup.cjs +7 -7
  180. package/dist/rollup.d.cts +1 -1
  181. package/dist/rollup.d.ts +1 -1
  182. package/dist/rollup.js +4 -4
  183. package/dist/rspack.cjs +7 -7
  184. package/dist/rspack.d.cts +1 -1
  185. package/dist/rspack.d.ts +1 -1
  186. package/dist/rspack.js +4 -4
  187. package/dist/tsup.cjs +8 -8
  188. package/dist/tsup.js +5 -5
  189. package/dist/types/babel.d.cts +1 -1
  190. package/dist/types/babel.d.ts +1 -1
  191. package/dist/types/commands.d.cts +1 -1
  192. package/dist/types/commands.d.ts +1 -1
  193. package/dist/types/compiler.d.cts +1 -1
  194. package/dist/types/compiler.d.ts +1 -1
  195. package/dist/types/config.d.cts +1 -1
  196. package/dist/types/config.d.ts +1 -1
  197. package/dist/types/context.cjs +2 -2
  198. package/dist/types/context.d.cts +1 -1
  199. package/dist/types/context.d.ts +1 -1
  200. package/dist/types/context.js +1 -1
  201. package/dist/types/hooks.d.cts +1 -1
  202. package/dist/types/hooks.d.ts +1 -1
  203. package/dist/types/index.cjs +4 -4
  204. package/dist/types/index.d.cts +1 -1
  205. package/dist/types/index.d.ts +1 -1
  206. package/dist/types/index.js +2 -2
  207. package/dist/types/internal.cjs +4 -0
  208. package/dist/types/internal.cjs.map +1 -0
  209. package/dist/types/internal.d.cts +61 -0
  210. package/dist/types/internal.d.ts +61 -0
  211. package/dist/types/internal.js +3 -0
  212. package/dist/types/internal.js.map +1 -0
  213. package/dist/types/plugin.cjs +2 -2
  214. package/dist/types/plugin.d.cts +1 -1
  215. package/dist/types/plugin.d.ts +1 -1
  216. package/dist/types/plugin.js +1 -1
  217. package/dist/types/resolved.d.cts +1 -1
  218. package/dist/types/resolved.d.ts +1 -1
  219. package/dist/types/unplugin.d.cts +1 -1
  220. package/dist/types/unplugin.d.ts +1 -1
  221. package/dist/unloader.cjs +7 -7
  222. package/dist/unloader.d.cts +1 -1
  223. package/dist/unloader.d.ts +1 -1
  224. package/dist/unloader.js +4 -4
  225. package/dist/unplugin.cjs +18 -18
  226. package/dist/unplugin.d.cts +2 -1
  227. package/dist/unplugin.d.ts +2 -1
  228. package/dist/unplugin.js +15 -15
  229. package/dist/vite.cjs +7 -7
  230. package/dist/vite.d.cts +1 -1
  231. package/dist/vite.d.ts +1 -1
  232. package/dist/vite.js +4 -4
  233. package/dist/webpack.cjs +7 -7
  234. package/dist/webpack.d.cts +1 -1
  235. package/dist/webpack.d.ts +1 -1
  236. package/dist/webpack.js +4 -4
  237. package/package.json +65 -51
  238. package/dist/chunk-3UC4BQUF.cjs +0 -12
  239. package/dist/chunk-5N6IHHFL.cjs +0 -12
  240. package/dist/chunk-7XTLR5US.cjs +0 -12
  241. package/dist/chunk-BMCONDG7.cjs +0 -12
  242. package/dist/chunk-H2CDRBLH.cjs +0 -24
  243. package/dist/chunk-KZKUYJFE.cjs +0 -34
  244. package/dist/chunk-LKIMLMOB.cjs +0 -12
  245. package/dist/chunk-OFLJD3YF.js +0 -31
  246. package/dist/lib/chunk-OY2CMFTJ.js.map +0 -1
  247. package/dist/lib/chunk-QZUPXK3A.js.map +0 -1
  248. package/dist/lib/chunk-RAMRPMFI.js.map +0 -1
  249. package/dist/lib/chunk-T6FKCZRX.js.map +0 -1
  250. package/dist/lib/chunk-TJURBPBY.cjs.map +0 -1
  251. package/dist/lib/chunk-UGV446VO.cjs.map +0 -1
  252. package/dist/lib/chunk-W6ZSRUY2.cjs.map +0 -1
  253. package/dist/lib/chunk-YO7VJP6Z.cjs.map +0 -1
@@ -71,7 +71,7 @@ function isHookInternal(hook) {
71
71
  }
72
72
  __name(isHookInternal, "isHookInternal");
73
73
  function checkDedupe(plugin, plugins) {
74
- return plugins.some((p) => p.dedupe !== false && (isFunction(p.dedupe) && p.dedupe(plugin) || p.name === plugin.name));
74
+ return plugin.dedupe === false || plugins.some((p) => p.dedupe !== false && (isFunction(p.dedupe) && p.dedupe(plugin) || p.name === plugin.name));
75
75
  }
76
76
  __name(checkDedupe, "checkDedupe");
77
77
  function addPluginHook(context, plugin, pluginHook, hooksList) {
@@ -89,5 +89,5 @@ function addPluginHook(context, plugin, pluginHook, hooksList) {
89
89
  __name(addPluginHook, "addPluginHook");
90
90
 
91
91
  export { addPluginHook, checkDedupe, extractPluginHook, getHookHandler, isHookExternal, isHookInternal, isPlugin, isPluginConfig, isPluginConfigObject, isPluginConfigTuple, isPluginHook, isPluginHookFunction, isPluginHookObject };
92
- //# sourceMappingURL=chunk-T6FKCZRX.js.map
93
- //# sourceMappingURL=chunk-T6FKCZRX.js.map
92
+ //# sourceMappingURL=chunk-XOHGJW5P.js.map
93
+ //# sourceMappingURL=chunk-XOHGJW5P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types/commands.ts","../../src/lib/utilities/plugin-helpers.ts"],"names":["SUPPORTED_COMMANDS","isPlugin","value","isSetObject","isSetString","name","isUndefined","applyToEnvironment","isFunction","dedupe","dependsOn","Array","isArray","every","isPluginConfig","command","handler","isPluginConfigObject","plugin","options","isPluginConfigTuple","length","isPluginHookFunction","isPluginHookObject","isPluginHook","getHookHandler","pluginHook","extractPluginHook","context","hook","undefined","normal","bind","order","isHookExternal","startsWith","isHookInternal","checkDedupe","plugins","some","p","addPluginHook","hooksList","map","push"],"mappings":"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","file":"chunk-XOHGJW5P.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 { MaybePromise } from \"@stryke/types/base\";\nimport type { Context } from \"./context\";\n\nexport const SUPPORTED_COMMANDS = [\n \"new\",\n \"clean\",\n \"prepare\",\n \"lint\",\n \"test\",\n \"build\",\n \"docs\",\n \"release\",\n \"finalize\"\n] as const;\n\nexport type CommandType = ArrayValues<typeof SUPPORTED_COMMANDS>;\nexport type Commands<TContext extends Context = Context> = Record<\n CommandType,\n (this: TContext) => MaybePromise<void>\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 { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { AnyFunction } from \"@stryke/types/base\";\nimport { SUPPORTED_COMMANDS } from \"../../types/commands\";\nimport {\n PluginConfig,\n PluginConfigObject,\n PluginConfigTuple\n} from \"../../types/config\";\nimport { PluginContext } from \"../../types/context\";\nimport {\n BaseHookKeys,\n BaseHooksListItem,\n ExternalHookKeys,\n HookKeys\n} from \"../../types/hooks\";\nimport { Plugin, PluginHook, PluginHookObject } from \"../../types/plugin\";\nimport { ResolvedConfig } from \"../../types/resolved\";\n\n/**\n * Type guard to check if an object is a {@link Plugin}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link Plugin}, false otherwise\n */\nexport function isPlugin<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>(value: unknown): value is Plugin<PluginContext<TResolvedConfig>> {\n return (\n isSetObject(value) &&\n \"name\" in value &&\n isSetString(value.name) &&\n (isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>).applyToEnvironment\n ) ||\n (\"applyToEnvironment\" in value &&\n isFunction(value.applyToEnvironment))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dedupe) ||\n (\"dedupe\" in value && isFunction(value.dedupe))) &&\n (isUndefined((value as Plugin<PluginContext<TResolvedConfig>>).dependsOn) ||\n (\"dependsOn\" in value &&\n Array.isArray(value.dependsOn) &&\n value.dependsOn.every(isPluginConfig))) &&\n SUPPORTED_COMMANDS.every(\n command =>\n isUndefined(\n (value as Plugin<PluginContext<TResolvedConfig>>)[command]\n ) ||\n (command in value &&\n (isFunction((value as Record<string, any>)[command]) ||\n (isSetObject((value as Record<string, any>)[command]) &&\n \"handler\" in (value as Record<string, any>)[command] &&\n isFunction((value as Record<string, any>)[command].handler))))\n )\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigObject}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigObject}, false otherwise\n */\nexport function isPluginConfigObject(\n value: unknown\n): value is PluginConfigObject {\n return (\n isSetObject(value) &&\n \"plugin\" in value &&\n (((isSetString(value.plugin) || isFunction(value.plugin)) &&\n \"options\" in value &&\n isSetObject(value.options)) ||\n isPlugin(value.plugin))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfigTuple}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfigTuple}, false otherwise\n */\nexport function isPluginConfigTuple(\n value: unknown\n): value is PluginConfigTuple {\n return (\n Array.isArray(value) &&\n (value.length === 1 || value.length === 2) &&\n (((isSetString(value[0]) || isFunction(value[0])) &&\n value.length > 1 &&\n isSetObject(value[1])) ||\n isPlugin(value[0]))\n );\n}\n\n/**\n * Type guard to check if an object is a {@link PluginConfig}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginConfig}, false otherwise\n */\nexport function isPluginConfig(value: unknown): value is PluginConfig {\n return (\n isSetString(value) ||\n isFunction(value) ||\n isPlugin(value) ||\n isPluginConfigObject(value) ||\n isPluginConfigTuple(value)\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookFunction(value: unknown): value is AnyFunction {\n return (\n isFunction(value) ||\n (isSetObject(value) && \"handler\" in value && isFunction(value.handler))\n );\n}\n\n/**\n * Type guard to check if an value is a {@link PluginHook} function\n *\n * @param value - The value to check\n * @returns True if the value is a {@link PluginHook} function, false otherwise\n */\nexport function isPluginHookObject(\n value: unknown\n): value is PluginHookObject<AnyFunction> {\n return isSetObject(value) && \"handler\" in value && isFunction(value.handler);\n}\n\n/**\n * Type guard to check if an object is a {@link PluginHook}\n *\n * @param value - The object to check\n * @returns True if the object is a {@link PluginHook}, false otherwise\n */\nexport function isPluginHook(value: unknown): value is PluginHook<AnyFunction> {\n return isPluginHookFunction(value) || isPluginHookObject(value);\n}\n\n/**\n * Extract the hook handler function from a plugin hook\n *\n * @param pluginHook - The plugin hook to extract the handler function from\n * @returns The hook handler function\n */\nexport function getHookHandler(\n pluginHook: PluginHook<AnyFunction>\n): AnyFunction {\n return isFunction(pluginHook) ? pluginHook : pluginHook.handler;\n}\n\n/**\n * Extract a plugin hook from a plugin\n *\n * @param context - The build context\n * @param plugin - The plugin to extract the hook from\n * @param hook - The name of the hook to extract\n * @returns The extracted hook, or undefined if the hook does not exist\n */\nexport function extractPluginHook<\n TContext extends PluginContext = PluginContext,\n TPlugin extends Plugin<TContext> = Plugin<TContext>\n>(context: TContext, plugin: TPlugin, hook: BaseHookKeys<TContext>) {\n const pluginHook = plugin[hook];\n if (!isPluginHook(pluginHook)) {\n return undefined;\n }\n\n return isFunction(pluginHook)\n ? {\n normal: pluginHook.bind(context)\n }\n : {\n [pluginHook.order ? pluginHook.order : \"normal\"]:\n pluginHook.handler.bind(context)\n };\n}\n\n/**\n * Check if a hook is external.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookExternal(hook: HookKeys): hook is ExternalHookKeys {\n return (\n hook.startsWith(\"vite:\") ||\n hook.startsWith(\"esbuild:\") ||\n hook.startsWith(\"rolldown:\") ||\n hook.startsWith(\"rollup:\") ||\n hook.startsWith(\"webpack:\") ||\n hook.startsWith(\"rspack:\") ||\n hook.startsWith(\"farm:\")\n );\n}\n\n/**\n * Check if a hook is internal.\n *\n * @param hook - The name of the hook to check.\n * @returns True if the hook is external, false otherwise.\n */\nexport function isHookInternal(hook: HookKeys): hook is BaseHookKeys {\n return !isHookExternal(hook);\n}\n\n/**\n * Check if a plugin should be deduplicated.\n *\n * @param plugin - The plugin to check\n * @param plugins - The list of plugins to check against\n * @returns True if the plugin should be deduplicated, false otherwise\n */\nexport function checkDedupe<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig,\n TContext extends\n PluginContext<TResolvedConfig> = PluginContext<TResolvedConfig>\n>(plugin: Plugin<TContext>, plugins: Plugin<TContext>[]) {\n return (\n plugin.dedupe === false ||\n plugins.some(\n p =>\n p.dedupe !== false &&\n ((isFunction(p.dedupe) && p.dedupe(plugin)) || p.name === plugin.name)\n )\n );\n}\n\n/**\n * Add a plugin hook to the hooks list.\n *\n * @param context - The plugin context\n * @param plugin - The plugin to add the hook from\n * @param pluginHook - The plugin hook to add\n * @param hooksList - The list of hooks to add to\n */\nexport function addPluginHook<TContext extends PluginContext = PluginContext>(\n context: TContext,\n plugin: Plugin<TContext>,\n pluginHook: PluginHook<AnyFunction>,\n hooksList: BaseHooksListItem<TContext, BaseHookKeys<TContext>>[]\n) {\n if (\n !checkDedupe(\n plugin,\n hooksList.map(hook => hook.plugin)\n )\n ) {\n hooksList.push(\n isFunction(pluginHook)\n ? {\n plugin,\n handler: getHookHandler(pluginHook).bind(context)\n }\n : {\n plugin,\n ...pluginHook,\n handler: getHookHandler(pluginHook).bind(context)\n }\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { __VFS_CACHE__, __VFS_RESOLVER__, __VFS_VIRTUAL__, __VFS_UNIFIED__, __VFS_INIT__, __VFS_REVERT__, CACHE_HASH_LENGTH, PROJECT_ROOT_HASH_LENGTH, getPrefixedProjectRootHash, getChecksum, writeMetaFile } from './chunk-5UXQEP73.js';
2
- import { isPlugin, checkDedupe, isPluginHook, isHookExternal, addPluginHook, getHookHandler, isPluginConfig, isPluginConfigTuple, isPluginConfigObject } from './chunk-T6FKCZRX.js';
2
+ import { isPlugin, checkDedupe, isPluginHook, isHookExternal, addPluginHook, getHookHandler, isPluginConfig, isPluginConfigTuple, isPluginConfigObject } from './chunk-XOHGJW5P.js';
3
3
  import { writeFile } from './chunk-ERN7VNPI.js';
4
4
  import { handleResolveId } from './chunk-MBPXN4Y7.js';
5
5
  import { getFileHeader } from './chunk-MHJTUS2T.js';
@@ -27,6 +27,7 @@ import { replacePath } from '@stryke/path/replace';
27
27
  import { isError } from '@stryke/type-checks/is-error';
28
28
  import { isFunction } from '@stryke/type-checks/is-function';
29
29
  import { isNumber } from '@stryke/type-checks/is-number';
30
+ import { isPromiseLike } from '@stryke/type-checks/is-promise';
30
31
  import { isSet } from '@stryke/type-checks/is-set';
31
32
  import { isSetObject } from '@stryke/type-checks/is-set-object';
32
33
  import { isSetString } from '@stryke/type-checks/is-set-string';
@@ -2846,30 +2847,34 @@ ${formatLogMessage(context.config)}`);
2846
2847
  * @throws Will throw an error if the plugin cannot be found or is invalid
2847
2848
  */
2848
2849
  async #initPlugin(config) {
2849
- if (!isPluginConfig(config)) {
2850
- throw new Error(`Invalid plugin specified in the configuration - ${JSON.stringify(config)}. Please ensure the value is a plugin name, an object with the \`plugin\` and \`props\` properties, or an instance of \`Plugin\`.`);
2850
+ let awaited = config;
2851
+ if (isPromiseLike(config)) {
2852
+ awaited = await Promise.resolve(config);
2853
+ }
2854
+ if (!isPluginConfig(awaited)) {
2855
+ throw new Error(`Invalid plugin specified in the configuration - ${JSON.stringify(awaited)}. Please ensure the value is a plugin name, an object with the \`plugin\` and \`props\` properties, or an instance of \`Plugin\`.`);
2851
2856
  }
2852
2857
  let plugin;
2853
- if (isPlugin(config)) {
2854
- plugin = config;
2855
- } else if (isFunction(config)) {
2856
- plugin = await Promise.resolve(config());
2857
- } else if (isSetString(config)) {
2858
- const resolved = await this.#resolvePlugin(config);
2858
+ if (isPlugin(awaited)) {
2859
+ plugin = awaited;
2860
+ } else if (isFunction(awaited)) {
2861
+ plugin = await Promise.resolve(awaited());
2862
+ } else if (isSetString(awaited)) {
2863
+ const resolved = await this.#resolvePlugin(awaited);
2859
2864
  if (isFunction(resolved)) {
2860
2865
  plugin = await Promise.resolve(resolved());
2861
2866
  } else {
2862
2867
  plugin = resolved;
2863
2868
  }
2864
- } else if (isPluginConfigTuple(config) || isPluginConfigObject(config)) {
2869
+ } else if (isPluginConfigTuple(awaited) || isPluginConfigObject(awaited)) {
2865
2870
  let pluginConfig;
2866
2871
  let pluginOptions;
2867
- if (isPluginConfigTuple(config)) {
2868
- pluginConfig = config[0];
2869
- pluginOptions = config?.length === 2 ? config[1] : void 0;
2872
+ if (isPluginConfigTuple(awaited)) {
2873
+ pluginConfig = awaited[0];
2874
+ pluginOptions = awaited?.length === 2 ? awaited[1] : void 0;
2870
2875
  } else {
2871
- pluginConfig = config.plugin;
2872
- pluginOptions = config.options;
2876
+ pluginConfig = awaited.plugin;
2877
+ pluginOptions = awaited.options;
2873
2878
  }
2874
2879
  if (isSetString(pluginConfig)) {
2875
2880
  const resolved = await this.#resolvePlugin(pluginConfig);
@@ -2885,7 +2890,7 @@ ${formatLogMessage(context.config)}`);
2885
2890
  }
2886
2891
  }
2887
2892
  if (!plugin) {
2888
- throw new Error(`The plugin configuration ${JSON.stringify(config)} is invalid. This configuration must point to a valid Powerlines plugin module.`);
2893
+ throw new Error(`The plugin configuration ${JSON.stringify(awaited)} is invalid. This configuration must point to a valid Powerlines plugin module.`);
2889
2894
  }
2890
2895
  if (!isPlugin(plugin)) {
2891
2896
  throw new Error(`The plugin option ${JSON.stringify(plugin)} does not export a valid module. This configuration must point to a valid Powerlines plugin module.`);
@@ -3070,5 +3075,5 @@ function createUnpluginFactory(variant, decorate) {
3070
3075
  __name(createUnpluginFactory, "createUnpluginFactory");
3071
3076
 
3072
3077
  export { createUnpluginFactory };
3073
- //# sourceMappingURL=chunk-QZUPXK3A.js.map
3074
- //# sourceMappingURL=chunk-QZUPXK3A.js.map
3078
+ //# sourceMappingURL=chunk-XXK5BM6Z.js.map
3079
+ //# sourceMappingURL=chunk-XXK5BM6Z.js.map