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

Function injectEnvironmentToHooks

packages/vite/src/node/build.ts:1274–1320  ·  view source on GitHub ↗
(
  environment: Environment,
  chunkMetadataMap: ChunkMetadataMap,
  plugin: Plugin,
)

Source from the content-addressed store, hash-verified

1272}
1273
1274export function injectEnvironmentToHooks(
1275 environment: Environment,
1276 chunkMetadataMap: ChunkMetadataMap,
1277 plugin: Plugin,
1278): Plugin {
1279 const { resolveId, load, transform } = plugin
1280
1281 // the plugin can be a class instance (e.g. native plugins)
1282 const clone: Plugin = Object.assign(
1283 Object.create(Object.getPrototypeOf(plugin)),
1284 plugin,
1285 )
1286
1287 for (const hook of Object.keys(clone) as RollupPluginHooks[]) {
1288 switch (hook) {
1289 case 'resolveId':
1290 clone[hook] = wrapEnvironmentResolveId(
1291 environment,
1292 resolveId,
1293 plugin.name,
1294 )
1295 break
1296 case 'load':
1297 clone[hook] = wrapEnvironmentLoad(environment, load, plugin.name)
1298 break
1299 case 'transform':
1300 clone[hook] = wrapEnvironmentTransform(
1301 environment,
1302 transform,
1303 plugin.name,
1304 )
1305 break
1306 default:
1307 if (ROLLUP_HOOKS.includes(hook)) {
1308 ;(clone as any)[hook] = wrapEnvironmentHook(
1309 environment,
1310 chunkMetadataMap,
1311 plugin,
1312 hook,
1313 )
1314 }
1315 break
1316 }
1317 }
1318
1319 return clone
1320}
1321
1322type AbstractHook<Handler extends Function> = {
1323 handler: Handler

Callers 2

bundleWorkerEntryFunction · 0.90
resolveRolldownOptionsFunction · 0.85

Calls 4

wrapEnvironmentResolveIdFunction · 0.85
wrapEnvironmentLoadFunction · 0.85
wrapEnvironmentTransformFunction · 0.85
wrapEnvironmentHookFunction · 0.85

Tested by

no test coverage detected