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 Oxide PreProcessors calls 2 called by 4

Entity Profile

Dependency Diagram

graph TD
  bc7b25d3_d5ad_3609_d595_c9755dfadcbb["resolveConfig()"]
  cad44155_17aa_e1d6_081a_8f3b4f06bcde["resolve-config.ts"]
  bc7b25d3_d5ad_3609_d595_c9755dfadcbb -->|defined in| cad44155_17aa_e1d6_081a_8f3b4f06bcde
  253815a9_405f_ff30_32b6_577fe2d91fb2["migrateTheme()"]
  253815a9_405f_ff30_32b6_577fe2d91fb2 -->|calls| bc7b25d3_d5ad_3609_d595_c9755dfadcbb
  d291baa7_da55_af11_0910_57476f99d01c["migrateMediaScreen()"]
  d291baa7_da55_af11_0910_57476f99d01c -->|calls| bc7b25d3_d5ad_3609_d595_c9755dfadcbb
  2e186872_4660_9caa_6330_7fce815c6ad0["createResolvedUserConfig()"]
  2e186872_4660_9caa_6330_7fce815c6ad0 -->|calls| bc7b25d3_d5ad_3609_d595_c9755dfadcbb
  2351a59d_92ba_1342_1dcb_39b34492170e["upgradeToFullPluginSupport()"]
  2351a59d_92ba_1342_1dcb_39b34492170e -->|calls| bc7b25d3_d5ad_3609_d595_c9755dfadcbb
  ad43be00_67b6_6995_8db8_004f4937d4bd["extractConfigs()"]
  bc7b25d3_d5ad_3609_d595_c9755dfadcbb -->|calls| ad43be00_67b6_6995_8db8_004f4937d4bd
  e544c002_a540_ba66_527d_bb3fc84f4e10["mergeTheme()"]
  bc7b25d3_d5ad_3609_d595_c9755dfadcbb -->|calls| e544c002_a540_ba66_527d_bb3fc84f4e10
  style bc7b25d3_d5ad_3609_d595_c9755dfadcbb 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, 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