@powerlines/core 0.15.18 → 0.15.19

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 (173) hide show
  1. package/dist/constants/api.mjs.map +1 -1
  2. package/dist/constants/commands.mjs.map +1 -1
  3. package/dist/constants/extensions.mjs.map +1 -1
  4. package/dist/constants/fs.mjs.map +1 -1
  5. package/dist/constants/hooks.mjs.map +1 -1
  6. package/dist/constants/log-level.d.cts +1 -1
  7. package/dist/constants/log-level.d.mts +1 -1
  8. package/dist/constants/log-level.mjs.map +1 -1
  9. package/dist/constants/plugin.mjs.map +1 -1
  10. package/dist/context/base-context.cjs +2 -8
  11. package/dist/context/base-context.d.cts.map +1 -1
  12. package/dist/context/base-context.d.mts.map +1 -1
  13. package/dist/context/base-context.mjs +2 -8
  14. package/dist/context/base-context.mjs.map +1 -1
  15. package/dist/context/context.cjs +2 -1
  16. package/dist/context/context.d.cts.map +1 -1
  17. package/dist/context/context.d.mts.map +1 -1
  18. package/dist/context/context.mjs +2 -1
  19. package/dist/context/context.mjs.map +1 -1
  20. package/dist/context/environment-context.mjs.map +1 -1
  21. package/dist/context/execution-context.d.cts.map +1 -1
  22. package/dist/context/execution-context.d.mts.map +1 -1
  23. package/dist/context/execution-context.mjs.map +1 -1
  24. package/dist/context/plugin-context.mjs.map +1 -1
  25. package/dist/lib/config.d.cts.map +1 -1
  26. package/dist/lib/config.d.mts.map +1 -1
  27. package/dist/lib/config.mjs.map +1 -1
  28. package/dist/lib/context-helpers.d.cts +4 -7
  29. package/dist/lib/context-helpers.d.cts.map +1 -1
  30. package/dist/lib/context-helpers.d.mts +4 -7
  31. package/dist/lib/context-helpers.d.mts.map +1 -1
  32. package/dist/lib/context-helpers.mjs.map +1 -1
  33. package/dist/lib/entry.d.cts.map +1 -1
  34. package/dist/lib/entry.d.mts.map +1 -1
  35. package/dist/lib/entry.mjs.map +1 -1
  36. package/dist/lib/environment.mjs.map +1 -1
  37. package/dist/lib/events.mjs.map +1 -1
  38. package/dist/lib/generate-types.d.cts.map +1 -1
  39. package/dist/lib/generate-types.d.mts.map +1 -1
  40. package/dist/lib/generate-types.mjs.map +1 -1
  41. package/dist/lib/hooks.mjs.map +1 -1
  42. package/dist/lib/install-dependencies.mjs.map +1 -1
  43. package/dist/lib/meta.d.cts.map +1 -1
  44. package/dist/lib/meta.d.mts.map +1 -1
  45. package/dist/lib/meta.mjs.map +1 -1
  46. package/dist/lib/plugins.d.cts.map +1 -1
  47. package/dist/lib/plugins.d.mts.map +1 -1
  48. package/dist/lib/plugins.mjs.map +1 -1
  49. package/dist/lib/resolver.d.cts.map +1 -1
  50. package/dist/lib/resolver.d.mts.map +1 -1
  51. package/dist/lib/resolver.mjs.map +1 -1
  52. package/dist/lib/streaming-channel.d.cts.map +1 -1
  53. package/dist/lib/streaming-channel.d.mts.map +1 -1
  54. package/dist/lib/streaming-channel.mjs.map +1 -1
  55. package/dist/lib/typescript/ts-morph.mjs.map +1 -1
  56. package/dist/lib/typescript/tsconfig.d.cts.map +1 -1
  57. package/dist/lib/typescript/tsconfig.d.mts.map +1 -1
  58. package/dist/lib/typescript/tsconfig.mjs.map +1 -1
  59. package/dist/lib/unplugin/helpers.d.cts.map +1 -1
  60. package/dist/lib/unplugin/helpers.d.mts.map +1 -1
  61. package/dist/lib/unplugin/helpers.mjs.map +1 -1
  62. package/dist/lib/unplugin/module-resolution.d.cts.map +1 -1
  63. package/dist/lib/unplugin/module-resolution.d.mts.map +1 -1
  64. package/dist/lib/unplugin/module-resolution.mjs.map +1 -1
  65. package/dist/lib/unplugin/plugin.d.cts.map +1 -1
  66. package/dist/lib/unplugin/plugin.d.mts.map +1 -1
  67. package/dist/lib/unplugin/plugin.mjs.map +1 -1
  68. package/dist/lib/utilities/file-header.d.cts.map +1 -1
  69. package/dist/lib/utilities/file-header.d.mts.map +1 -1
  70. package/dist/lib/utilities/file-header.mjs.map +1 -1
  71. package/dist/lib/utilities/format.d.cts.map +1 -1
  72. package/dist/lib/utilities/format.d.mts.map +1 -1
  73. package/dist/lib/utilities/format.mjs.map +1 -1
  74. package/dist/lib/utilities/source-file.d.cts.map +1 -1
  75. package/dist/lib/utilities/source-file.d.mts.map +1 -1
  76. package/dist/lib/utilities/source-file.mjs.map +1 -1
  77. package/dist/lib/utilities/source-map.d.cts.map +1 -1
  78. package/dist/lib/utilities/source-map.d.mts.map +1 -1
  79. package/dist/lib/utilities/source-map.mjs.map +1 -1
  80. package/dist/lib/utilities/write-file.mjs.map +1 -1
  81. package/dist/lib/vfs.d.cts.map +1 -1
  82. package/dist/lib/vfs.d.mts.map +1 -1
  83. package/dist/lib/vfs.mjs.map +1 -1
  84. package/dist/plugin-base.d.cts.map +1 -1
  85. package/dist/plugin-base.d.mts.map +1 -1
  86. package/dist/plugin-base.mjs.map +1 -1
  87. package/dist/plugin-utils/build-helpers.d.cts.map +1 -1
  88. package/dist/plugin-utils/build-helpers.d.mts.map +1 -1
  89. package/dist/plugin-utils/build-helpers.mjs.map +1 -1
  90. package/dist/plugin-utils/combine-plugins.d.cts +6 -7
  91. package/dist/plugin-utils/combine-plugins.d.cts.map +1 -1
  92. package/dist/plugin-utils/combine-plugins.d.mts +6 -7
  93. package/dist/plugin-utils/combine-plugins.d.mts.map +1 -1
  94. package/dist/plugin-utils/combine-plugins.mjs.map +1 -1
  95. package/dist/plugin-utils/context-helpers.d.cts.map +1 -1
  96. package/dist/plugin-utils/context-helpers.d.mts.map +1 -1
  97. package/dist/plugin-utils/context-helpers.mjs.map +1 -1
  98. package/dist/plugin-utils/docs-helper.d.cts.map +1 -1
  99. package/dist/plugin-utils/docs-helper.d.mts.map +1 -1
  100. package/dist/plugin-utils/docs-helper.mjs.map +1 -1
  101. package/dist/plugin-utils/enable-plugin.mjs.map +1 -1
  102. package/dist/plugin-utils/extend.mjs.map +1 -1
  103. package/dist/plugin-utils/filter.d.cts.map +1 -1
  104. package/dist/plugin-utils/filter.d.mts.map +1 -1
  105. package/dist/plugin-utils/filter.mjs.map +1 -1
  106. package/dist/plugin-utils/format-package-json.mjs.map +1 -1
  107. package/dist/plugin-utils/format.d.cts.map +1 -1
  108. package/dist/plugin-utils/format.d.mts.map +1 -1
  109. package/dist/plugin-utils/format.mjs.map +1 -1
  110. package/dist/plugin-utils/get-config-path.d.cts.map +1 -1
  111. package/dist/plugin-utils/get-config-path.d.mts.map +1 -1
  112. package/dist/plugin-utils/get-config-path.mjs.map +1 -1
  113. package/dist/plugin-utils/helpers.d.cts +10 -13
  114. package/dist/plugin-utils/helpers.d.cts.map +1 -1
  115. package/dist/plugin-utils/helpers.d.mts +10 -13
  116. package/dist/plugin-utils/helpers.d.mts.map +1 -1
  117. package/dist/plugin-utils/helpers.mjs.map +1 -1
  118. package/dist/plugin-utils/install.d.cts.map +1 -1
  119. package/dist/plugin-utils/install.d.mts.map +1 -1
  120. package/dist/plugin-utils/install.mjs.map +1 -1
  121. package/dist/plugin-utils/logging.d.cts.map +1 -1
  122. package/dist/plugin-utils/logging.d.mts.map +1 -1
  123. package/dist/plugin-utils/logging.mjs.map +1 -1
  124. package/dist/plugin-utils/merge.d.cts.map +1 -1
  125. package/dist/plugin-utils/merge.d.mts.map +1 -1
  126. package/dist/plugin-utils/merge.mjs.map +1 -1
  127. package/dist/plugin-utils/modules.d.cts.map +1 -1
  128. package/dist/plugin-utils/modules.d.mts.map +1 -1
  129. package/dist/plugin-utils/modules.mjs.map +1 -1
  130. package/dist/plugin-utils/paths.cjs +1 -1
  131. package/dist/plugin-utils/paths.d.cts.map +1 -1
  132. package/dist/plugin-utils/paths.d.mts.map +1 -1
  133. package/dist/plugin-utils/paths.mjs +1 -1
  134. package/dist/plugin-utils/paths.mjs.map +1 -1
  135. package/dist/plugin-utils/virtual.d.cts.map +1 -1
  136. package/dist/plugin-utils/virtual.d.mts.map +1 -1
  137. package/dist/plugin-utils/virtual.mjs.map +1 -1
  138. package/dist/schemas/fs.d.cts.map +1 -1
  139. package/dist/schemas/fs.d.mts.map +1 -1
  140. package/dist/schemas/fs.mjs.map +1 -1
  141. package/dist/storage/base.cjs +1 -0
  142. package/dist/storage/base.d.cts.map +1 -1
  143. package/dist/storage/base.d.mts.map +1 -1
  144. package/dist/storage/base.mjs +1 -0
  145. package/dist/storage/base.mjs.map +1 -1
  146. package/dist/storage/file-system.d.cts.map +1 -1
  147. package/dist/storage/file-system.d.mts.map +1 -1
  148. package/dist/storage/file-system.mjs.map +1 -1
  149. package/dist/storage/helpers.d.cts.map +1 -1
  150. package/dist/storage/helpers.d.mts.map +1 -1
  151. package/dist/storage/helpers.mjs.map +1 -1
  152. package/dist/storage/virtual.d.cts.map +1 -1
  153. package/dist/storage/virtual.d.mts.map +1 -1
  154. package/dist/storage/virtual.mjs.map +1 -1
  155. package/dist/types/api.d.cts.map +1 -1
  156. package/dist/types/api.d.mts.map +1 -1
  157. package/dist/types/config.d.cts.map +1 -1
  158. package/dist/types/config.d.mts.map +1 -1
  159. package/dist/types/context.d.cts.map +1 -1
  160. package/dist/types/context.d.mts.map +1 -1
  161. package/dist/types/fs.d.cts.map +1 -1
  162. package/dist/types/fs.d.mts.map +1 -1
  163. package/dist/types/hooks.d.cts.map +1 -1
  164. package/dist/types/hooks.d.mts.map +1 -1
  165. package/dist/types/logging.d.cts.map +1 -1
  166. package/dist/types/logging.d.mts.map +1 -1
  167. package/dist/types/plugin.d.cts.map +1 -1
  168. package/dist/types/plugin.d.mts.map +1 -1
  169. package/dist/types/tsconfig.d.cts.map +1 -1
  170. package/dist/types/tsconfig.d.mts.map +1 -1
  171. package/dist/types/unplugin.d.cts.map +1 -1
  172. package/dist/types/unplugin.d.mts.map +1 -1
  173. package/package.json +4 -4
@@ -1,5 +1,4 @@
1
1
  import { Plugin } from "../types/plugin.mjs";
2
- import * as _$unplugin_combine0 from "unplugin-combine";
3
2
  import { OptionsPlugin, UnpluginCombineInstance } from "unplugin-combine";
4
3
 
5
4
  //#region src/plugin-utils/combine-plugins.d.ts
@@ -13,9 +12,9 @@ declare function combinePluginOptions(pluginOptions: UnpluginCombineInstance<any
13
12
  rollup(): Promise<Plugin<any>>;
14
13
  rolldown(): Promise<Plugin<any>>;
15
14
  vite(): Promise<Plugin<any>>;
16
- esbuild(): Promise<_$unplugin_combine0.EsbuildPlugin>;
17
- webpack(): Promise<_$unplugin_combine0.WebpackPlugin>;
18
- rspack(): Promise<_$unplugin_combine0.RspackPlugin>;
15
+ esbuild(): Promise<import("unplugin-combine").EsbuildPlugin>;
16
+ webpack(): Promise<import("unplugin-combine").WebpackPlugin>;
17
+ rspack(): Promise<import("unplugin-combine").RspackPlugin>;
19
18
  readonly raw: UnpluginCombineInstance<any>;
20
19
  };
