Skip to content

Comments

Bump dependencies#19608

Merged
RobinMalfait merged 9 commits intomainfrom
bump-dependencies
Feb 4, 2026
Merged

Bump dependencies#19608
RobinMalfait merged 9 commits intomainfrom
bump-dependencies

Conversation

@RobinMalfait RobinMalfait requested a review from a team as a code owner January 28, 2026 16:00
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 28, 2026

Walkthrough

This PR updates numerous dependency versions across package manifests, adjusts pnpm patch entries, and adds crates/ignore/ to .prettierignore. It consolidates bundling map imports in the standalone package, refines fraction/ratio parsing and trimming in utility value resolution, changes inset shadow prefix handling, and modifies several test snapshots/formatting. Tests also add runtime normalization for outline in a UI test helper. No exported/public API signatures were changed.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Bump dependencies' accurately summarizes the main change in the pull request: updating multiple dependencies across the project.
Description check ✅ Passed The description is related to the changeset, explaining that the PR bumps dependencies and moves some to the pnpm catalog, with references to closed issues.
Linked Issues check ✅ Passed The PR addresses the primary objective of #19603 by upgrading next and eslint-config-next, though to 16.1.6 instead of the stated 16.1.5, which still fulfills the security patching goal.
Out of Scope Changes check ✅ Passed Most changes are in-scope dependency updates; however, the .prettierignore addition (crates/ignore/) and test snapshot formatting changes in packages/tailwindcss are minor out-of-scope additions.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Important

Action Needed: IP Allowlist Update

If your organization protects your Git platform with IP whitelisting, please add the new CodeRabbit IP address to your allowlist:

  • 136.113.208.247/32 (new)
  • 34.170.211.100/32
  • 35.222.179.152/32

Reviews will stop working after February 8, 2026 if the new IP is not added to your allowlist.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@playgrounds/v3/package.json`:
- Line 18: The dependency update bumped "@types/node" from v20 to v25 in
package.json which may introduce breaking type changes; update the package.json
entry for "@types/node" to the intended v25 version, run npm install (or yarn)
and then run the TypeScript compiler (tsc) to surface any type errors, fix any
API/typing mismatches (e.g., undici/fetch or Web API types) in affected modules
or adjust tsconfig/lib targets as needed so the codebase compiles cleanly
against TypeScript 5.9.3 and `@types/node`@25.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@packages/tailwindcss/src/utilities.test.ts`:
- Around line 26649-26655: The shadow concatenation adds an extra space because
applyPrefix in alphaReplacedShadowProperties prepends the prefix to segments
that still have leading whitespace after replaceShadowColors joined them; update
applyPrefix (used by alphaReplacedShadowProperties and interacting with
replaceShadowColors/segment) to trim each segment before prepending the prefix
(e.g., call .trim() on the mapped value) so prefix + value has no doubled spaces
when rejoining layers.

+ ignore `crates/ignore/` when running prettier. We vendored this crate
  so ideally we only make changes that are required for our use cases.
The property value in Chromium and WebKit is different. One results in
`rgb(255, 255, 255) solid 2px` the other in `2px solid rgb(255, 255, 255)`

This normalizes the value by sorting its parts, but only for the
`outline` property. We can add more exceptions when needed.
Comment on lines +1564 to +1565
--animate-very-long-animation-name: very-long-animation-name
var(--very-long-animation-name-configuration, 2.5s ease-in-out 0s infinite normal none running);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The weird formatting here is because it's formatted this way in the input of the test above. The latest version of Lightning CSS doesn't normalize whitespace in custom properties anymore, which maps to the spec https://drafts.csswg.org/css-variables/#serializing-custom-props

Specified values of custom properties must be serialized exactly as specified by the author (with one exception, below). Simplifications that might occur in other properties, such as dropping comments, normalizing whitespace, reserializing numeric tokens from their value, etc., must not occur.

The one exception to serialization being precisely as specified in the source file is that an empty custom property (such as --foo:;) must serialize with a single space as its value.

@supports (color: color-mix(in lab, red, red)) {
.text-red-500\\/50 {
color: color-mix(in oklab, var(--color-red-500) 50%, transparent);
color: color-mix(in oklab,var(--color-red-500)50%,transparent);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The input doesn't contain spaces, so this one doesn't contain spaces either. While this looks a little bit odd, it's correct. This is also the output we would produce in Tailwind Play or the CDN because we don't use Lightning CSS there.

.-rotate-x-\\(--var\\) {
--tw-rotate-x: rotateX(calc(var(--var) * -1));
transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are a little bit silly but not the end of the world. This is because we run Lightning CSS twice to get better output. But they have a bug where they always introduce 1 additional whitespace character in these fallbacks.

I fixed this upstream: parcel-bundler/lightningcss#1142

So we likely will have a similar PR in the near future where we fix these again.

font-size: var(--text-sm, .8755rem);
line-height: var(--text-sm--line-height, 1.255rem);
text-rendering: optimizeLegibility;
text-rendering: optimizelegibility;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


.example-\\[7\\/9\\] {
--value: 7 / 9;
--value: 7/9;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is because we take the input as-is and don't normalize whitespace here.

let [lhs, rhs] = segment(candidate.value.fraction, '/')
if (!isPositiveInteger(lhs) || !isPositiveInteger(rhs)) return
value = `calc(${candidate.value.fraction} * 100%)`
value = `calc(${lhs} / ${rhs} * 100%)`
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In calc expressions whitespace can be important for certain operators. The main reason this changed is because it will produce nicer output that's always correct.

)

expect(await getPropertyValue('#x', 'outline')).toEqual('rgb(255, 255, 255) solid 2px')
expect(await getPropertyValue('#x', 'outline')).toEqual('2px solid rgb(255, 255, 255)')
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normalized this because the order of arguments is different between WebKit and Chromium for some reason...

@RobinMalfait RobinMalfait merged commit 1638f35 into main Feb 4, 2026
21 checks passed
@RobinMalfait RobinMalfait deleted the bump-dependencies branch February 4, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant