Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import { cloneCandidate } from '../../../../tailwindcss/src/candidate'
import { createSignatureOptions } from '../../../../tailwindcss/src/canonicalize-candidates'
import {
PRE_COMPUTED_VARIANTS_KEY,
prepareDesignSystemStorage,
VARIANT_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 {
computeVariantSignature,
preComputedVariants,
} from '../../../../tailwindcss/src/signatures'
import type { Writable } from '../../../../tailwindcss/src/types'
import { replaceObject } from '../../../../tailwindcss/src/utils/replace-object'
import { walkVariants } from '../../utils/walk-variants'

export function migrateArbitraryVariants(
designSystem: DesignSystem,
baseDesignSystem: DesignSystem,
_userConfig: Config | null,
rawCandidate: string,
): string {
let signatureOptions = createSignatureOptions(designSystem)
let signatures = computeVariantSignature.get(signatureOptions)
let variants = preComputedVariants.get(signatureOptions)
let designSystem = prepareDesignSystemStorage(baseDesignSystem)
let signatures = designSystem.storage[VARIANT_SIGNATURE_KEY]
let variants = designSystem.storage[PRE_COMPUTED_VARIANTS_KEY]

for (let readonlyCandidate of designSystem.parseCandidate(rawCandidate)) {
// We are only interested in the variants
Expand Down
12 changes: 8 additions & 4 deletions packages/@tailwindcss-upgrade/src/codemods/template/migrate.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import fs from 'node:fs/promises'
import path, { extname } from 'node:path'
import { createSignatureOptions } from '../../../../tailwindcss/src/canonicalize-candidates'
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 { computeUtilitySignature } from '../../../../tailwindcss/src/signatures'
import { DefaultMap } from '../../../../tailwindcss/src/utils/default-map'
import { spliceChangesIntoString, type StringChange } from '../../utils/splice-changes-into-string'
import { extractRawCandidates } from './candidates'
Expand Down Expand Up @@ -40,7 +43,8 @@ export const DEFAULT_MIGRATIONS: Migration[] = [
migrateModernizeArbitraryValues,
]

let migrateCached = new DefaultMap((designSystem: DesignSystem) => {
let migrateCached = new DefaultMap((baseDesignSystem: DesignSystem) => {
let designSystem = prepareDesignSystemStorage(baseDesignSystem)
let options = createSignatureOptions(designSystem)

return new DefaultMap((userConfig: Config | null) => {
Expand All @@ -57,7 +61,7 @@ let migrateCached = new DefaultMap((designSystem: DesignSystem) => {
// Verify that the candidate actually makes sense at all. E.g.: `duration`
// is not a valid candidate, but it will parse because `duration-<number>`
// exists.
let signature = computeUtilitySignature.get(options).get(rawCandidate)
let signature = designSystem.storage[UTILITY_SIGNATURE_KEY].get(options).get(rawCandidate)
if (typeof signature !== 'string') return original

return rawCandidate
Expand Down
Loading