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
  b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7["compileBaseUtility()"]
  3ea56425_6e9f_0dc3_e68f_304ee638d53d["compileAstNodes()"]
  3ea56425_6e9f_0dc3_e68f_304ee638d53d -->|calls| b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7
  ce40bfca_da92_1ec0_b286_244e5002cb7e["asColor()"]
  b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7 -->|calls| ce40bfca_da92_1ec0_b286_244e5002cb7e
  85b46de2_edfa_9371_e2c6_e60f3f5346a2["decl()"]
  b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7 -->|calls| 85b46de2_edfa_9371_e2c6_e60f3f5346a2
  5342d3c0_0197_8814_2bc8_ed411047bccd["isFallbackUtility()"]
  b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7 -->|calls| 5342d3c0_0197_8814_2bc8_ed411047bccd
  c9955487_1860_09fc_569b_44f655a0567c["get()"]
  b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7 -->|calls| c9955487_1860_09fc_569b_44f655a0567c
  style b6aaa1cb_54ef_7dee_8d81_ee36d2da08a7 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
}

Subdomains

Called By

Frequently Asked Questions

What does compileBaseUtility() do?
compileBaseUtility() is a function in the tailwindcss codebase.
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