Home / Function/ compileBaseUtility() — tailwindcss Function Reference

compileBaseUtility() — tailwindcss Function Reference

Architecture documentation for the compileBaseUtility() function in compile.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab["compileBaseUtility()"]
  214bac69_e516_bea4_67fa_4e9e092ced3b["compile.ts"]
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab -->|defined in| 214bac69_e516_bea4_67fa_4e9e092ced3b
  e57db502_ed4e_4f14_1b2a_b25af3c0477d["compileAstNodes()"]
  e57db502_ed4e_4f14_1b2a_b25af3c0477d -->|calls| aa6d74f0_f677_1f2e_7377_fa1f895e27ab
  862a63f1_955e_2605_54a1_0a25a475b9e9["asColor()"]
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab -->|calls| 862a63f1_955e_2605_54a1_0a25a475b9e9
  c203f636_607a_d332_b4c5_6a40c108f778["decl()"]
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab -->|calls| c203f636_607a_d332_b4c5_6a40c108f778
  afcf4378_f086_2e42_fe79_4c0058006203["isFallbackUtility()"]
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab -->|calls| afcf4378_f086_2e42_fe79_4c0058006203
  826fa88e_aa5d_5bf5_f2c6_9a0302d5b02f["get()"]
  aa6d74f0_f677_1f2e_7377_fa1f895e27ab -->|calls| 826fa88e_aa5d_5bf5_f2c6_9a0302d5b02f
  style aa6d74f0_f677_1f2e_7377_fa1f895e27ab fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/compile.ts lines 265–307

function compileBaseUtility(candidate: Candidate, designSystem: DesignSystem) {
  if (candidate.kind === 'arbitrary') {
    let value: string | null = candidate.value

    // Assumption: If an arbitrary property has a modifier, then we assume it
    // is an opacity modifier.
    if (candidate.modifier) {
      value = asColor(value, candidate.modifier, designSystem.theme)
    }

    if (value === null) return []

    return [[decl(candidate.property, value)]]
  }

  let utilities = designSystem.utilities.get(candidate.root) ?? []

  let asts: AstNode[][] = []

  let normalUtilities = utilities.filter((u) => !isFallbackUtility(u))
  for (let utility of normalUtilities) {
    if (utility.kind !== candidate.kind) continue

    let compiledNodes = utility.compileFn(candidate)
    if (compiledNodes === undefined) continue
    if (compiledNodes === null) return asts
    asts.push(compiledNodes)
  }

  if (asts.length > 0) return asts

  let fallbackUtilities = utilities.filter((u) => isFallbackUtility(u))
  for (let utility of fallbackUtilities) {
    if (utility.kind !== candidate.kind) continue

    let compiledNodes = utility.compileFn(candidate)
    if (compiledNodes === undefined) continue
    if (compiledNodes === null) return asts
    asts.push(compiledNodes)
  }

  return asts
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does compileBaseUtility() do?
compileBaseUtility() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/compile.ts.
Where is compileBaseUtility() defined?
compileBaseUtility() is defined in packages/tailwindcss/src/compile.ts at line 265.
What does compileBaseUtility() call?
compileBaseUtility() calls 4 function(s): asColor, decl, get, isFallbackUtility.
What calls compileBaseUtility()?
compileBaseUtility() is called by 1 function(s): compileAstNodes.

Analyze Your Own Codebase

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

Try Supermodel Free