migrate.ts — tailwindcss Source File
Architecture documentation for migrate.ts, a typescript file in the tailwindcss codebase. 37 imports, 4 dependents.
Entity Profile
Dependency Diagram
graph LR 75ba60a9_2614_1c57_ad40_3663d4315f3b["migrate.ts"] 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e["canonicalize-candidates.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 7d350d81_5de1_f9f3_5b2c_19ec8fd3c37e d8e28189_3751_77bd_c810_1cd9c626b480["createSignatureOptions"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> d8e28189_3751_77bd_c810_1cd9c626b480 81ec8f98_1fb2_d7c3_dd65_3a9e51b3be39["prepareDesignSystemStorage"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 81ec8f98_1fb2_d7c3_dd65_3a9e51b3be39 af1a6ece_0432_a556_fd63_8cb4a91f12ad["plugin-api.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> af1a6ece_0432_a556_fd63_8cb4a91f12ad 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a["design-system.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 7fd72d4c_e95c_d849_1002_1e1c9d8aca1a c056448b_f7a2_9149_54e8_f0f8470fe3aa["default-map.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> c056448b_f7a2_9149_54e8_f0f8470fe3aa bf2992f6_4a37_8536_70f8_94b13631027d["DefaultMap"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> bf2992f6_4a37_8536_70f8_94b13631027d d8b3b0ab_e770_e110_7520_a6fdabeda83a["splice-changes-into-string.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> d8b3b0ab_e770_e110_7520_a6fdabeda83a 0ad23c56_9291_b80b_7e43_b919fbc7087f["spliceChangesIntoString"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 0ad23c56_9291_b80b_7e43_b919fbc7087f 6818f003_fa74_ca6e_8dd1_99a7154be5c9["candidates.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 6818f003_fa74_ca6e_8dd1_99a7154be5c9 f2c36345_eddf_1720_9a42_e1a49f2c7132["extractRawCandidates"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> f2c36345_eddf_1720_9a42_e1a49f2c7132 0e3e8c5a_e3ef_6c0d_8a31_e358e2206f79["is-safe-migration.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> 0e3e8c5a_e3ef_6c0d_8a31_e358e2206f79 aa2e93eb_f211_d616_3736_f2a6e60dfa72["isSafeMigration"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> aa2e93eb_f211_d616_3736_f2a6e60dfa72 d475bcf1_b109_d714_cc32_55d5655282ec["migrate-automatic-var-injection.ts"] 75ba60a9_2614_1c57_ad40_3663d4315f3b --> d475bcf1_b109_d714_cc32_55d5655282ec style 75ba60a9_2614_1c57_ad40_3663d4315f3b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import fs from 'node:fs/promises'
import path, { extname } from 'node:path'
import {
createSignatureOptions,
prepareDesignSystemStorage,
UTILITY_SIGNATURE_KEY,
} from '../../../../tailwindcss/src/canonicalize-candidates'
import type { Config } from '../../../../tailwindcss/src/compat/plugin-api'
import type { DesignSystem } from '../../../../tailwindcss/src/design-system'
import { DefaultMap } from '../../../../tailwindcss/src/utils/default-map'
import { spliceChangesIntoString, type StringChange } from '../../utils/splice-changes-into-string'
import { extractRawCandidates } from './candidates'
import { isSafeMigration } from './is-safe-migration'
import { migrateAutomaticVarInjection } from './migrate-automatic-var-injection'
import { migrateCamelcaseInNamedValue } from './migrate-camelcase-in-named-value'
import { migrateCanonicalizeCandidate } from './migrate-canonicalize-candidate'
import { migrateEmptyArbitraryValues } from './migrate-handle-empty-arbitrary-values'
import { migrateLegacyArbitraryValues } from './migrate-legacy-arbitrary-values'
import { migrateLegacyClasses } from './migrate-legacy-classes'
import { migrateMaxWidthScreen } from './migrate-max-width-screen'
import { migrateModernizeArbitraryValues } from './migrate-modernize-arbitrary-values'
import { migratePrefix } from './migrate-prefix'
import { migrateSimpleLegacyClasses } from './migrate-simple-legacy-classes'
import { migrateVariantOrder } from './migrate-variant-order'
export type Migration = (
designSystem: DesignSystem,
userConfig: Config | null,
rawCandidate: string,
) => string | Promise<string>
export const DEFAULT_MIGRATIONS: Migration[] = [
migrateEmptyArbitraryValues,
migratePrefix,
migrateCanonicalizeCandidate,
migrateSimpleLegacyClasses,
migrateCamelcaseInNamedValue,
migrateLegacyClasses,
migrateMaxWidthScreen,
migrateVariantOrder, // Has to happen before migrations that modify variants
migrateAutomaticVarInjection,
migrateLegacyArbitraryValues,
migrateModernizeArbitraryValues,
]
let migrateCached = new DefaultMap((baseDesignSystem: DesignSystem) => {
let designSystem = prepareDesignSystemStorage(baseDesignSystem)
let options = createSignatureOptions(designSystem)
return new DefaultMap((userConfig: Config | null) => {
return new DefaultMap(async (rawCandidate) => {
let original = rawCandidate
for (let migration of DEFAULT_MIGRATIONS) {
rawCandidate = await migration(designSystem, userConfig, rawCandidate)
}
// Canonicalize the final migrated candidate to its final form
rawCandidate = designSystem.canonicalizeCandidates([rawCandidate]).pop()!
// ... (71 more lines)
Domain
Subdomains
Types
Dependencies
- DefaultMap
- candidates.ts
- canonicalize-candidates.ts
- createSignatureOptions
- default-map.ts
- design-system.ts
- extractRawCandidates
- is-safe-migration.ts
- isSafeMigration
- migrate-automatic-var-injection.ts
- migrate-camelcase-in-named-value.ts
- migrate-canonicalize-candidate.ts
- migrate-handle-empty-arbitrary-values.ts
- migrate-legacy-arbitrary-values.ts
- migrate-legacy-classes.ts
- migrate-max-width-screen.ts
- migrate-modernize-arbitrary-values.ts
- migrate-prefix.ts
- migrate-simple-legacy-classes.ts
- migrate-variant-order.ts
- migrateAutomaticVarInjection
- migrateCamelcaseInNamedValue
- migrateCanonicalizeCandidate
- migrateEmptyArbitraryValues
- migrateLegacyArbitraryValues
- migrateLegacyClasses
- migrateMaxWidthScreen
- migrateModernizeArbitraryValues
- migratePrefix
- migrateSimpleLegacyClasses
- migrateVariantOrder
- node:path
- plugin-api.ts
- prepareDesignSystemStorage
- promises
- splice-changes-into-string.ts
- spliceChangesIntoString
Imported By
Source
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 5 function(s): designSystem, migrate, migrateCached, migrateCandidate, migrateContents.
What does migrate.ts depend on?
migrate.ts imports 37 module(s): DefaultMap, candidates.ts, canonicalize-candidates.ts, createSignatureOptions, default-map.ts, design-system.ts, extractRawCandidates, is-safe-migration.ts, and 29 more.
What files import migrate.ts?
migrate.ts is imported by 4 file(s): index.ts, is-safe-migration.test.ts, migrate-at-apply.ts, migrate.test.ts.
Where is migrate.ts in the architecture?
migrate.ts is located at packages/@tailwindcss-upgrade/src/codemods/template/migrate.ts (domain: UpgradeToolkit, subdomain: Codemods, directory: packages/@tailwindcss-upgrade/src/codemods/template).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free