deepMerge() — tailwindcss Function Reference
Architecture documentation for the deepMerge() function in deep-merge.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD e135ce03_2957_5c11_2b7b_695da98ab45f["deepMerge()"] 9da6bb9c_f434_9ac9_382e_363699a20d0f["deep-merge.ts"] e135ce03_2957_5c11_2b7b_695da98ab45f -->|defined in| 9da6bb9c_f434_9ac9_382e_363699a20d0f e544c002_a540_ba66_527d_bb3fc84f4e10["mergeTheme()"] e544c002_a540_ba66_527d_bb3fc84f4e10 -->|calls| e135ce03_2957_5c11_2b7b_695da98ab45f dabb13bc_6018_934b_19c4_595b7bea686d["createThemeFn()"] dabb13bc_6018_934b_19c4_595b7bea686d -->|calls| e135ce03_2957_5c11_2b7b_695da98ab45f 69358a0d_01e9_2bb6_df8d_9a5e9a5c6306["isPlainObject()"] e135ce03_2957_5c11_2b7b_695da98ab45f -->|calls| 69358a0d_01e9_2bb6_df8d_9a5e9a5c6306 style e135ce03_2957_5c11_2b7b_695da98ab45f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/tailwindcss/src/compat/config/deep-merge.ts lines 10–40
export function deepMerge<T extends object>(
target: T,
sources: (Partial<T> | null | undefined)[],
customizer: (a: any, b: any, keypath: (keyof T)[]) => any,
path: (keyof T)[] = [],
) {
type Key = keyof T
type Value = T[Key]
for (let source of sources) {
if (source === null || source === undefined) {
continue
}
for (let k of Reflect.ownKeys(source) as Key[]) {
path.push(k)
let merged = customizer(target[k], source[k], path)
if (merged !== undefined) {
target[k] = merged
} else if (!isPlainObject(target[k]) || !isPlainObject(source[k])) {
target[k] = source[k] as Value
} else {
target[k] = deepMerge({}, [target[k], source[k]], customizer, path as any) as Value
}
path.pop()
}
}
return target
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does deepMerge() do?
deepMerge() is a function in the tailwindcss codebase, defined in packages/tailwindcss/src/compat/config/deep-merge.ts.
Where is deepMerge() defined?
deepMerge() is defined in packages/tailwindcss/src/compat/config/deep-merge.ts at line 10.
What does deepMerge() call?
deepMerge() calls 1 function(s): isPlainObject.
What calls deepMerge()?
deepMerge() is called by 2 function(s): createThemeFn, mergeTheme.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free