Home / Function/ findNearestPackageData() — vite Function Reference

findNearestPackageData() — vite Function Reference

Architecture documentation for the findNearestPackageData() function in packages.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  31b651d6_9d57_14b0_2e8c_d85642bc19f4["findNearestPackageData()"]
  dff9cadb_1e8c_7fc9_4119_a173f1f21cbd["packages.ts"]
  31b651d6_9d57_14b0_2e8c_d85642bc19f4 -->|defined in| dff9cadb_1e8c_7fc9_4119_a173f1f21cbd
  a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52["resolveRolldownOptions()"]
  a016fb65_b1f4_be50_c5c3_d0c8f7b2ab52 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"]
  58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  d0858125_c73b_0a0a_6dee_ba3fba7e64aa["findNearestMainPackageData()"]
  d0858125_c73b_0a0a_6dee_ba3fba7e64aa -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  3565bb57_e3d1_ed21_b20a_81fa198f92df["resolveSubpathImports()"]
  3565bb57_e3d1_ed21_b20a_81fa198f92df -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  310b19b4_2716_b45b_716d_edfca3064152["tryNodeResolve()"]
  310b19b4_2716_b45b_716d_edfca3064152 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  0b337126_5c19_f205_45cd_5ce740e74c86["findNearestPackagePath()"]
  0b337126_5c19_f205_45cd_5ce740e74c86 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  a3a231c1_e1f6_f7c0_6d09_1d3c7fbf6ac6["isFilePathESM()"]
  a3a231c1_e1f6_f7c0_6d09_1d3c7fbf6ac6 -->|calls| 31b651d6_9d57_14b0_2e8c_d85642bc19f4
  414f4198_4924_2a98_6519_aeadfe958198["getFnpdCache()"]
  31b651d6_9d57_14b0_2e8c_d85642bc19f4 -->|calls| 414f4198_4924_2a98_6519_aeadfe958198
  a9bd45ce_8339_2b77_7543_41c306ebdb02["tryStatSync()"]
  31b651d6_9d57_14b0_2e8c_d85642bc19f4 -->|calls| a9bd45ce_8339_2b77_7543_41c306ebdb02
  c2d70c8c_c901_2d4f_df10_d0fa8607751f["loadPackageData()"]
  31b651d6_9d57_14b0_2e8c_d85642bc19f4 -->|calls| c2d70c8c_c901_2d4f_df10_d0fa8607751f
  d92f5228_527c_fd52_e5f3_24d6dabe4702["setFnpdCache()"]
  31b651d6_9d57_14b0_2e8c_d85642bc19f4 -->|calls| d92f5228_527c_fd52_e5f3_24d6dabe4702
  style 31b651d6_9d57_14b0_2e8c_d85642bc19f4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/packages.ts lines 129–159

export function findNearestPackageData(
  basedir: string,
  packageCache?: PackageCache,
): PackageData | null {
  const originalBasedir = basedir
  while (basedir) {
    if (packageCache) {
      const cached = getFnpdCache(packageCache, basedir, originalBasedir)
      if (cached) return cached
    }

    const pkgPath = path.join(basedir, 'package.json')
    if (tryStatSync(pkgPath)?.isFile()) {
      try {
        const pkgData = loadPackageData(pkgPath)

        if (packageCache) {
          setFnpdCache(packageCache, pkgData, basedir, originalBasedir)
        }

        return pkgData
      } catch {}
    }

    const nextBasedir = path.dirname(basedir)
    if (nextBasedir === basedir) break
    basedir = nextBasedir
  }

  return null
}

Domain

Subdomains

Frequently Asked Questions

What does findNearestPackageData() do?
findNearestPackageData() is a function in the vite codebase, defined in packages/vite/src/node/packages.ts.
Where is findNearestPackageData() defined?
findNearestPackageData() is defined in packages/vite/src/node/packages.ts at line 129.
What does findNearestPackageData() call?
findNearestPackageData() calls 4 function(s): getFnpdCache, loadPackageData, setFnpdCache, tryStatSync.
What calls findNearestPackageData()?
findNearestPackageData() is called by 7 function(s): findNearestMainPackageData, findNearestPackagePath, isFilePathESM, resolveConfig, resolveRolldownOptions, resolveSubpathImports, tryNodeResolve.

Analyze Your Own Codebase

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

Try Supermodel Free