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
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce["migrateJsConfig()"]
  c1db9de2_3654_d42b_b9f2_1c5a0ccbd307["run()"]
  c1db9de2_3654_d42b_b9f2_1c5a0ccbd307 -->|calls| dc1d7e71_14d1_dd51_5d14_8265f9e59cce
  aee9f739_9a7b_d15f_6c82_a35dce42a8e6["loadModule()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| aee9f739_9a7b_d15f_6c82_a35dce42a8e6
  fad5e0cf_28c4_1123_bbfa_bb74fa036ea3["canMigrateConfig()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| fad5e0cf_28c4_1123_bbfa_bb74fa036ea3
  1109e3d3_2f0e_658d_04f7_09e68535d07b["info()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| 1109e3d3_2f0e_658d_04f7_09e68535d07b
  f0667321_097b_1dca_a21c_a0c318a6236a["highlight()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| f0667321_097b_1dca_a21c_a0c318a6236a
  a4d70660_306b_669c_4b1c_828588c6371c["relative()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| a4d70660_306b_669c_4b1c_828588c6371c
  2f11a653_1ddf_d37a_b002_85288f586aba["migrateDarkMode()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| 2f11a653_1ddf_d37a_b002_85288f586aba
  d7c75f44_f7ab_dadd_4dd7_67ec16ab58d7["migrateContent()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| d7c75f44_f7ab_dadd_4dd7_67ec16ab58d7
  0e91912d_5423_6991_60b0_8afbca30e459["migrateTheme()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| 0e91912d_5423_6991_60b0_8afbca30e459
  69c92c68_5d52_a398_56aa_286ad1f8d262["findStaticPlugins()"]
  dc1d7e71_14d1_dd51_5d14_8265f9e59cce -->|calls| 69c92c68_5d52_a398_56aa_286ad1f8d262
  style dc1d7e71_14d1_dd51_5d14_8265f9e59cce 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'),
  }
}

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