Home / Function/ resolveConfig() — tailwindcss Function Reference

resolveConfig() — tailwindcss Function Reference

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

Function typescript OxideCore Scanner calls 2 called by 4

Entity Profile

Dependency Diagram

graph TD
  6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1["resolveConfig()"]
  77d1d37f_6021_dc8c_6d04_0c3b07e3ad19["migrateTheme()"]
  77d1d37f_6021_dc8c_6d04_0c3b07e3ad19 -->|calls| 6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1
  a41317b6_1c92_4766_72af_192487644a26["migrateMediaScreen()"]
  a41317b6_1c92_4766_72af_192487644a26 -->|calls| 6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1
  c223b5bc_475d_c40f_0314_bed60d87e0a0["createResolvedUserConfig()"]
  c223b5bc_475d_c40f_0314_bed60d87e0a0 -->|calls| 6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1
  9056089b_151f_3027_844b_242ce55294db["upgradeToFullPluginSupport()"]
  9056089b_151f_3027_844b_242ce55294db -->|calls| 6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1
  67bd4be9_e6d6_9884_cc89_56b53a7db1d3["extractConfigs()"]
  6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1 -->|calls| 67bd4be9_e6d6_9884_cc89_56b53a7db1d3
  4a84e1ef_30b3_afde_8b94_8682bdf64dc7["mergeTheme()"]
  6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1 -->|calls| 4a84e1ef_30b3_afde_8b94_8682bdf64dc7
  style 6b5865d6_780d_1bbb_5df1_7ecca0e9b1a1 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,
  }
}

Domain

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