Home / File/ nodeResolve.ts — vite Source File

nodeResolve.ts — vite Source File

Architecture documentation for nodeResolve.ts, a typescript file in the vite codebase. 5 imports, 3 dependents.

File typescript ViteCore ConfigEngine 5 imports 3 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  46419eb2_654c_202c_b705_789bb65b53e8["nodeResolve.ts"]
  545df65b_7f67_94d3_e2e8_a592d5e64b8f["constants.ts"]
  46419eb2_654c_202c_b705_789bb65b53e8 --> 545df65b_7f67_94d3_e2e8_a592d5e64b8f
  dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"]
  46419eb2_654c_202c_b705_789bb65b53e8 --> dcff87b0_a8ea_57a2_3b29_a7b8f19986f3
  310b19b4_2716_b45b_716d_edfca3064152["tryNodeResolve"]
  46419eb2_654c_202c_b705_789bb65b53e8 --> 310b19b4_2716_b45b_716d_edfca3064152
  031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"]
  46419eb2_654c_202c_b705_789bb65b53e8 --> 031bc221_67a8_c579_f2bf_bb30a08beeb2
  28ca60e1_49da_c1b1_319a_8ef4c7a92f8f["#module-sync-enabled"]
  46419eb2_654c_202c_b705_789bb65b53e8 --> 28ca60e1_49da_c1b1_319a_8ef4c7a92f8f
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  7da774f9_eca5_d54e_6e01_6bee7d460a2b --> 46419eb2_654c_202c_b705_789bb65b53e8
  c3eb47df_971b_0616_6c9f_29b3ded72224["css.ts"]
  c3eb47df_971b_0616_6c9f_29b3ded72224 --> 46419eb2_654c_202c_b705_789bb65b53e8
  be81372e_415b_426f_d3c1_132b2d458ce6["terser.ts"]
  be81372e_415b_426f_d3c1_132b2d458ce6 --> 46419eb2_654c_202c_b705_789bb65b53e8
  style 46419eb2_654c_202c_b705_789bb65b53e8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import isModuleSyncConditionEnabled from '#module-sync-enabled'
import { DEFAULT_EXTENSIONS } from './constants'
import { tryNodeResolve } from './plugins/resolve'
import { nodeLikeBuiltins } from './utils'

export interface NodeResolveWithViteOptions {
  root: string
  isRequire?: boolean
}

/**
 * Resolve like Node.js using Vite's resolution algorithm with preconfigured options.
 */
export function nodeResolveWithVite(
  id: string,
  importer: string | undefined,
  options: NodeResolveWithViteOptions,
): string | undefined {
  return tryNodeResolve(id, importer, {
    root: options.root,
    isBuild: true,
    isProduction: true,
    preferRelative: false,
    tryIndex: true,
    mainFields: [],
    conditions: [
      'node',
      ...(isModuleSyncConditionEnabled ? ['module-sync'] : []),
    ],
    externalConditions: [],
    external: [],
    noExternal: [],
    dedupe: [],
    extensions: DEFAULT_EXTENSIONS,
    preserveSymlinks: false,
    tsconfigPaths: false,
    // Intentionally disable package cache for now as consumers don't need it
    packageCache: undefined,
    isRequire: options.isRequire,
    builtins: nodeLikeBuiltins,
    disableOptionalPeerDepHandling: true,
  })?.id
}

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does nodeResolve.ts do?
nodeResolve.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in nodeResolve.ts?
nodeResolve.ts defines 1 function(s): nodeResolveWithVite.
What does nodeResolve.ts depend on?
nodeResolve.ts imports 5 module(s): #module-sync-enabled, constants.ts, resolve.ts, tryNodeResolve, utils.ts.
What files import nodeResolve.ts?
nodeResolve.ts is imported by 3 file(s): config.ts, css.ts, terser.ts.
Where is nodeResolve.ts in the architecture?
nodeResolve.ts is located at packages/vite/src/node/nodeResolve.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free