Skip to content

Commit

Permalink
refactor: use applyToEnvironment in internal plugins (#19588)
Browse files Browse the repository at this point in the history
  • Loading branch information
sapphi-red authored Mar 7, 2025
1 parent e3f6ae1 commit f678442
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 19 deletions.
9 changes: 6 additions & 3 deletions packages/vite/src/node/plugins/assetImportMetaUrl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin {

return {
name: 'vite:asset-import-meta-url',

applyToEnvironment(environment) {
return environment.config.consumer === 'client'
},

async transform(code, id) {
const { environment } = this
if (
environment.config.consumer === 'client' &&
id !== preloadHelperId &&
id !== CLIENT_ENTRY &&
code.includes('new URL') &&
Expand Down Expand Up @@ -121,7 +124,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
tryIndex: false,
preferRelative: true,
})
file = await assetResolver(environment, url, id)
file = await assetResolver(this.environment, url, id)
file ??=
url[0] === '/'
? slash(path.join(publicDir, url))
Expand Down
10 changes: 2 additions & 8 deletions packages/vite/src/node/plugins/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import aliasPlugin, { type ResolverFunction } from '@rollup/plugin-alias'
import type { ObjectHook } from 'rollup'
import type { PluginHookUtils, ResolvedConfig } from '../config'
import { isDepOptimizationDisabled } from '../optimizer'
import type { HookHandler, Plugin, PluginWithRequiredHook } from '../plugin'
import { watchPackageDataPlugin } from '../packages'
import { jsonPlugin } from './json'
Expand Down Expand Up @@ -36,17 +35,12 @@ export async function resolvePlugins(
? await (await import('../build')).resolveBuildPlugins(config)
: { pre: [], post: [] }
const { modulePreload } = config.build
const depOptimizationEnabled =
!isBuild &&
Object.values(config.environments).some(
(environment) => !isDepOptimizationDisabled(environment.optimizeDeps),
)

return [
depOptimizationEnabled ? optimizedDepsPlugin() : null,
!isBuild ? optimizedDepsPlugin() : null,
isBuild ? metadataPlugin() : null,
!isWorker ? watchPackageDataPlugin(config.packageCache) : null,
preAliasPlugin(config),
!isBuild ? preAliasPlugin(config) : null,
aliasPlugin({
entries: config.resolve.alias,
customResolver: viteAliasCustomResolver,
Expand Down
9 changes: 8 additions & 1 deletion packages/vite/src/node/plugins/optimizedDeps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ import {
ERR_OPTIMIZE_DEPS_PROCESSING_ERROR,
} from '../constants'
import { createDebugger } from '../utils'
import { optimizedDepInfoFromFile } from '../optimizer'
import {
isDepOptimizationDisabled,
optimizedDepInfoFromFile,
} from '../optimizer'
import { cleanUrl } from '../../shared/utils'
import { ERR_OUTDATED_OPTIMIZED_DEP } from '../../shared/constants'

Expand All @@ -18,6 +21,10 @@ export function optimizedDepsPlugin(): Plugin {
return {
name: 'vite:optimized-deps',

applyToEnvironment(environment) {
return !isDepOptimizationDisabled(environment.config.optimizeDeps)
},

resolveId(id) {
const environment = this.environment as DevEnvironment
if (environment.depsOptimizer?.isOptimizedDepFile(id)) {
Expand Down
10 changes: 7 additions & 3 deletions packages/vite/src/node/plugins/preAlias.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import type {
Alias,
AliasOptions,
DepOptimizationOptions,
DevEnvironment,
ResolvedConfig,
} from '..'
import type { Plugin } from '../plugin'
Expand All @@ -14,6 +15,7 @@ import {
moduleListContains,
} from '../utils'
import { cleanUrl, withTrailingSlash } from '../../shared/utils'
import { isDepOptimizationDisabled } from '../optimizer'
import { tryOptimizedResolve } from './resolve'

/**
Expand All @@ -23,11 +25,13 @@ export function preAliasPlugin(config: ResolvedConfig): Plugin {
const findPatterns = getAliasPatterns(config.resolve.alias)
return {
name: 'vite:pre-alias',
applyToEnvironment(environment) {
return !isDepOptimizationDisabled(environment.config.optimizeDeps)
},
async resolveId(id, importer, options) {
const { environment } = this
const environment = this.environment as DevEnvironment
const ssr = environment.config.consumer === 'server'
const depsOptimizer =
environment.mode === 'dev' ? environment.depsOptimizer : undefined
const depsOptimizer = environment.depsOptimizer
if (
importer &&
depsOptimizer &&
Expand Down
9 changes: 5 additions & 4 deletions packages/vite/src/node/plugins/workerImportMetaUrl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,17 +208,18 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin {
return {
name: 'vite:worker-import-meta-url',

applyToEnvironment(environment) {
return environment.config.consumer === 'client'
},

shouldTransformCachedModule({ code }) {
if (isBuild && config.build.watch && isIncludeWorkerImportMetaUrl(code)) {
return true
}
},

async transform(code, id) {
if (
this.environment.config.consumer === 'client' &&
isIncludeWorkerImportMetaUrl(code)
) {
if (isIncludeWorkerImportMetaUrl(code)) {
let s: MagicString | undefined
const cleanString = stripLiteral(code)
const workerImportMetaUrlRE =
Expand Down

0 comments on commit f678442

Please sign in to comment.