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.

Function typescript NodeServer Resolver calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  0ba52b8d_ecc0_b19e_4d17_62bd29d5abbc["traceDependencies()"]
  d5a4928f_80ca_0a99_96fb_178e14fe7a6a["get-module-dependencies.ts"]
  0ba52b8d_ecc0_b19e_4d17_62bd29d5abbc -->|defined in| d5a4928f_80ca_0a99_96fb_178e14fe7a6a
  9cfd6a48_f7c8_231f_3ab5_bd787226724b["getModuleDependencies()"]
  9cfd6a48_f7c8_231f_3ab5_bd787226724b -->|calls| 0ba52b8d_ecc0_b19e_4d17_62bd29d5abbc
  6871580f_cd14_bb52_ec0b_07f2c3de1dd6["resolveWithExtension()"]
  0ba52b8d_ecc0_b19e_4d17_62bd29d5abbc -->|calls| 6871580f_cd14_bb52_ec0b_07f2c3de1dd6
  style 0ba52b8d_ecc0_b19e_4d17_62bd29d5abbc 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