Home / File/ migrate-theme-to-var.ts — tailwindcss Source File

migrate-theme-to-var.ts — tailwindcss Source File

Architecture documentation for migrate-theme-to-var.ts, a typescript file in the tailwindcss codebase. 5 imports, 2 dependents.

File typescript UpgradeToolkit Codemods 5 imports 2 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  c550fc21_73bc_6946_0379_6439db07d05a["migrate-theme-to-var.ts"]
  7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"]
  c550fc21_73bc_6946_0379_6439db07d05a --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a
  de8dd9be_8c47_4694_db3b_393c549a926a["migrate-theme-to-var.ts"]
  c550fc21_73bc_6946_0379_6439db07d05a --> de8dd9be_8c47_4694_db3b_393c549a926a
  14755812_772d_1294_c969_1bdb76e2883a["Convert"]
  c550fc21_73bc_6946_0379_6439db07d05a --> 14755812_772d_1294_c969_1bdb76e2883a
  dc9585e4_0c18_e5de_1302_9b707f3ab6ed["createConverter"]
  c550fc21_73bc_6946_0379_6439db07d05a --> dc9585e4_0c18_e5de_1302_9b707f3ab6ed
  ba54c7c3_7b1e_9984_bfef_a693a3df2d84["postcss"]
  c550fc21_73bc_6946_0379_6439db07d05a --> ba54c7c3_7b1e_9984_bfef_a693a3df2d84
  0c13c6dd_2cb9_954d_8cc6_359b1ce5d612["migrate-theme-to-var.test.ts"]
  0c13c6dd_2cb9_954d_8cc6_359b1ce5d612 --> c550fc21_73bc_6946_0379_6439db07d05a
  67f80607_3a88_f275_79a1_b9557100d939["migrate.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> c550fc21_73bc_6946_0379_6439db07d05a
  style c550fc21_73bc_6946_0379_6439db07d05a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { type Plugin } from 'postcss'
import type { DesignSystem } from '../../../../tailwindcss/src/design-system'
import { Convert, createConverter } from '../template/migrate-theme-to-var'

export function migrateThemeToVar({
  designSystem,
}: {
  designSystem?: DesignSystem | null
} = {}): Plugin {
  return {
    postcssPlugin: '@tailwindcss/upgrade/migrate-theme-to-var',
    OnceExit(root) {
      if (!designSystem) return
      let convert = createConverter(designSystem, { prettyPrint: true })

      root.walkDecls((decl) => {
        let [newValue] = convert(decl.value)
        decl.value = newValue
      })

      root.walkAtRules((atRule) => {
        if (
          atRule.name === 'media' ||
          atRule.name === 'custom-media' ||
          atRule.name === 'container' ||
          atRule.name === 'supports'
        ) {
          let [newValue] = convert(atRule.params, Convert.MigrateThemeOnly)
          atRule.params = newValue
        }
      })
    },
  }
}

Subdomains

Frequently Asked Questions

What does migrate-theme-to-var.ts do?
migrate-theme-to-var.ts is a source file in the tailwindcss codebase, written in typescript. It belongs to the UpgradeToolkit domain, Codemods subdomain.
What functions are defined in migrate-theme-to-var.ts?
migrate-theme-to-var.ts defines 1 function(s): migrateThemeToVar.
What does migrate-theme-to-var.ts depend on?
migrate-theme-to-var.ts imports 5 module(s): Convert, createConverter, design-system.ts, migrate-theme-to-var.ts, postcss.
What files import migrate-theme-to-var.ts?
migrate-theme-to-var.ts is imported by 2 file(s): migrate-theme-to-var.test.ts, migrate.ts.
Where is migrate-theme-to-var.ts in the architecture?
migrate-theme-to-var.ts is located at packages/@tailwindcss-upgrade/src/codemods/css/migrate-theme-to-var.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/codemods/css).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free