Home / Function/ migrateJsConfig() — tailwindcss Function Reference

migrateJsConfig() — tailwindcss Function Reference

Architecture documentation for the migrateJsConfig() function in migrate-js-config.ts from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  8d0812d4_61e4_e939_916d_a33e94faf43f["migrateJsConfig()"]
  eb8ababf_fa35_08e1_76f8_c2b2cea868b8["run()"]
  eb8ababf_fa35_08e1_76f8_c2b2cea868b8 -->|calls| 8d0812d4_61e4_e939_916d_a33e94faf43f
  b620f573_84b9_a33a_291f_6bb912350445["loadModule()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| b620f573_84b9_a33a_291f_6bb912350445
  392cc8ca_1b35_56b9_6e03_2bbdf381e0f2["canMigrateConfig()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 392cc8ca_1b35_56b9_6e03_2bbdf381e0f2
  98289381_3219_727d_fea6_371f55963ac8["info()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 98289381_3219_727d_fea6_371f55963ac8
  c1e4d14f_eec6_482b_9f78_0242ee9d41b8["highlight()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| c1e4d14f_eec6_482b_9f78_0242ee9d41b8
  85696a99_698d_94e6_aa94_10c070d75965["relative()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 85696a99_698d_94e6_aa94_10c070d75965
  21f09a58_fd09_6e62_c29b_83d25c06d9aa["migrateDarkMode()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 21f09a58_fd09_6e62_c29b_83d25c06d9aa
  0a47c29a_9f3d_e269_891f_77e303b68066["migrateContent()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 0a47c29a_9f3d_e269_891f_77e303b68066
  77d1d37f_6021_dc8c_6d04_0c3b07e3ad19["migrateTheme()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 77d1d37f_6021_dc8c_6d04_0c3b07e3ad19
  7269613d_689c_049b_c5a1_169a57d36e90["findStaticPlugins()"]
  8d0812d4_61e4_e939_916d_a33e94faf43f -->|calls| 7269613d_689c_049b_c5a1_169a57d36e90
  style 8d0812d4_61e4_e939_916d_a33e94faf43f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/@tailwindcss-upgrade/src/codemods/config/migrate-js-config.ts lines 42–95

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 }[] = []
  let plugins: { base: string; path: string; options: null | StaticPluginOptions }[] = []
  let cssConfigs: string[] = []

  if ('darkMode' in unresolvedConfig) {
    cssConfigs.push(migrateDarkMode(unresolvedConfig as any))
  }

  if ('content' in unresolvedConfig) {
    sources = await migrateContent(unresolvedConfig as any, fullConfigPath, base)
  }

  if ('theme' in unresolvedConfig) {
    let themeConfig = await migrateTheme(designSystem, unresolvedConfig, base)
    if (themeConfig) cssConfigs.push(themeConfig)
  }

  if ('corePlugins' in unresolvedConfig) {
    info(
      `The \`corePlugins\` option is no longer supported as of Tailwind CSS v4.0, so it's been removed from your configuration.`,
    )
  }

  let simplePlugins = findStaticPlugins(source)
  if (simplePlugins !== null) {
    for (let [path, options] of simplePlugins) {
      plugins.push({ base, path, options })
    }
  }

  return {
    sources,
    plugins,
    css: cssConfigs.join('\n'),
  }
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does migrateJsConfig() do?
migrateJsConfig() is a function in the tailwindcss codebase.
What does migrateJsConfig() call?
migrateJsConfig() calls 9 function(s): canMigrateConfig, findStaticPlugins, highlight, info, loadModule, migrateContent, migrateDarkMode, migrateTheme, and 1 more.
What calls migrateJsConfig()?
migrateJsConfig() 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