Skip to content

Commit 07ad00f

Browse files
authored
feat: use native Vite resolver (#65)
1 parent 0330bb1 commit 07ad00f

File tree

7 files changed

+345
-62
lines changed

7 files changed

+345
-62
lines changed

packages/vite/src/node/idResolver.ts

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export function createIdResolver(
6161
[
6262
// @ts-expect-error the aliasPlugin uses rollup types
6363
aliasPlugin({ entries: environment.config.resolve.alias }),
64+
// TODO: use oxcResolvePlugin here as well
6465
resolvePlugin({
6566
root: config.root,
6667
isProduction: config.isProduction,

packages/vite/src/node/plugin.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -349,9 +349,19 @@ export type PluginOption = Thenable<Plugin | FalsyPlugin | PluginOption[]>
349349

350350
export async function resolveEnvironmentPlugins(
351351
environment: PartialEnvironment,
352+
): Promise<Plugin[]> {
353+
return resolveEnvironmentPluginsRaw(
354+
environment.getTopLevelConfig().plugins,
355+
environment,
356+
)
357+
}
358+
359+
export async function resolveEnvironmentPluginsRaw(
360+
plugins: readonly Plugin[],
361+
environment: PartialEnvironment,
352362
): Promise<Plugin[]> {
353363
const environmentPlugins: Plugin[] = []
354-
for (const plugin of environment.getTopLevelConfig().plugins) {
364+
for (const plugin of plugins) {
355365
if (plugin.applyToEnvironment) {
356366
const applied = await plugin.applyToEnvironment(environment)
357367
if (!applied) {

packages/vite/src/node/plugins/index.ts

+25-20
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import {
2020
} from '../plugin'
2121
import { watchPackageDataPlugin } from '../packages'
2222
import { jsonPlugin } from './json'
23-
import { filteredResolvePlugin, resolvePlugin } from './resolve'
23+
import { oxcResolvePlugin, resolvePlugin } from './resolve'
2424
import { optimizedDepsPlugin } from './optimizedDeps'
2525
import { importAnalysisPlugin } from './importAnalysis'
2626
import { cssAnalysisPlugin, cssPlugin, cssPostPlugin } from './css'
@@ -96,25 +96,30 @@ export async function resolvePlugins(
9696
)
9797
: modulePreloadPolyfillPlugin(config)
9898
: null,
99-
enableNativePlugin
100-
? filteredResolvePlugin({
101-
root: config.root,
102-
isProduction: config.isProduction,
103-
isBuild,
104-
packageCache: config.packageCache,
105-
asSrc: true,
106-
optimizeDeps: true,
107-
externalize: true,
108-
})
109-
: resolvePlugin({
110-
root: config.root,
111-
isProduction: config.isProduction,
112-
isBuild,
113-
packageCache: config.packageCache,
114-
asSrc: true,
115-
optimizeDeps: true,
116-
externalize: true,
117-
}),
99+
...(enableNativePlugin
100+
? oxcResolvePlugin(
101+
{
102+
root: config.root,
103+
isProduction: config.isProduction,
104+
isBuild,
105+
packageCache: config.packageCache,
106+
asSrc: true,
107+
optimizeDeps: true,
108+
externalize: true,
109+
},
110+
isWorker ? config : undefined,
111+
)
112+
: [
113+
resolvePlugin({
114+
root: config.root,
115+
isProduction: config.isProduction,
116+
isBuild,
117+
packageCache: config.packageCache,
118+
asSrc: true,
119+
optimizeDeps: true,
120+
externalize: true,
121+
}),
122+
]),
118123
htmlInlineProxyPlugin(config),
119124
cssPlugin(config),
120125
config.oxc !== false

0 commit comments

Comments
 (0)