Home / File/ migrate.ts — tailwindcss Source File

migrate.ts — tailwindcss Source File

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

File typescript CommandLineInterface Codemods 29 imports 2 dependents 2 functions

Entity Profile

Dependency Diagram

graph LR
  9e542b1f_db4d_cc7b_b37d_1324d5719263["migrate.ts"]
  da5d1116_ab2a_437a_6b13_c1429fd546fa["plugin-api.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> da5d1116_ab2a_437a_6b13_c1429fd546fa
  0255ffc0_a3d5_e883_5143_99660766448f["Config"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 0255ffc0_a3d5_e883_5143_99660766448f
  bdedd2f6_da4b_69dc_e990_0814b59fbe6e["design-system.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> bdedd2f6_da4b_69dc_e990_0814b59fbe6e
  665aa4ed_d86e_30e5_80d5_cd56b8ca8b62["DesignSystem"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 665aa4ed_d86e_30e5_80d5_cd56b8ca8b62
  bc267e18_3e03_cc17_3da0_cbc39f148f44["stylesheet.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> bc267e18_3e03_cc17_3da0_cbc39f148f44
  b9897393_3e36_7806_d172_b9debcd215f6["Stylesheet"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> b9897393_3e36_7806_d172_b9debcd215f6
  ffe9c87e_35ad_f431_9625_80fc875792a7["migrate-js-config.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> ffe9c87e_35ad_f431_9625_80fc875792a7
  02212b15_a7e8_bbe1_c587_96a34af790ff["JSConfigMigration"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 02212b15_a7e8_bbe1_c587_96a34af790ff
  587045dd_6997_cdb6_9548_cd81dc79a115["migrate-at-apply.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 587045dd_6997_cdb6_9548_cd81dc79a115
  6d8d6d7e_6e94_511f_8419_616e12ba69b8["migrateAtApply"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 6d8d6d7e_6e94_511f_8419_616e12ba69b8
  7de2c7a6_0dcf_0fb9_b7dd_c51f75983852["migrate-at-layer-utilities.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 7de2c7a6_0dcf_0fb9_b7dd_c51f75983852
  9456daf3_1cee_2ab1_7f06_8dc2cedc967a["migrateAtLayerUtilities"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 9456daf3_1cee_2ab1_7f06_8dc2cedc967a
  6685d9c3_9ea1_062b_c4b3_737d22eefe98["migrate-config.ts"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> 6685d9c3_9ea1_062b_c4b3_737d22eefe98
  c87008df_39ed_c25f_fb59_02588e73a2f7["migrateConfig"]
  9e542b1f_db4d_cc7b_b37d_1324d5719263 --> c87008df_39ed_c25f_fb59_02588e73a2f7
  style 9e542b1f_db4d_cc7b_b37d_1324d5719263 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 CommandLineInterface 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 29 module(s): Config, DesignSystem, JSConfigMigration, Stylesheet, design-system.ts, migrate-at-apply.ts, migrate-at-layer-utilities.ts, migrate-config.ts, and 21 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: CommandLineInterface, 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