21
20
  interface CombinePluginsOptions {
@@ -32,9 +31,9 @@ declare function combinePlugins(options: CombinePluginsOptions): {
32
31
  rollup(): Promise<Plugin<any>>;
33
32
  rolldown(): Promise<Plugin<any>>;
34
33
  vite(): Promise<Plugin<any>>;
35
- esbuild(): Promise<_$unplugin_combine0.EsbuildPlugin>;
36
- webpack(): Promise<_$unplugin_combine0.WebpackPlugin>;
37
- rspack(): Promise<_$unplugin_combine0.RspackPlugin>;
34
+ esbuild(): Promise<import("unplugin-combine").EsbuildPlugin>;
35
+ webpack(): Promise<import("unplugin-combine").WebpackPlugin>;
36
+ rspack(): Promise<import("unplugin-combine").RspackPlugin>;
38
37
  readonly raw: UnpluginCombineInstance<any>;
39
38
  };
40
39
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"combine-plugins.d.mts","names":[],"sources":["../../src/plugin-utils/combine-plugins.ts"],"mappings":";;;;;;;;AAkCA;;;iBAAgB,oBAAA,CACd,aAAA,EAAe,uBAAA;;;;;;;;;UAoCA,qBAAA;EACf,IAAA;EACA,OAAA,EAAS,aAAA;AAAA;;;;;;;iBASK,cAAA,CAAe,OAAA,EAAS,qBAAA"}
1
+ {"version":3,"file":"combine-plugins.d.mts","names":[],"sources":["../../src/plugin-utils/combine-plugins.ts"],"mappings":";;;;;;AAkCA;;;;iBAAgB,oBAAA,CACd,aAAA,EAAe,uBAAA;;;;;;;;;UAoCA,qBAAA;EACf,IAAA;EACA,OAAA,EAAS,aAAa;AAAA;;;;;;;iBASR,cAAA,CAAe,OAAA,EAAS,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"combine-plugins.mjs","names":[],"sources":["../../src/plugin-utils/combine-plugins.ts"],"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 { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport {\n createCombinePlugin,\n OptionsPlugin,\n UnpluginCombineInstance\n} from \"unplugin-combine\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Combines multiple plugins into a single plugin instance. This is useful for creating meta-plugins that encapsulate the functionality of multiple plugins, allowing users to easily include a set of related plugins with a single import.\n *\n * @param pluginOptions - The plugin options to combine, which can be a single plugin instance or an object containing plugin instances for different build tools.\n * @returns A single plugin instance that combines the functionality of the provided plugin options.\n */\nexport function combinePluginOptions(\n pluginOptions: UnpluginCombineInstance<any>\n) {\n return {\n async rollup() {\n return (await pluginOptions.rollup()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async rolldown() {\n return (await pluginOptions.rolldown()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async vite() {\n return (await pluginOptions.vite()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async esbuild() {\n return pluginOptions.esbuild();\n },\n async webpack() {\n return pluginOptions.webpack();\n },\n async rspack() {\n return pluginOptions.rspack();\n },\n get raw() {\n return pluginOptions;\n }\n };\n}\n\nexport interface CombinePluginsOptions {\n name?: string;\n plugins: OptionsPlugin[];\n}\n\n/**\n * Combines multiple plugins into a single plugin. This is useful for creating meta-plugins that encapsulate the functionality of multiple plugins, allowing users to easily include a set of related plugins with a single import.\n *\n * @param options - The options for combining plugins, including the name and the plugins to combine.\n * @returns A single plugin that combines the functionality of the provided plugins.\n */\nexport function combinePlugins(options: CombinePluginsOptions) {\n const {\n plugins,\n name = `powerlines-${plugins\n .filter(p => isSetObject(p) && \"name\" in p && isSetString(p.name))\n .map(p =>\n (p as { name: string }).name\n .replace(/^powerlines[\\-_:]?/, \"\")\n .replace(/[\\-_:]?powerlines$/, \"\")\n )\n .join(\"-\")}`\n } = options;\n\n return combinePluginOptions(\n createCombinePlugin(() => {\n return {\n name,\n plugins\n };\n })\n );\n}\n"],"mappings":";;;;;;;;;;;;AAkCA,SAAgB,qBACd,eACA;AACA,QAAO;EACL,MAAM,SAAS;AACb,WAAQ,MAAM,cAAc,QAAQ,EAAE,QACnC,KAAK,WAAW,MAAM,KAAK,OAAsB,EAClD,EAAE,CACH;;EAEH,MAAM,WAAW;AACf,WAAQ,MAAM,cAAc,UAAU,EAAE,QACrC,KAAK,WAAW,MAAM,KAAK,OAAsB,EAClD,EAAE,CACH;;EAEH,MAAM,OAAO;AACX,WAAQ,MAAM,cAAc,MAAM,EAAE,QACjC,KAAK,WAAW,MAAM,KAAK,OAAsB,EAClD,EAAE,CACH;;EAEH,MAAM,UAAU;AACd,UAAO,cAAc,SAAS;;EAEhC,MAAM,UAAU;AACd,UAAO,cAAc,SAAS;;EAEhC,MAAM,SAAS;AACb,UAAO,cAAc,QAAQ;;EAE/B,IAAI,MAAM;AACR,UAAO;;EAEV;;;;;;;;AAcH,SAAgB,eAAe,SAAgC;CAC7D,MAAM,EACJ,SACA,OAAO,cAAc,QAClB,QAAO,MAAK,YAAY,EAAE,IAAI,UAAU,KAAK,YAAY,EAAE,KAAK,CAAC,CACjE,KAAI,MACF,EAAuB,KACrB,QAAQ,sBAAsB,GAAG,CACjC,QAAQ,sBAAsB,GAAG,CACrC,CACA,KAAK,IAAI,OACV;AAEJ,QAAO,qBACL,0BAA0B;AACxB,SAAO;GACL;GACA;GACD;GACD,CACH"}
1
+ {"version":3,"file":"combine-plugins.mjs","names":[],"sources":["../../src/plugin-utils/combine-plugins.ts"],"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 { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport {\n createCombinePlugin,\n OptionsPlugin,\n UnpluginCombineInstance\n} from \"unplugin-combine\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Combines multiple plugins into a single plugin instance. This is useful for creating meta-plugins that encapsulate the functionality of multiple plugins, allowing users to easily include a set of related plugins with a single import.\n *\n * @param pluginOptions - The plugin options to combine, which can be a single plugin instance or an object containing plugin instances for different build tools.\n * @returns A single plugin instance that combines the functionality of the provided plugin options.\n */\nexport function combinePluginOptions(\n pluginOptions: UnpluginCombineInstance<any>\n) {\n return {\n async rollup() {\n return (await pluginOptions.rollup()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async rolldown() {\n return (await pluginOptions.rolldown()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async vite() {\n return (await pluginOptions.vite()).reduce(\n (ret, plugin) => merge(ret, plugin as Plugin<any>) as Plugin<any>,\n {} as Plugin<any>\n );\n },\n async esbuild() {\n return pluginOptions.esbuild();\n },\n async webpack() {\n return pluginOptions.webpack();\n },\n async rspack() {\n return pluginOptions.rspack();\n },\n get raw() {\n return pluginOptions;\n }\n };\n}\n\nexport interface CombinePluginsOptions {\n name?: string;\n plugins: OptionsPlugin[];\n}\n\n/**\n * Combines multiple plugins into a single plugin. This is useful for creating meta-plugins that encapsulate the functionality of multiple plugins, allowing users to easily include a set of related plugins with a single import.\n *\n * @param options - The options for combining plugins, including the name and the plugins to combine.\n * @returns A single plugin that combines the functionality of the provided plugins.\n */\nexport function combinePlugins(options: CombinePluginsOptions) {\n const {\n plugins,\n name = `powerlines-${plugins\n .filter(p => isSetObject(p) && \"name\" in p && isSetString(p.name))\n .map(p =>\n (p as { name: string }).name\n .replace(/^powerlines[\\-_:]?/, \"\")\n .replace(/[\\-_:]?powerlines$/, \"\")\n )\n .join(\"-\")}`\n } = options;\n\n return combinePluginOptions(\n createCombinePlugin(() => {\n return {\n name,\n plugins\n };\n })\n );\n}\n"],"mappings":";;;;;;;;;;;;AAkCA,SAAgB,qBACd,eACA;CACA,OAAO;EACL,MAAM,SAAS;GACb,QAAQ,MAAM,cAAc,OAAO,GAAG,QACnC,KAAK,WAAW,MAAM,KAAK,MAAqB,GACjD,CAAC,CACH;EACF;EACA,MAAM,WAAW;GACf,QAAQ,MAAM,cAAc,SAAS,GAAG,QACrC,KAAK,WAAW,MAAM,KAAK,MAAqB,GACjD,CAAC,CACH;EACF;EACA,MAAM,OAAO;GACX,QAAQ,MAAM,cAAc,KAAK,GAAG,QACjC,KAAK,WAAW,MAAM,KAAK,MAAqB,GACjD,CAAC,CACH;EACF;EACA,MAAM,UAAU;GACd,OAAO,cAAc,QAAQ;EAC/B;EACA,MAAM,UAAU;GACd,OAAO,cAAc,QAAQ;EAC/B;EACA,MAAM,SAAS;GACb,OAAO,cAAc,OAAO;EAC9B;EACA,IAAI,MAAM;GACR,OAAO;EACT;CACF;AACF;;;;;;;AAaA,SAAgB,eAAe,SAAgC;CAC7D,MAAM,EACJ,SACA,OAAO,cAAc,QAClB,QAAO,MAAK,YAAY,CAAC,KAAK,UAAU,KAAK,YAAY,EAAE,IAAI,CAAC,EAChE,KAAI,MACF,EAAuB,KACrB,QAAQ,sBAAsB,EAAE,EAChC,QAAQ,sBAAsB,EAAE,CACrC,EACC,KAAK,GAAG,QACT;CAEJ,OAAO,qBACL,0BAA0B;EACxB,OAAO;GACL;GACA;EACF;CACF,CAAC,CACH;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-helpers.d.cts","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"mappings":";;;;;;AA8BA;;;;iBAAgB,mBAAA,CACd,OAAA,EAAS,iBAAA;AAeX;;;;;AA8DA;AA9DA,iBAAgB,0BAAA,CACd,WAAA,EAAa,WAAA;;;;;;;iBA6DO,gBAAA,CACpB,OAAA,EAAS,iBAAA,GACR,OAAA"}
1
+ {"version":3,"file":"context-helpers.d.cts","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"mappings":";;;;;;AA8BA;;;;iBAAgB,mBAAA,CACd,OAA0B,EAAjB,iBAAiB;AAe5B;;;;AAC0B;AA6D1B;AA9DA,iBAAgB,0BAAA,CACd,WAAwB,EAAX,WAAW;;;;;;;iBA6DJ,gBAAA,CACpB,OAAA,EAAS,iBAAA,GACR,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-helpers.d.mts","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"mappings":";;;;;;AA8BA;;;;iBAAgB,mBAAA,CACd,OAAA,EAAS,iBAAA;AAeX;;;;;AA8DA;AA9DA,iBAAgB,0BAAA,CACd,WAAA,EAAa,WAAA;;;;;;;iBA6DO,gBAAA,CACpB,OAAA,EAAS,iBAAA,GACR,OAAA"}
1
+ {"version":3,"file":"context-helpers.d.mts","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"mappings":";;;;;;AA8BA;;;;iBAAgB,mBAAA,CACd,OAA0B,EAAjB,iBAAiB;AAe5B;;;;AAC0B;AA6D1B;AA9DA,iBAAgB,0BAAA,CACd,WAAwB,EAAX,WAAW;;;;;;;iBA6DJ,gBAAA,CACpB,OAAA,EAAS,iBAAA,GACR,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-helpers.mjs","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"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 { tryGetWorkspaceConfig } from \"@storm-software/config-tools/get-config\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { PackageJson } from \"@stryke/types/package-json\";\nimport { UnresolvedContext } from \"../types/context\";\n\n/**\n * Get the organization name from the context\n *\n * @param context - The Powerlines plugin context.\n * @returns The organization name or undefined if not found.\n */\nexport function getOrganizationName(\n context: UnresolvedContext\n): string | undefined {\n if (isSetString(context.config.organization)) {\n return context.config.organization;\n }\n\n return getPackageJsonOrganization(context.packageJson);\n}\n\n/**\n * Get the organization name from the `package.json` file\n *\n * @param packageJson - The `package.json` object to extract the organization name from.\n * @returns The organization name or undefined if not found.\n */\nexport function getPackageJsonOrganization(\n packageJson: PackageJson\n): string | undefined {\n let result: string | undefined;\n if (\n Array.isArray(packageJson.maintainers) &&\n packageJson.maintainers.length > 0\n ) {\n if (isSetObject(packageJson.maintainers[0])) {\n result = (packageJson.maintainers[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.maintainers[0])) {\n result = packageJson.maintainers[0];\n }\n }\n\n if (\n !result &&\n Array.isArray(packageJson.author) &&\n packageJson.author.length > 0\n ) {\n if (isSetObject(packageJson.author[0])) {\n result = (packageJson.author[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.author[0])) {\n result = packageJson.author[0];\n }\n }\n\n if (\n !result &&\n Array.isArray(packageJson.contributors) &&\n packageJson.contributors.length > 0\n ) {\n if (isSetObject(packageJson.contributors[0])) {\n result = (packageJson.contributors[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.contributors[0])) {\n result = packageJson.contributors[0];\n }\n }\n\n if (!result && isSetString(packageJson.namespace)) {\n result = packageJson.namespace?.replace(/^@/, \"\");\n }\n\n if (!result && isSetString(packageJson.name)) {\n result = packageJson.name.replace(/^@/, \"\").replace(/\\/.*$/, \"\");\n }\n\n return result;\n}\n\n/**\n * Get the organization name from the context\n *\n * @param context - The Powerlines plugin context.\n * @returns The organization name or undefined if not found.\n */\nexport async function getWorkspaceName(\n context: UnresolvedContext\n): Promise<string | undefined> {\n let result: string | undefined;\n\n const workspaceConfig = await tryGetWorkspaceConfig(true);\n if (workspaceConfig) {\n if (isSetString(workspaceConfig.name)) {\n result = workspaceConfig.name;\n }\n\n if (!result && isSetString(workspaceConfig.namespace)) {\n result = workspaceConfig.namespace.replace(/^@/, \"\");\n }\n }\n\n if (!result && isSetString(context.packageJson.namespace)) {\n result = context.packageJson.namespace.replace(/^@/, \"\");\n }\n\n if (!result && isSetString(context.packageJson.name)) {\n result = context.packageJson.name.replace(/^@/, \"\").replace(/\\/.*$/, \"\");\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAgB,oBACd,SACoB;AACpB,KAAI,YAAY,QAAQ,OAAO,aAAa,CAC1C,QAAO,QAAQ,OAAO;AAGxB,QAAO,2BAA2B,QAAQ,YAAY;;;;;;;;AASxD,SAAgB,2BACd,aACoB;CACpB,IAAI;AACJ,KACE,MAAM,QAAQ,YAAY,YAAY,IACtC,YAAY,YAAY,SAAS,GACjC;AACA,MAAI,YAAY,YAAY,YAAY,GAAG,CACzC,UAAU,YAAY,YAAY,GAAwB;AAG5D,MAAI,CAAC,UAAU,YAAY,YAAY,YAAY,GAAG,CACpD,UAAS,YAAY,YAAY;;AAIrC,KACE,CAAC,UACD,MAAM,QAAQ,YAAY,OAAO,IACjC,YAAY,OAAO,SAAS,GAC5B;AACA,MAAI,YAAY,YAAY,OAAO,GAAG,CACpC,UAAU,YAAY,OAAO,GAAwB;AAGvD,MAAI,CAAC,UAAU,YAAY,YAAY,OAAO,GAAG,CAC/C,UAAS,YAAY,OAAO;;AAIhC,KACE,CAAC,UACD,MAAM,QAAQ,YAAY,aAAa,IACvC,YAAY,aAAa,SAAS,GAClC;AACA,MAAI,YAAY,YAAY,aAAa,GAAG,CAC1C,UAAU,YAAY,aAAa,GAAwB;AAG7D,MAAI,CAAC,UAAU,YAAY,YAAY,aAAa,GAAG,CACrD,UAAS,YAAY,aAAa;;AAItC,KAAI,CAAC,UAAU,YAAY,YAAY,UAAU,CAC/C,UAAS,YAAY,WAAW,QAAQ,MAAM,GAAG;AAGnD,KAAI,CAAC,UAAU,YAAY,YAAY,KAAK,CAC1C,UAAS,YAAY,KAAK,QAAQ,MAAM,GAAG,CAAC,QAAQ,SAAS,GAAG;AAGlE,QAAO;;;;;;;;AAST,eAAsB,iBACpB,SAC6B;CAC7B,IAAI;CAEJ,MAAM,kBAAkB,MAAM,sBAAsB,KAAK;AACzD,KAAI,iBAAiB;AACnB,MAAI,YAAY,gBAAgB,KAAK,CACnC,UAAS,gBAAgB;AAG3B,MAAI,CAAC,UAAU,YAAY,gBAAgB,UAAU,CACnD,UAAS,gBAAgB,UAAU,QAAQ,MAAM,GAAG;;AAIxD,KAAI,CAAC,UAAU,YAAY,QAAQ,YAAY,UAAU,CACvD,UAAS,QAAQ,YAAY,UAAU,QAAQ,MAAM,GAAG;AAG1D,KAAI,CAAC,UAAU,YAAY,QAAQ,YAAY,KAAK,CAClD,UAAS,QAAQ,YAAY,KAAK,QAAQ,MAAM,GAAG,CAAC,QAAQ,SAAS,GAAG;AAG1E,QAAO"}
1
+ {"version":3,"file":"context-helpers.mjs","names":[],"sources":["../../src/plugin-utils/context-helpers.ts"],"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 { tryGetWorkspaceConfig } from \"@storm-software/config-tools/get-config\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { PackageJson } from \"@stryke/types/package-json\";\nimport { UnresolvedContext } from \"../types/context\";\n\n/**\n * Get the organization name from the context\n *\n * @param context - The Powerlines plugin context.\n * @returns The organization name or undefined if not found.\n */\nexport function getOrganizationName(\n context: UnresolvedContext\n): string | undefined {\n if (isSetString(context.config.organization)) {\n return context.config.organization;\n }\n\n return getPackageJsonOrganization(context.packageJson);\n}\n\n/**\n * Get the organization name from the `package.json` file\n *\n * @param packageJson - The `package.json` object to extract the organization name from.\n * @returns The organization name or undefined if not found.\n */\nexport function getPackageJsonOrganization(\n packageJson: PackageJson\n): string | undefined {\n let result: string | undefined;\n if (\n Array.isArray(packageJson.maintainers) &&\n packageJson.maintainers.length > 0\n ) {\n if (isSetObject(packageJson.maintainers[0])) {\n result = (packageJson.maintainers[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.maintainers[0])) {\n result = packageJson.maintainers[0];\n }\n }\n\n if (\n !result &&\n Array.isArray(packageJson.author) &&\n packageJson.author.length > 0\n ) {\n if (isSetObject(packageJson.author[0])) {\n result = (packageJson.author[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.author[0])) {\n result = packageJson.author[0];\n }\n }\n\n if (\n !result &&\n Array.isArray(packageJson.contributors) &&\n packageJson.contributors.length > 0\n ) {\n if (isSetObject(packageJson.contributors[0])) {\n result = (packageJson.contributors[0] as { name: string }).name;\n }\n\n if (!result && isSetString(packageJson.contributors[0])) {\n result = packageJson.contributors[0];\n }\n }\n\n if (!result && isSetString(packageJson.namespace)) {\n result = packageJson.namespace?.replace(/^@/, \"\");\n }\n\n if (!result && isSetString(packageJson.name)) {\n result = packageJson.name.replace(/^@/, \"\").replace(/\\/.*$/, \"\");\n }\n\n return result;\n}\n\n/**\n * Get the organization name from the context\n *\n * @param context - The Powerlines plugin context.\n * @returns The organization name or undefined if not found.\n */\nexport async function getWorkspaceName(\n context: UnresolvedContext\n): Promise<string | undefined> {\n let result: string | undefined;\n\n const workspaceConfig = await tryGetWorkspaceConfig(true);\n if (workspaceConfig) {\n if (isSetString(workspaceConfig.name)) {\n result = workspaceConfig.name;\n }\n\n if (!result && isSetString(workspaceConfig.namespace)) {\n result = workspaceConfig.namespace.replace(/^@/, \"\");\n }\n }\n\n if (!result && isSetString(context.packageJson.namespace)) {\n result = context.packageJson.namespace.replace(/^@/, \"\");\n }\n\n if (!result && isSetString(context.packageJson.name)) {\n result = context.packageJson.name.replace(/^@/, \"\").replace(/\\/.*$/, \"\");\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAgB,oBACd,SACoB;CACpB,IAAI,YAAY,QAAQ,OAAO,YAAY,GACzC,OAAO,QAAQ,OAAO;CAGxB,OAAO,2BAA2B,QAAQ,WAAW;AACvD;;;;;;;AAQA,SAAgB,2BACd,aACoB;CACpB,IAAI;CACJ,IACE,MAAM,QAAQ,YAAY,WAAW,KACrC,YAAY,YAAY,SAAS,GACjC;EACA,IAAI,YAAY,YAAY,YAAY,EAAE,GACxC,SAAU,YAAY,YAAY,GAAwB;EAG5D,IAAI,CAAC,UAAU,YAAY,YAAY,YAAY,EAAE,GACnD,SAAS,YAAY,YAAY;CAErC;CAEA,IACE,CAAC,UACD,MAAM,QAAQ,YAAY,MAAM,KAChC,YAAY,OAAO,SAAS,GAC5B;EACA,IAAI,YAAY,YAAY,OAAO,EAAE,GACnC,SAAU,YAAY,OAAO,GAAwB;EAGvD,IAAI,CAAC,UAAU,YAAY,YAAY,OAAO,EAAE,GAC9C,SAAS,YAAY,OAAO;CAEhC;CAEA,IACE,CAAC,UACD,MAAM,QAAQ,YAAY,YAAY,KACtC,YAAY,aAAa,SAAS,GAClC;EACA,IAAI,YAAY,YAAY,aAAa,EAAE,GACzC,SAAU,YAAY,aAAa,GAAwB;EAG7D,IAAI,CAAC,UAAU,YAAY,YAAY,aAAa,EAAE,GACpD,SAAS,YAAY,aAAa;CAEtC;CAEA,IAAI,CAAC,UAAU,YAAY,YAAY,SAAS,GAC9C,SAAS,YAAY,WAAW,QAAQ,MAAM,EAAE;CAGlD,IAAI,CAAC,UAAU,YAAY,YAAY,IAAI,GACzC,SAAS,YAAY,KAAK,QAAQ,MAAM,EAAE,EAAE,QAAQ,SAAS,EAAE;CAGjE,OAAO;AACT;;;;;;;AAQA,eAAsB,iBACpB,SAC6B;CAC7B,IAAI;CAEJ,MAAM,kBAAkB,MAAM,sBAAsB,IAAI;CACxD,IAAI,iBAAiB;EACnB,IAAI,YAAY,gBAAgB,IAAI,GAClC,SAAS,gBAAgB;EAG3B,IAAI,CAAC,UAAU,YAAY,gBAAgB,SAAS,GAClD,SAAS,gBAAgB,UAAU,QAAQ,MAAM,EAAE;CAEvD;CAEA,IAAI,CAAC,UAAU,YAAY,QAAQ,YAAY,SAAS,GACtD,SAAS,QAAQ,YAAY,UAAU,QAAQ,MAAM,EAAE;CAGzD,IAAI,CAAC,UAAU,YAAY,QAAQ,YAAY,IAAI,GACjD,SAAS,QAAQ,YAAY,KAAK,QAAQ,MAAM,EAAE,EAAE,QAAQ,SAAS,EAAE;CAGzE,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs-helper.d.cts","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"mappings":";;AA0BA;;;;;iBAAgB,iBAAA,CAAkB,IAAA"}
1
+ {"version":3,"file":"docs-helper.d.cts","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"mappings":";;AA0BA;;;;AAA8C;iBAA9B,iBAAA,CAAkB,IAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs-helper.d.mts","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"mappings":";;AA0BA;;;;;iBAAgB,iBAAA,CAAkB,IAAA"}
1
+ {"version":3,"file":"docs-helper.d.mts","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"mappings":";;AA0BA;;;;AAA8C;iBAA9B,iBAAA,CAAkB,IAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"docs-helper.mjs","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"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 { joinPaths } from \"@stryke/path/join\";\n\n/**\n * Gets the output path for the generated environment documentation.\n *\n * @param root - The root directory of the project.\n * @returns The output path for the generated environment documentation.\n */\nexport function getDocsOutputPath(root: string): string {\n return joinPaths(root, \"docs\", \"reference\");\n}\n"],"mappings":";;;;;;;;;AA0BA,SAAgB,kBAAkB,MAAsB;AACtD,QAAO,UAAU,MAAM,QAAQ,YAAY"}
1
+ {"version":3,"file":"docs-helper.mjs","names":[],"sources":["../../src/plugin-utils/docs-helper.ts"],"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 { joinPaths } from \"@stryke/path/join\";\n\n/**\n * Gets the output path for the generated environment documentation.\n *\n * @param root - The root directory of the project.\n * @returns The output path for the generated environment documentation.\n */\nexport function getDocsOutputPath(root: string): string {\n return joinPaths(root, \"docs\", \"reference\");\n}\n"],"mappings":";;;;;;;;;AA0BA,SAAgB,kBAAkB,MAAsB;CACtD,OAAO,UAAU,MAAM,QAAQ,WAAW;AAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"enable-plugin.mjs","names":[],"sources":["../../src/plugin-utils/enable-plugin.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { Plugin } from \"../types\";\nimport { PluginContext } from \"../types/context\";\n\n/**\n * Utility function to conditionally enable plugins based on a boolean value or a function that returns a boolean. This is useful for scenarios where you want to enable certain plugins only in specific environments (e.g., development vs production) or based on certain conditions (e.g., presence of environment variables).\n *\n * @example\n * ```ts\n * const somePlugin = <TContext extends PluginContext = PluginContext>(options: { enableThirdPlugin: boolean }) => {\n * return [\n * ...enable<TContext>(anotherPlugin, () => process.env.NODE_ENV === \"development\"),\n * ...enable<TContext>(yetAnotherPlugin, process.env.ENABLE_YET_ANOTHER_PLUGIN === \"true\"),\n * ...enable<TContext>(thirdPlugin, options.enableThirdPlugin),\n * {\n * name: \"some-plugin\",\n * ...\n * }\n * ];\n * };\n * ```\n *\n * @param plugin - A single plugin or an array of plugins to conditionally enable.\n * @param condition - A boolean value or a function that returns a boolean. If it's a function, it will be executed to determine whether to enable the plugin(s). If it's a boolean, it will be used directly.\n * @returns An array of plugins that should be enabled based on the provided condition. If the condition is false, an empty array will be returned.\n */\nexport function enable<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n condition: boolean | (() => boolean) = true\n): Plugin<TContext>[] {\n return (isFunction(condition) && condition()) ||\n (!isFunction(condition) && condition)\n ? toArray(plugin).filter(Boolean)\n : [];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,SAAgB,OACd,QACA,YAAuC,MACnB;AACpB,QAAQ,WAAW,UAAU,IAAI,WAAW,IACzC,CAAC,WAAW,UAAU,IAAI,YACzB,QAAQ,OAAO,CAAC,OAAO,QAAQ,GAC/B,EAAE"}
1
+ {"version":3,"file":"enable-plugin.mjs","names":[],"sources":["../../src/plugin-utils/enable-plugin.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { Plugin } from \"../types\";\nimport { PluginContext } from \"../types/context\";\n\n/**\n * Utility function to conditionally enable plugins based on a boolean value or a function that returns a boolean. This is useful for scenarios where you want to enable certain plugins only in specific environments (e.g., development vs production) or based on certain conditions (e.g., presence of environment variables).\n *\n * @example\n * ```ts\n * const somePlugin = <TContext extends PluginContext = PluginContext>(options: { enableThirdPlugin: boolean }) => {\n * return [\n * ...enable<TContext>(anotherPlugin, () => process.env.NODE_ENV === \"development\"),\n * ...enable<TContext>(yetAnotherPlugin, process.env.ENABLE_YET_ANOTHER_PLUGIN === \"true\"),\n * ...enable<TContext>(thirdPlugin, options.enableThirdPlugin),\n * {\n * name: \"some-plugin\",\n * ...\n * }\n * ];\n * };\n * ```\n *\n * @param plugin - A single plugin or an array of plugins to conditionally enable.\n * @param condition - A boolean value or a function that returns a boolean. If it's a function, it will be executed to determine whether to enable the plugin(s). If it's a boolean, it will be used directly.\n * @returns An array of plugins that should be enabled based on the provided condition. If the condition is false, an empty array will be returned.\n */\nexport function enable<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n condition: boolean | (() => boolean) = true\n): Plugin<TContext>[] {\n return (isFunction(condition) && condition()) ||\n (!isFunction(condition) && condition)\n ? toArray(plugin).filter(Boolean)\n : [];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,SAAgB,OACd,QACA,YAAuC,MACnB;CACpB,OAAQ,WAAW,SAAS,KAAK,UAAU,KACxC,CAAC,WAAW,SAAS,KAAK,YACzB,QAAQ,MAAM,EAAE,OAAO,OAAO,IAC9B,CAAC;AACP"}
@@ -1 +1 @@
1
- {"version":3,"file":"extend.mjs","names":[],"sources":["../../src/plugin-utils/extend.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport {\n PartialPlugin,\n PartialPluginFactory,\n PluginFactory\n} from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Adds additional helper functionality to a plugin via a plugin builder function.\n *\n * @param plugin - The base plugin object or factory function to extend.\n * @param extension - The plugin extension object or factory function. This function receives the plugin options and returns a plugin object.\n * @returns A function accepting the plugin options and returning the extended plugin.\n */\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TPluginOptions = unknown,\n TExtensionOptions = unknown\n>(\n plugin: PluginFactory<TContext, TPluginOptions>,\n extension: PartialPluginFactory<TContext, TExtensionOptions>\n): PluginFactory<TContext, TPluginOptions & TExtensionOptions>;\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TPluginOptions = unknown\n>(\n plugin: PluginFactory<TContext, TPluginOptions>,\n extension: PartialPlugin<TContext>\n): PluginFactory<TContext, TPluginOptions>;\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TExtensionOptions = unknown\n>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n extension: PartialPluginFactory<TContext, TExtensionOptions>\n): PluginFactory<TContext, TExtensionOptions>;\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n extension: PartialPlugin<TContext>\n): Plugin<TContext>[];\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[] | PluginFactory<TContext, any>,\n extension: PartialPlugin<TContext> | PartialPluginFactory<TContext, any>\n): PluginFactory<TContext, any> | Plugin<TContext>[] {\n if (isFunction(plugin)) {\n if (isFunction(extension)) {\n return async (options: any) => {\n const pluginResult = toArray(await Promise.resolve(plugin(options)));\n const extensionResult = toArray(\n await Promise.resolve(extension(options))\n );\n\n return pluginResult\n .map(p => extensionResult.map(e => merge(p, e) as Plugin<TContext>))\n .flat();\n };\n }\n\n return async (options: any) => {\n const result = toArray(await Promise.resolve(plugin(options)));\n\n return result.map(p => merge(p, extension) as Plugin<TContext>);\n };\n } else if (isFunction(extension)) {\n return async (options: any) => {\n const result = toArray(await Promise.resolve(extension(options)));\n\n return result\n .map(e => toArray(plugin).map(p => merge(p, e) as Plugin<TContext>))\n .flat();\n };\n }\n\n return toArray(plugin).map(p => merge(p, extension) as Plugin<TContext>);\n}\n"],"mappings":";;;;;AA8DA,SAAgB,OACd,QACA,WACmD;AACnD,KAAI,WAAW,OAAO,EAAE;AACtB,MAAI,WAAW,UAAU,CACvB,QAAO,OAAO,YAAiB;GAC7B,MAAM,eAAe,QAAQ,MAAM,QAAQ,QAAQ,OAAO,QAAQ,CAAC,CAAC;GACpE,MAAM,kBAAkB,QACtB,MAAM,QAAQ,QAAQ,UAAU,QAAQ,CAAC,CAC1C;AAED,UAAO,aACJ,KAAI,MAAK,gBAAgB,KAAI,MAAK,MAAM,GAAG,EAAE,CAAqB,CAAC,CACnE,MAAM;;AAIb,SAAO,OAAO,YAAiB;AAG7B,UAFe,QAAQ,MAAM,QAAQ,QAAQ,OAAO,QAAQ,CAAC,CAEhD,CAAC,KAAI,MAAK,MAAM,GAAG,UAAU,CAAqB;;YAExD,WAAW,UAAU,CAC9B,QAAO,OAAO,YAAiB;AAG7B,SAFe,QAAQ,MAAM,QAAQ,QAAQ,UAAU,QAAQ,CAAC,CAEnD,CACV,KAAI,MAAK,QAAQ,OAAO,CAAC,KAAI,MAAK,MAAM,GAAG,EAAE,CAAqB,CAAC,CACnE,MAAM;;AAIb,QAAO,QAAQ,OAAO,CAAC,KAAI,MAAK,MAAM,GAAG,UAAU,CAAqB"}
1
+ {"version":3,"file":"extend.mjs","names":[],"sources":["../../src/plugin-utils/extend.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport {\n PartialPlugin,\n PartialPluginFactory,\n PluginFactory\n} from \"../types/config\";\nimport { PluginContext } from \"../types/context\";\nimport { Plugin } from \"../types/plugin\";\nimport { merge } from \"./merge\";\n\n/**\n * Adds additional helper functionality to a plugin via a plugin builder function.\n *\n * @param plugin - The base plugin object or factory function to extend.\n * @param extension - The plugin extension object or factory function. This function receives the plugin options and returns a plugin object.\n * @returns A function accepting the plugin options and returning the extended plugin.\n */\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TPluginOptions = unknown,\n TExtensionOptions = unknown\n>(\n plugin: PluginFactory<TContext, TPluginOptions>,\n extension: PartialPluginFactory<TContext, TExtensionOptions>\n): PluginFactory<TContext, TPluginOptions & TExtensionOptions>;\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TPluginOptions = unknown\n>(\n plugin: PluginFactory<TContext, TPluginOptions>,\n extension: PartialPlugin<TContext>\n): PluginFactory<TContext, TPluginOptions>;\nexport function extend<\n TContext extends PluginContext = PluginContext,\n TExtensionOptions = unknown\n>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n extension: PartialPluginFactory<TContext, TExtensionOptions>\n): PluginFactory<TContext, TExtensionOptions>;\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[],\n extension: PartialPlugin<TContext>\n): Plugin<TContext>[];\nexport function extend<TContext extends PluginContext = PluginContext>(\n plugin: Plugin<TContext> | Plugin<TContext>[] | PluginFactory<TContext, any>,\n extension: PartialPlugin<TContext> | PartialPluginFactory<TContext, any>\n): PluginFactory<TContext, any> | Plugin<TContext>[] {\n if (isFunction(plugin)) {\n if (isFunction(extension)) {\n return async (options: any) => {\n const pluginResult = toArray(await Promise.resolve(plugin(options)));\n const extensionResult = toArray(\n await Promise.resolve(extension(options))\n );\n\n return pluginResult\n .map(p => extensionResult.map(e => merge(p, e) as Plugin<TContext>))\n .flat();\n };\n }\n\n return async (options: any) => {\n const result = toArray(await Promise.resolve(plugin(options)));\n\n return result.map(p => merge(p, extension) as Plugin<TContext>);\n };\n } else if (isFunction(extension)) {\n return async (options: any) => {\n const result = toArray(await Promise.resolve(extension(options)));\n\n return result\n .map(e => toArray(plugin).map(p => merge(p, e) as Plugin<TContext>))\n .flat();\n };\n }\n\n return toArray(plugin).map(p => merge(p, extension) as Plugin<TContext>);\n}\n"],"mappings":";;;;;AA8DA,SAAgB,OACd,QACA,WACmD;CACnD,IAAI,WAAW,MAAM,GAAG;EACtB,IAAI,WAAW,SAAS,GACtB,OAAO,OAAO,YAAiB;GAC7B,MAAM,eAAe,QAAQ,MAAM,QAAQ,QAAQ,OAAO,OAAO,CAAC,CAAC;GACnE,MAAM,kBAAkB,QACtB,MAAM,QAAQ,QAAQ,UAAU,OAAO,CAAC,CAC1C;GAEA,OAAO,aACJ,KAAI,MAAK,gBAAgB,KAAI,MAAK,MAAM,GAAG,CAAC,CAAqB,CAAC,EAClE,KAAK;EACV;EAGF,OAAO,OAAO,YAAiB;GAG7B,OAFe,QAAQ,MAAM,QAAQ,QAAQ,OAAO,OAAO,CAAC,CAEhD,EAAE,KAAI,MAAK,MAAM,GAAG,SAAS,CAAqB;EAChE;CACF,OAAO,IAAI,WAAW,SAAS,GAC7B,OAAO,OAAO,YAAiB;EAG7B,OAFe,QAAQ,MAAM,QAAQ,QAAQ,UAAU,OAAO,CAAC,CAEnD,EACT,KAAI,MAAK,QAAQ,MAAM,EAAE,KAAI,MAAK,MAAM,GAAG,CAAC,CAAqB,CAAC,EAClE,KAAK;CACV;CAGF,OAAO,QAAQ,MAAM,EAAE,KAAI,MAAK,MAAM,GAAG,SAAS,CAAqB;AACzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.cts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAA;AAAA,iBAQI,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAuBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
1
+ {"version":3,"file":"filter.d.cts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAY;AAAA,iBAoBxD,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAY;AAAA,iBAW1D,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAM;AAAA,iBAQF,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAsB;AAAA,iBAuB7D,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBASC,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBASC,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBAMC,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.mts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAoB5C,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAA;AAAA,iBAW9C,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAA;AAAA,iBAQI,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAA;AAAA,iBAuBvC,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBASa,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAA;AAAA,iBAMa,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
1
+ {"version":3,"file":"filter.d.mts","names":[],"sources":["../../src/plugin-utils/filter.ts"],"mappings":";;;;iBA+CgB,iBAAA,CAAkB,OAAA,EAAS,cAAA,GAAiB,YAAY;AAAA,iBAoBxD,mBAAA,CAAoB,OAAA,EAAS,cAAA,GAAiB,YAAY;AAAA,iBAW1D,YAAA,CACd,OAAA,EAAS,YAAA,gBACT,OAAA,EAAS,YAAA,iBACR,YAAA;AAAA,iBAgBa,qBAAA,CACd,MAAA,WAAiB,MAAA,YACP,MAAM;AAAA,iBAQF,eAAA,CAAgB,MAAA,EAAQ,YAAA,GAAe,sBAAsB;AAAA,iBAuB7D,cAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBASC,gBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBASC,iBAAA,CACd,MAAA,EAAQ,YAAA,eACP,YAAY;AAAA,iBAMC,wBAAA,CACd,QAAA,EAAU,YAAA,cACV,UAAA,EAAY,YAAA,eACX,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"filter.mjs","names":[],"sources":["../../src/plugin-utils/filter.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { isRegExp } from \"@stryke/type-checks/is-regexp\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { resolve } from \"node:path\";\nimport picomatch from \"picomatch\";\nimport type { StringFilter, StringOrRegExp } from \"unplugin\";\nimport {\n NormalizedStringFilter,\n PluginFilter,\n TransformHookFilter\n} from \"../types/hooks\";\nimport { removeVirtualPrefix } from \"./virtual\";\n\nconst BACKSLASH_REGEX = /\\\\/g;\nfunction normalize(path: string): string {\n return removeVirtualPrefix(path).replace(BACKSLASH_REGEX, \"/\");\n}\n\nfunction getMatcherString(glob: string, cwd: string) {\n if (glob.startsWith(\"**\") || isAbsolutePath(glob)) {\n return normalize(glob);\n }\n\n const resolved = resolve(cwd, glob);\n\n return normalize(resolved);\n}\n\nexport function patternToIdFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (id: string) => {\n const normalizedId = normalize(id);\n const result = pattern.test(normalizedId);\n pattern.lastIndex = 0;\n return result;\n };\n }\n const cwd = process.cwd();\n const glob = getMatcherString(pattern, cwd);\n const matcher = picomatch(glob, { dot: true });\n\n return (id: string) => {\n const normalizedId = normalize(id);\n\n return matcher(normalizedId);\n };\n}\n\nexport function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (code: string) => {\n const result = pattern.test(code);\n pattern.lastIndex = 0;\n return result;\n };\n }\n return (code: string) => code.includes(pattern);\n}\n\nexport function createFilter(\n exclude: PluginFilter[] | undefined,\n include: PluginFilter[] | undefined\n): PluginFilter | undefined {\n if (!exclude && !include) {\n return;\n }\n\n return input => {\n if (exclude?.some(filter => filter(input))) {\n return false;\n }\n if (include?.some(filter => filter(input))) {\n return true;\n }\n return !(include && include.length > 0);\n };\n}\n\nexport function normalizeSingleFilter(\n filter: string | RegExp\n): string | RegExp {\n if (isSetString(filter)) {\n return removeVirtualPrefix(filter);\n }\n\n return filter;\n}\n\nexport function normalizeFilter(filter: StringFilter): NormalizedStringFilter {\n if (isSetString(filter) || isRegExp(filter)) {\n return {\n include: [normalizeSingleFilter(filter)]\n };\n }\n\n if (Array.isArray(filter)) {\n return {\n include: filter.map(normalizeSingleFilter)\n };\n }\n\n return {\n exclude: filter.exclude\n ? toArray(filter.exclude).map(normalizeSingleFilter)\n : undefined,\n include: filter.include\n ? toArray(filter.include).map(normalizeSingleFilter)\n : undefined\n };\n}\n\nexport function createIdFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToIdFilter);\n const includeFilter = include?.map(patternToIdFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createCodeFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToCodeFilter);\n const includeFilter = include?.map(patternToCodeFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createFilterForId(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n const filterFunction = createIdFilter(filter);\n\n return filterFunction ? id => !!filterFunction(id) : undefined;\n}\n\nexport function createFilterForTransform(\n idFilter: StringFilter | undefined,\n codeFilter: StringFilter | undefined\n): TransformHookFilter | undefined {\n if (!idFilter && !codeFilter) return;\n const idFilterFunction = createIdFilter(idFilter);\n const codeFilterFunction = createCodeFilter(codeFilter);\n\n return (id, code) => {\n let fallback = true;\n if (idFilterFunction) {\n fallback &&= idFilterFunction(id);\n }\n if (!fallback) {\n return false;\n }\n\n if (codeFilterFunction) {\n fallback &&= codeFilterFunction(code);\n }\n return fallback;\n };\n}\n"],"mappings":";;;;;;;;;AAgCA,MAAM,kBAAkB;AACxB,SAAS,UAAU,MAAsB;AACvC,QAAO,oBAAoB,KAAK,CAAC,QAAQ,iBAAiB,IAAI;;AAGhE,SAAS,iBAAiB,MAAc,KAAa;AACnD,KAAI,KAAK,WAAW,KAAK,IAAI,eAAe,KAAK,CAC/C,QAAO,UAAU,KAAK;AAKxB,QAAO,UAFU,QAAQ,KAAK,KAEL,CAAC;;AAG5B,SAAgB,kBAAkB,SAAuC;AACvE,KAAI,mBAAmB,OACrB,SAAQ,OAAe;EACrB,MAAM,eAAe,UAAU,GAAG;EAClC,MAAM,SAAS,QAAQ,KAAK,aAAa;AACzC,UAAQ,YAAY;AACpB,SAAO;;CAKX,MAAM,UAAU,UADH,iBAAiB,SADlB,QAAQ,KACsB,CACZ,EAAE,EAAE,KAAK,MAAM,CAAC;AAE9C,SAAQ,OAAe;AAGrB,SAAO,QAFc,UAAU,GAEJ,CAAC;;;AAIhC,SAAgB,oBAAoB,SAAuC;AACzE,KAAI,mBAAmB,OACrB,SAAQ,SAAiB;EACvB,MAAM,SAAS,QAAQ,KAAK,KAAK;AACjC,UAAQ,YAAY;AACpB,SAAO;;AAGX,SAAQ,SAAiB,KAAK,SAAS,QAAQ;;AAGjD,SAAgB,aACd,SACA,SAC0B;AAC1B,KAAI,CAAC,WAAW,CAAC,QACf;AAGF,SAAO,UAAS;AACd,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,MAAI,SAAS,MAAK,WAAU,OAAO,MAAM,CAAC,CACxC,QAAO;AAET,SAAO,EAAE,WAAW,QAAQ,SAAS;;;AAIzC,SAAgB,sBACd,QACiB;AACjB,KAAI,YAAY,OAAO,CACrB,QAAO,oBAAoB,OAAO;AAGpC,QAAO;;AAGT,SAAgB,gBAAgB,QAA8C;AAC5E,KAAI,YAAY,OAAO,IAAI,SAAS,OAAO,CACzC,QAAO,EACL,SAAS,CAAC,sBAAsB,OAAO,CAAC,EACzC;AAGH,KAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,EACL,SAAS,OAAO,IAAI,sBAAsB,EAC3C;AAGH,QAAO;EACL,SAAS,OAAO,UACZ,QAAQ,OAAO,QAAQ,CAAC,IAAI,sBAAsB,GAClD;EACJ,SAAS,OAAO,UACZ,QAAQ,OAAO,QAAQ,CAAC,IAAI,sBAAsB,GAClD;EACL;;AAGH,SAAgB,eACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;CACrD,MAAM,gBAAgB,SAAS,IAAI,kBAAkB;AAErD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,iBACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ;CACb,MAAM,EAAE,SAAS,YAAY,gBAAgB,OAAO;CACpD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;CACvD,MAAM,gBAAgB,SAAS,IAAI,oBAAoB;AAEvD,QAAO,aAAa,eAAe,cAAc;;AAGnD,SAAgB,kBACd,QAC0B;CAC1B,MAAM,iBAAiB,eAAe,OAAO;AAE7C,QAAO,kBAAiB,OAAM,CAAC,CAAC,eAAe,GAAG,GAAG;;AAGvD,SAAgB,yBACd,UACA,YACiC;AACjC,KAAI,CAAC,YAAY,CAAC,WAAY;CAC9B,MAAM,mBAAmB,eAAe,SAAS;CACjD,MAAM,qBAAqB,iBAAiB,WAAW;AAEvD,SAAQ,IAAI,SAAS;EACnB,IAAI,WAAW;AACf,MAAI,iBACF,cAAa,iBAAiB,GAAG;AAEnC,MAAI,CAAC,SACH,QAAO;AAGT,MAAI,mBACF,cAAa,mBAAmB,KAAK;AAEvC,SAAO"}
1
+ {"version":3,"file":"filter.mjs","names":[],"sources":["../../src/plugin-utils/filter.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { isAbsolutePath } from \"@stryke/path/is-type\";\nimport { isRegExp } from \"@stryke/type-checks/is-regexp\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { resolve } from \"node:path\";\nimport picomatch from \"picomatch\";\nimport type { StringFilter, StringOrRegExp } from \"unplugin\";\nimport {\n NormalizedStringFilter,\n PluginFilter,\n TransformHookFilter\n} from \"../types/hooks\";\nimport { removeVirtualPrefix } from \"./virtual\";\n\nconst BACKSLASH_REGEX = /\\\\/g;\nfunction normalize(path: string): string {\n return removeVirtualPrefix(path).replace(BACKSLASH_REGEX, \"/\");\n}\n\nfunction getMatcherString(glob: string, cwd: string) {\n if (glob.startsWith(\"**\") || isAbsolutePath(glob)) {\n return normalize(glob);\n }\n\n const resolved = resolve(cwd, glob);\n\n return normalize(resolved);\n}\n\nexport function patternToIdFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (id: string) => {\n const normalizedId = normalize(id);\n const result = pattern.test(normalizedId);\n pattern.lastIndex = 0;\n return result;\n };\n }\n const cwd = process.cwd();\n const glob = getMatcherString(pattern, cwd);\n const matcher = picomatch(glob, { dot: true });\n\n return (id: string) => {\n const normalizedId = normalize(id);\n\n return matcher(normalizedId);\n };\n}\n\nexport function patternToCodeFilter(pattern: StringOrRegExp): PluginFilter {\n if (pattern instanceof RegExp) {\n return (code: string) => {\n const result = pattern.test(code);\n pattern.lastIndex = 0;\n return result;\n };\n }\n return (code: string) => code.includes(pattern);\n}\n\nexport function createFilter(\n exclude: PluginFilter[] | undefined,\n include: PluginFilter[] | undefined\n): PluginFilter | undefined {\n if (!exclude && !include) {\n return;\n }\n\n return input => {\n if (exclude?.some(filter => filter(input))) {\n return false;\n }\n if (include?.some(filter => filter(input))) {\n return true;\n }\n return !(include && include.length > 0);\n };\n}\n\nexport function normalizeSingleFilter(\n filter: string | RegExp\n): string | RegExp {\n if (isSetString(filter)) {\n return removeVirtualPrefix(filter);\n }\n\n return filter;\n}\n\nexport function normalizeFilter(filter: StringFilter): NormalizedStringFilter {\n if (isSetString(filter) || isRegExp(filter)) {\n return {\n include: [normalizeSingleFilter(filter)]\n };\n }\n\n if (Array.isArray(filter)) {\n return {\n include: filter.map(normalizeSingleFilter)\n };\n }\n\n return {\n exclude: filter.exclude\n ? toArray(filter.exclude).map(normalizeSingleFilter)\n : undefined,\n include: filter.include\n ? toArray(filter.include).map(normalizeSingleFilter)\n : undefined\n };\n}\n\nexport function createIdFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToIdFilter);\n const includeFilter = include?.map(patternToIdFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createCodeFilter(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n if (!filter) return;\n const { exclude, include } = normalizeFilter(filter);\n const excludeFilter = exclude?.map(patternToCodeFilter);\n const includeFilter = include?.map(patternToCodeFilter);\n\n return createFilter(excludeFilter, includeFilter);\n}\n\nexport function createFilterForId(\n filter: StringFilter | undefined\n): PluginFilter | undefined {\n const filterFunction = createIdFilter(filter);\n\n return filterFunction ? id => !!filterFunction(id) : undefined;\n}\n\nexport function createFilterForTransform(\n idFilter: StringFilter | undefined,\n codeFilter: StringFilter | undefined\n): TransformHookFilter | undefined {\n if (!idFilter && !codeFilter) return;\n const idFilterFunction = createIdFilter(idFilter);\n const codeFilterFunction = createCodeFilter(codeFilter);\n\n return (id, code) => {\n let fallback = true;\n if (idFilterFunction) {\n fallback &&= idFilterFunction(id);\n }\n if (!fallback) {\n return false;\n }\n\n if (codeFilterFunction) {\n fallback &&= codeFilterFunction(code);\n }\n return fallback;\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"format-package-json.mjs","names":[],"sources":["../../src/plugin-utils/format-package-json.ts"],"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 { joinPaths } from \"@stryke/path/join\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { format } from \"../lib/utilities/format\";\nimport { Context } from \"../types/context\";\n\n/**\n * Formats the `package.json` file in the project root.\n *\n * @param context - The powerlines context.\n */\nexport async function formatPackageJson(context: Context) {\n const packageJsonPath = joinPaths(\n context.config.cwd,\n context.config.root,\n \"package.json\"\n );\n\n const packageJsonFile = await context.fs.read(packageJsonPath);\n if (isSetString(packageJsonFile)) {\n await context.fs.write(\n packageJsonPath,\n await format(context, packageJsonPath, packageJsonFile)\n );\n }\n}\n"],"mappings":";;;;;;;;;;AA4BA,eAAsB,kBAAkB,SAAkB;CACxD,MAAM,kBAAkB,UACtB,QAAQ,OAAO,KACf,QAAQ,OAAO,MACf,eACD;CAED,MAAM,kBAAkB,MAAM,QAAQ,GAAG,KAAK,gBAAgB;AAC9D,KAAI,YAAY,gBAAgB,CAC9B,OAAM,QAAQ,GAAG,MACf,iBACA,MAAM,OAAO,SAAS,iBAAiB,gBAAgB,CACxD"}
1
+ {"version":3,"file":"format-package-json.mjs","names":[],"sources":["../../src/plugin-utils/format-package-json.ts"],"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 { joinPaths } from \"@stryke/path/join\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { format } from \"../lib/utilities/format\";\nimport { Context } from \"../types/context\";\n\n/**\n * Formats the `package.json` file in the project root.\n *\n * @param context - The powerlines context.\n */\nexport async function formatPackageJson(context: Context) {\n const packageJsonPath = joinPaths(\n context.config.cwd,\n context.config.root,\n \"package.json\"\n );\n\n const packageJsonFile = await context.fs.read(packageJsonPath);\n if (isSetString(packageJsonFile)) {\n await context.fs.write(\n packageJsonPath,\n await format(context, packageJsonPath, packageJsonFile)\n );\n }\n}\n"],"mappings":";;;;;;;;;;AA4BA,eAAsB,kBAAkB,SAAkB;CACxD,MAAM,kBAAkB,UACtB,QAAQ,OAAO,KACf,QAAQ,OAAO,MACf,cACF;CAEA,MAAM,kBAAkB,MAAM,QAAQ,GAAG,KAAK,eAAe;CAC7D,IAAI,YAAY,eAAe,GAC7B,MAAM,QAAQ,GAAG,MACf,iBACA,MAAM,OAAO,SAAS,iBAAiB,eAAe,CACxD;AAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.cts","names":[],"sources":["../../src/plugin-utils/format.ts"],"mappings":";;AAgCA;;;;;iBAAgB,YAAA,CAAa,MAAA,EAAQ,MAAA"}
1
+ {"version":3,"file":"format.d.cts","names":[],"sources":["../../src/plugin-utils/format.ts"],"mappings":";;AAgCA;;;;AAAwD;iBAAxC,YAAA,CAAa,MAA2B,EAAnB,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.mts","names":[],"sources":["../../src/plugin-utils/format.ts"],"mappings":";;AAgCA;;;;;iBAAgB,YAAA,CAAa,MAAA,EAAQ,MAAA"}
1
+ {"version":3,"file":"format.d.mts","names":[],"sources":["../../src/plugin-utils/format.ts"],"mappings":";;AAgCA;;;;AAAwD;iBAAxC,YAAA,CAAa,MAA2B,EAAnB,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.mjs","names":[],"sources":["../../src/plugin-utils/format.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { isRegExp } from \"@stryke/type-checks/is-regexp\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { ResolveConfig, ResolvedConfig } from \"../types/config\";\n\n/**\n * Formats a configuration object into a human-readable string, omitting certain properties and simplifying others for better readability.\n *\n * @param config - The configuration object to format.\n * @returns A formatted string representation of the configuration.\n */\nexport function formatConfig(config: Record<string, any>): string {\n return JSON.stringify(\n Object.fromEntries(\n Object.entries({\n ...omit(config, [\n \"deps\",\n \"resolve\",\n \"plugins\",\n \"initialConfig\",\n \"userConfig\",\n \"inlineConfig\",\n \"pluginConfig\",\n \"environmentConfig\"\n ]),\n deps: isSetObject(config.deps)\n ? {\n alwaysBundle: isSetArray(\n (config.deps as { alwaysBundle?: unknown[] })?.alwaysBundle\n )\n ? (\n (config.deps as { alwaysBundle?: unknown[] })\n ?.alwaysBundle ?? []\n )\n .filter(Boolean)\n .map(alwaysBundle =>\n isSetString(alwaysBundle)\n ? alwaysBundle\n : isRegExp(alwaysBundle)\n ? alwaysBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n onlyBundle: isSetArray(\n (config.deps as { onlyBundle?: unknown[] })?.onlyBundle\n )\n ? (\n (config.deps as { onlyBundle?: unknown[] })?.onlyBundle ??\n []\n )\n .filter(Boolean)\n .map(onlyBundle =>\n isSetString(onlyBundle)\n ? onlyBundle\n : isRegExp(onlyBundle)\n ? onlyBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n neverBundle: isSetArray(\n (config.deps as { neverBundle?: unknown[] })?.neverBundle\n )\n ? (\n (config.deps as { neverBundle?: unknown[] })?.neverBundle ??\n []\n )\n .filter(Boolean)\n .map(neverBundle =>\n isSetString(neverBundle)\n ? neverBundle\n : isRegExp(neverBundle)\n ? neverBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined\n }\n : undefined,\n\n resolve: isSetObject(config.resolve)\n ? {\n ...config.resolve,\n external: isSetArray((config.resolve as ResolveConfig)?.external)\n ? ((config.resolve as ResolveConfig)?.external ?? [])\n .filter(Boolean)\n .map(external =>\n isSetString(external)\n ? external\n : isRegExp(external)\n ? external.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n noExternal: isSetArray(\n (config.resolve as ResolveConfig)?.noExternal\n )\n ? ((config.resolve as ResolveConfig)?.noExternal ?? [])\n .filter(Boolean)\n .map(noExternal =>\n isSetString(noExternal)\n ? noExternal\n : isRegExp(noExternal)\n ? noExternal.source\n : \"<unknown-bundle>\"\n )\n : undefined\n }\n : undefined,\n plugins: isSetArray(config.plugins)\n ? (toArray(config.plugins) as ResolvedConfig[\"plugins\"])\n ?.flatMap(plugin => toArray(plugin))\n ?.map(plugin =>\n String(\n isSetString(plugin)\n ? plugin\n : isSetObject(plugin) &&\n isSetString((plugin as { name: string }).name)\n ? (plugin as { name: string }).name\n : Array.isArray(plugin) && isSetString(plugin[0])\n ? plugin[0]\n : \"<function-plugin>\"\n )\n )\n : undefined\n }).sort(([key1], [key2]) => key1.localeCompare(key2))\n ),\n null,\n 4\n )\n .replace(/\"([^\"]+)\":/g, \"$1:\")\n .replace(/,\\s*$/g, \"\");\n}\n"],"mappings":";;;;;;;;;;;;;;AAgCA,SAAgB,aAAa,QAAqC;AAChE,QAAO,KAAK,UACV,OAAO,YACL,OAAO,QAAQ;EACb,GAAG,KAAK,QAAQ;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAC;EACF,MAAM,YAAY,OAAO,KAAK,GAC1B;GACE,cAAc,WACX,OAAO,MAAuC,aAChD,IAEM,OAAO,MACJ,gBAAgB,EAAE,EAErB,OAAO,QAAQ,CACf,KAAI,iBACH,YAAY,aAAa,GACrB,eACA,SAAS,aAAa,GACpB,aAAa,SACb,mBACP,GACH;GACJ,YAAY,WACT,OAAO,MAAqC,WAC9C,IAEM,OAAO,MAAqC,cAC7C,EAAE,EAED,OAAO,QAAQ,CACf,KAAI,eACH,YAAY,WAAW,GACnB,aACA,SAAS,WAAW,GAClB,WAAW,SACX,mBACP,GACH;GACJ,aAAa,WACV,OAAO,MAAsC,YAC/C,IAEM,OAAO,MAAsC,eAC9C,EAAE,EAED,OAAO,QAAQ,CACf,KAAI,gBACH,YAAY,YAAY,GACpB,cACA,SAAS,YAAY,GACnB,YAAY,SACZ,mBACP,GACH;GACL,GACD;EAEJ,SAAS,YAAY,OAAO,QAAQ,GAChC;GACE,GAAG,OAAO;GACV,UAAU,WAAY,OAAO,SAA2B,SAAS,IAC3D,OAAO,SAA2B,YAAY,EAAE,EAC/C,OAAO,QAAQ,CACf,KAAI,aACH,YAAY,SAAS,GACjB,WACA,SAAS,SAAS,GAChB,SAAS,SACT,mBACP,GACH;GACJ,YAAY,WACT,OAAO,SAA2B,WACpC,IACK,OAAO,SAA2B,cAAc,EAAE,EACjD,OAAO,QAAQ,CACf,KAAI,eACH,YAAY,WAAW,GACnB,aACA,SAAS,WAAW,GAClB,WAAW,SACX,mBACP,GACH;GACL,GACD;EACJ,SAAS,WAAW,OAAO,QAAQ,GAC9B,QAAQ,OAAO,QAAQ,EACpB,SAAQ,WAAU,QAAQ,OAAO,CAAC,EAClC,KAAI,WACJ,OACE,YAAY,OAAO,GACf,SACA,YAAY,OAAO,IACjB,YAAa,OAA4B,KAAK,GAC7C,OAA4B,OAC7B,MAAM,QAAQ,OAAO,IAAI,YAAY,OAAO,GAAG,GAC7C,OAAO,KACP,oBACT,CACF,GACH;EACL,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,KAAK,CAAC,CACtD,EACD,MACA,EACD,CACE,QAAQ,eAAe,MAAM,CAC7B,QAAQ,UAAU,GAAG"}
1
+ {"version":3,"file":"format.mjs","names":[],"sources":["../../src/plugin-utils/format.ts"],"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 { toArray } from \"@stryke/convert/to-array\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { isRegExp } from \"@stryke/type-checks/is-regexp\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { ResolveConfig, ResolvedConfig } from \"../types/config\";\n\n/**\n * Formats a configuration object into a human-readable string, omitting certain properties and simplifying others for better readability.\n *\n * @param config - The configuration object to format.\n * @returns A formatted string representation of the configuration.\n */\nexport function formatConfig(config: Record<string, any>): string {\n return JSON.stringify(\n Object.fromEntries(\n Object.entries({\n ...omit(config, [\n \"deps\",\n \"resolve\",\n \"plugins\",\n \"initialConfig\",\n \"userConfig\",\n \"inlineConfig\",\n \"pluginConfig\",\n \"environmentConfig\"\n ]),\n deps: isSetObject(config.deps)\n ? {\n alwaysBundle: isSetArray(\n (config.deps as { alwaysBundle?: unknown[] })?.alwaysBundle\n )\n ? (\n (config.deps as { alwaysBundle?: unknown[] })\n ?.alwaysBundle ?? []\n )\n .filter(Boolean)\n .map(alwaysBundle =>\n isSetString(alwaysBundle)\n ? alwaysBundle\n : isRegExp(alwaysBundle)\n ? alwaysBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n onlyBundle: isSetArray(\n (config.deps as { onlyBundle?: unknown[] })?.onlyBundle\n )\n ? (\n (config.deps as { onlyBundle?: unknown[] })?.onlyBundle ??\n []\n )\n .filter(Boolean)\n .map(onlyBundle =>\n isSetString(onlyBundle)\n ? onlyBundle\n : isRegExp(onlyBundle)\n ? onlyBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n neverBundle: isSetArray(\n (config.deps as { neverBundle?: unknown[] })?.neverBundle\n )\n ? (\n (config.deps as { neverBundle?: unknown[] })?.neverBundle ??\n []\n )\n .filter(Boolean)\n .map(neverBundle =>\n isSetString(neverBundle)\n ? neverBundle\n : isRegExp(neverBundle)\n ? neverBundle.source\n : \"<unknown-bundle>\"\n )\n : undefined\n }\n : undefined,\n\n resolve: isSetObject(config.resolve)\n ? {\n ...config.resolve,\n external: isSetArray((config.resolve as ResolveConfig)?.external)\n ? ((config.resolve as ResolveConfig)?.external ?? [])\n .filter(Boolean)\n .map(external =>\n isSetString(external)\n ? external\n : isRegExp(external)\n ? external.source\n : \"<unknown-bundle>\"\n )\n : undefined,\n noExternal: isSetArray(\n (config.resolve as ResolveConfig)?.noExternal\n )\n ? ((config.resolve as ResolveConfig)?.noExternal ?? [])\n .filter(Boolean)\n .map(noExternal =>\n isSetString(noExternal)\n ? noExternal\n : isRegExp(noExternal)\n ? noExternal.source\n : \"<unknown-bundle>\"\n )\n : undefined\n }\n : undefined,\n plugins: isSetArray(config.plugins)\n ? (toArray(config.plugins) as ResolvedConfig[\"plugins\"])\n ?.flatMap(plugin => toArray(plugin))\n ?.map(plugin =>\n String(\n isSetString(plugin)\n ? plugin\n : isSetObject(plugin) &&\n isSetString((plugin as { name: string }).name)\n ? (plugin as { name: string }).name\n : Array.isArray(plugin) && isSetString(plugin[0])\n ? plugin[0]\n : \"<function-plugin>\"\n )\n )\n : undefined\n }).sort(([key1], [key2]) => key1.localeCompare(key2))\n ),\n null,\n 4\n )\n .replace(/\"([^\"]+)\":/g, \"$1:\")\n .replace(/,\\s*$/g, \"\");\n}\n"],"mappings":";;;;;;;;;;;;;;AAgCA,SAAgB,aAAa,QAAqC;CAChE,OAAO,KAAK,UACV,OAAO,YACL,OAAO,QAAQ;EACb,GAAG,KAAK,QAAQ;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC;EACD,MAAM,YAAY,OAAO,IAAI,IACzB;GACE,cAAc,WACX,OAAO,MAAuC,YACjD,KAEO,OAAO,MACJ,gBAAgB,CAAC,GAEpB,OAAO,OAAO,EACd,KAAI,iBACH,YAAY,YAAY,IACpB,eACA,SAAS,YAAY,IACnB,aAAa,SACb,kBACR,IACF;GACJ,YAAY,WACT,OAAO,MAAqC,UAC/C,KAEO,OAAO,MAAqC,cAC7C,CAAC,GAEA,OAAO,OAAO,EACd,KAAI,eACH,YAAY,UAAU,IAClB,aACA,SAAS,UAAU,IACjB,WAAW,SACX,kBACR,IACF;GACJ,aAAa,WACV,OAAO,MAAsC,WAChD,KAEO,OAAO,MAAsC,eAC9C,CAAC,GAEA,OAAO,OAAO,EACd,KAAI,gBACH,YAAY,WAAW,IACnB,cACA,SAAS,WAAW,IAClB,YAAY,SACZ,kBACR,IACF;EACN,IACA;EAEJ,SAAS,YAAY,OAAO,OAAO,IAC/B;GACE,GAAG,OAAO;GACV,UAAU,WAAY,OAAO,SAA2B,QAAQ,KAC1D,OAAO,SAA2B,YAAY,CAAC,GAC9C,OAAO,OAAO,EACd,KAAI,aACH,YAAY,QAAQ,IAChB,WACA,SAAS,QAAQ,IACf,SAAS,SACT,kBACR,IACF;GACJ,YAAY,WACT,OAAO,SAA2B,UACrC,KACM,OAAO,SAA2B,cAAc,CAAC,GAChD,OAAO,OAAO,EACd,KAAI,eACH,YAAY,UAAU,IAClB,aACA,SAAS,UAAU,IACjB,WAAW,SACX,kBACR,IACF;EACN,IACA;EACJ,SAAS,WAAW,OAAO,OAAO,IAC7B,QAAQ,OAAO,OAAO,GACnB,SAAQ,WAAU,QAAQ,MAAM,CAAC,GACjC,KAAI,WACJ,OACE,YAAY,MAAM,IACd,SACA,YAAY,MAAM,KAChB,YAAa,OAA4B,IAAI,IAC5C,OAA4B,OAC7B,MAAM,QAAQ,MAAM,KAAK,YAAY,OAAO,EAAE,IAC5C,OAAO,KACP,mBACV,CACF,IACF;CACN,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,IAAI,CAAC,CACtD,GACA,MACA,CACF,EACG,QAAQ,eAAe,KAAK,EAC5B,QAAQ,UAAU,EAAE;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-config-path.d.cts","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"mappings":";;;;;AA6BA;;;;;iBAAgB,aAAA,CACd,OAAA,EAAS,iBAAA;EAAsB,GAAA;EAAc,IAAA;AAAA,GAC7C,IAAA"}
1
+ {"version":3,"file":"get-config-path.d.cts","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"mappings":";;;;;AA6BA;;;;;iBAAgB,aAAA,CACd,OAAA,EAAS,iBAAiB;EAAK,GAAA;EAAc,IAAA;AAAA,GAC7C,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-config-path.d.mts","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"mappings":";;;;;AA6BA;;;;;iBAAgB,aAAA,CACd,OAAA,EAAS,iBAAA;EAAsB,GAAA;EAAc,IAAA;AAAA,GAC7C,IAAA"}
1
+ {"version":3,"file":"get-config-path.d.mts","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"mappings":";;;;;AA6BA;;;;;iBAAgB,aAAA,CACd,OAAA,EAAS,iBAAiB;EAAK,GAAA;EAAc,IAAA;AAAA,GAC7C,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-config-path.mjs","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"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 { joinPaths } from \"@stryke/path/join\";\nimport { existsSync } from \"node:fs\";\nimport { UnresolvedContext } from \"../types/context\";\n\n/**\n * Get the configuration file path for a given name.\n *\n * @param context - The Powerlines context.\n * @param name - The name of the configuration file (without extension).\n * @returns The absolute path to the configuration file, or undefined if not found.\n */\nexport function getConfigPath(\n context: UnresolvedContext | { cwd?: string; root: string },\n name: string\n): string | undefined {\n const cwd =\n ((context as UnresolvedContext).config\n ? (context as UnresolvedContext).config.cwd\n : (context as { cwd?: string; root: string }).cwd) || process.cwd();\n const root = (context as UnresolvedContext).config\n ? (context as UnresolvedContext).config.root\n : (context as { cwd?: string; root: string }).root;\n\n if (existsSync(joinPaths(cwd, root, `${name}.yml`))) {\n return joinPaths(cwd, root, `${name}.yml`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.yaml`))) {\n return joinPaths(cwd, root, `${name}.yaml`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.json`))) {\n return joinPaths(cwd, root, `${name}.json`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.jsonc`))) {\n return joinPaths(cwd, root, `${name}.jsonc`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.ts`))) {\n return joinPaths(cwd, root, `${name}.ts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.cts`))) {\n return joinPaths(cwd, root, `${name}.cts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.mts`))) {\n return joinPaths(cwd, root, `${name}.mts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.js`))) {\n return joinPaths(cwd, root, `${name}.js`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.cjs`))) {\n return joinPaths(cwd, root, `${name}.cjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.mjs`))) {\n return joinPaths(cwd, root, `${name}.mjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.ts`))) {\n return joinPaths(cwd, root, `${name}.config.ts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.cts`))) {\n return joinPaths(cwd, root, `${name}.config.cts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.mts`))) {\n return joinPaths(cwd, root, `${name}.config.mts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.js`))) {\n return joinPaths(cwd, root, `${name}.config.js`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.cjs`))) {\n return joinPaths(cwd, root, `${name}.config.cjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.mjs`))) {\n return joinPaths(cwd, root, `${name}.config.mjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.yml`))) {\n return joinPaths(cwd, `${name}.yml`);\n } else if (existsSync(joinPaths(cwd, `${name}.yaml`))) {\n return joinPaths(cwd, `${name}.yaml`);\n } else if (existsSync(joinPaths(cwd, `${name}.json`))) {\n return joinPaths(cwd, `${name}.json`);\n } else if (existsSync(joinPaths(cwd, `${name}.jsonc`))) {\n return joinPaths(cwd, `${name}.jsonc`);\n } else if (existsSync(joinPaths(cwd, `${name}.ts`))) {\n return joinPaths(cwd, `${name}.ts`);\n } else if (existsSync(joinPaths(cwd, `${name}.cts`))) {\n return joinPaths(cwd, `${name}.cts`);\n } else if (existsSync(joinPaths(cwd, `${name}.mts`))) {\n return joinPaths(cwd, `${name}.mts`);\n } else if (existsSync(joinPaths(cwd, `${name}.js`))) {\n return joinPaths(cwd, `${name}.js`);\n } else if (existsSync(joinPaths(cwd, `${name}.cjs`))) {\n return joinPaths(cwd, `${name}.cjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.mjs`))) {\n return joinPaths(cwd, `${name}.mjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.ts`))) {\n return joinPaths(cwd, `${name}.config.ts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.cts`))) {\n return joinPaths(cwd, `${name}.config.cts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.mts`))) {\n return joinPaths(cwd, `${name}.config.mts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.js`))) {\n return joinPaths(cwd, `${name}.config.js`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.cjs`))) {\n return joinPaths(cwd, `${name}.config.cjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.mjs`))) {\n return joinPaths(cwd, `${name}.config.mjs`);\n }\n\n return undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-config-path.mjs","names":[],"sources":["../../src/plugin-utils/get-config-path.ts"],"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 { joinPaths } from \"@stryke/path/join\";\nimport { existsSync } from \"node:fs\";\nimport { UnresolvedContext } from \"../types/context\";\n\n/**\n * Get the configuration file path for a given name.\n *\n * @param context - The Powerlines context.\n * @param name - The name of the configuration file (without extension).\n * @returns The absolute path to the configuration file, or undefined if not found.\n */\nexport function getConfigPath(\n context: UnresolvedContext | { cwd?: string; root: string },\n name: string\n): string | undefined {\n const cwd =\n ((context as UnresolvedContext).config\n ? (context as UnresolvedContext).config.cwd\n : (context as { cwd?: string; root: string }).cwd) || process.cwd();\n const root = (context as UnresolvedContext).config\n ? (context as UnresolvedContext).config.root\n : (context as { cwd?: string; root: string }).root;\n\n if (existsSync(joinPaths(cwd, root, `${name}.yml`))) {\n return joinPaths(cwd, root, `${name}.yml`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.yaml`))) {\n return joinPaths(cwd, root, `${name}.yaml`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.json`))) {\n return joinPaths(cwd, root, `${name}.json`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.jsonc`))) {\n return joinPaths(cwd, root, `${name}.jsonc`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.ts`))) {\n return joinPaths(cwd, root, `${name}.ts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.cts`))) {\n return joinPaths(cwd, root, `${name}.cts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.mts`))) {\n return joinPaths(cwd, root, `${name}.mts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.js`))) {\n return joinPaths(cwd, root, `${name}.js`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.cjs`))) {\n return joinPaths(cwd, root, `${name}.cjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.mjs`))) {\n return joinPaths(cwd, root, `${name}.mjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.ts`))) {\n return joinPaths(cwd, root, `${name}.config.ts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.cts`))) {\n return joinPaths(cwd, root, `${name}.config.cts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.mts`))) {\n return joinPaths(cwd, root, `${name}.config.mts`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.js`))) {\n return joinPaths(cwd, root, `${name}.config.js`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.cjs`))) {\n return joinPaths(cwd, root, `${name}.config.cjs`);\n } else if (existsSync(joinPaths(cwd, root, `${name}.config.mjs`))) {\n return joinPaths(cwd, root, `${name}.config.mjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.yml`))) {\n return joinPaths(cwd, `${name}.yml`);\n } else if (existsSync(joinPaths(cwd, `${name}.yaml`))) {\n return joinPaths(cwd, `${name}.yaml`);\n } else if (existsSync(joinPaths(cwd, `${name}.json`))) {\n return joinPaths(cwd, `${name}.json`);\n } else if (existsSync(joinPaths(cwd, `${name}.jsonc`))) {\n return joinPaths(cwd, `${name}.jsonc`);\n } else if (existsSync(joinPaths(cwd, `${name}.ts`))) {\n return joinPaths(cwd, `${name}.ts`);\n } else if (existsSync(joinPaths(cwd, `${name}.cts`))) {\n return joinPaths(cwd, `${name}.cts`);\n } else if (existsSync(joinPaths(cwd, `${name}.mts`))) {\n return joinPaths(cwd, `${name}.mts`);\n } else if (existsSync(joinPaths(cwd, `${name}.js`))) {\n return joinPaths(cwd, `${name}.js`);\n } else if (existsSync(joinPaths(cwd, `${name}.cjs`))) {\n return joinPaths(cwd, `${name}.cjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.mjs`))) {\n return joinPaths(cwd, `${name}.mjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.ts`))) {\n return joinPaths(cwd, `${name}.config.ts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.cts`))) {\n return joinPaths(cwd, `${name}.config.cts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.mts`))) {\n return joinPaths(cwd, `${name}.config.mts`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.js`))) {\n return joinPaths(cwd, `${name}.config.js`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.cjs`))) {\n return joinPaths(cwd, `${name}.config.cjs`);\n } else if (existsSync(joinPaths(cwd, `${name}.config.mjs`))) {\n return joinPaths(cwd, `${name}.config.mjs`);\n }\n\n return undefined;\n}\n"],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- import { UnpluginBuilderVariant, UnpluginOptions as UnpluginOptions$1 } from "../types/unplugin.cjs";
1
+ import { UnpluginBuilderVariant, UnpluginOptions } from "../types/unplugin.cjs";
2
2
  import { Plugin, PluginHook, PluginHookFields, PluginHookObject, PluginHooks, TypesResult } from "../types/plugin.cjs";
3
3
  import { HooksListItem } from "../types/hooks.cjs";
4
4
  import { PluginContext, ResolveResult, UnresolvedContext } from "../types/context.cjs";
5
5
  import { EnvironmentConfig, PluginConfig, PluginConfigObject, PluginConfigTuple, ResolvedEnvironmentConfig } from "../types/config.cjs";
6
- import * as _$_stryke_types_base0 from "@stryke/types/base";
7
6
  import { AnyFunction } from "@stryke/types/base";
8
- import * as _$unplugin from "unplugin";
9
- import * as _$rollup from "rollup";
10
7
 
11
8
  //#region src/plugin-utils/helpers.d.ts
12
9
  /**
@@ -75,21 +72,21 @@ declare function getHookHandler<TContext extends PluginContext = PluginContext,
75
72
  * @returns The extracted hook, or undefined if the hook does not exist
76
73
  */
77
74
  declare function extractPluginHook<TContext extends PluginContext = PluginContext, TPlugin extends Plugin<TContext> = Plugin<TContext>>(context: TContext, plugin: TPlugin, hook: keyof PluginHooks<TContext>): {
78
- normal: OmitThisParameter<((this: TContext, code: string) => _$_stryke_types_base0.MaybePromise<TypesResult | string | undefined | null>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>) | (((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>) & PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>, "id" | "code">) | (PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>, never> & ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>)) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>) | (((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>) & PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>, "id">) | (PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>, never> & ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>)) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
75
+ normal: OmitThisParameter<((this: TContext, code: string) => import("@stryke/types/base").MaybePromise<TypesResult | string | undefined | null>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>) | (((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>) & PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>, "id" | "code">) | (PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>, never> & ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>)) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>) | (((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>) & PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>, "id">) | (PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>, never> & ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>)) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
79
76
  isEntry: boolean;
