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
  0ed24ba5_7c39_3f5a_fdbb_f973a617a172["resolveConfig()"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8["resolve-config.ts"]
  0ed24ba5_7c39_3f5a_fdbb_f973a617a172 -->|defined in| 9b5d2e3d_392e_c654_c350_1352ed70f5e8
  e26bfad3_530e_6523_7463_161205321110["migrateTheme()"]
  e26bfad3_530e_6523_7463_161205321110 -->|calls| 0ed24ba5_7c39_3f5a_fdbb_f973a617a172
  5d89fc57_f2e5_f08a_f4da_b44d366475e4["migrateMediaScreen()"]
  5d89fc57_f2e5_f08a_f4da_b44d366475e4 -->|calls| 0ed24ba5_7c39_3f5a_fdbb_f973a617a172
  bd738f4b_3ec1_39d7_f3c7_ac0467a3d83e["createResolvedUserConfig()"]
  bd738f4b_3ec1_39d7_f3c7_ac0467a3d83e -->|calls| 0ed24ba5_7c39_3f5a_fdbb_f973a617a172
  1a022c10_a26e_d793_740c_267a533619c4["upgradeToFullPluginSupport()"]
  1a022c10_a26e_d793_740c_267a533619c4 -->|calls| 0ed24ba5_7c39_3f5a_fdbb_f973a617a172
  05889969_ebc3_9d51_d4b2_d691a9fd846a["extractConfigs()"]
  0ed24ba5_7c39_3f5a_fdbb_f973a617a172 -->|calls| 05889969_ebc3_9d51_d4b2_d691a9fd846a
  63f5d3ac_b848_6ab0_af8e_5d1ec324c0d5["mergeTheme()"]
  0ed24ba5_7c39_3f5a_fdbb_f973a617a172 -->|calls| 63f5d3ac_b848_6ab0_af8e_5d1ec324c0d5
  style 0ed24ba5_7c39_3f5a_fdbb_f973a617a172 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, defined in packages/tailwindcss/src/compat/config/resolve-config.ts.
Where is resolveConfig() defined?
resolveConfig() is defined in packages/tailwindcss/src/compat/config/resolve-config.ts at line 47.
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