update-tailwind-config.ts — ui Source File
Architecture documentation for update-tailwind-config.ts, a typescript file in the ui codebase. 13 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR ef3e192c_eced_bc46_1021_689faf6b7065["update-tailwind-config.ts"] eac8f98f_e40a_7fe8_f505_372c83d20c7a["fs"] ef3e192c_eced_bc46_1021_689faf6b7065 --> eac8f98f_e40a_7fe8_f505_372c83d20c7a b80715bf_43eb_b495_f2cf_a439c5eb0e34["os"] ef3e192c_eced_bc46_1021_689faf6b7065 --> b80715bf_43eb_b495_f2cf_a439c5eb0e34 d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5["path"] ef3e192c_eced_bc46_1021_689faf6b7065 --> d05ec4ea_7a68_3a36_bfa4_9ba7f8409ee5 a3b2545e_3d8c_699d_ef11_6ab18db14666["schema"] ef3e192c_eced_bc46_1021_689faf6b7065 --> a3b2545e_3d8c_699d_ef11_6ab18db14666 b2895591_2a74_d518_deda_2f26be766dcb["get-config"] ef3e192c_eced_bc46_1021_689faf6b7065 --> b2895591_2a74_d518_deda_2f26be766dcb 24fd9695_7ceb_b1f6_c84e_e349d5356c12["get-project-info"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 24fd9695_7ceb_b1f6_c84e_e349d5356c12 15e8bad0_00cc_3d96_8e33_2f062120ea7f["highlighter"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 15e8bad0_00cc_3d96_8e33_2f062120ea7f a3e9bc4e_1faf_6261_a1db_396981c7761d["spinner"] ef3e192c_eced_bc46_1021_689faf6b7065 --> a3e9bc4e_1faf_6261_a1db_396981c7761d 99a5fd75_7ef9_c199_7940_7abd94a7b70b["deepmerge"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 99a5fd75_7ef9_c199_7940_7abd94a7b70b c8c7d264_bf26_d0bf_11d5_e0eca9b95691["stringify-object"] ef3e192c_eced_bc46_1021_689faf6b7065 --> c8c7d264_bf26_d0bf_11d5_e0eca9b95691 9f76d61c_dcca_1eb0_fcc1_e4447f0f8980["tailwindcss"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 9f76d61c_dcca_1eb0_fcc1_e4447f0f8980 4f6f7e78_23ff_4f5f_c723_474454f64c85["ts-morph"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 4f6f7e78_23ff_4f5f_c723_474454f64c85 6802ce19_522d_e5fb_e458_8826d9f6952e["zod"] ef3e192c_eced_bc46_1021_689faf6b7065 --> 6802ce19_522d_e5fb_e458_8826d9f6952e 06c88ca2_9dc4_827b_ce2a_8cc0c160ba0c["update-tailwind-config.test.ts"] 06c88ca2_9dc4_827b_ce2a_8cc0c160ba0c --> ef3e192c_eced_bc46_1021_689faf6b7065 style ef3e192c_eced_bc46_1021_689faf6b7065 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { promises as fs } from "fs"
import { tmpdir } from "os"
import path from "path"
import {
registryItemCssVarsSchema,
registryItemTailwindSchema,
} from "@/src/schema"
import { Config } from "@/src/utils/get-config"
import { TailwindVersion } from "@/src/utils/get-project-info"
import { highlighter } from "@/src/utils/highlighter"
import { spinner } from "@/src/utils/spinner"
import deepmerge from "deepmerge"
import objectToString from "stringify-object"
import { type Config as TailwindConfig } from "tailwindcss"
import {
ArrayLiteralExpression,
ObjectLiteralExpression,
Project,
PropertyAssignment,
QuoteKind,
ScriptKind,
SyntaxKind,
VariableStatement,
} from "ts-morph"
import { z } from "zod"
export type UpdaterTailwindConfig = Omit<TailwindConfig, "plugins"> & {
// We only want string plugins for now.
plugins?: string[]
}
export async function updateTailwindConfig(
tailwindConfig:
| z.infer<typeof registryItemTailwindSchema>["config"]
| undefined,
config: Config,
options: {
silent?: boolean
tailwindVersion?: TailwindVersion
}
) {
if (!tailwindConfig) {
return
}
options = {
silent: false,
tailwindVersion: "v3",
...options,
}
// No tailwind config in v4.
if (options.tailwindVersion === "v4") {
return
}
const tailwindFileRelativePath = path.relative(
config.resolvedPaths.cwd,
config.resolvedPaths.tailwindConfig
)
// ... (481 more lines)
Domain
Subdomains
Functions
- _createSourceFile()
- _getQuoteChar()
- addTailwindConfigPlugin()
- addTailwindConfigProperty()
- addTailwindConfigTheme()
- buildTailwindThemeColorsFromCssVars()
- nestSpreadElements()
- nestSpreadProperties()
- parseArrayLiteralExpression()
- parseObjectLiteral()
- parseObjectLiteralExpression()
- parseValue()
- transformTailwindConfig()
- unnestSpreadProperties()
- unsetSpreadElements()
- updateTailwindConfig()
Types
Dependencies
- deepmerge
- fs
- get-config
- get-project-info
- highlighter
- os
- path
- schema
- spinner
- stringify-object
- tailwindcss
- ts-morph
- zod
Source
Frequently Asked Questions
What does update-tailwind-config.ts do?
update-tailwind-config.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, TemplateSync subdomain.
What functions are defined in update-tailwind-config.ts?
update-tailwind-config.ts defines 16 function(s): _createSourceFile, _getQuoteChar, addTailwindConfigPlugin, addTailwindConfigProperty, addTailwindConfigTheme, buildTailwindThemeColorsFromCssVars, nestSpreadElements, nestSpreadProperties, parseArrayLiteralExpression, parseObjectLiteral, and 6 more.
What does update-tailwind-config.ts depend on?
update-tailwind-config.ts imports 13 module(s): deepmerge, fs, get-config, get-project-info, highlighter, os, path, schema, and 5 more.
What files import update-tailwind-config.ts?
update-tailwind-config.ts is imported by 1 file(s): update-tailwind-config.test.ts.
Where is update-tailwind-config.ts in the architecture?
update-tailwind-config.ts is located at packages/shadcn/src/utils/updaters/update-tailwind-config.ts (domain: FrameworkTooling, subdomain: TemplateSync, directory: packages/shadcn/src/utils/updaters).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free