80
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>) | (((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
77
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>) | (((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
81
78
  isEntry: boolean;
82
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>) & PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
79
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>) & PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
83
80
  isEntry: boolean;
84
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>, "id">) | (PluginHookObject<(this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
81
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>, "id">) | (PluginHookObject<(this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
85
82
  isEntry: boolean;
86
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>, never> & ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
83
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>, never> & ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
87
84
  isEntry: boolean;
88
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>)) | (((this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | (((this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & PluginHookObject<(this: UnresolvedContext<TContext["config"], TContext["system"]>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>, never>) | (((this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & (TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>) | (PluginHookObject<(this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>, never> & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: TContext, name: string, environment: EnvironmentConfig) => _$_stryke_types_base0.MaybePromise<Partial<ResolvedEnvironmentConfig> | undefined | null>) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>)>;
85
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>)) | (((this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | (((this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & PluginHookObject<(this: UnresolvedContext<TContext["config"], TContext["system"]>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>, never>) | (((this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & (TContext["config"] extends infer T ? { [K in keyof T]?: (T[K] extends infer T_1 ? { [K_2 in keyof T_1]?: (T_1[K_2] extends infer T_2 ? { [K_3 in keyof T_2]?: (T_2[K_3] extends infer T_3 ? { [K_4 in keyof T_3]?: (T_3[K_4] extends infer T_4 ? { [K_5 in keyof T_4]?: (T_4[K_5] extends infer T_5 ? { [K_6 in keyof T_5]?: (T_5[K_6] extends infer T_6 ? { [K_7 in keyof T_6]?: (T_6[K_7] extends infer T_7 ? { [K_8 in keyof T_7]?: (T_7[K_8] extends infer T_8 ? { [K_9 in keyof T_8]?: (T_8[K_9] extends infer T_9 ? { [K_10 in keyof T_9]?: (T_9[K_10] extends infer T_10 ? { [K_11 in keyof T_10]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>) | (PluginHookObject<(this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>, never> & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | ((this: TContext, name: string, environment: EnvironmentConfig) => import("@stryke/types/base").MaybePromise<Partial<ResolvedEnvironmentConfig> | undefined | null>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>)>;
89
86
  } | {
90
- [x: string]: OmitThisParameter<((this: TContext, code: string) => _$_stryke_types_base0.MaybePromise<TypesResult | string | undefined | null>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => _$_stryke_types_base0.MaybePromise<_$unplugin.TransformResult>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => _$_stryke_types_base0.MaybePromise<_$rollup.LoadResult>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
87
+ [x: string]: OmitThisParameter<((this: TContext, code: string) => import("@stryke/types/base").MaybePromise<TypesResult | string | undefined | null>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, code: string, id: string) => import("@stryke/types/base").MaybePromise<import("unplugin").TransformResult>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string) => import("@stryke/types/base").MaybePromise<import("rollup").LoadResult>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext, id: string, importer: string | undefined, options: {
91
88
  isEntry: boolean;
92
- }) => _$_stryke_types_base0.MaybePromise<string | ResolveResult | null | undefined>) | ((this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) | (((this: UnresolvedContext<TContext["config"], any>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => _$_stryke_types_base0.MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: TContext, name: string, environment: EnvironmentConfig) => _$_stryke_types_base0.MaybePromise<Partial<ResolvedEnvironmentConfig> | undefined | null>) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: _$unplugin.UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => _$_stryke_types_base0.MaybePromise<void>) | ((this: TContext) => _$_stryke_types_base0.MaybePromise<void>)>;
89
+ }) => import("@stryke/types/base").MaybePromise<string | ResolveResult | null | undefined>) | ((this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) | (((this: UnresolvedContext<TContext["config"], any>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>) & ((this: UnresolvedContext<TContext["config"], TContext["system"]>) => import("@stryke/types/base").MaybePromise<(TContext["config"] extends infer T_1 ? { [K in keyof T_1]?: (T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]?: (T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]?: (T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]?: (T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]?: (T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]?: (T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]?: (T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]?: (T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]?: (T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]?: (T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]?: /*elided*/any | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) | undefined } : never) & Record<string, any>>)) | ((this: TContext, name: string, environment: EnvironmentConfig) => import("@stryke/types/base").MaybePromise<Partial<ResolvedEnvironmentConfig> | undefined | null>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: import("unplugin").UnpluginBuildContext & PluginContext<TContext["config"], any> & TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>) | ((this: TContext) => import("@stryke/types/base").MaybePromise<void>)>;
93
90
  normal?: undefined;
94
91
  } | undefined;
95
92
  /**
@@ -98,7 +95,7 @@ declare function extractPluginHook<TContext extends PluginContext = PluginContex
98
95
  * @param keys - The name of the hook to check.
99
96
  * @returns True if the hook is external, false otherwise.
100
97
  */
101
- declare function isUnpluginHookKey<TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant>(keys: string): keys is `${TUnpluginBuilderVariant}:${keyof UnpluginOptions$1[TUnpluginBuilderVariant] & string}`;
98
+ declare function isUnpluginHookKey<TUnpluginBuilderVariant extends UnpluginBuilderVariant = UnpluginBuilderVariant, TContext extends PluginContext = PluginContext>(keys: string): keys is `${TUnpluginBuilderVariant}:${keyof UnpluginOptions<TContext>[TUnpluginBuilderVariant] & string}`;
102
99
  /**
103
100
  * Check if a hook is internal.
104
101
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.cts","names":[],"sources":["../../src/plugin-utils/helpers.ts"],"mappings":";;;;;;;;;;;;;;;;;iBAsDgB,QAAA,kBAA0B,aAAA,GAAgB,aAAA,CAAA,CACxD,KAAA,YACC,KAAA,IAAS,MAAA,CAAO,QAAA;;;;;;;iBA6BH,oBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,KAAA,YAAiB,KAAA,IAAS,kBAAA,CAAmB,QAAA;;;;;;;iBAiB/B,mBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,KAAA,YAAiB,KAAA,IAAS,iBAAA,CAAkB,QAAA;;;;AArB9C;;;iBAsCgB,cAAA,kBAAgC,aAAA,GAAgB,aAAA,CAAA,CAC9D,KAAA,YACC,KAAA,IAAS,YAAA,CAAa,QAAA;;;;;;;iBAiBT,kBAAA,CACd,KAAA,YACC,KAAA,IAAS,gBAAA,CAAiB,WAAA;;;;;;;iBAUb,oBAAA,CAAqB,KAAA,YAAiB,KAAA,IAAS,WAAA;AAlD/D;;;;;;AAAA,iBA4DgB,YAAA,CAAa,KAAA,YAAiB,KAAA,IAAS,UAAA,CAAW,WAAA;AAAA,KAItD,wBAAA,kBACO,aAAA,GAAgB,aAAA,oCAE/B,aAAA,CAAc,QAAA,EAAU,MAAA;;;;;;;iBAQZ,cAAA,kBACG,aAAA,GAAgB,aAAA,+BAAA,CAGjC,UAAA,EAAY,UAAA,CAAW,WAAA,IACtB,wBAAA,CAAyB,QAAA,EAAU,IAAA;;;;AA7DtC;;;;;iBA2EgB,iBAAA,kBACG,aAAA,GAAgB,aAAA,kBACjB,MAAA,CAAO,QAAA,IAAY,MAAA,CAAO,QAAA,EAAA,CAC1C,OAAA,EAAS,QAAA,EAAU,MAAA,EAAQ,OAAA,EAAS,IAAA,QAAY,WAAA,CAAY,QAAA;;;;;;;;;;;iwBA5E7B,09BAAA,68BAAA,0+BAAA,o9BAAA,i3BAAA,o+BAAA,0+BAAA;;;;wwBAmBL,q9BAAA,m+BAAA;;;;;;;;AAU5B;iBAqEgB,iBAAA,iCACkB,sBAAA,GAC9B,sBAAA,CAAA,CAEF,IAAA,WACC,IAAA,OAAW,uBAAA,UAAiC,iBAAA,CAAgB,uBAAA;;;;;;;iBAY/C,iBAAA,kBAAmC,aAAA,CAAA,CACjD,IAAA;AA7EF;;;;;;AAAA,iBAwFgB,mBAAA,iCACkB,sBAAA,GAC9B,sBAAA,CAAA,CACF,KAAA,WAAgB,KAAA,IAAS,uBAAA;;;;AAvF3B;;;;iBAqGgB,WAAA,kBAA6B,aAAA,GAAgB,aAAA,CAAA,CAC3D,MAAA,EAAQ,MAAA,CAAO,QAAA,GACf,OAAA,EAAS,MAAA,CAAO,QAAA;;;;;;;iBAmBF,cAAA,kBACG,aAAA,GAAgB,aAAA,iBAClB,gBAAA,CAAiB,QAAA,IAAY,gBAAA,CAAiB,QAAA,iBAC/C,aAAA,CAAc,QAAA,EAAU,MAAA,IAAU,aAAA,CAC9C,QAAA,EACA,MAAA,EAAA,CAEF,SAAA,EAAW,KAAA,KAAU,KAAA;;;;;;;;AAtHvB;iBA4IgB,aAAA,kBACG,aAAA,GAAgB,aAAA,iBAClB,gBAAA,CAAiB,QAAA,IAAY,gBAAA,CAAiB,QAAA,iBAC/C,aAAA,CAAc,QAAA,EAAU,MAAA,IAAU,aAAA,CAC9C,QAAA,EACA,MAAA,EAAA,CAGF,OAAA,EAAS,QAAA,EACT,MAAA,EAAQ,MAAA,CAAO,QAAA,GACf,UAAA,EAAY,UAAA,CAAW,WAAA,GACvB,SAAA,EAAW,KAAA,KACV,KAAA;;;;;;;iBA6Ba,uBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,MAAA,EAAQ,YAAA,CAAa,QAAA"}
1
+ {"version":3,"file":"helpers.d.cts","names":[],"sources":["../../src/plugin-utils/helpers.ts"],"mappings":";;;;;;;;;;;AAsDA;;;iBAAgB,QAAA,kBAA0B,aAAA,GAAgB,aAAA,CAAA,CACxD,KAAA,YACC,KAAA,IAAS,MAAA,CAAO,QAAA;;;;;;;iBA6BH,oBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,KAAA,YAAiB,KAAA,IAAS,kBAAA,CAAmB,QAAA;;;;;;;iBAiB/B,mBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,KAAA,YAAiB,KAAA,IAAS,iBAAA,CAAkB,QAAA;AArB9C;;;;;;AAAA,iBAsCgB,cAAA,kBAAgC,aAAA,GAAgB,aAAA,CAAA,CAC9D,KAAA,YACC,KAAA,IAAS,YAAA,CAAa,QAAA;;;;;;;iBAiBT,kBAAA,CACd,KAAA,YACC,KAAA,IAAS,gBAAgB,CAAC,WAAA;;;;AAzD0B;AAiBvD;;iBAkDgB,oBAAA,CAAqB,KAAA,YAAiB,KAAA,IAAS,WAAW;;;;;;;iBAU1D,YAAA,CAAa,KAAA,YAAiB,KAAA,IAAS,UAAU,CAAC,WAAA;AAAA,KAItD,wBAAA,kBACO,aAAA,GAAgB,aAAA,oCAE/B,aAAA,CAAc,QAAA,EAAU,MAAA;;;;;;;iBAQZ,cAAA,kBACG,aAAA,GAAgB,aAAA,+BAAA,CAGjC,UAAA,EAAY,UAAA,CAAW,WAAA,IACtB,wBAAA,CAAyB,QAAA,EAAU,IAAA;AA7DtC;;;;;;;;AAAA,iBA2EgB,iBAAA,kBACG,aAAA,GAAgB,aAAA,kBACjB,MAAA,CAAO,QAAA,IAAY,MAAA,CAAO,QAAA,EAAA,CAC1C,OAAA,EAAS,QAAA,EAAU,MAAA,EAAQ,OAAA,EAAS,IAAA,QAAY,WAAA,CAAY,QAAA;;;;;;;;;;;+wBA3D5B,i+BAAA,o9BAAA,i/BAAA,29BAAA,i3BAAA,2+BAAA,i/BAAA;;;;sxBAE/B,49BAAA,0+BAAA;;;;AAAqC;AAUxC;;;;iBAqEgB,iBAAA,iCACkB,sBAAA,GAC9B,sBAAA,mBACe,aAAA,GAAgB,aAAA,CAAA,CAEjC,IAAA,WACC,IAAA,OAAW,uBAAA,UAAiC,eAAA,CAAgB,QAAA,EAAU,uBAAA;;;;AA3EC;AAU1E;;iBA6EgB,iBAAA,kBAAmC,aAAa,CAAA,CAC9D,IAAA;;;;;;;iBAWc,mBAAA,iCACkB,sBAAA,GAC9B,sBAAA,CAAA,CACF,KAAA,WAAgB,KAAA,IAAS,uBAAA;AAxF3B;;;;;;;AAAA,iBAsGgB,WAAA,kBAA6B,aAAA,GAAgB,aAAA,CAAA,CAC3D,MAAA,EAAQ,MAAA,CAAO,QAAA,GACf,OAAA,EAAS,MAAA,CAAO,QAAA;;;;;;;iBAmBF,cAAA,kBACG,aAAA,GAAgB,aAAA,iBAClB,gBAAA,CAAiB,QAAA,IAAY,gBAAA,CAAiB,QAAA,iBAC/C,aAAA,CAAc,QAAA,EAAU,MAAA,IAAU,aAAA,CAC9C,QAAA,EACA,MAAA,EAAA,CAEF,SAAA,EAAW,KAAA,KAAU,KAAA;;;;AA/HW;AAQlC;;;;iBA6IgB,aAAA,kBACG,aAAA,GAAgB,aAAA,iBAClB,gBAAA,CAAiB,QAAA,IAAY,gBAAA,CAAiB,QAAA,iBAC/C,aAAA,CAAc,QAAA,EAAU,MAAA,IAAU,aAAA,CAC9C,QAAA,EACA,MAAA,EAAA,CAGF,OAAA,EAAS,QAAA,EACT,MAAA,EAAQ,MAAA,CAAO,QAAA,GACf,UAAA,EAAY,UAAA,CAAW,WAAA,GACvB,SAAA,EAAW,KAAA,KACV,KAAA;;;;;;;iBA6Ba,uBAAA,kBACG,aAAA,GAAgB,aAAA,CAAA,CACjC,MAAA,EAAQ,YAAA,CAAa,QAAA"}