Home / File/ migrate.ts — tailwindcss Source File

migrate.ts — tailwindcss Source File

Architecture documentation for migrate.ts, a typescript file in the tailwindcss codebase. 26 imports, 2 dependents.

File typescript UpgradeToolkit Codemods 26 imports 2 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  67f80607_3a88_f275_79a1_b9557100d939["migrate.ts"]
  af1a6ece_0432_a556_fd63_8cb4a91f12ad["plugin-api.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> af1a6ece_0432_a556_fd63_8cb4a91f12ad
  7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a
  41fd12a7_15c2_7d83_2e55_c5b9a8faf9b1["stylesheet.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 41fd12a7_15c2_7d83_2e55_c5b9a8faf9b1
  c890fa7b_6e17_4e5d_74bf_b797d0f757b8["Stylesheet"]
  67f80607_3a88_f275_79a1_b9557100d939 --> c890fa7b_6e17_4e5d_74bf_b797d0f757b8
  b2ba3368_7330_fe20_4543_9cafa8cfedc0["migrate-js-config.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> b2ba3368_7330_fe20_4543_9cafa8cfedc0
  a6ecddee_0a56_f3dd_6fd9_8373ce255940["migrate-at-apply.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> a6ecddee_0a56_f3dd_6fd9_8373ce255940
  66e0bbad_4b95_c393_4a95_0a694140aecd["migrateAtApply"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 66e0bbad_4b95_c393_4a95_0a694140aecd
  9e4e8a58_fb9b_d663_2880_954972aac787["migrate-at-layer-utilities.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 9e4e8a58_fb9b_d663_2880_954972aac787
  a0235ccd_65fd_a71a_fafb_d79570dbb04c["migrateAtLayerUtilities"]
  67f80607_3a88_f275_79a1_b9557100d939 --> a0235ccd_65fd_a71a_fafb_d79570dbb04c
  deadb2f6_312c_a055_6892_b63958628b61["migrate-config.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> deadb2f6_312c_a055_6892_b63958628b61
  01e3d6cc_7bef_47f3_8be8_b38c34fd3653["migrateConfig"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 01e3d6cc_7bef_47f3_8be8_b38c34fd3653
  7d223813_0df4_dfbe_850e_d5fd9ab81eef["migrate-import.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> 7d223813_0df4_dfbe_850e_d5fd9ab81eef
  d0429f7e_c0b8_e2df_15f9_96e807ee2d3a["migrateImport"]
  67f80607_3a88_f275_79a1_b9557100d939 --> d0429f7e_c0b8_e2df_15f9_96e807ee2d3a
  b1548999_24c2_f98a_628a_e4dd9606794b["migrate-media-screen.ts"]
  67f80607_3a88_f275_79a1_b9557100d939 --> b1548999_24c2_f98a_628a_e4dd9606794b
  style 67f80607_3a88_f275_79a1_b9557100d939 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import postcss from 'postcss'
import type { Config } from '../../../../tailwindcss/src/compat/plugin-api'
import type { DesignSystem } from '../../../../tailwindcss/src/design-system'
import { Stylesheet } from '../../stylesheet'
import type { JSConfigMigration } from '../config/migrate-js-config'
import { migrateAtApply } from './migrate-at-apply'
import { migrateAtLayerUtilities } from './migrate-at-layer-utilities'
import { migrateConfig } from './migrate-config'
import { migrateImport } from './migrate-import'
import { migrateMediaScreen } from './migrate-media-screen'
import { migrateMissingLayers } from './migrate-missing-layers'
import { migratePreflight } from './migrate-preflight'
import { migrateTailwindDirectives } from './migrate-tailwind-directives'
import { migrateThemeToVar } from './migrate-theme-to-var'
import { migrateVariantsDirective } from './migrate-variants-directive'

export interface MigrateOptions {
  newPrefix: string | null
  designSystem: DesignSystem | null
  userConfig: Config | null
  configFilePath: string | null
  jsConfigMigration: JSConfigMigration | null
}

export async function migrate(stylesheet: Stylesheet, options: MigrateOptions) {
  if (!stylesheet.file) {
    throw new Error('Cannot migrate a stylesheet without a file path')
  }

  if (!stylesheet.canMigrate) return

  await migrateContents(stylesheet, options)
}

export async function migrateContents(
  stylesheet: Stylesheet | string,
  options: MigrateOptions,
  file?: string,
) {
  if (typeof stylesheet === 'string') {
    stylesheet = await Stylesheet.fromString(stylesheet)
    stylesheet.file = file ?? null
  }

  return postcss()
    .use(migrateImport())
    .use(migrateAtApply(options))
    .use(migrateMediaScreen(options))
    .use(migrateVariantsDirective())
    .use(migrateAtLayerUtilities(stylesheet))
    .use(migrateMissingLayers())
    .use(migrateTailwindDirectives(options))
    .use(migrateConfig(stylesheet, options))
    .use(migratePreflight(options))
    .use(migrateThemeToVar(options))
    .process(stylesheet.root, { from: stylesheet.file ?? undefined })
}

Subdomains

Frequently Asked Questions

What does migrate.ts do?
migrate.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.ts?
migrate.ts defines 2 function(s): migrate, migrateContents.
What does migrate.ts depend on?
migrate.ts imports 26 module(s): Stylesheet, design-system.ts, migrate-at-apply.ts, migrate-at-layer-utilities.ts, migrate-config.ts, migrate-import.ts, migrate-js-config.ts, migrate-media-screen.ts, and 18 more.
What files import migrate.ts?
migrate.ts is imported by 2 file(s): index.test.ts, index.ts.
Where is migrate.ts in the architecture?
migrate.ts is located at packages/@tailwindcss-upgrade/src/codemods/css/migrate.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