powerlines 0.36.16 → 0.36.17

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 (79) hide show
  1. package/dist/api.cjs +2 -2
  2. package/dist/api.js +1 -1
  3. package/dist/astro.cjs +4 -4
  4. package/dist/astro.js +3 -3
  5. package/dist/{chunk-KBY6P55L.js → chunk-5P33FZVE.js} +3 -3
  6. package/dist/{chunk-K4KSZ5LO.js → chunk-JHMNUYR4.js} +3 -3
  7. package/dist/chunk-LF52IIUG.cjs +12 -0
  8. package/dist/{chunk-GMWKIYIA.js → chunk-NG66D5S2.js} +3 -3
  9. package/dist/chunk-OAP26O5W.cjs +12 -0
  10. package/dist/{chunk-FSGX5QA3.cjs → chunk-Q5QDT4Z6.cjs} +4 -4
  11. package/dist/{chunk-LMGW3BJ5.cjs → chunk-SE2DSY7Q.cjs} +5 -5
  12. package/dist/{chunk-3IHUVS2R.cjs → chunk-VFEMKXPW.cjs} +3 -3
  13. package/dist/{chunk-J4YZNSCI.cjs → chunk-VNR35OGA.cjs} +4 -4
  14. package/dist/{chunk-PKPHX4JL.js → chunk-WJT3YP4S.js} +3 -3
  15. package/dist/{chunk-I7KYN6FZ.js → chunk-YCEMHKQ6.js} +3 -3
  16. package/dist/{chunk-2MM6T3B3.js → chunk-YEMNMZFO.js} +3 -3
  17. package/dist/esbuild.cjs +6 -6
  18. package/dist/esbuild.js +3 -3
  19. package/dist/farm.cjs +3 -3
  20. package/dist/farm.js +2 -2
  21. package/dist/index.cjs +10 -10
  22. package/dist/index.js +2 -2
  23. package/dist/lib/{chunk-ADSPA3QE.js → chunk-4U72WVKA.js} +4 -4
  24. package/dist/lib/{chunk-ADSPA3QE.js.map → chunk-4U72WVKA.js.map} +1 -1
  25. package/dist/lib/{chunk-353HMSL5.js → chunk-ALSAZ7L6.js} +3 -3
  26. package/dist/lib/chunk-ALSAZ7L6.js.map +1 -0
  27. package/dist/lib/{chunk-J2T63UDX.cjs → chunk-BEMSIGJW.cjs} +3 -3
  28. package/dist/lib/chunk-BEMSIGJW.cjs.map +1 -0
  29. package/dist/lib/{chunk-KY7UADON.cjs → chunk-C3QHVUY2.cjs} +16 -16
  30. package/dist/lib/{chunk-KY7UADON.cjs.map → chunk-C3QHVUY2.cjs.map} +1 -1
  31. package/dist/lib/{chunk-BDCEFSVK.cjs → chunk-HUWPJJ3K.cjs} +14 -14
  32. package/dist/lib/{chunk-BDCEFSVK.cjs.map → chunk-HUWPJJ3K.cjs.map} +1 -1
  33. package/dist/lib/{chunk-FIOYLW5Q.js → chunk-LT2BKZXG.js} +4 -4
  34. package/dist/lib/{chunk-FIOYLW5Q.js.map → chunk-LT2BKZXG.js.map} +1 -1
  35. package/dist/lib/{chunk-N7COL2O5.cjs → chunk-LWDVMU5O.cjs} +6 -6
  36. package/dist/lib/{chunk-N7COL2O5.cjs.map → chunk-LWDVMU5O.cjs.map} +1 -1
  37. package/dist/lib/{chunk-5QCLCBD7.js → chunk-RLNO3YW6.js} +3 -3
  38. package/dist/lib/{chunk-5QCLCBD7.js.map → chunk-RLNO3YW6.js.map} +1 -1
  39. package/dist/lib/contexts/api-context.cjs +4 -4
  40. package/dist/lib/contexts/api-context.js +3 -3
  41. package/dist/lib/contexts/context.cjs +2 -2
  42. package/dist/lib/contexts/context.js +1 -1
  43. package/dist/lib/contexts/environment-context.cjs +3 -3
  44. package/dist/lib/contexts/environment-context.js +2 -2
  45. package/dist/lib/contexts/index.cjs +6 -6
  46. package/dist/lib/contexts/index.js +3 -3
  47. package/dist/lib/index.cjs +8 -8
  48. package/dist/lib/index.js +4 -4
  49. package/dist/lib/unplugin/factory.cjs +5 -5
  50. package/dist/lib/unplugin/factory.js +4 -4
  51. package/dist/lib/unplugin/index.cjs +5 -5
  52. package/dist/lib/unplugin/index.js +4 -4
  53. package/dist/next.cjs +4 -4
  54. package/dist/next.js +3 -3
  55. package/dist/nuxt.cjs +7 -7
  56. package/dist/nuxt.js +5 -5
  57. package/dist/rolldown.cjs +6 -6
  58. package/dist/rolldown.js +3 -3
  59. package/dist/rollup.cjs +3 -3
  60. package/dist/rollup.js +2 -2
  61. package/dist/rspack.cjs +3 -3
  62. package/dist/rspack.js +2 -2
  63. package/dist/tsdown.cjs +4 -4
  64. package/dist/tsdown.js +3 -3
  65. package/dist/tsup.cjs +4 -4
  66. package/dist/tsup.js +3 -3
  67. package/dist/unloader.cjs +3 -3
  68. package/dist/unloader.js +2 -2
  69. package/dist/unplugin.cjs +5 -5
  70. package/dist/unplugin.js +3 -3
  71. package/dist/vite.cjs +6 -6
  72. package/dist/vite.js +3 -3
  73. package/dist/webpack.cjs +6 -6
  74. package/dist/webpack.js +3 -3
  75. package/package.json +2 -2
  76. package/dist/chunk-4Z5HXM4Y.cjs +0 -12
  77. package/dist/chunk-V7KISSUL.cjs +0 -12
  78. package/dist/lib/chunk-353HMSL5.js.map +0 -1
  79. package/dist/lib/chunk-J2T63UDX.cjs.map +0 -1
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk57WHQU5T_cjs = require('./chunk-57WHQU5T.cjs');
4
- var chunkJ2T63UDX_cjs = require('./chunk-J2T63UDX.cjs');
4
+ var chunkBEMSIGJW_cjs = require('./chunk-BEMSIGJW.cjs');
5
5
  var chunkPK6SKIKE_cjs = require('./chunk-PK6SKIKE.cjs');
