migrate.ts — tailwindcss Source File
Architecture documentation for migrate.ts, a typescript file in the tailwindcss codebase. 39 imports, 4 dependents.
Entity Profile
Dependency Diagram
graph LR e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4["migrate.ts"] f6c14bbb_2e42_58cc_18f1_c89a243da9c0["canonicalize-candidates.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> f6c14bbb_2e42_58cc_18f1_c89a243da9c0 4dc6b705_787e_a2cd_e871_d6f226448e19["createSignatureOptions"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 4dc6b705_787e_a2cd_e871_d6f226448e19 26169039_1fd2_e320_1f63_11ec10a6fc52["prepareDesignSystemStorage"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 26169039_1fd2_e320_1f63_11ec10a6fc52 da5d1116_ab2a_437a_6b13_c1429fd546fa["plugin-api.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> da5d1116_ab2a_437a_6b13_c1429fd546fa 0255ffc0_a3d5_e883_5143_99660766448f["Config"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 0255ffc0_a3d5_e883_5143_99660766448f bdedd2f6_da4b_69dc_e990_0814b59fbe6e["design-system.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> bdedd2f6_da4b_69dc_e990_0814b59fbe6e 665aa4ed_d86e_30e5_80d5_cd56b8ca8b62["DesignSystem"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 665aa4ed_d86e_30e5_80d5_cd56b8ca8b62 28a2f72d_350c_6647_bf9d_77c69e637045["default-map.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 28a2f72d_350c_6647_bf9d_77c69e637045 cfb4af0e_7b2d_34a1_693a_90088443cfec["DefaultMap"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> cfb4af0e_7b2d_34a1_693a_90088443cfec 53e05093_45c6_ed5a_9c90_dcc94281fddf["splice-changes-into-string.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 53e05093_45c6_ed5a_9c90_dcc94281fddf e861d3a6_b533_683d_56f9_f09ab6c0d58e["spliceChangesIntoString"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> e861d3a6_b533_683d_56f9_f09ab6c0d58e 530db924_e458_e8b2_fde4_45f3e78b4424["candidates.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 530db924_e458_e8b2_fde4_45f3e78b4424 8b1ca68c_6690_d65e_cc71_429e9efe9dc5["extractRawCandidates"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> 8b1ca68c_6690_d65e_cc71_429e9efe9dc5 d5e14c3d_f7c4_162e_96e8_83915119d547["is-safe-migration.ts"] e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 --> d5e14c3d_f7c4_162e_96e8_83915119d547 style e39bed3f_bfbf_a8c6_90a0_aa2ce3be1ef4 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
- Config
- DefaultMap
- DesignSystem
- 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 CommandLineInterface 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 39 module(s): Config, DefaultMap, DesignSystem, candidates.ts, canonicalize-candidates.ts, createSignatureOptions, default-map.ts, design-system.ts, and 31 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: CommandLineInterface, 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