Home / Function/ traceDependencies() — tailwindcss Function Reference

traceDependencies() — tailwindcss Function Reference

Architecture documentation for the traceDependencies() function in get-module-dependencies.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  b4d9917a_c53b_ce6d_78fc_f3ede9147417["traceDependencies()"]
  86bd6fe2_9f1f_b240_a7e3_95be24dd3553["get-module-dependencies.ts"]
  b4d9917a_c53b_ce6d_78fc_f3ede9147417 -->|defined in| 86bd6fe2_9f1f_b240_a7e3_95be24dd3553
  39d805f8_9f8f_733c_5705_af4f5e4be064["getModuleDependencies()"]
  39d805f8_9f8f_733c_5705_af4f5e4be064 -->|calls| b4d9917a_c53b_ce6d_78fc_f3ede9147417
  0ce235b5_1db4_4563_ac9f_c35bdd663b76["resolveWithExtension()"]
  b4d9917a_c53b_ce6d_78fc_f3ede9147417 -->|calls| 0ce235b5_1db4_4563_ac9f_c35bdd663b76
  style b4d9917a_c53b_ce6d_78fc_f3ede9147417 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/@tailwindcss-node/src/get-module-dependencies.ts lines 51–87

async function traceDependencies(
  seen: Set<string>,
  filename: string,
  base: string,
  ext: string,
): Promise<void> {
  // Try to find the file
  let extensions = JS_EXTENSIONS.includes(ext) ? JS_RESOLUTION_ORDER : TS_RESOLUTION_ORDER
  let absoluteFile = await resolveWithExtension(path.resolve(base, filename), extensions)
  if (absoluteFile === null) return // File doesn't exist

  // Prevent infinite loops when there are circular dependencies
  if (seen.has(absoluteFile)) return // Already seen

  // Mark the file as a dependency
  seen.add(absoluteFile)

  // Resolve new base for new imports/requires
  base = path.dirname(absoluteFile)
  ext = path.extname(absoluteFile)

  let contents = await fs.readFile(absoluteFile, 'utf-8')

  // Recursively trace dependencies in parallel
  let promises = []

  for (let pattern of DEPENDENCY_PATTERNS) {
    for (let match of contents.matchAll(pattern)) {
      // Bail out if it's not a relative file
      if (!match[1].startsWith('.')) continue

      promises.push(traceDependencies(seen, match[1], base, ext))
    }
  }

  await Promise.all(promises)
}

Domain

Subdomains

Frequently Asked Questions

What does traceDependencies() do?
traceDependencies() is a function in the tailwindcss codebase, defined in packages/@tailwindcss-node/src/get-module-dependencies.ts.
Where is traceDependencies() defined?
traceDependencies() is defined in packages/@tailwindcss-node/src/get-module-dependencies.ts at line 51.
What does traceDependencies() call?
traceDependencies() calls 1 function(s): resolveWithExtension.
What calls traceDependencies()?
traceDependencies() is called by 1 function(s): getModuleDependencies.

Analyze Your Own Codebase

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

Try Supermodel Free