Skip to content

Commit 4f987fa

Browse files
committed
only migrate @layer in v3 projects
1 parent 6ffa7cb commit 4f987fa

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

packages/@tailwindcss-upgrade/src/codemods/css/migrate-at-layer-utilities.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import dedent from 'dedent'
22
import postcss from 'postcss'
3-
import { describe, expect, it } from 'vitest'
3+
import { describe, expect, it, vi } from 'vitest'
44
import { Stylesheet } from '../../stylesheet'
5+
import * as versions from '../../utils/version'
56
import { formatNodes } from './format-nodes'
67
import { migrateAtLayerUtilities } from './migrate-at-layer-utilities'
78
import { sortBuckets } from './sort-buckets'
9+
vi.spyOn(versions, 'isMajor').mockReturnValue(true)
810

911
const css = dedent
1012

packages/@tailwindcss-upgrade/src/codemods/css/migrate-at-layer-utilities.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,16 @@ import { type AtRule, type Comment, type Plugin, type Rule } from 'postcss'
22
import SelectorParser from 'postcss-selector-parser'
33
import { segment } from '../../../../tailwindcss/src/utils/segment'
44
import { Stylesheet } from '../../stylesheet'
5+
import * as version from '../../utils/version'
56
import { walk, WalkAction, walkDepth } from '../../utils/walk'
67

78
export function migrateAtLayerUtilities(stylesheet: Stylesheet): Plugin {
89
function migrate(atRule: AtRule) {
10+
// Migrating `@layer utilities` to `@utility` is only supported in Tailwind
11+
// CSS v3 projects. Tailwind CSS v4 projects could also have `@layer
12+
// utilities` but those aren't actual utilities.
13+
if (!version.isMajor(3)) return
14+
915
// Only migrate `@layer utilities` and `@layer components`.
1016
if (atRule.params !== 'utilities' && atRule.params !== 'components') return
1117

0 commit comments

Comments
 (0)