Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
"playwright-chromium": "^1.50.1",
"premove": "^4.0.0",
"prettier": "3.5.3",
"rollup": "^4.34.9",
"rollup": "^4.40.0",
"rollup-plugin-esbuild": "^6.2.1",
"simple-git-hooks": "^2.12.1",
"tslib": "^2.8.1",
Expand Down
2 changes: 1 addition & 1 deletion packages/vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
"fdir": "^6.4.4",
"picomatch": "^4.0.2",
"postcss": "^8.5.3",
"rollup": "^4.34.9",
"rollup": "^4.40.0",
"tinyglobby": "^0.2.13"
},
"optionalDependencies": {
Expand Down
40 changes: 8 additions & 32 deletions packages/vite/src/node/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,6 @@ import {
} from './baseEnvironment'
import type { Plugin } from './plugin'
import type { RollupPluginHooks } from './typeUtils'
import {
createFilterForTransform,
createIdFilter,
} from './plugins/pluginFilter'

export interface BuildEnvironmentOptions {
/**
Expand Down Expand Up @@ -590,7 +586,7 @@ async function buildEnvironment(

// inject environment and ssr arg to plugin load/transform hooks
const plugins = environment.plugins.map((p) =>
injectEnvironmentAndFilterToHooks(environment, p),
injectEnvironmentToHooks(environment, p),
)

const rollupOptions: RollupOptions = {
Expand Down Expand Up @@ -1134,7 +1130,7 @@ function isExternal(id: string, test: string | RegExp) {
}
}

export function injectEnvironmentAndFilterToHooks(
export function injectEnvironmentToHooks(
environment: BuildEnvironment,
plugin: Plugin,
): Plugin {
Expand All @@ -1145,13 +1141,13 @@ export function injectEnvironmentAndFilterToHooks(
for (const hook of Object.keys(clone) as RollupPluginHooks[]) {
switch (hook) {
case 'resolveId':
clone[hook] = wrapEnvironmentAndFilterResolveId(environment, resolveId)
clone[hook] = wrapEnvironmentResolveId(environment, resolveId)
break
case 'load':
clone[hook] = wrapEnvironmentAndFilterLoad(environment, load)
clone[hook] = wrapEnvironmentLoad(environment, load)
break
case 'transform':
clone[hook] = wrapEnvironmentAndFilterTransform(environment, transform)
clone[hook] = wrapEnvironmentTransform(environment, transform)
break
default:
if (ROLLUP_HOOKS.includes(hook)) {
Expand All @@ -1164,20 +1160,14 @@ export function injectEnvironmentAndFilterToHooks(
return clone
}

function wrapEnvironmentAndFilterResolveId(
function wrapEnvironmentResolveId(
environment: BuildEnvironment,
hook?: Plugin['resolveId'],
): Plugin['resolveId'] {
if (!hook) return

const rawIdFilter = typeof hook === 'object' ? hook.filter?.id : undefined
const idFilter = rawIdFilter ? createIdFilter(rawIdFilter) : undefined

const fn = getHookHandler(hook)
const handler: Plugin['resolveId'] = function (id, importer, options) {
if (idFilter && !idFilter(id)) {
return
}
return fn.call(
injectEnvironmentInContext(this, environment),
id,
Expand All @@ -1196,20 +1186,14 @@ function wrapEnvironmentAndFilterResolveId(
}
}

function wrapEnvironmentAndFilterLoad(
function wrapEnvironmentLoad(
environment: BuildEnvironment,
hook?: Plugin['load'],
): Plugin['load'] {
if (!hook) return

const rawIdFilter = typeof hook === 'object' ? hook.filter?.id : undefined
const idFilter = rawIdFilter ? createIdFilter(rawIdFilter) : undefined

const fn = getHookHandler(hook)
const handler: Plugin['load'] = function (id, ...args) {
if (idFilter && !idFilter(id)) {
return
}
return fn.call(
injectEnvironmentInContext(this, environment),
id,
Expand All @@ -1227,22 +1211,14 @@ function wrapEnvironmentAndFilterLoad(
}
}

function wrapEnvironmentAndFilterTransform(
function wrapEnvironmentTransform(
environment: BuildEnvironment,
hook?: Plugin['transform'],
): Plugin['transform'] {
if (!hook) return

const filters = typeof hook === 'object' ? hook.filter : undefined
const filter = filters
? createFilterForTransform(filters.id, filters.code)
: undefined

const fn = getHookHandler(hook)
const handler: Plugin['transform'] = function (code, importer, ...args) {
if (filter && !filter(importer, code)) {
return
}
return fn.call(
injectEnvironmentInContext(this, environment),
code,
Expand Down
4 changes: 2 additions & 2 deletions packages/vite/src/node/plugins/worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
import {
BuildEnvironment,
createToImportMetaURLBasedRelativeRuntime,
injectEnvironmentAndFilterToHooks,
injectEnvironmentToHooks,
onRollupLog,
toOutputFilePathInJS,
} from '../build'
Expand Down Expand Up @@ -95,7 +95,7 @@ async function bundleWorkerEntry(
...rollupOptions,
input,
plugins: workerEnvironment.plugins.map((p) =>
injectEnvironmentAndFilterToHooks(workerEnvironment, p),
injectEnvironmentToHooks(workerEnvironment, p),
),
onLog(level, log) {
onRollupLog(level, log, workerEnvironment)
Expand Down
Loading