migratePostCSSConfig() — tailwindcss Function Reference
Architecture documentation for the migratePostCSSConfig() function in migrate-postcss.ts from the tailwindcss codebase.
Entity Profile
Dependency Diagram
graph TD 18049d5a_3e65_d6cd_49d2_32e825145fa2["migratePostCSSConfig()"] 9c861556_2895_9b7c_50ec_d9aa3cfc5c68["migrate-postcss.ts"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|defined in| 9c861556_2895_9b7c_50ec_d9aa3cfc5c68 6066f111_c660_b87d_6993_07d8cc779b5c["run()"] 6066f111_c660_b87d_6993_07d8cc779b5c -->|calls| 18049d5a_3e65_d6cd_49d2_32e825145fa2 cf753b57_eb32_e127_11fc_c29697c36ca4["detectJSConfigPath()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| cf753b57_eb32_e127_11fc_c29697c36ca4 cddc9c20_5880_3c1c_34a8_c38c746645b7["migratePostCSSJSConfig()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| cddc9c20_5880_3c1c_34a8_c38c746645b7 f1b5bbf3_f07f_1c1b_c721_2a6bcd9f638c["migratePostCSSJsonConfig()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| f1b5bbf3_f07f_1c1b_c721_2a6bcd9f638c 07211e82_40c2_adfa_13cf_90e15e366f06["detectJSONConfigPath()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| 07211e82_40c2_adfa_13cf_90e15e366f06 f6cf39d1_9161_38f6_5e39_d0d0f34bb6a8["info()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| f6cf39d1_9161_38f6_5e39_d0d0f34bb6a8 14c611e1_f56a_262f_0861_6fb84b21afb3["pkg()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| 14c611e1_f56a_262f_0861_6fb84b21afb3 37b3db30_53ad_adf5_7c3d_6c08e7198514["success()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| 37b3db30_53ad_adf5_7c3d_6c08e7198514 a81de696_6bb5_40db_26ca_1d707ccebed9["highlight()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| a81de696_6bb5_40db_26ca_1d707ccebed9 efdaf4fe_1cde_66e0_60e0_5e155e297f6d["relative()"] 18049d5a_3e65_d6cd_49d2_32e825145fa2 -->|calls| efdaf4fe_1cde_66e0_60e0_5e155e297f6d style 18049d5a_3e65_d6cd_49d2_32e825145fa2 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/@tailwindcss-upgrade/src/codemods/config/migrate-postcss.ts lines 19–131
export async function migratePostCSSConfig(base: string) {
let ranMigration = false
let didMigrate = false
let didAddPostcssClient = false
let didRemoveAutoprefixer = false
let didRemovePostCSSImport = false
let packageJsonPath = path.resolve(base, 'package.json')
let packageJson
try {
packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'))
} catch {}
// Priority 1: Handle JS config files
let jsConfigPath = await detectJSConfigPath(base)
if (jsConfigPath) {
let result = await migratePostCSSJSConfig(jsConfigPath)
ranMigration = true
if (result) {
didMigrate = true
didAddPostcssClient = result.didAddPostcssClient
didRemoveAutoprefixer = result.didRemoveAutoprefixer
didRemovePostCSSImport = result.didRemovePostCSSImport
}
}
// Priority 2: Handle package.json config
if (!ranMigration) {
if (packageJson && 'postcss' in packageJson) {
let result = await migratePostCSSJsonConfig(packageJson.postcss)
ranMigration = true
if (result) {
await fs.writeFile(
packageJsonPath,
JSON.stringify({ ...packageJson, postcss: result?.json }, null, 2),
)
didMigrate = true
didAddPostcssClient = result.didAddPostcssClient
didRemoveAutoprefixer = result.didRemoveAutoprefixer
didRemovePostCSSImport = result.didRemovePostCSSImport
}
}
}
// Priority 3: JSON based postcss config files
if (!ranMigration) {
let jsonConfigPath = await detectJSONConfigPath(base)
let jsonConfig: null | any = null
if (jsonConfigPath) {
try {
jsonConfig = JSON.parse(await fs.readFile(jsonConfigPath, 'utf-8'))
} catch {}
if (jsonConfig) {
let result = await migratePostCSSJsonConfig(jsonConfig)
ranMigration = true
if (result) {
await fs.writeFile(jsonConfigPath, JSON.stringify(result.json, null, 2))
didMigrate = true
didAddPostcssClient = result.didAddPostcssClient
didRemoveAutoprefixer = result.didRemoveAutoprefixer
didRemovePostCSSImport = result.didRemovePostCSSImport
}
}
}
}
if (!ranMigration) {
info('No PostCSS config found, skipping migration.', {
prefix: '↳ ',
})
return
}
if (didAddPostcssClient) {
let location = Object.hasOwn(packageJson?.dependencies ?? {}, 'tailwindcss')
? ('dependencies' as const)
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does migratePostCSSConfig() do?
migratePostCSSConfig() is a function in the tailwindcss codebase, defined in packages/@tailwindcss-upgrade/src/codemods/config/migrate-postcss.ts.
Where is migratePostCSSConfig() defined?
migratePostCSSConfig() is defined in packages/@tailwindcss-upgrade/src/codemods/config/migrate-postcss.ts at line 19.
What does migratePostCSSConfig() call?
migratePostCSSConfig() calls 9 function(s): detectJSConfigPath, detectJSONConfigPath, highlight, info, migratePostCSSJSConfig, migratePostCSSJsonConfig, pkg, relative, and 1 more.
What calls migratePostCSSConfig()?
migratePostCSSConfig() is called by 1 function(s): run.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free