-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Comparing changes
Open a pull request
base repository: tailwindlabs/tailwindcss
base: v4.1.3
head repository: tailwindlabs/tailwindcss
compare: v4.1.4
- 16 commits
- 63 files changed
- 6 contributors
Commits on Apr 7, 2025
-
Fix polyfill in combination with unused CSS variable removal (#17555)
This PR fixes an issue we noticed while investigating #17553, where the unused CSS variable removal didn't work properly when the theme variable it tried to remove was modified by a polyfill rule. The way the bookkeeping for the unused CSS variable worked was that it tired to find the declaration inside it's parent after the traversal. However, the `color-mix(…)` polyfill has since then made changes to the declaration so it can't find it's position correctly anymore and will thus instead delete the last declaration of the node (this caused unrelated CSS variables to be eliminated while the ones with `color-mix(…)` were unexpectedly kept). To fix this, we decided to apply the polyfills after any eventual deletions. This also ensures that no `@supports` query for the variables are created and simplifies the code a bit since all polyfills are now colocated. ## Test plan - Added a unit test for the example we discovered in #17553 - Luckily the conditions of this seemed rare enough so that it doesn't cause any other of our tests to update. --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 811e97d - Browse repository at this point
Copy the full SHA 811e97dView commit details -
Make polyfill work when the theme variable resolves to another var (#…
…17562) Discovered while triaging #17556 This PR improves the `color-mix(...)` polyfill to ensure it works when a theme key links to another theme key via a `var(...)` call. Imagine this setup: ```css @theme { --color-red: var(--color-red-500); --color-red-500: oklch(63.7% 0.237 25.331); } @source inline("text-red/50"); ```` Since `--color-red` will link to `--color-red-500` _which is also a known theme variable_, we can inline the value of `--color-red-500` into the fallback now: ```css .text-red\\/50 { color: var(--color-red); } @supports (color: color-mix(in lab, red, red)) { .text-red\\/50 { color: color-mix(in oklab, var(--color-red) 50%, transparent); } } ``` This will allow for slightly less confusing behavior. The code added also handles recursive definitions where a color is linking to another color that is again linking to the first one (by adding a `Set` to keep track of already seen variable names). ## Test plan - Added unit test
Configuration menu - View commit details
-
Copy full SHA for 3e9cf87 - Browse repository at this point
Copy the full SHA 3e9cf87View commit details -
Update all of react 19.0.0 → 19.1.0 (minor) (#17564)
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request. ### What changed? #### ✳️ react (19.0.0 → 19.1.0) · [Repo](https://github.com/facebook/react) · [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/facebook/react/releases/tag/v19.1.0">19.1.0</a></h4> <blockquote><h3 dir="auto">Owner Stack</h3> <p dir="auto">An Owner Stack is a string representing the components that are directly responsible for rendering a particular component. You can log Owner Stacks when debugging or use Owner Stacks to enhance error overlays or other development tools. Owner Stacks are only available in development builds. Component Stacks in production are unchanged.</p> <ul dir="auto"> <li>An Owner Stack is a development-only stack trace that helps identify which components are responsible for rendering a particular component. An Owner Stack is distinct from a Component Stacks, which shows the hierarchy of components leading to an error.</li> <li>The <a href="https://react.dev/reference/react/captureOwnerStack">captureOwnerStack API</a> is only available in development mode and returns a Owner Stack, if available. The API can be used to enhance error overlays or log component relationships when debugging. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/29923">#29923</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32353">#32353</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/30306">#30306</a>,<br> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32538">#32538</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32529">#32529</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32538">#32538</a> </li> </ul> <h3 dir="auto">React</h3> <ul dir="auto"> <li>Enhanced support for Suspense boundaries to be used anywhere, including the client, server, and during hydration. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32069">#32069</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32163">#32163</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32224">#32224</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32252">#32252</a> </li> <li>Reduced unnecessary client rendering through improved hydration scheduling <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31751">#31751</a> </li> <li>Increased priority of client rendered Suspense boundaries <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31776">#31776</a> </li> <li>Fixed frozen fallback states by rendering unfinished Suspense boundaries on the client. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31620">#31620</a> </li> <li>Reduced garbage collection pressure by improving Suspense boundary retries. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31667">#31667</a> </li> <li>Fixed erroneous “Waiting for Paint” log when the passive effect phase was not delayed <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31526">#31526</a> </li> <li>Fixed a regression causing key warnings for flattened positional children in development mode. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32117">#32117</a> </li> <li>Updated <code class="notranslate">useId</code> to use valid CSS selectors, changing format from <code class="notranslate">:r123:</code> to <code class="notranslate">«r123»</code>. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32001">#32001</a> </li> <li>Added a dev-only warning for null/undefined created in useEffect, useInsertionEffect, and useLayoutEffect. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32355">#32355</a> </li> <li>Fixed a bug where dev-only methods were exported in production builds. React.act is no longer available in production builds. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32200">#32200</a> </li> <li>Improved consistency across prod and dev to improve compatibility with Google Closure Complier and bindings <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31808">#31808</a> </li> <li>Improve passive effect scheduling for consistent task yielding. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31785">#31785</a> </li> <li>Fixed asserts in React Native when passChildrenWhenCloningPersistedNodes is enabled for OffscreenComponent rendering. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32528">#32528</a> </li> <li>Fixed component name resolution for Portal <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32640">#32640</a> </li> <li>Added support for beforetoggle and toggle events on the dialog element. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32479">#32479</a> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32479">#32479</a> </li> </ul> <h3 dir="auto">React DOM</h3> <ul dir="auto"> <li>Fixed double warning when the <code class="notranslate">href</code> attribute is an empty string <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31783">#31783</a> </li> <li>Fixed an edge case where <code class="notranslate">getHoistableRoot()</code> didn’t work properly when the container was a Document <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32321">#32321</a> </li> <li>Removed support for using HTML comments (e.g. <code class="notranslate"><!-- --></code>) as a DOM container. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32250">#32250</a> </li> <li>Added support for <code class="notranslate"><script></code> and <code class="notranslate"><template></code> tags to be nested within <code class="notranslate"><select></code> tags. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31837">#31837</a> </li> <li>Fixed responsive images to be preloaded as HTML instead of headers <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32445">#32445</a> </li> </ul> <h3 dir="auto">use-sync-external-store</h3> <ul dir="auto"> <li>Added <code class="notranslate">exports</code> field to <code class="notranslate">package.json</code> for <code class="notranslate">use-sync-external-store</code> to support various entrypoints. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/25231">#25231</a> </li> </ul> <h3 dir="auto">React Server Components</h3> <ul dir="auto"> <li>Added <code class="notranslate">unstable_prerender</code>, a new experimental API for prerendering React Server Components on the server <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31724">#31724</a> </li> <li>Fixed an issue where streams would hang when receiving new chunks after a global error <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31840">#31840</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31851">#31851</a> </li> <li>Fixed an issue where pending chunks were counted twice. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31833">#31833</a> </li> <li>Added support for streaming in edge environments <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31852">#31852</a> </li> <li>Added support for sending custom error names from a server so that they are available in the client for console replaying. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32116">#32116</a> </li> <li>Updated the server component wire format to remove IDs for hints and console.log because they have no return value <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31671">#31671</a> </li> <li>Exposed <code class="notranslate">registerServerReference</code> in client builds to handle server references in different environments. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32534">#32534</a> </li> <li>Added react-server-dom-parcel package which integrates Server Components with the <a href="https://parceljs.org/">Parcel bundler</a> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31725">#31725</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32132">#32132</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31799">#31799</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32294">#32294</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31741">#31741</a> </li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/react/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/facebook/react/compare/7aa5dda3b3e4c2baa905a59b922ae7ec14734b24...4a9df08157f001c01b078d259748512211233dcf">See the full diff on Github</a>. The new version differs by more commits than we can show here.</p> </details> #### ✳️ react-dom (19.0.0 → 19.1.0) · [Repo](https://github.com/facebook/react) · [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/facebook/react/releases/tag/v19.1.0">19.1.0</a></h4> <blockquote><h3 dir="auto">Owner Stack</h3> <p dir="auto">An Owner Stack is a string representing the components that are directly responsible for rendering a particular component. You can log Owner Stacks when debugging or use Owner Stacks to enhance error overlays or other development tools. Owner Stacks are only available in development builds. Component Stacks in production are unchanged.</p> <ul dir="auto"> <li>An Owner Stack is a development-only stack trace that helps identify which components are responsible for rendering a particular component. An Owner Stack is distinct from a Component Stacks, which shows the hierarchy of components leading to an error.</li> <li>The <a href="https://react.dev/reference/react/captureOwnerStack">captureOwnerStack API</a> is only available in development mode and returns a Owner Stack, if available. The API can be used to enhance error overlays or log component relationships when debugging. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/29923">#29923</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32353">#32353</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/30306">#30306</a>,<br> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32538">#32538</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32529">#32529</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32538">#32538</a> </li> </ul> <h3 dir="auto">React</h3> <ul dir="auto"> <li>Enhanced support for Suspense boundaries to be used anywhere, including the client, server, and during hydration. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32069">#32069</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32163">#32163</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32224">#32224</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32252">#32252</a> </li> <li>Reduced unnecessary client rendering through improved hydration scheduling <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31751">#31751</a> </li> <li>Increased priority of client rendered Suspense boundaries <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31776">#31776</a> </li> <li>Fixed frozen fallback states by rendering unfinished Suspense boundaries on the client. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31620">#31620</a> </li> <li>Reduced garbage collection pressure by improving Suspense boundary retries. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31667">#31667</a> </li> <li>Fixed erroneous “Waiting for Paint” log when the passive effect phase was not delayed <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31526">#31526</a> </li> <li>Fixed a regression causing key warnings for flattened positional children in development mode. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32117">#32117</a> </li> <li>Updated <code class="notranslate">useId</code> to use valid CSS selectors, changing format from <code class="notranslate">:r123:</code> to <code class="notranslate">«r123»</code>. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32001">#32001</a> </li> <li>Added a dev-only warning for null/undefined created in useEffect, useInsertionEffect, and useLayoutEffect. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32355">#32355</a> </li> <li>Fixed a bug where dev-only methods were exported in production builds. React.act is no longer available in production builds. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32200">#32200</a> </li> <li>Improved consistency across prod and dev to improve compatibility with Google Closure Complier and bindings <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31808">#31808</a> </li> <li>Improve passive effect scheduling for consistent task yielding. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31785">#31785</a> </li> <li>Fixed asserts in React Native when passChildrenWhenCloningPersistedNodes is enabled for OffscreenComponent rendering. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32528">#32528</a> </li> <li>Fixed component name resolution for Portal <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32640">#32640</a> </li> <li>Added support for beforetoggle and toggle events on the dialog element. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32479">#32479</a> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32479">#32479</a> </li> </ul> <h3 dir="auto">React DOM</h3> <ul dir="auto"> <li>Fixed double warning when the <code class="notranslate">href</code> attribute is an empty string <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31783">#31783</a> </li> <li>Fixed an edge case where <code class="notranslate">getHoistableRoot()</code> didn’t work properly when the container was a Document <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32321">#32321</a> </li> <li>Removed support for using HTML comments (e.g. <code class="notranslate"><!-- --></code>) as a DOM container. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32250">#32250</a> </li> <li>Added support for <code class="notranslate"><script></code> and <code class="notranslate"><template></code> tags to be nested within <code class="notranslate"><select></code> tags. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31837">#31837</a> </li> <li>Fixed responsive images to be preloaded as HTML instead of headers <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32445">#32445</a> </li> </ul> <h3 dir="auto">use-sync-external-store</h3> <ul dir="auto"> <li>Added <code class="notranslate">exports</code> field to <code class="notranslate">package.json</code> for <code class="notranslate">use-sync-external-store</code> to support various entrypoints. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/25231">#25231</a> </li> </ul> <h3 dir="auto">React Server Components</h3> <ul dir="auto"> <li>Added <code class="notranslate">unstable_prerender</code>, a new experimental API for prerendering React Server Components on the server <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31724">#31724</a> </li> <li>Fixed an issue where streams would hang when receiving new chunks after a global error <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31840">#31840</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31851">#31851</a> </li> <li>Fixed an issue where pending chunks were counted twice. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31833">#31833</a> </li> <li>Added support for streaming in edge environments <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31852">#31852</a> </li> <li>Added support for sending custom error names from a server so that they are available in the client for console replaying. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32116">#32116</a> </li> <li>Updated the server component wire format to remove IDs for hints and console.log because they have no return value <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31671">#31671</a> </li> <li>Exposed <code class="notranslate">registerServerReference</code> in client builds to handle server references in different environments. <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32534">#32534</a> </li> <li>Added react-server-dom-parcel package which integrates Server Components with the <a href="https://parceljs.org/">Parcel bundler</a> <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31725">#31725</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32132">#32132</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31799">#31799</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/32294">#32294</a>, <a href="https://bounce.depfu.com/github.com/facebook/react/pull/31741">#31741</a> </li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/react-dom/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/facebook/react/compare/7aa5dda3b3e4c2baa905a59b922ae7ec14734b24...4a9df08157f001c01b078d259748512211233dcf">See the full diff on Github</a>. The new version differs by more commits than we can show here.</p> </details> ---  [Depfu](https://depfu.com) will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with `@depfu rebase`. <details><summary>All Depfu comment commands</summary> <blockquote><dl> <dt>@depfu rebase</dt><dd>Rebases against your default branch and redoes this update</dd> <dt>@depfu recreate</dt><dd>Recreates this PR, overwriting any edits that you've made to it</dd> <dt>@depfu merge</dt><dd>Merges this PR once your tests are passing and conflicts are resolved</dd> <dt>@depfu cancel merge</dt><dd>Cancels automatic merging of this PR</dd> <dt>@depfu close</dt><dd>Closes this PR and deletes the branch</dd> <dt>@depfu reopen</dt><dd>Restores the branch and reopens this PR (if it's closed)</dd> <dt>@depfu pause</dt><dd>Ignores all future updates for this dependency and closes this PR</dd> <dt>@depfu pause [minor|major]</dt><dd>Ignores all future minor/major updates for this dependency and closes this PR</dd> <dt>@depfu resume</dt><dd>Future versions of this dependency will create PRs again (leaves this PR as is)</dd> </dl></blockquote> </details> Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 76e18e6 - Browse repository at this point
Copy the full SHA 76e18e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for f66d287 - Browse repository at this point
Copy the full SHA f66d287View commit details
Commits on Apr 9, 2025
-
Configuration menu - View commit details
-
Copy full SHA for cdecb55 - Browse repository at this point
Copy the full SHA cdecb55View commit details
Commits on Apr 11, 2025
-
Fix container names with hyphens (#17628)
Fixes #17614. Candidate parsing for variants only account for the root `@` if there no hyphens. It seems like the current logic assumes if it *does* have a hyphen, then it would be one of `@min` or `@max`. However, with: ```css @theme { --container-foo-bar: 1440px; } ``` Then `@foo-bar` should be valid. However, we only check for `@foo-bar` and `@foo` as roots, but never `@`. This PR adds a check for `@` at the very end after iterating through root permutations. --------- Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Configuration menu - View commit details
-
Copy full SHA for 3ab7f12 - Browse repository at this point
Copy the full SHA 3ab7f12View commit details -
Fix
fontSize
array upgrade (#17630)Fixes #17622. Adds a specific handling case in `themeableValues()` in `packages/tailwindcss/src/compat/apply-config-to-theme.ts`. It seems like this has unique handling in v3 for an array value, whereby the second value is treated as a `line-height`. --------- Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Configuration menu - View commit details
-
Copy full SHA for c0af1e2 - Browse repository at this point
Copy the full SHA c0af1e2View commit details -
Fix
shadow-inherit
,inset-shadow-inherit
,drop-shadow-inherit
, ……and `text-shadow-inherit` (#17647) Fixes #17643. This PR completely removes the `color-mix()` function for `shadow-inherit`. This does mean intensity and alpha channel support has been removed when using `shadow-inherit`[^1]. With intensity modifiers in #17398, all colors are wrapped in `color-mix()`. However, it seems `inherit` does not work as a value in `color-mix()` in Firefox or Chrome (don't have a means to test Safari). [^1]: While writing this, I noticed other color utilities allow alpha channel modifier syntax for `inherit` - do we want to look at removing those too? --------- Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Configuration menu - View commit details
-
Copy full SHA for 6d8dd82 - Browse repository at this point
Copy the full SHA 6d8dd82View commit details -
Add test coverage for property-specific colors (#17436)
There are several property-specific color variables available to maintain compatibility with v3. [My team and I would like to use them](#17400), but would feel more comfortable if they were formally supported by v4. This PR adds test coverage for those features. @RobinMalfait has confirmed that these features are not intended to be removed, [see conversation here →](https://discord.com/channels/486935104384532500/546706299010678784/1355213322995110171) @crswll Has opened a PR here for the related documentation - tailwindlabs/tailwindcss.com#2178
Configuration menu - View commit details
-
Copy full SHA for 3bea760 - Browse repository at this point
Copy the full SHA 3bea760View commit details -
Workaround Chrome rendering bug for
skew-*
utilities (#17627)Closes #17621 Chrome as a pretty ugly rendering glitch when using a `skew-*` utility in Tailwind 4: https://play.tailwindcss.com/HuiZtbrHOc The was not an issue in v3 since transforms were set up in a different way. Without the `var(…)` syntax, the difference boils down to this: ```css .skew-v3 { transform: rotate(0) skewX(-20deg); } .skew-v4 { transform: rotateX(0) rotateY(0) rotateZ(0) skewX(-20deg); } ``` It appears that using any of the single-dimension rotate functions will cause the Chrome rendering to glitch. After doing some digging, we found [that initially these `@property`s were defined as type `<transform-function>` and later changed to `*`](#15144). With a type of `*`, it makes sense that the initial value of these variables can default to `initial` without any compromises, allowing us to default to something like this now: ```css .skew-new { transform: skewX(-20deg); } ``` Tested this change in the latest version of Chrome (135) and it does make the rendering glitch in the initial issue disappear. By using the `var(--tw-rotate-x,)` syntax we also ensure this works on older versions of Safari (tested on Safari 15.5 and 16.4). Note, however, that there are still glitches happening when you combine rotate and skew in the latest version of Chrome or when you transition the `skew(…)` variable. This also happens in plain CSS with no variables though, so there isn't something we can do about this: https://play.tailwindcss.com/g3FXPEJHpn ## Test plan - Tested on latest Chrome, Firefox, and Safari as well as Safari 15.5 and 16.4. <img width="564" alt="Screenshot 2025-04-09 at 18 01 51" src="https://github.com/user-attachments/assets/2e0b1c96-7c4d-41a8-b3d0-0f6134a3e635" />
Configuration menu - View commit details
-
Copy full SHA for 6e1f533 - Browse repository at this point
Copy the full SHA 6e1f533View commit details -
Add experimental
@tailwindcss/oxide-wasm32-wasi
(#17558)Closes #17448 Closes #13133 This PR adds an a new Oxide target for `wasm32-wasip1-threads`: `@tailwindcss/oxide-wasm32-wasi`. The goal of this is to enable more environments to run Oxide, including (but not limited to) StackBlitz. We're making use of `napi-rs`'s upcoming v3 features to simplify the setup here, meaning `napi-rs` will configure the WASM target and create an npm package that works across Node and browser environments. ## MacOS AArch64 issues While setting up an integration test for the new WASM target, I ran into an issue where FS reads where not terminating on macOS. After some research I found this to be a limitation of the Node.js container interface right now, see: nodejs/node#47193 ### Windows issues We also found that the Node.js wasi container does not properly support Windows: nodejs/uvwasi#11 For now we, it's probably best for MacOS AArch64 users and Windows users to use the native modules instead. ## Test plan The `@tailwindcss/oxide-wasm32-wasi` npm package can be built locally via `pnpm build` and then run with the Oxide API. A usage example can be taken from the newly added integration test. Furthermore this was tested to work as a polyfill on StackBlitz: https://stackblitz.com/edit/vitejs-vite-uks3gt5p [ci-all] --------- Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 83ce4c0 - Browse repository at this point
Copy the full SHA 83ce4c0View commit details -
Fix publish step on CI (#17654)
To publish the newly adde WASM builds, we rely on the `node-linker=hoisted` `.npmrc` flag that isn't read when `pnpm --recursive` is used. To work around it, this PR excludes the wasm package from the `--recursive` part and manually published it afterwards. ## Test Plan Ensured this does not error now when trying a `--dry run`. <img width="1273" alt="Screenshot 2025-04-11 at 17 43 38" src="https://github.com/user-attachments/assets/68a28552-0125-4da1-92ff-74e58368abe4" />
Configuration menu - View commit details
-
Copy full SHA for d801d8d - Browse repository at this point
Copy the full SHA d801d8dView commit details
Commits on Apr 12, 2025
-
Ignore binary extensions, except in folder names (#17595)
We generate a glob to ignore binary extensions that looks something like this: ``` *.{mp4,pages,exe,…} ``` However, if you have a folder that happens to end in `.pages` for example, then this folder will be ignored in its entirety. To solve this, we added a new flag to the `Gitignore` struct so we can register a bunch of ignore rules that _only_ apply to paths and not folders. Fixes: #17569 ## Test plan - Added a unit test --------- Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Configuration menu - View commit details
-
Copy full SHA for bbd916a - Browse repository at this point
Copy the full SHA bbd916aView commit details
Commits on Apr 14, 2025
-
Update eslint 9.22.0 → 9.24.0 (minor) (#17656)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> Co-authored-by: Philipp Spiess <hello@philippspiess.com>
Configuration menu - View commit details
-
Copy full SHA for cf2591c - Browse repository at this point
Copy the full SHA cf2591cView commit details -
Prepare v4.1.4 release (#17669)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for aa836d3 - Browse repository at this point
Copy the full SHA aa836d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25539e3 - Browse repository at this point
Copy the full SHA 25539e3View commit details
There are no files selected for viewing