oxcResolvePlugin() — vite Function Reference
Architecture documentation for the oxcResolvePlugin() function in resolve.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 0ac6860f_bc2f_9818_86d4_22179cc9c8ba["oxcResolvePlugin()"] dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|defined in| dcff87b0_a8ea_57a2_3b29_a7b8f19986f3 ad008126_fbbe_c1e5_bb1b_3d9b84539e52["createIdResolver()"] ad008126_fbbe_c1e5_bb1b_3d9b84539e52 -->|calls| 0ac6860f_bc2f_9818_86d4_22179cc9c8ba b1b40b5b_3e43_2197_dea0_d36389d312a1["resolvePlugins()"] b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 0ac6860f_bc2f_9818_86d4_22179cc9c8ba 7afe7894_efd7_32c4_3b59_4a2cdc5ba6a2["optimizerResolvePlugin()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 7afe7894_efd7_32c4_3b59_4a2cdc5ba6a2 5884032b_dafc_4317_ee11_1cfd5feff2ba["perEnvironmentOrWorkerPlugin()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 5884032b_dafc_4317_ee11_1cfd5feff2ba cf8cccc0_fa2a_e8ac_480a_47c54435825c["isDepOptimizationDisabled()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| cf8cccc0_fa2a_e8ac_480a_47c54435825c 908e9e35_950f_ad37_ffa9_0058622aa7e8["isOptimizable()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 908e9e35_950f_ad37_ffa9_0058622aa7e8 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 10b9dea8_362c_1af2_93be_afa4dd9aed9e 50ac7e51_9f94_e985_bfec_ae95273b23b0["isInNodeModules()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 50ac7e51_9f94_e985_bfec_ae95273b23b0 1948f092_e5a5_076b_2f59_79ef22dec191["injectQuery()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 1948f092_e5a5_076b_2f59_79ef22dec191 943b70a3_1c84_7955_97b8_7f6e05f2f986["ensureVersionQuery()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 943b70a3_1c84_7955_97b8_7f6e05f2f986 3565bb57_e3d1_ed21_b20a_81fa198f92df["resolveSubpathImports()"] 0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 3565bb57_e3d1_ed21_b20a_81fa198f92df style 0ac6860f_bc2f_9818_86d4_22179cc9c8ba fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/resolve.ts lines 224–385
export function oxcResolvePlugin(
resolveOptions: ResolvePluginOptionsWithOverrides,
overrideEnvConfig: (ResolvedConfig & ResolvedEnvironmentOptions) | undefined,
): Plugin[] {
return [
...(resolveOptions.optimizeDeps && !resolveOptions.isBuild
? [optimizerResolvePlugin(resolveOptions)]
: []),
...perEnvironmentOrWorkerPlugin(
'vite:resolve-builtin',
overrideEnvConfig,
(partialEnv, getEnv) => {
// The resolve plugin is used for createIdResolver and the depsOptimizer should be
// disabled in that case, so deps optimization is opt-in when creating the plugin.
const depsOptimizerEnabled =
resolveOptions.optimizeDeps &&
!resolveOptions.isBuild &&
!partialEnv.config.experimental.bundledDev &&
!isDepOptimizationDisabled(partialEnv.config.optimizeDeps)
const getDepsOptimizer = () => {
const env = getEnv()
if (env.mode !== 'dev')
throw new Error('The environment mode should be dev')
if (!env.depsOptimizer)
throw new Error('The environment should have a depsOptimizer')
return env.depsOptimizer
}
const options: InternalResolveOptions = {
...partialEnv.config.resolve,
...resolveOptions, // plugin options + resolve options overrides
}
const noExternal =
Array.isArray(options.noExternal) || options.noExternal === true
? options.noExternal
: [options.noExternal]
const plugin = viteResolvePlugin({
resolveOptions: {
isBuild: options.isBuild,
isProduction: options.isProduction,
asSrc: options.asSrc ?? false,
preferRelative: options.preferRelative ?? false,
isRequire: options.isRequire,
root: options.root,
scan: options.scan ?? false,
mainFields: options.skipMainField
? options.mainFields
: options.mainFields.concat(['main']),
conditions: options.conditions,
externalConditions: options.externalConditions,
extensions: options.extensions,
tryIndex: options.tryIndex ?? true,
tryPrefix: options.tryPrefix,
preserveSymlinks: options.preserveSymlinks,
tsconfigPaths: options.tsconfigPaths,
},
environmentConsumer: partialEnv.config.consumer,
environmentName: partialEnv.name,
builtins: partialEnv.config.resolve.builtins,
external: options.external,
noExternal: noExternal,
dedupe: options.dedupe,
disableCache:
partialEnv.config.command === 'serve' &&
// eslint-disable-next-line eqeqeq
partialEnv.config.server.watch === null,
legacyInconsistentCjsInterop: options.legacyInconsistentCjsInterop,
finalizeBareSpecifier: !depsOptimizerEnabled
? undefined
: (resolvedId, rawId, importer) => {
const depsOptimizer = getDepsOptimizer()
// if we reach here, it's a valid dep import that hasn't been optimized.
const isJsType = isOptimizable(
resolvedId,
depsOptimizer.options,
)
const exclude = depsOptimizer?.options.exclude
// check for deep import, e.g. "my-lib/foo"
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does oxcResolvePlugin() do?
oxcResolvePlugin() is a function in the vite codebase, defined in packages/vite/src/node/plugins/resolve.ts.
Where is oxcResolvePlugin() defined?
oxcResolvePlugin() is defined in packages/vite/src/node/plugins/resolve.ts at line 224.
What does oxcResolvePlugin() call?
oxcResolvePlugin() calls 9 function(s): cleanUrl, ensureVersionQuery, injectQuery, isDepOptimizationDisabled, isInNodeModules, isOptimizable, optimizerResolvePlugin, perEnvironmentOrWorkerPlugin, and 1 more.
What calls oxcResolvePlugin()?
oxcResolvePlugin() is called by 2 function(s): createIdResolver, resolvePlugins.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free