Home / File/ resolve-config.ts — tailwindcss Source File

resolve-config.ts — tailwindcss Source File

Architecture documentation for resolve-config.ts, a typescript file in the tailwindcss codebase. 10 imports, 9 dependents.

File typescript UpgradeToolkit Codemods 10 imports 9 dependents 5 functions

Entity Profile

Dependency Diagram

graph LR
  9b5d2e3d_392e_c654_c350_1352ed70f5e8["resolve-config.ts"]
  7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a
  224e6d20_656a_4689_b56d_bc18bf3b80d9["source.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 224e6d20_656a_4689_b56d_bc18bf3b80d9
  03185e2f_d4d1_f67a_f4bb_9150e033d872["colors.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 03185e2f_d4d1_f67a_f4bb_9150e033d872
  af1a6ece_0432_a556_fd63_8cb4a91f12ad["plugin-api.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> af1a6ece_0432_a556_fd63_8cb4a91f12ad
  20b59de8_11c6_2432_2a83_24f6f6e741a7["plugin-functions.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 20b59de8_11c6_2432_2a83_24f6f6e741a7
  d30151e4_eee8_a868_f516_c653088f4a03["createThemeFn"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> d30151e4_eee8_a868_f516_c653088f4a03
  4c30b1b3_1514_10e0_6b6c_251cab3f6b7b["deep-merge.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 4c30b1b3_1514_10e0_6b6c_251cab3f6b7b
  a21213f9_9467_d282_d4f1_fcb2cf2ae2fc["deepMerge"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> a21213f9_9467_d282_d4f1_fcb2cf2ae2fc
  2dacf643_3af3_ced5_8784_dc1356541f05["isPlainObject"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> 2dacf643_3af3_ced5_8784_dc1356541f05
  c1272aed_91bb_73df_0746_d55fa9b302fd["types.ts"]
  9b5d2e3d_392e_c654_c350_1352ed70f5e8 --> c1272aed_91bb_73df_0746_d55fa9b302fd
  b2ba3368_7330_fe20_4543_9cafa8cfedc0["migrate-js-config.ts"]
  b2ba3368_7330_fe20_4543_9cafa8cfedc0 --> 9b5d2e3d_392e_c654_c350_1352ed70f5e8
  b1548999_24c2_f98a_628a_e4dd9606794b["migrate-media-screen.ts"]
  b1548999_24c2_f98a_628a_e4dd9606794b --> 9b5d2e3d_392e_c654_c350_1352ed70f5e8
  c8809718_3b35_1fdb_ff99_94e375c7360a["prepare-config.ts"]
  c8809718_3b35_1fdb_ff99_94e375c7360a --> 9b5d2e3d_392e_c654_c350_1352ed70f5e8
  daaadd53_16ee_21c6_12d9_8feaac80a91b["apply-compat-hooks.ts"]
  daaadd53_16ee_21c6_12d9_8feaac80a91b --> 9b5d2e3d_392e_c654_c350_1352ed70f5e8
  style 9b5d2e3d_392e_c654_c350_1352ed70f5e8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { DesignSystem } from '../../design-system'
import type { SourceLocation } from '../../source-maps/source'
import colors from '../colors'
import type { PluginWithConfig } from '../plugin-api'
import { createThemeFn } from '../plugin-functions'
import { deepMerge, isPlainObject } from './deep-merge'
import {
  type ResolvedConfig,
  type ResolvedContentConfig,
  type ResolvedThemeValue,
  type ThemeValue,
  type UserConfig,
} from './types'

export interface ConfigFile {
  path?: string
  base: string
  config: UserConfig
  reference: boolean
  src: SourceLocation | undefined
}

interface ResolutionContext {
  design: DesignSystem
  configs: UserConfig[]
  plugins: PluginWithConfig[]
  content: ResolvedContentConfig
  theme: Record<string, ThemeValue>
  extend: Record<string, ThemeValue[]>
  result: ResolvedConfig
}

let minimal: ResolvedConfig = {
  blocklist: [],
  future: {},
  experimental: {},
  prefix: '',
  important: false,
  darkMode: null,
  theme: {},
  plugins: [],
  content: {
    files: [],
  },
}

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

// ... (214 more lines)

Subdomains

Frequently Asked Questions

What does resolve-config.ts do?
resolve-config.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, Codemods subdomain.
What functions are defined in resolve-config.ts?
resolve-config.ts defines 5 function(s): extractConfigs, keypath, mergeTheme, mergeThemeExtension, resolveConfig.
What does resolve-config.ts depend on?
resolve-config.ts imports 10 module(s): colors.ts, createThemeFn, deep-merge.ts, deepMerge, design-system.ts, isPlainObject, plugin-api.ts, plugin-functions.ts, and 2 more.
What files import resolve-config.ts?
resolve-config.ts is imported by 9 file(s): apply-compat-hooks.ts, apply-config-to-theme.test.ts, apply-keyframes-to-theme.test.ts, migrate-js-config.ts, migrate-media-screen.ts, plugin.ts, prepare-config.ts, resolve-config.test.ts, and 1 more.
Where is resolve-config.ts in the architecture?
resolve-config.ts is located at packages/tailwindcss/src/compat/config/resolve-config.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/tailwindcss/src/compat/config).

Analyze Your Own Codebase

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

Try Supermodel Free