Skip to content

Commit baed3aa

Browse files
authored
Migrate grid-cols-[subgrid] and grid-rows-[subgrid] to grid-cols-subgrid and grid-rows-subgrid (#14840)
This PR adds a migration to convert `grid-cols-[subgrid]` to `grid-cols-subgrid` and `grid-rows-[subgrid]` to `grid-rows-subgrid`.
1 parent cf77420 commit baed3aa

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- _Upgrade (experimental)_: Migrate `grid-cols-[subgrid]` and `grid-rows-[subgrid]` to `grid-cols-subgrid` and `grid-rows-subgrid` ([#14840](https://github.com/tailwindlabs/tailwindcss/pull/14840))
13+
1014
### Fixed
1115

1216
- Detect classes in new files when using `@tailwindcss/postcss` ([#14829](https://github.com/tailwindlabs/tailwindcss/pull/14829))

packages/@tailwindcss-upgrade/src/template/codemods/arbitrary-value-to-bare-value.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ test.each([
88
['col-start-[7]', 'col-start-7'],
99
['flex-[2]', 'flex-2'], // `flex` is implemented as static and functional utilities
1010

11+
['grid-cols-[subgrid]', 'grid-cols-subgrid'],
12+
['grid-rows-[subgrid]', 'grid-rows-subgrid'],
13+
1114
// Only 50-200% (inclusive) are valid:
1215
// https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch#percentage
1316
['font-stretch-[50%]', 'font-stretch-50%'],

packages/@tailwindcss-upgrade/src/template/codemods/arbitrary-value-to-bare-value.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ export function arbitraryValueToBareValue(
1414
let clone = structuredClone(candidate)
1515
let changed = false
1616

17+
// Convert [subgrid] to subgrid
18+
if (
19+
clone.kind === 'functional' &&
20+
clone.value?.kind === 'arbitrary' &&
21+
clone.value.value === 'subgrid' &&
22+
(clone.root === 'grid-cols' || clone.root == 'grid-rows')
23+
) {
24+
changed = true
25+
clone.value = {
26+
kind: 'named',
27+
value: 'subgrid',
28+
fraction: null,
29+
}
30+
}
31+
1732
// Convert utilities that accept bare values ending in %
1833
if (
1934
clone.kind === 'functional' &&

0 commit comments

Comments
 (0)