6
6
  var resolve = require('@stryke/fs/resolve');
7
7
  var isFunction = require('@stryke/type-checks/is-function');
8
8
  var isObject = require('@stryke/type-checks/is-object');
9
9
 
10
- var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends chunkJ2T63UDX_cjs.PowerlinesContext {
10
+ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends chunkBEMSIGJW_cjs.PowerlinesContext {
11
11
  static {
12
12
  chunkPK6SKIKE_cjs.__name(this, "PowerlinesEnvironmentContext");
13
13
  }
@@ -56,41 +56,41 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends c
56
56
  if (!result || isObject.isObject(result) && Object.keys(result).length === 0) {
57
57
  return;
58
58
  }
59
- if (chunkJ2T63UDX_cjs.isPluginConfig(result)) {
59
+ if (chunkBEMSIGJW_cjs.isPluginConfig(result)) {
60
60
  return this.$$internal.addPlugin(result);
61
61
  }
62
- resolvedPlugin = chunkJ2T63UDX_cjs.isPlugin(result) ? result : plugin;
62
+ resolvedPlugin = chunkBEMSIGJW_cjs.isPlugin(result) ? result : plugin;
63
63
  }
64
64
  const context = chunk57WHQU5T_cjs.createPluginContext(resolvedPlugin, this);
65
65
  this.plugins.push({
66
66
  plugin: resolvedPlugin,
67
67
  context
68
68
  });
69
- this.#hooks = Object.keys(resolvedPlugin).filter((key) => !chunkJ2T63UDX_cjs.PLUGIN_NON_HOOK_FIELDS.includes(key)).reduce((ret, key) => {
69
+ this.#hooks = Object.keys(resolvedPlugin).filter((key) => !chunkBEMSIGJW_cjs.PLUGIN_NON_HOOK_FIELDS.includes(key)).reduce((ret, key) => {
70
70
  const hook = key;
71
71
  const pluginHook = resolvedPlugin[hook];
72
- if (!chunkJ2T63UDX_cjs.isPluginHook(pluginHook)) {
72
+ if (!chunkBEMSIGJW_cjs.isPluginHook(pluginHook)) {
73
73
  return ret;
74
74
  }
75
- if (!chunkJ2T63UDX_cjs.isHookExternal(hook)) {
75
+ if (!chunkBEMSIGJW_cjs.isHookExternal(hook)) {
76
76
  ret[hook] ??= {};
77
77
  if (resolvedPlugin.enforce) {
78
78
  ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];
79
- chunkJ2T63UDX_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${resolvedPlugin.enforce}Enforced`]);
79
+ chunkBEMSIGJW_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${resolvedPlugin.enforce}Enforced`]);
80
80
  return ret;
81
81
  }
82
82
  if (isFunction.isFunction(pluginHook) || !pluginHook.order) {
83
83
  ret[hook].normal ??= [];
84
- chunkJ2T63UDX_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook].normal);
84
+ chunkBEMSIGJW_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook].normal);
85
85
  return ret;
