MCPcopy
hub / github.com/vitejs/vite / createPluginHookUtils

Function createPluginHookUtils

packages/vite/src/node/plugins/index.ts:175–200  ·  view source on GitHub ↗
(
  plugins: readonly Plugin[],
)

Source from the content-addressed store, hash-verified

173}
174
175export function createPluginHookUtils(
176 plugins: readonly Plugin[],
177): PluginHookUtils {
178 // sort plugins per hook
179 const sortedPluginsCache = new Map<keyof Plugin, Plugin[]>()
180 function getSortedPlugins<K extends keyof Plugin>(
181 hookName: K,
182 ): PluginWithRequiredHook<K>[] {
183 if (sortedPluginsCache.has(hookName))
184 return sortedPluginsCache.get(hookName) as PluginWithRequiredHook<K>[]
185 const sorted = getSortedPluginsByHook(hookName, plugins)
186 sortedPluginsCache.set(hookName, sorted)
187 return sorted
188 }
189 function getSortedPluginHooks<K extends keyof Plugin>(
190 hookName: K,
191 ): NonNullable<HookHandler<Plugin[K]>>[] {
192 const plugins = getSortedPlugins(hookName)
193 return plugins.map((p) => getHookHandler(p[hookName])).filter(Boolean)
194 }
195
196 return {
197 getSortedPlugins,
198 getSortedPluginHooks,
199 }
200}
201
202export function getSortedPluginsByHook<K extends keyof Plugin>(
203 hookName: K,

Callers 3

createWorkerPluginsFunction · 0.90
resolveConfigFunction · 0.90
constructorMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected