migrate-js-config.ts — tailwindcss Source File
Architecture documentation for migrate-js-config.ts, a typescript file in the tailwindcss codebase. 40 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR ffe9c87e_35ad_f431_9625_80fc875792a7["migrate-js-config.ts"] 86cbca6b_bfa0_804c_ee2e_2cc7a7aef7fe["compile.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 86cbca6b_bfa0_804c_ee2e_2cc7a7aef7fe 2a6a0b85_eed3_a09b_8c8d_c2a585078dac["loadModule"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 2a6a0b85_eed3_a09b_8c8d_c2a585078dac f611f48e_9be7_5c5c_56bf_add7b547ba80["../../../../tailwindcss/dist/default-theme"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> f611f48e_9be7_5c5c_56bf_add7b547ba80 b9cbffa4_c352_cf3c_268f_cbb174fb3a47["ast.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> b9cbffa4_c352_cf3c_268f_cbb174fb3a47 2f6881be_62d9_4b96_7331_a962ced095f7["atRule"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 2f6881be_62d9_4b96_7331_a962ced095f7 9b49f3c6_0c8d_5c62_965c_30a1db6499f8["toCss"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 9b49f3c6_0c8d_5c62_965c_30a1db6499f8 8d84257d_f3b2_cdf8_542f_835967da0481["apply-config-to-theme.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 8d84257d_f3b2_cdf8_542f_835967da0481 1767219e_c38a_227c_492b_5d47634d54a4["keyPathToCssProperty"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 1767219e_c38a_227c_492b_5d47634d54a4 961a5671_178b_5937_79ae_2463c9fb3bc9["themeableValues"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 961a5671_178b_5937_79ae_2463c9fb3bc9 c366ff81_32f3_ab43_fb66_6ea38913c09a["apply-keyframes-to-theme.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> c366ff81_32f3_ab43_fb66_6ea38913c09a 987b5669_7b27_7dbe_f34a_93d0f099e43a["keyframesToRules"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 987b5669_7b27_7dbe_f34a_93d0f099e43a cad44155_17aa_e1d6_081a_8f3b4f06bcde["resolve-config.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> cad44155_17aa_e1d6_081a_8f3b4f06bcde bc7b25d3_d5ad_3609_d595_c9755dfadcbb["resolveConfig"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> bc7b25d3_d5ad_3609_d595_c9755dfadcbb 479eaf18_f640_94ff_bd07_456688f9ac14["types.ts"] ffe9c87e_35ad_f431_9625_80fc875792a7 --> 479eaf18_f640_94ff_bd07_456688f9ac14 style ffe9c87e_35ad_f431_9625_80fc875792a7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { Scanner } from '@tailwindcss/oxide'
import fs from 'node:fs/promises'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { loadModule } from '../../../../@tailwindcss-node/src/compile'
import defaultTheme from '../../../../tailwindcss/dist/default-theme'
import { atRule, toCss, type AstNode } from '../../../../tailwindcss/src/ast'
import {
keyPathToCssProperty,
themeableValues,
} from '../../../../tailwindcss/src/compat/apply-config-to-theme'
import { keyframesToRules } from '../../../../tailwindcss/src/compat/apply-keyframes-to-theme'
import {
resolveConfig,
type ConfigFile,
} from '../../../../tailwindcss/src/compat/config/resolve-config'
import type { ResolvedConfig, ThemeConfig } from '../../../../tailwindcss/src/compat/config/types'
import { buildCustomContainerUtilityRules } from '../../../../tailwindcss/src/compat/container'
import { darkModePlugin } from '../../../../tailwindcss/src/compat/dark-mode'
import type { Config } from '../../../../tailwindcss/src/compat/plugin-api'
import type { DesignSystem } from '../../../../tailwindcss/src/design-system'
import { escape } from '../../../../tailwindcss/src/utils/escape'
import {
isValidOpacityValue,
isValidSpacingMultiplier,
} from '../../../../tailwindcss/src/utils/infer-data-type'
import * as ValueParser from '../../../../tailwindcss/src/value-parser'
import { findStaticPlugins, type StaticPluginOptions } from '../../utils/extract-static-plugins'
import { highlight, info, relative } from '../../utils/renderer'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
export type JSConfigMigration =
// Could not convert the config file, need to inject it as-is in a @config directive
null | {
sources: { base: string; pattern: string }[]
plugins: { base: string; path: string; options: null | StaticPluginOptions }[]
css: string
}
export async function migrateJsConfig(
designSystem: DesignSystem,
fullConfigPath: string,
base: string,
): Promise<JSConfigMigration> {
let [unresolvedConfig, source] = await Promise.all([
loadModule(fullConfigPath, __dirname, () => {}).then((result) => result.module) as Config,
fs.readFile(fullConfigPath, 'utf-8'),
])
if (!canMigrateConfig(unresolvedConfig, source)) {
info(
`The configuration file at ${highlight(relative(fullConfigPath, base))} could not be automatically migrated to the new CSS configuration format, so your CSS has been updated to load your existing configuration file.`,
{ prefix: '↳ ' },
)
return null
}
let sources: { base: string; pattern: string }[] = []
// ... (494 more lines)
Domain
Subdomains
Functions
Types
Dependencies
- ../../../../tailwindcss/dist/default-theme
- Config
- DesignSystem
- ResolvedConfig
- ThemeConfig
- apply-config-to-theme.ts
- apply-keyframes-to-theme.ts
- ast.ts
- atRule
- buildCustomContainerUtilityRules
- compile.ts
- container.ts
- dark-mode.ts
- darkModePlugin
- design-system.ts
- escape
- escape.ts
- extract-static-plugins.ts
- findStaticPlugins
- highlight
- infer-data-type.ts
- info
- isValidOpacityValue
- isValidSpacingMultiplier
- keyPathToCssProperty
- keyframesToRules
- loadModule
- node:path
- node:url
- oxide
- plugin-api.ts
- promises
- relative
- renderer.ts
- resolve-config.ts
- resolveConfig
- themeableValues
- toCss
- types.ts
- value-parser.ts
Imported By
Source
Frequently Asked Questions
What does migrate-js-config.ts do?
migrate-js-config.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the CommandLineInterface domain, Codemods subdomain.
What functions are defined in migrate-js-config.ts?
migrate-js-config.ts defines 12 function(s): autodetectedSourceFiles, canMigrateConfig, createSectionKey, keyframesToCss, migrateContent, migrateDarkMode, migrateJsConfig, migrateTheme, onlyAllowedThemeValues, patternSourceFiles, and 2 more.
What does migrate-js-config.ts depend on?
migrate-js-config.ts imports 40 module(s): ../../../../tailwindcss/dist/default-theme, Config, DesignSystem, ResolvedConfig, ThemeConfig, apply-config-to-theme.ts, apply-keyframes-to-theme.ts, ast.ts, and 32 more.
What files import migrate-js-config.ts?
migrate-js-config.ts is imported by 3 file(s): index.ts, migrate-config.ts, migrate.ts.
Where is migrate-js-config.ts in the architecture?
migrate-js-config.ts is located at packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts (domain: CommandLineInterface, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/codemods/config).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free