86
86
  }
87
87
  ret[hook][`${pluginHook.order}Ordered`] ??= [];
88
- chunkJ2T63UDX_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${pluginHook.order}Ordered`]);
88
+ chunkBEMSIGJW_cjs.addPluginHook(context, resolvedPlugin, pluginHook, ret[hook][`${pluginHook.order}Ordered`]);
89
89
  } else {
90
90
  ret[hook] ??= [];
91
91
  ret[hook].push({
92
92
  plugin: resolvedPlugin,
93
- hook: chunkJ2T63UDX_cjs.getHookHandler(pluginHook).bind(context)
93
+ hook: chunkBEMSIGJW_cjs.getHookHandler(pluginHook).bind(context)
94
94
  });
95
95
  }
96
96
  return ret;
@@ -102,7 +102,7 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends c
102
102
  selectHooks(hook, options) {
103
103
  const result = [];
104
104
  if (this.hooks[hook]) {
105
- if (!chunkJ2T63UDX_cjs.isHookExternal(hook)) {
105
+ if (!chunkBEMSIGJW_cjs.isHookExternal(hook)) {
106
106
  const hooks = this.hooks[hook];
107
107
  if (options?.order) {
108
108
  if (options?.order === "pre") {
@@ -192,5 +192,5 @@ var PowerlinesEnvironmentContext = class _PowerlinesEnvironmentContext extends c
192
192
  };
193
193
 
194
194
  exports.PowerlinesEnvironmentContext = PowerlinesEnvironmentContext;
195
- //# sourceMappingURL=chunk-BDCEFSVK.cjs.map
196
- //# sourceMappingURL=chunk-BDCEFSVK.cjs.map
195
+ //# sourceMappingURL=chunk-HUWPJJ3K.cjs.map
196
+ //# sourceMappingURL=chunk-HUWPJJ3K.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/contexts/environment-context.ts"],"names":["PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","isFunction","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPluginConfig","$$internal","isPlugin","createPluginContext","push","filter","key","PLUGIN_NON_HOOK_FIELDS","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":"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","file":"chunk-BDCEFSVK.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginConfig,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { PluginConfig, WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (isFunction(plugin.applyToEnvironment)) {\n const result = (await Promise.resolve(\n plugin.applyToEnvironment(this.environment) as Promise<any>\n )) as boolean | PluginConfig<PluginContext<TResolvedConfig>>;\n\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n if (isPluginConfig(result)) {\n return this.$$internal.addPlugin(result);\n }\n\n resolvedPlugin = isPlugin<PluginContext<TResolvedConfig>>(result)\n ? result\n : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/lib/contexts/environment-context.ts"],"names":["PowerlinesEnvironmentContext","PowerlinesContext","fromConfig","workspaceConfig","config","context","init","powerlinesPath","resolvePackage","Error","environment","plugins","hooks","addPlugin","plugin","resolvedPlugin","isFunction","applyToEnvironment","result","Promise","resolve","isObject","Object","keys","length","isPluginConfig","$$internal","isPlugin","createPluginContext","push","filter","key","PLUGIN_NON_HOOK_FIELDS","includes","reduce","ret","hook","pluginHook","isPluginHook","isHookExternal","enforce","addPluginHook","order","normal","getHookHandler","bind","selectHooks","options","preOrdered","map","h","find","p","name","handle","handler","preEnforced","postOrdered","postEnforced","resolvedConfig"],"mappings":"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","file":"chunk-HUWPJJ3K.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { resolvePackage } from \"@stryke/fs/resolve\";\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport { isObject } from \"@stryke/type-checks/is-object\";\nimport { ArrayValues } from \"@stryke/types/array\";\nimport {\n addPluginHook,\n getHookHandler,\n isHookExternal,\n isPlugin,\n isPluginConfig,\n isPluginHook\n} from \"../../plugin-utils/helpers\";\nimport { PluginConfig, WorkspaceConfig } from \"../../types/config\";\nimport {\n EnvironmentContext,\n EnvironmentContextPlugin,\n PluginContext,\n SelectHooksOptions,\n SelectHooksResult\n} from \"../../types/context\";\nimport { BaseHooksList, HookKeys, HooksList } from \"../../types/hooks\";\nimport { Plugin, PLUGIN_NON_HOOK_FIELDS } from \"../../types/plugin\";\nimport {\n EnvironmentResolvedConfig,\n ResolvedConfig\n} from \"../../types/resolved\";\nimport { PowerlinesContext } from \"./context\";\nimport { createPluginContext } from \"./plugin-context\";\n\nexport class PowerlinesEnvironmentContext<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n>\n extends PowerlinesContext<TResolvedConfig>\n implements EnvironmentContext<TResolvedConfig>\n{\n /**\n * The hooks registered by plugins in this environment\n */\n #hooks: HooksList<PluginContext<TResolvedConfig>> = {} as HooksList<\n PluginContext<TResolvedConfig>\n >;\n\n /**\n * Create a new Storm context from the workspace root and user config.\n *\n * @param workspaceConfig - The root directory of the workspace.\n * @param config - The user configuration options.\n * @returns A promise that resolves to the new context.\n */\n public static async fromConfig<\n TResolvedConfig extends ResolvedConfig = ResolvedConfig\n >(\n workspaceConfig: WorkspaceConfig,\n config: TResolvedConfig\n ): Promise<PowerlinesEnvironmentContext<TResolvedConfig>> {\n const context = new PowerlinesEnvironmentContext<TResolvedConfig>(\n config,\n workspaceConfig\n );\n await context.init();\n\n const powerlinesPath = await resolvePackage(\"powerlines\");\n if (!powerlinesPath) {\n throw new Error(\"Could not resolve `powerlines` package location.\");\n }\n\n context.powerlinesPath = powerlinesPath;\n\n return context;\n }\n\n /**\n * The resolved environment configuration\n */\n public environment!: EnvironmentResolvedConfig;\n\n /**\n * The list of plugins applied to this environment\n */\n public plugins: EnvironmentContextPlugin<TResolvedConfig>[] = [];\n\n /**\n * The resolved configuration options\n */\n public override get config(): TResolvedConfig {\n return super.config;\n }\n\n public get hooks(): HooksList<PluginContext<TResolvedConfig>> {\n return this.#hooks;\n }\n\n public async addPlugin(plugin: Plugin<PluginContext<TResolvedConfig>>) {\n let resolvedPlugin = plugin;\n if (isFunction(plugin.applyToEnvironment)) {\n const result = (await Promise.resolve(\n plugin.applyToEnvironment(this.environment) as Promise<any>\n )) as boolean | PluginConfig<PluginContext<TResolvedConfig>>;\n\n if (!result || (isObject(result) && Object.keys(result).length === 0)) {\n return;\n }\n\n if (isPluginConfig(result)) {\n return this.$$internal.addPlugin(result);\n }\n\n resolvedPlugin = isPlugin<PluginContext<TResolvedConfig>>(result)\n ? result\n : plugin;\n }\n\n const context = createPluginContext<TResolvedConfig>(resolvedPlugin, this);\n\n this.plugins.push({\n plugin: resolvedPlugin,\n context\n });\n\n this.#hooks = Object.keys(resolvedPlugin)\n .filter(\n key =>\n !PLUGIN_NON_HOOK_FIELDS.includes(\n key as ArrayValues<typeof PLUGIN_NON_HOOK_FIELDS>\n )\n )\n .reduce((ret, key) => {\n const hook = key as keyof HooksList<PluginContext<TResolvedConfig>>;\n const pluginHook = resolvedPlugin[hook as keyof typeof resolvedPlugin];\n if (!isPluginHook(pluginHook)) {\n return ret;\n }\n\n if (!isHookExternal(hook)) {\n ret[hook] ??= {};\n if (resolvedPlugin.enforce) {\n ret[hook][`${resolvedPlugin.enforce}Enforced`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${resolvedPlugin.enforce}Enforced`]!\n );\n\n return ret;\n }\n\n if (isFunction(pluginHook) || !pluginHook.order) {\n ret[hook].normal ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook].normal\n );\n\n return ret;\n }\n\n ret[hook][`${pluginHook.order}Ordered`] ??= [];\n\n addPluginHook(\n context,\n resolvedPlugin,\n pluginHook,\n ret[hook][`${pluginHook.order}Ordered`]!\n );\n } else {\n ret[hook] ??= [];\n ret[hook].push({\n plugin: resolvedPlugin,\n hook: getHookHandler(pluginHook).bind(context)\n } as any);\n }\n\n return ret;\n }, this.hooks);\n }\n\n /**\n * Retrieves the hook handlers for a specific hook name\n */\n public selectHooks<TKey extends HookKeys<PluginContext<TResolvedConfig>>>(\n hook: TKey,\n options?: SelectHooksOptions\n ): SelectHooksResult<TResolvedConfig, TKey>[] {\n const result = [] as SelectHooksResult<TResolvedConfig, TKey>[];\n\n if (this.hooks[hook]) {\n if (!isHookExternal(hook)) {\n const hooks = this.hooks[hook] as BaseHooksList<\n PluginContext<TResolvedConfig>\n >;\n if (options?.order) {\n if (options?.order === \"pre\") {\n result.push(\n ...(hooks.preOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.preEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else if (options?.order === \"post\") {\n result.push(\n ...(hooks.postOrdered ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n result.push(\n ...(hooks.postEnforced ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n } else {\n result.push(\n ...(hooks.normal ?? []).map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${\n h.plugin.name\n }\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n } else {\n result.push(...this.selectHooks(hook, { order: \"pre\" }));\n result.push(...this.selectHooks(hook, { order: \"normal\" }));\n result.push(...this.selectHooks(hook, { order: \"post\" }));\n }\n } else {\n result.push(\n ...this.hooks[hook].map(h => {\n const plugin = this.plugins.find(\n p => p.plugin.name === h.plugin.name\n );\n if (!plugin) {\n throw new Error(\n `Could not find plugin context for plugin \"${h.plugin.name}\".`\n );\n }\n\n return {\n handle: h.handler,\n context: plugin.context\n };\n })\n );\n }\n }\n\n return result;\n }\n\n protected constructor(\n config: TResolvedConfig,\n workspaceConfig: WorkspaceConfig\n ) {\n super(workspaceConfig);\n\n this.resolvedConfig = config;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { getFileHeader } from './chunk-7R23HVGQ.js';
2
- import { PowerlinesAPIContext } from './chunk-ADSPA3QE.js';
3
- import { isPluginConfig, findInvalidPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-353HMSL5.js';
2
+ import { PowerlinesAPIContext } from './chunk-4U72WVKA.js';
3
+ import { isPluginConfig, findInvalidPluginConfig, isPlugin, isPluginConfigTuple, isPluginConfigObject, checkDedupe } from './chunk-ALSAZ7L6.js';
4
4
  import { writeMetaFile } from './chunk-45D4XIOK.js';
5
5
  import { createProgram } from './chunk-ZLWW2MXD.js';
6
6
  import { isIncludeMatchFound, getParsedTypeScriptConfig, getTsconfigFilePath } from './chunk-FPFPUYXS.js';
@@ -1211,5 +1211,5 @@ function createUnpluginFactory(variant, decorate) {
1211
1211
  __name(createUnpluginFactory, "createUnpluginFactory");
1212
1212
 
1213
1213
  export { createUnpluginFactory };
1214
- //# sourceMappingURL=chunk-FIOYLW5Q.js.map
1215
- //# sourceMappingURL=chunk-FIOYLW5Q.js.map
1214
+ //# sourceMappingURL=chunk-LT2BKZXG.js.map
1215
+ //# sourceMappingURL=chunk-LT2BKZXG.js.map