Home / Function/ resolveConfig() — tailwindcss Function Reference

resolveConfig() — tailwindcss Function Reference

Architecture documentation for the resolveConfig() function in resolve-config.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  678b66f4_0a04_0d6e_1925_b3716614324d["resolveConfig()"]
  0e91912d_5423_6991_60b0_8afbca30e459["migrateTheme()"]
  0e91912d_5423_6991_60b0_8afbca30e459 -->|calls| 678b66f4_0a04_0d6e_1925_b3716614324d
  677923aa_e54a_b77d_277a_4252209aff18["migrateMediaScreen()"]
  677923aa_e54a_b77d_277a_4252209aff18 -->|calls| 678b66f4_0a04_0d6e_1925_b3716614324d
  5fced395_cdfc_4802_a67e_74f87df5bfef["createResolvedUserConfig()"]
  5fced395_cdfc_4802_a67e_74f87df5bfef -->|calls| 678b66f4_0a04_0d6e_1925_b3716614324d
  0f8ac574_990e_8595_a6ed_11422b8a8ec4["upgradeToFullPluginSupport()"]
  0f8ac574_990e_8595_a6ed_11422b8a8ec4 -->|calls| 678b66f4_0a04_0d6e_1925_b3716614324d
  c4559a03_5a75_7e01_7c48_51bf2087be1a["extractConfigs()"]
  678b66f4_0a04_0d6e_1925_b3716614324d -->|calls| c4559a03_5a75_7e01_7c48_51bf2087be1a
  9c6a3a4b_953d_4928_2f26_12c610c5c0e4["mergeTheme()"]
  678b66f4_0a04_0d6e_1925_b3716614324d -->|calls| 9c6a3a4b_953d_4928_2f26_12c610c5c0e4
  style 678b66f4_0a04_0d6e_1925_b3716614324d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/tailwindcss/src/compat/config/resolve-config.ts lines 47–100

export function resolveConfig(
  design: DesignSystem,
  files: ConfigFile[],
): { resolvedConfig: ResolvedConfig; replacedThemeKeys: Set<string> } {
  let ctx: ResolutionContext = {
    design,
    configs: [],
    plugins: [],
    content: {
      files: [],
    },
    theme: {},
    extend: {},

    // Start with a minimal valid, but empty config
    result: structuredClone(minimal),
  }

  for (let file of files) {
    extractConfigs(ctx, file)
  }

  // Merge top level keys
  for (let config of ctx.configs) {
    if ('darkMode' in config && config.darkMode !== undefined) {
      ctx.result.darkMode = config.darkMode ?? null
    }

    if ('prefix' in config && config.prefix !== undefined) {
      ctx.result.prefix = config.prefix ?? ''
    }

    if ('blocklist' in config && config.blocklist !== undefined) {
      ctx.result.blocklist = config.blocklist ?? []
    }

    if ('important' in config && config.important !== undefined) {
      ctx.result.important = config.important ?? false
    }
  }

  // Merge themes
  let replacedThemeKeys = mergeTheme(ctx)

  return {
    resolvedConfig: {
      ...ctx.result,
      content: ctx.content,
      theme: ctx.theme as ResolvedConfig['theme'],
      plugins: ctx.plugins,
    },
    replacedThemeKeys,
  }
}

Subdomains

Frequently Asked Questions

What does resolveConfig() do?
resolveConfig() is a function in the tailwindcss codebase.
What does resolveConfig() call?
resolveConfig() calls 2 function(s): extractConfigs, mergeTheme.
What calls resolveConfig()?
resolveConfig() is called by 4 function(s): createResolvedUserConfig, migrateMediaScreen, migrateTheme, upgradeToFullPluginSupport.

Analyze Your Own Codebase

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

Try Supermodel Free