mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2026-10-29 18:24:31 +08:00
main
103
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
05c3a87627 |
Bump dependencies (#20381)
This PR bumps dependencies and dev dependencies and applies required changes due to version bumps. - Moved `@parcel/watcher` related dependencies to the `pnpm-workflow.yaml` catalog - Bumped Lightning CSS + updated tests with improvements - Bumped napi related dependencies - Tackled a Vitest warning ## Test plan All tests should still pass on all platforms [ci-all] |
||
|
|
c2b24dd15f | 4.3.3 (#20334) | ||
|
|
056a155072 | 4.3.2 (#20281) | ||
|
|
8a14a71010 | 4.3.1 (#20226) | ||
|
|
8dcdb66e8a |
Bump dependencies (#20095)
This PR bumps some of our dependencies, common dependencies were moved to pnpm's `catalog` feature. Closes #20092 Closes #20085 Closes #20075 Closes #20066 Closes #20062 ## Test plan - All tests still pass - Each dependency was published some time ago. Webpack has an even newer version that was published <15min ago. Will update that one later. [ci-all] |
||
|
|
ece4824f0d |
Update jiti 2.6.1 → 2.7.0 (minor) (#20044)
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? #### ✳️ jiti (2.6.1 → 2.7.0) · [Repo](https://github.com/unjs/jiti) · [Changelog](https://github.com/unjs/jiti/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/unjs/jiti/releases/tag/v2.7.0">2.7.0</a></h4> <blockquote><p dir="auto"><a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.6.1...v2.7.0">compare changes</a></p> <h3 dir="auto">🚀 Enhancements</h3> <ul dir="auto"> <li>Add explicit resource management (<code class="notranslate">using</code>/<code class="notranslate">await using</code>) support (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/422">#422</a>)</li> <li>Support opt-in <code class="notranslate">tsconfigPaths</code> (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/427">#427</a>)</li> <li>Support virtual modules (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/428">#428</a>)</li> <li>Add <code class="notranslate">jiti/static</code> subpath (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/430">#430</a>)</li> </ul> <h3 dir="auto">🔥 Performance</h3> <ul dir="auto"> <li> <strong>interopDefault:</strong> Add caching to reduce proxy overhead by ~2x (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/421">#421</a>)</li> </ul> <h3 dir="auto">🩹 Fixes</h3> <ul dir="auto"> <li> <strong>require:</strong> Passthrough resolve options (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/412">#412</a>)</li> <li> <strong>require:</strong> Fallback to transpilation when <code class="notranslate">tryNative</code> fails (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/413">#413</a>)</li> <li>Fallback for <code class="notranslate">ENAMETOOLONG</code> when evaluating esm (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/429">#429</a>)</li> </ul> <h3 dir="auto">📦 Build</h3> <ul dir="auto"> <li>Upgrade rspack to v2 (<a href="https://bounce.depfu.com/github.com/unjs/jiti/commit/55194fb">55194fb</a>)</li> <li>Experimental rolldown config (<a href="https://bounce.depfu.com/github.com/unjs/jiti/commit/8c0243f">8c0243f</a>)</li> </ul> <h3 dir="auto">✅ Tests</h3> <ul dir="auto"> <li>Ignore jsx test for bun/cjs (<a href="https://bounce.depfu.com/github.com/unjs/jiti/commit/3a744ca">3a744ca</a>)</li> </ul> <h3 dir="auto">❤️ Contributors</h3> <ul dir="auto"> <li>Pooya Parsa (<a href="https://bounce.depfu.com/github.com/pi0">@pi0</a>)</li> <li>Kricsleo (<a href="https://bounce.depfu.com/github.com/kricsleo">@kricsleo</a>)</li> <li>Espen Hovlandsdal (<a href="https://bounce.depfu.com/github.com/rexxars">@rexxars</a>)</li> <li>Rintaro Itokawa (<a href="https://bounce.depfu.com/github.com/re-taro">@re-taro</a>)</li> <li>Matteo Collina (<a href="https://bounce.depfu.com/github.com/mcollina">@mcollina</a>)</li> <li>Mario Zechner (<a href="https://bounce.depfu.com/github.com/badlogic">@badlogic</a>)</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/jiti/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/unjs/jiti/compare/aedcdee7fed09dfd1cb7945daff64a6e41004f09...fd3bb289b75ed207edfb686d671ed50144f7e90f">See the full diff on Github</a>. The new version differs by 29 commits:</p> <ul> <li><a href="https://github.com/unjs/jiti/commit/fd3bb289b75ed207edfb686d671ed50144f7e90f"><code>chore(release): v2.7.0</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/27fe3f2a496b712674061c767f21ceaf34d39d83"><code>chore: update release script</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/4fcd2f23aa31d2e1ece4b307350b8c1d72a26870"><code>fix: fallback for `ENAMETOOLONG` when evaluating esm (#429)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/8c0243f14e65193fceb023b81aed5c9a820ee2cb"><code>build: experimental rolldown config</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/55194fbb97b56af50ae1c19735ee3b06110b3903"><code>build: upgrade rspack</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/0abda72c11fa31654ae17f255f9a854e4b706018"><code>ci: update node test matrix</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/8c7822ef2ff03669c31de2fedfcf6676970f5b2a"><code>chore: update tsconfig</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/08fc868c928d65fb615800e51b0ec1ac78f83a69"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/5d552e3bebf9ffcd3fb9f176364fce7b4e35134d"><code>feat: add `jiti/static` export (#430)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/ae790b0214512857e40e8b3078b63a7d65f7f2c9"><code>feat: support virtual modules option (#428)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/a3e705dbdcda999c85a481448b9fa471bb88661b"><code>fix(require): fallback to transpilation when `tryNative` fails (#413)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/4deba1628391ca636f698515457f4f59619d637e"><code>chore: update agents.md</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/f85b0e523d4f5f82f08c90765b63a077abd7bebe"><code>lint</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/3ce242653f50f0987ffc596706c264b755daf527"><code>feat: support opt-in `tsconfigPaths` (#427)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c49c54e42e0863fffe25164b50983aebe635a4d2"><code>chore: init agents.md</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/b66bd233c21644c12a2341022a68b2263d2f1ed9"><code>feat: add explicit resource management (using/await using) support (#422)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/a467d31ffccd833947c18e925007c5bba910e0d6"><code>perf(interopDefault): add caching to reduce proxy overhead by ~2x (#421)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/fe264b49f1d89a8a8f30facc82fc182210f52186"><code>fix(ci): skip `--coverage` flag for node 18</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/058d91a338fb3062064db745c9b2cc2335773138"><code>chore: lint</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/650bc48a760e7aabefdbad79ad6a9f79f23578df"><code>chore: add missing prettier dep</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/e28b5e9645b0502dd88dfb17e9a422740faa59e1"><code>chore(deps): update autofix-ci/action digest to 7a166d7 (#424)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/31096aa9e2d689a0b33e26a24304a9f5e8e38da9"><code>chore(deps): update actions/checkout action to v6 (#419)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/498e8d73a46e1624285662a9c43e1f05a534a34a"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/9ee314fd0f5cb68d3c9db2987c5ffd91e250b93f"><code>test: update</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/3a744ca27125e1332179692b0ef14b9da4097a4e"><code>test: ignore jsx test for bun/cjs</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/e88ac44079e3839791c01f12342be385c87ba993"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/4045c7a2a2fc49566124f32e1c4597f995f1e22f"><code>chore: fix lint issues</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/39e86de57c1c866ff4568c17eb625afb325fbdec"><code>chore(deps): update actions/setup-node action to v6 (#411)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/ddb4683d374ec18e396ab42f180ca21c7147b17b"><code>fix(require): passthrough resolve options (#412)</code></a></li> </ul> </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> |
||
|
|
588bd7371f | 4.3.0 (#20023) | ||
|
|
12eb5ae7b6 |
Cleanup noisy test output (#20015)
This PR cleans up the noisy test output where some `console.warn` messages were leaking into the test output. This also uses the `src/` files instead of the `dist/` files of `@tailwindcss/node` to get rid of a source map related warning in tests. It also means that we don't have to rebuild `@tailwindcss/node` when we make changes. ## Test plan 1. Existing tests pass 2. Output is clean when running tests (`vitest run --reporter=minimal`) Before: <img width="1193" height="1376" alt="image" src="https://github.com/user-attachments/assets/9aceab62-cd99-4391-9734-0ae5c4c3fb48" /> After: <img width="1099" height="294" alt="image" src="https://github.com/user-attachments/assets/3ada4a0a-8a7a-48a7-9fbd-f3d5dd8700a5" /> |
||
|
|
4b5d6a5943 |
Update enhanced-resolve 5.20.1 → 5.21.0 (minor) (#19998)
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? #### ✳️ enhanced-resolve (5.20.1 → 5.21.0) · [Repo](https://github.com/webpack/enhanced-resolve) · [Changelog](https://github.com/webpack/enhanced-resolve/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.21.0">5.21.0</a></h4> <blockquote><h3 dir="auto">Minor Changes</h3> <ul dir="auto"> <li> <p dir="auto">Added promise API and support to resolve without <code class="notranslate">context</code> and <code class="notranslate">resolveContext</code>. (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/520">#520</a>)</p> </li> <li> <p dir="auto">Add <code class="notranslate">extensionAliasForExports</code> option. When <code class="notranslate">true</code>, <code class="notranslate">extensionAlias</code> also applies to paths resolved through the <code class="notranslate">package.json</code> <code class="notranslate">exports</code> field. Off by default to match Node.js; opt in for full TypeScript-resolver parity with packages that ship <code class="notranslate">.ts</code> sources alongside the compiled <code class="notranslate">.js</code> they declare in <code class="notranslate">exports</code>. (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/554">#554</a>)</p> </li> </ul> <h3 dir="auto">Patch Changes</h3> <ul dir="auto"> <li> <p dir="auto">Properly handle DOS device paths (<code class="notranslate">\\?\…</code> and <code class="notranslate">\\.\…</code>). (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/551">#551</a>)</p> </li> <li> <p dir="auto">Prevent fallback to parent node_modules when the <code class="notranslate">exports</code> field target file is not found. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/495">#495</a>)</p> </li> <li> <p dir="auto">Imports field spec deviation: non-relative targets (e.g. <code class="notranslate">"#a": "#b"</code>) no longer re-enter imports resolution, aligning with the Node.js ESM spec where <code class="notranslate">PACKAGE_IMPORTS_RESOLVE</code> does not recursively resolve <code class="notranslate">#</code> specifiers. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/503">#503</a>)</p> <p dir="auto">Previously <code class="notranslate">{ "#a": "#b", "#b": "./the.js" }</code> would chain-resolve <code class="notranslate">#a</code> to <code class="notranslate">./the.js</code>; now it correctly fails, matching Node.js behavior.</p> </li> <li> <p dir="auto">Move <code class="notranslate">cachedJoin</code>/<code class="notranslate">cachedDirname</code>/<code class="notranslate">createCachedBasename</code> caches from module-level globals to per-Resolver instances. This prevents unbounded memory growth in long-running processes — when a Resolver is garbage collected, its join/dirname/basename caches are released with it. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/507">#507</a>)</p> </li> <li> <p dir="auto">Fixed when <code class="notranslate">tsconfig: true</code> is used (default config file) and no <code class="notranslate">tsconfig.json</code> exists. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/502">#502</a>)</p> </li> <li> <p dir="auto">Apply the <code class="notranslate">extensionAlias</code> option to the <code class="notranslate">imports</code> field to be align with typescript resolution. (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/549">#549</a>)</p> </li> <li> <p dir="auto">Improved performance of the many plugins. (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/529">#529</a>)</p> </li> <li> <p dir="auto">Replace the <code class="notranslate">Set<string></code>-based resolver stack with a singly-linked <code class="notranslate">StackEntry</code> class that exposes a Set-compatible API. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/526">#526</a>)</p> <p dir="auto">Each <code class="notranslate">doResolve</code> call now prepends a single linked-list node instead of cloning the entire Set, making stack push O(1) in time and memory. Recursion detection walks the linked list (O(n)), but because the stack is typically shallow this is much cheaper than cloning a Set per call.</p> </li> <li> <p dir="auto">Cache the result of <code class="notranslate">stripJsonComments</code> + <code class="notranslate">JSON.parse</code> in <code class="notranslate">readJson</code> using a <code class="notranslate">WeakMap</code> keyed by the raw file buffer. This avoids redundant comment-stripping and JSON parsing on every resolve call that reads tsconfig.json files (via <code class="notranslate">stripComments: true</code>), improving TsconfigPathsPlugin warm performance by ~20-35% depending on the depth of the <code class="notranslate">extends</code> chain. (by <a href="https://bounce.depfu.com/github.com/xiaoxiaojx">@xiaoxiaojx</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/524">#524</a>)</p> </li> <li> <p dir="auto">Avoid OOM in CachedInputFileSystem when duration is Infinity. (by <a href="https://bounce.depfu.com/github.com/alexander-akait">@alexander-akait</a> in <a href="https://bounce.depfu.com/github.com/webpack/enhanced-resolve/pull/527">#527</a>)</p> </li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/enhanced-resolve/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/webpack/enhanced-resolve/compare/ebc67d38969e8abe6789a51968380fa721fea778...35035ca158f1c8ada86fcf1653f319cbce669200">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> |
||
|
|
3a890c3572 |
Bump dependencies (#19957)
This PR bumps dependencies in all the packages, typically just bumping to the latest patch release. Closes: #19936 Closes: #19917 Closes: #19899 Closes: #19897 Closes: #19845 Closes: #19832 Closes: #19967 Closes: #19968 ## Test plan 1. All tests still pass 2. All integration tests still pass [ci-all] to verify Linux, Windows and macOS |
||
|
|
69ad7cc5ec | 4.2.4 (#19948) | ||
|
|
2e3fa490a5 | 4.2.3 (#19944) | ||
|
|
d596b0c43d | 4.2.2 (#19821) | ||
|
|
1dce64ee7e | 4.2.1 (#19714) | ||
|
|
1b16411919 |
4.2.0 (#19695)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
d9c4cd8c7c |
Update enhanced-resolve 5.18.4 → 5.19.0 (minor) (#19658)
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? #### ✳️ enhanced-resolve (5.18.4 → 5.19.0) · [Repo](https://github.com/webpack/enhanced-resolve) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.19.0">5.19.0</a></h4> <blockquote><h3 dir="auto">Features</h3> <ul dir="auto"> <li>Added TsconfigPathsPlugin (replacement for <code class="notranslate">tsconfig-paths-webpack-plugin</code>) .</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/enhanced-resolve/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/webpack/enhanced-resolve/compare/e8a6ac9fdd88d579e20f4c487d6081d8e7b3093f...24ba2335540a77c9b019d66d28f995324866a718">See the full diff on Github</a>. The new version differs by 4 commits:</p> <ul> <li><a href="https://github.com/webpack/enhanced-resolve/commit/24ba2335540a77c9b019d66d28f995324866a718"><code>chore(release): 5.19.0</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/10dc3bc8b8734ab644d91abd979bc8ee4ad64532"><code>chore: update eslint config webpack (#471)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/0d6c6c0fd9a156843d5d8e0cafa71450c1ee9e0a"><code>feat: added TsconfigPathsPlugin (replacement for tsconfig-paths-webpack-plugin) (#463)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/958aa8921909f2a2662ae09f239a0f96b9b32c2d"><code>chore: migrate to npm from yarn (#469)</code></a></li> </ul> </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> |
||
|
|
1638f35c3a |
Bump dependencies (#19608)
This PR bumps a bunch of dependencies. This also moves a few dependencies that we use in multiple packages to the pnpm catalog. Closes: #19603, #19604, #19576, #19575, #19573, #19565, #19547, #19546, #19545, #19609, #19581, #19620, #19619 - #19603 - #19604 - #19576 - #19575 - #19573 - #19565 - #19547 - #19546 - #19545 - #19609 - #19581 - https://github.com/tailwindlabs/tailwindcss/pull/19620 - #19620 - #19619 ## Test Plan All tests in CI should still pass. [ci-all] |
||
|
|
d6ad8dddcf |
Update enhanced-resolve 5.18.3 → 5.18.4 (patch) (#19462)
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? #### ✳️ enhanced-resolve (5.18.3 → 5.18.4) · [Repo](https://github.com/webpack/enhanced-resolve) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.18.4">5.18.4</a></h4> <blockquote><h3 dir="auto">Fixes</h3> <ul dir="auto"> <li>Allow subpath imports that start with <code class="notranslate">#/</code> </li> <li>Handle <code class="notranslate">file:</code> schema</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/enhanced-resolve/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/webpack/enhanced-resolve/compare/52b61d0f0318318a6e5b3e8c905c887824f9303a...e8a6ac9fdd88d579e20f4c487d6081d8e7b3093f">See the full diff on Github</a>. The new version differs by 6 commits:</p> <ul> <li><a href="https://github.com/webpack/enhanced-resolve/commit/e8a6ac9fdd88d579e20f4c487d6081d8e7b3093f"><code>chore(release): 5.18.4</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/b953768580163f410c3893870f34c3e88c11ada6"><code>fix: support `file:` schema (#467)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/6ff935b23610868febd0bba7082607ee9085dbe2"><code>fix: allow subpath imports that start with `#/` (#468)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/79e2961c600527dee81c8ad0fb804529b1d36757"><code>fix(AliasPlugin): correct wildcard replacement in multi-target aliases (#465)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/b8af8130f0c0a4284861893e18dc12c8af319ca2"><code>fix: fix always-false condition (#464)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/f1bc1c2b0b9d72df7b1eddc099266a65368332f6"><code>fix: note the conditions under which the request couldn't be found (#460)</code></a></li> </ul> </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> |
||
|
|
9b32f7cb2f | Release v4.1.18 (#19431) | ||
|
|
e9c9c4f79d | Release v4.1.17 (#19272) | ||
|
|
e71e70eda9 |
Update magic-string 0.30.19 → 0.30.21 (minor) (#19238)
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? #### ✳️ magic-string (0.30.19 → 0.30.21) · [Repo](https://github.com/rich-harris/magic-string) · [Changelog](https://github.com/Rich-Harris/magic-string/blob/master/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/Rich-Harris/magic-string/releases/tag/v0.30.21">0.30.21</a></h4> <blockquote><p dir="auto"><em>No significant changes</em></p> <h5 dir="auto"> <a href="https://bounce.depfu.com/github.com/Rich-Harris/magic-string/compare/v0.30.20...v0.30.21">View changes on GitHub</a> </h5></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/magic-string/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/rich-harris/magic-string/compare/bdef7d5ab5087f279d999a9c148f0c5c3a64259e...410fd4d080d8bf0b5be900c16c8ba11276fd8749">See the full diff on Github</a>. The new version differs by 7 commits:</p> <ul> <li><a href="https://github.com/Rich-Harris/magic-string/commit/410fd4d080d8bf0b5be900c16c8ba11276fd8749"><code>chore: release v0.30.21</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/5c1800935d7d572d57bf5ae70f0d452661fa6ee9"><code>chore: update repository url</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/97ea74d842ae8b942289c672150b0609ee99f762"><code>chore: release v0.30.20</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/3f6b5eb3fbefbcbeb1298c068f50c7445becbe7d"><code>chore: update deps</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/60177d51ed3bb11dc5ab2019b176e35c5b490cd2"><code>ci: setup OIDC</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/fbcf5d7e59c232016ac98025b044e2772fcfeeb2"><code>chore: create release.yml</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/cde8c33ef5ef05dec95dadd817609e5de95d159b"><code>chore: update readme (#305)</code></a></li> </ul> </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> |
||
|
|
cbbbe84475 | Release 4.1.16 (#19185) | ||
|
|
a6a7e4cbaf |
Update jiti 2.6.0 → 2.6.1 (patch) (#19160)
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? #### ✳️ jiti (2.6.0 → 2.6.1) · [Repo](https://github.com/unjs/jiti) · [Changelog](https://github.com/unjs/jiti/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/unjs/jiti/releases/tag/v2.6.1">2.6.1</a></h4> <blockquote><p dir="auto"><a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.6.0...v2.6.1">compare changes</a></p> <h3 dir="auto">🩹 Fixes</h3> <ul dir="auto"> <li> <strong>interop:</strong> Only passthrough default if it is not a promise (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/408">#408</a>)</li> </ul> <h3 dir="auto">📦 Build</h3> <ul dir="auto"> <li>Revert to <code class="notranslate">terser-webpack-plugin</code> (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/407">#407</a>)</li> </ul> <h3 dir="auto">❤️ Contributors</h3> <ul dir="auto"> <li>Kricsleo (<a href="https://bounce.depfu.com/github.com/kricsleo">@kricsleo</a>)</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/jiti/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/unjs/jiti/compare/82919cff8b7a37109b07bf0fcc24a6289976de4d...aedcdee7fed09dfd1cb7945daff64a6e41004f09">See the full diff on Github</a>. The new version differs by 6 commits:</p> <ul> <li><a href="https://github.com/unjs/jiti/commit/aedcdee7fed09dfd1cb7945daff64a6e41004f09"><code>chore(release): v2.6.1</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/8b4149748167179c2a508d2569e88416a9122486"><code>chore: remove unused code</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/974ca4008aba0213ffb41d32ef317f92dd3d1be9"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/e84069242785f95b3da6615b270ad24183892b2d"><code>build: revert to `terser-webpack-plugin` (#407)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/092cdd995288abe5f770db68a6659fe3edff3745"><code>fix(interop): only passthrough default if it is not a promise (#408)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/037c646c80b34eb0044e466f61826375257f7128"><code>chore: update bench</code></a></li> </ul> </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> |
||
|
|
b2e2435ccb | Release 4.1.15 (#19159) | ||
|
|
b67cbcf6cc |
Prepare v4.1.14 release (#19037)
Co-authored-by: Robin Malfait <malfait.robin@gmail.com> |
||
|
|
f6bb72cf46 |
Update jiti 2.5.1 → 2.6.0 (minor) (#19029)
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? #### ✳️ jiti (2.5.1 → 2.6.0) · [Repo](https://github.com/unjs/jiti) · [Changelog](https://github.com/unjs/jiti/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/unjs/jiti/releases/tag/v2.6.0">2.6.0</a></h4> <blockquote><p dir="auto"><a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.5.1...v2.6.0">compare changes</a></p> <h3 dir="auto">🌟 What is new?</h3> <p dir="auto">This release fixes minor issues, migrates to Rspack for dist, and lazily imports the Babel transformer only when needed, which should noticeably improve startup times.</p> <ul dir="auto"> <li>Install size reduced from <code class="notranslate">2.03MB</code> to <code class="notranslate">1.67MB</code> </li> <li>Loading times improved <code class="notranslate">150ms</code> => <code class="notranslate">22ms</code> (full transform: <code class="notranslate">180ms</code> => <code class="notranslate">115ms</code>)</li> </ul> <h3 dir="auto">🔥 Performance</h3> <ul dir="auto"> <li>Lazy load transformer (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/405">#405</a>)</li> </ul> <h3 dir="auto">🩹 Fixes</h3> <ul dir="auto"> <li> <strong>cjs-interop:</strong> Handle function default exports (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/396">#396</a>)</li> <li>Always use native require/import for <code class="notranslate">node:</code> specifiers (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/392">#392</a>)</li> </ul> <h3 dir="auto">📦 Build</h3> <ul dir="auto"> <li>Migrate to rspack (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/404">#404</a>)</li> <li>Updated bundled dependencies (<a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.5.1...v2.6.0#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519">diff</a>)</li> </ul> <h3 dir="auto">✅ Tests</h3> <ul dir="auto"> <li>Update deno and bun native test coverage (<a href="https://bounce.depfu.com/github.com/unjs/jiti/commit/df844f8">df844f8</a>)</li> </ul> <h3 dir="auto">❤️ Contributors</h3> <ul dir="auto"> <li>Pooya Parsa (<a href="https://bounce.depfu.com/github.com/pi0">@pi0</a>)</li> <li>Volodymyr Kolesnykov (<a href="https://bounce.depfu.com/github.com/sjinks">@sjinks</a>)</li> <li>Jungwoo LEE (<a href="https://bounce.depfu.com/github.com/jungwoo3490">@jungwoo3490</a>)</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/jiti/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/unjs/jiti/compare/61fa80358bc71708daf104c1205315d8e5867e4b...82919cff8b7a37109b07bf0fcc24a6289976de4d">See the full diff on Github</a>. The new version differs by 11 commits:</p> <ul> <li><a href="https://github.com/unjs/jiti/commit/82919cff8b7a37109b07bf0fcc24a6289976de4d"><code>chore(release): v2.6.0</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c48a5d5d55628786268386e5efc1cf0175d4e952"><code>perf: lazy load babel transform (#405)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c3f6ff4fcb420d94e488d7b8f85cac63ed0ffbe6"><code>fix: always use native for `node:` specifiers (#392)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/7aa365b8132349a3946a1ab8720a06339ccd7e92"><code>fix(cjs-interop): handle function default exports (#396)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/f9d67d2d89a9f6dfe2aff8bdbee97b160b6a2887"><code>build: migrate to rspack (#404)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/64044278c6e46ebfca4bb9bc8315f4d043bea9c0"><code>test: new bench script</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/df844f8868500527f8cc46c1093147021c7b0a36"><code>test: update deno and bun native test ignores</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/5123334eb2856bf3c758fbbf583f13f2f3488915"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/cdb86cbeeb1f9abbce89c868172601659ad36a9c"><code>chore(deps): update all non-major dependencies (#393)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/e615852fb0f906d611dbcef8309cd3feb5bb9eec"><code>chore(deps): update actions/checkout action to v5 (#394)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/d2d9aebb8c2685b65bb2eb8c01559d614e1e5a79"><code>chore(deps): update actions/setup-node action to v5 (#399)</code></a></li> </ul> </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> |
||
|
|
cc8fefc154 | Update magic-string to version 0.30.19 | ||
|
|
9a5bae2038 |
Revert "Update all pnpm dependencies (2025-09-20) (#18971)"
This reverts commit
|
||
|
|
42eadfd1ee |
Update all pnpm dependencies (2025-09-20) (#18971)
This is your weekly update of **all** pnpm dependencies. Please take a good look at what changed and the test results before merging this pull request. ### What changed? ✳️ eslint (9.33.0 → 9.35.0, minor) · [Repo](https://github.com/eslint/eslint) · [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) · [Release](https://github.com/eslint/eslint/releases/tag/v9.35.0) · [Diff](https://github.com/eslint/eslint/compare/a90d7c4fe5ef83054e29d21d7ffb442103429d03...8401101d1e3e3e4e1edc2a9e59cafc9956bf2610) ✳️ eslint-config-next (15.4.7 → 15.5.2, minor) ✳️ magic-string (0.30.18 → 0.30.19, minor) · [Repo](https://github.com/rich-harris/magic-string) · [Changelog](https://github.com/Rich-Harris/magic-string/blob/master/CHANGELOG.md) · [Diff](https://github.com/rich-harris/magic-string/compare/0005025c1849f294b3978547e4cb46f2869c9864...bdef7d5ab5087f279d999a9c148f0c5c3a64259e) ✳️ @types/bun (1.2.20 → 1.2.21, patch) · [Repo](https://github.com/DefinitelyTyped/DefinitelyTyped) ✳️ @types/react (19.1.9 → 19.1.13, patch) · [Repo](https://github.com/DefinitelyTyped/DefinitelyTyped) ✳️ @types/react-dom (19.1.7 → 19.1.9, patch) · [Repo](https://github.com/DefinitelyTyped/DefinitelyTyped) ✳️ @types/semver (7.7.0 → 7.7.1, patch) · [Repo](https://github.com/DefinitelyTyped/DefinitelyTyped) ✳️ @vitejs/plugin-react (5.0.0 → 5.0.2, patch) · [Repo](https://github.com/vitejs/vite-plugin-react) · [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) ✳️ bun (1.2.20 → 1.2.21, patch) · [Repo](https://github.com/oven-sh/bun) ✳️ turbo (2.5.4 → 2.5.6, patch) · [Repo](https://github.com/turborepo/turbo) ---  [Depfu](https://depfu.com) will only send you the next scheduled PR once you merge or close this one. <details><summary>All Depfu comment commands</summary> <blockquote><dl> <dt>@depfu refresh</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> </dl></blockquote> </details> Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> |
||
|
|
1334c99db8 | Prepare v4.1.13 release (#18868) | ||
|
|
1602e7866d |
Update magic-string 0.30.17 → 0.30.18 (minor) (#18821)
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? #### ✳️ magic-string (0.30.17 → 0.30.18) · [Repo](https://github.com/rich-harris/magic-string) · [Changelog](https://github.com/Rich-Harris/magic-string/blob/master/CHANGELOG.md) <details> <summary>Commits</summary> <p><a href="https://github.com/rich-harris/magic-string/compare/5ce04aa19d1f0328711945c895d2519f4c9ba9bd...0005025c1849f294b3978547e4cb46f2869c9864">See the full diff on Github</a>. The new version differs by 5 commits:</p> <ul> <li><a href="https://github.com/Rich-Harris/magic-string/commit/0005025c1849f294b3978547e4cb46f2869c9864"><code>chore: release v0.30.18</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/376bafcb30c284a533977f1dd3edef85d6d03365"><code>chore: update package.json meta</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/e59c925eb8aaa1c6655854520a56accfa9fb5146"><code>chore: update deps</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/0fd6253e3ef1912ae81ccc35d85ab32275715d5b"><code>fix: prevent infinite loop on empty input (#302)</code></a></li> <li><a href="https://github.com/Rich-Harris/magic-string/commit/a8ee7b79c0a7a9ade1585c73fff1ec7152940334"><code>chore: update eslint config</code></a></li> </ul> </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> |
||
|
|
6791e8133c |
Prepare v4.1.12 release (#18728)
Co-authored-by: Jordan Pittman <thecrypticace@gmail.com> Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
42d2433ab8 |
Update enhanced-resolve 5.18.2 → 5.18.3 (patch) (#18726)
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? #### ✳️ enhanced-resolve (5.18.2 → 5.18.3) · [Repo](https://github.com/webpack/enhanced-resolve) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.18.3">5.18.3</a></h4> <blockquote><h3 dir="auto">Fixes</h3> <ul dir="auto"> <li>Fixed nonsensible intersection in types</li> </ul> <h3 dir="auto">Performance</h3> <ul dir="auto"> <li>Decreased initial loading time</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/enhanced-resolve/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/webpack/enhanced-resolve/compare/0bf45033f4cb12e034819c4e420ca12965619fc8...52b61d0f0318318a6e5b3e8c905c887824f9303a">See the full diff on Github</a>. The new version differs by 5 commits:</p> <ul> <li><a href="https://github.com/webpack/enhanced-resolve/commit/52b61d0f0318318a6e5b3e8c905c887824f9303a"><code>chore(release): 5.18.3</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/ec38ca98517a1eaac259a67e2d31ebd8695f4c65"><code>perf: decrease initial loading time (#458)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/5f74295eacf02b2c5296cff577c6a8fbd5bcb2c2"><code>refactor: update eslint config (#457)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/86ff2125e929a28e95b08e9b902f9da0ce941a7b"><code>fix(types): fix nonsensible intersection</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/367d0f65e6f76df763c9d04ff0fe38fcc168ddc0"><code>chore(deps): bump form-data from 3.0.3 to 3.0.4 (#455)</code></a></li> </ul> </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> |
||
|
|
8e8a2d6efc |
update @ampproject/remapping to @jridgewell/remapping (#18716)
Even though [`@ampproject/remapping`](https://npm.im/@ampproject/remapping) isn't deprecated on npm (yet), it's [repo](https://github.com/ampproject/remapping) is archived, so people should move to [`@jridgewell/remapping`](https://npm.im/@jridgewell/remapping) > Development moved to [monorepo](https://github.com/jridgewell/sourcemaps) > See https://github.com/jridgewell/sourcemaps/tree/main/packages/remapping for latest code. --------- Co-authored-by: Jordan Pittman <jordan@cryptica.me> |
||
|
|
7010a9b79b |
Update jiti 2.4.2 → 2.5.1 (minor) (#18651)
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? #### ✳️ jiti (2.4.2 → 2.5.1) · [Repo](https://github.com/unjs/jiti) · [Changelog](https://github.com/unjs/jiti/blob/main/CHANGELOG.md) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/unjs/jiti/releases/tag/v2.5.1">2.5.1</a></h4> <blockquote><p dir="auto"><a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.5.0...v2.5.1">compare changes</a></p> <h3 dir="auto">🩹 Fixes</h3> <ul dir="auto"> <li> <strong>interop:</strong> Passthrough module if it is a promise (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/389">#389</a>)</li> </ul></blockquote> <h4><a href="https://github.com/unjs/jiti/releases/tag/v2.5.0">2.5.0</a></h4> <blockquote><p dir="auto"><a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.4.2...v2.5.0">compare changes</a></p> <h3 dir="auto">🚀 Enhancements</h3> <ul dir="auto"> <li>Use <code class="notranslate">sha256</code> for cache entries in FIPS mode (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/375">#375</a>)</li> <li>Support <code class="notranslate">rebuildFsCache</code> ( <code class="notranslate">JITI_REBUILD_FS_CACHE</code>) (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/379">#379</a>)</li> </ul> <h3 dir="auto">🩹 Fixes</h3> <ul dir="auto"> <li>Interop modules with null/undefined default export (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/377">#377</a>)</li> <li>Handle <code class="notranslate">require(<json>)</code> in register mode (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/374">#374</a>)</li> </ul> <h3 dir="auto">📦 Dependencies</h3> <ul dir="auto"> <li>Updated bundled dependencies (<a href="https://bounce.depfu.com/github.com/unjs/jiti/compare/v2.4.2...v2.5.0">compare changes</a>)</li> </ul> <h3 dir="auto">📖 Docs</h3> <ul dir="auto"> <li>Add defaults in JSDocs (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/365">#365</a>)</li> </ul> <h3 dir="auto">✅ Tests</h3> <ul dir="auto"> <li>Only include src for coverage report (<a href="https://bounce.depfu.com/github.com/unjs/jiti/pull/372">#372</a>)</li> </ul> <h3 dir="auto">❤️ Contributors</h3> <ul dir="auto"> <li>Kricsleo (<a href="https://bounce.depfu.com/github.com/kricsleo">@kricsleo</a>) 🌟</li> <li>Pooya Parsa (<a href="https://bounce.depfu.com/github.com/pi0">@pi0</a>)</li> <li>Kanon (<a href="https://bounce.depfu.com/github.com/ysknsid25">@ysknsid25</a>)</li> <li>Arya Emami (<a href="https://bounce.depfu.com/github.com/aryaemami59">@aryaemami59</a>)</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/jiti/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/unjs/jiti/compare/340e2a733c35df66c85667ef254eab672f5de210...61fa80358bc71708daf104c1205315d8e5867e4b">See the full diff on Github</a>. The new version differs by 17 commits:</p> <ul> <li><a href="https://github.com/unjs/jiti/commit/61fa80358bc71708daf104c1205315d8e5867e4b"><code>chore(release): v2.5.1</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/ad268df55b9d5df4d365b3bf5c9607b4e12dd34a"><code>fix(interop): passthrough module if it is a promise (#389)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/62eac09b1566e05b87039b5954b344c50fe9da36"><code>chore(release): v2.5.0</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/54461d60611c55074a1f799f99224e24f557eb84"><code>fix(register): handle `require(<json>)` (#374)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/ea2340d1d092c72daec57c48f0fb98ec93ab2bdd"><code>fix: interop modules with nil default export (#377)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/2e5a282f4c67a2fd2050d849e7f844d5e4c9bb21"><code>feat: `rebuildFsCache` ( `JITI_REBUILD_FS_CACHE`) (#379)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/63e907fe3545afe1d376ecce80e5f49f387e1821"><code>feat: use `sha256` for cache entries in fips mode (#375)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c567a37af6ccdcd18389ddf1ac121bfdc2aa2149"><code>chore: update snapshot</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/fb2da1965405e9c52750726761f6b2bfa36ff3ae"><code>test: only include src for coverage report (#372)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c9fb9fc0206a2cd7fcc8eaf91328f8d9dd3f3c8f"><code>chore(deps): update autofix-ci/action digest to 635ffb0 (#385)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/dde7c823fae4213ecfb3e35b70a02c05e166ce81"><code>chore: lint</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/35a6a618609f967df3e5e05b295efa462f291206"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/b396aec45847a32677417ea9dfc78098b6d45c23"><code>chore: add defaults in JSDocs (#365)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/aa541a64ae86b41fb4a17fdba26a2cebb6395d4d"><code>chore(deps): update autofix-ci/action digest to 551dded (#358)</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/fb2b903cc2673652a1bccf6c9b7b9c520c9bf165"><code>chore: update deps</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/c7cfeedbd2326976857bcd62726d73401d25dc03"><code>test: update snapshot</code></a></li> <li><a href="https://github.com/unjs/jiti/commit/6b7fe8b7e6f60f60c26837fadd6288ce2e047b5d"><code>chore: update ci</code></a></li> </ul> </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> |
||
|
|
f307c31d45 |
Update enhanced-resolve 5.18.1 → 5.18.2 (patch) (#18423)
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? #### ✳️ enhanced-resolve (5.18.1 → 5.18.2) · [Repo](https://github.com/webpack/enhanced-resolve) <details> <summary>Release Notes</summary> <h4><a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.18.2">5.18.2</a></h4> <blockquote><h3 dir="auto">Fixes</h3> <ul dir="auto"> <li>[Types] FileSystem type</li> </ul></blockquote> <p><em>Does any of this look wrong? <a href="https://depfu.com/packages/npm/enhanced-resolve/feedback">Please let us know.</a></em></p> </details> <details> <summary>Commits</summary> <p><a href="https://github.com/webpack/enhanced-resolve/compare/9436f4d6d930f98b7dbdc7f142ddc5a323512cb6...0bf45033f4cb12e034819c4e420ca12965619fc8">See the full diff on Github</a>. The new version differs by 14 commits:</p> <ul> <li><a href="https://github.com/webpack/enhanced-resolve/commit/0bf45033f4cb12e034819c4e420ca12965619fc8"><code>chore(release): 5.18.2</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/b2441769bd0dbc0c28bb794ba0f0306776acb28b"><code>fix: types</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/775f2fb8edc31c076920a43d41f9ade05777f16c"><code>chore: migrate to eslint-config-webpack (#453)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/6df312e9a637b24eca83f36fa69a68db61b57ce9"><code>chore: fix tsconfig (#452)</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/b059bff8ce787252a4d087c8246ed7015682e782"><code>ci: show report</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/c974464f46408d271ab0830628309cd223044c7d"><code>chore: fix</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/29f9405129d41431a226ff1dfd994970674fe48e"><code>chore: fix small stuff</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/01a04fd898c10e91022cb6927f5c063234cc69fe"><code>chore: refactor dev env</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/66a745681a4459ccf0bcb0e47e6b447168dd0646"><code>ci: show report</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/3bf44c7a6ec42de6e0a52642321b71792b4a9e99"><code>ci: node v24</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/bbbf6ab5b06a4b4f74fd40daefc6b312dfacf369"><code>ci: node v24</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/38e9fd9acb79643a70e7bcd0d85dabc600ea321f"><code>feat: export `SyncFileSystem` and `BaseFileSystem` types</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/3c9d4b6d511c9aa684755657aebe63a2bd7c6a08"><code>chore: fix generation</code></a></li> <li><a href="https://github.com/webpack/enhanced-resolve/commit/4918c5b3a4b36d461b7dd34b86da0c63cc714228"><code>feat: export type SyncFileSystem and type BaseFileSystem</code></a></li> </ul> </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> |
||
|
|
b24457a9f4 | Prepare 4.1.11 (#18397) | ||
|
|
d06bbb80da | Prepare v4.1.10 (#18290) | ||
|
|
b88371a309 |
Prepare v4.1.9 (#18285)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
193eb84f6c |
Release v4.1.8 (#18164)
Co-authored-by: Jordan Pittman <jordan@cryptica.me> |
||
|
|
74e084ad27 |
Prepare v4.1.7 release (#18040)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
2d139984da |
Prepare v4.1.6 release (#17951)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
56b22bb1d3 |
Add support for source maps (#17775)
Closes #13694 Closes #13591 # Source Maps Support for Tailwind CSS This PR adds support for source maps to Tailwind CSS v4 allowing us to track where styles come from whether that be user CSS, imported stylesheets, or generated utilities. This will improve debuggability in browser dev tools and gives us a good foundation for producing better error messages. I'll go over the details on how end users can enable source maps, any limitations in our implementation, changes to the internal `compile(…)` API, and some details and reasoning around the implementation we chose. ## Usage ### CLI Source maps can be enabled in the CLI by using the command line argument `--map` which will generate an inline source map comment at the bottom of your CSS. A separate file may be generated by passing a file name to `--map`: ```bash # Generates an inline source map npx tailwindcss -i input.css -o output.css --map # Generates a separate source map file npx tailwindcss -i input.css -o output.css --map output.css.map ``` ### PostCSS Source maps are supported when using Tailwind as a PostCSS plugin *in development mode only*. They may or may not be enabled by default depending on your build tool. If they are not you may be able to configure them within your PostCSS config: ```jsonc // package.json { // … "postcss": { "map": { "inline": true }, "plugins": { "@tailwindcss/postcss": {}, }, } } ``` ### Vite Source maps are supported when using the Tailwind CSS Vite plugin in *development mode only* by enabling the `css.devSourcemap` setting: ```js import tailwindcss from "@tailwindcss/vite"; import { defineConfig } from "vite"; export default defineConfig({ plugins: [tailwindcss()], css: { devSourcemap: true, }, }) ``` Now when a CSS file is requested by the browser it'll have an inline source map comment that the browser can use. ## Limitations - Production build source maps are currently disabled due to a bug in Lightning CSS. See https://github.com/parcel-bundler/lightningcss/pull/971 for more details. - In Vite, minified CSS build source maps are not supported at all. See https://github.com/vitejs/vite/issues/2830 for more details. - In PostCSS, minified CSS source maps are not supported. This is due to the complexity required around re-associating every AST node with a location in the generated, optimized CSS. This complexity would also have a non-trivial performance impact. ## Testing Here's how to test the source map functionality in different environments: ### Testing the CLI 1. Setup typical project that the CLI can use and with sources to scan. ```css @import "tailwindcss"; @utilty my-custom-utility { color: red; } /* to test `@apply` */ .card { @apply bg-white text-center shadow-md; } ``` 2. Build with source maps: ```bash bun /path/to/tailwindcss/packages/@tailwindcss-cli/src/index.ts --input input.css -o output.css --map ``` 3. Open Chrome DevTools, inspect an element with utility classes, and you should see rules pointing to `input.css` or `node_modules/tailwindcss/index.css` ### Testing with Vite Testing in Vite will require building and installing necessary files under `dist/*.tgz`. 1. Create a Vite project and enable source maps in `vite.config.js`: ```js import tailwindcss from "@tailwindcss/vite"; import { defineConfig } from "vite"; export default defineConfig({ plugins: [tailwindcss()], css: { // This line is required for them to work devSourcemap: true, }, }) ``` 2. Add a component that uses Tailwind classes and custom CSS: ```jsx // ./src/app.jsx export default function App() { return ( <div className="bg-blue-500 my-custom-class"> Hello World </div> ) } ``` ```css /* ./src/styles.css */ @import "tailwindcss"; @utilty my-custom-utility { color: red; } /* to test `@apply` */ .card { @apply bg-white text-center shadow-md; } ``` 3. Run `npm run dev`, open DevTools, and inspect elements to verify source mapping works for both utility classes and custom CSS. ### Testing with PostCSS CLI 1. Create a test file and update your PostCSS config: ```css /* input.css */ @import "tailwindcss"; @layer components { .card { @apply p-6 rounded-lg shadow-lg; } } ``` ```jsonc // package.json { // … "postcss": { "map": { "inline": true }, "plugins": { "/path/to/tailwindcss/packages/packages/@tailwindcss-postcss/src/index.ts": {} } } } ``` 2. Run PostCSS through Bun: ```bash bunx --bun postcss ./src/index.css -o out.css ``` 3. Inspect the output CSS - it should include an inline source map comment at the bottom. ### Testing with PostCSS + Next.js Testing in Next.js will require building and installing necessary files under `dist/*.tgz`. However, I've not been able to get CSS source maps to work in Next.js without this hack: ```js const nextConfig: NextConfig = { // next.js overwrites config.devtool so we prevent it from doing so // please don't actually do this… webpack: (config) => Object.defineProperty(config, "devtool", { get: () => "inline-source-map", set: () => {}, }), }; ``` This is definitely not supported and also doesn't work with turbopack. This can be used to test them temporarily but I suspect that they just don't work there. ### Manual source map analysis You can analyze source maps using Evan Wallace's [Source Map Visualization](https://evanw.github.io/source-map-visualization/) tool which will help to verify the accuracy and quality of source maps. This is what I used extensively while developing this implementation. It'll help verify that custom, user CSS maps back to itself in the input, that generated utilities all map back to `@tailwind utilities;`, that source locations from imported files are also handled correctly, etc… It also highlights the ranges of stuff so it's easy to see if there are off-by-one errors. It's easiest to use inline source maps with this tool because you can take the CSS file and drop it on the page and it'll analyze it while showing the file content. If you're using Vite you'll want to access the CSS file with `?direct` at the end so you don't get a JS module back. ## Implementation The source map implementation follows the ECMA-426 specification and includes several key components to aid in that goal: ### Source Location Tracking Each emittable AST node in the compilation pipeline tracks two types of source locations: - `src`: Original source location - [source file, start offset, end offset] - `dst`: Generated source location - [output file, start offset, end offset] This dual tracking allows us to maintain mappings between the original source and generated output for things like user CSS, generated utilities, uses of `@apply`, and tracking theme variables. It is important to note that source locations for nodes _never overlap_ within a file which helps simplify source map generation. As such each type of node tracks a specific piece of itself rather than its entire "block": | Node | What a `SourceLocation` represents | | ----------- | ---------------------------------------------------------------- | | Style Rule | The selector | | At Rule | Rule name and params, includes the `@` | | Declaration | Property name and value, excludes the semicolon | | Comment | The entire comment, includes the start `/*` and end `*/` markers | ### Windows line endings when parsing CSS Because our AST tracks nodes through offsets we must ensure that any mutations to the file do *not* change the lenth of the string. We were previously replacing `\r\n` with `\n` (see [filter code points](https://drafts.csswg.org/css-syntax/#css-filter-code-points) from the spec) — which changes the length of the string and all offsets may end up incorrect. The CSS parser was updated to handle the CRLF token directly by skipping over the `\r` and letting remaining code handle `\n` as it did previously. Some additional tweaks were required when "peeking" the input but those changes were fairly small. ### Tracking of imports Source maps need paths to the actual imported stylesheets but the resolve step for stylesheets happens inside the call to `loadStylesheet` which make the file path unavailable to us. Because of this the `loadStylesheet` API was augmented such that it has to return a `path` property that we can then use to identify imported sources. I've also made the same change to the `loadModule` API for consistency but nothing currently uses this property. The `path` property likely makes `base` redundant but elminating that (if we even want to) is a future task. ### Optimizing the AST Our optimization pass may intoduce some nodes, for example, fallbacks we create for `@property`. These nodes are linked back to `@tailwind utilities` as ultimately that is what is responsible for creating them. ### Line Offset Tables A key component to our source map generation is the line offset table, which was inspired by some ESBuild internals. It stores a sorted list of offsets for the start of each line allowing us to translate offsets to line/column `Position`s in `O(log N)` time and from `Position`s to offsets in `O(1)` time. Creation of the table takes `O(N)` time. This means that we can store code point offsets for source locations and not have to worry about computing or tracking line/column numbers during parsing and serialization. Only when a source map is generated do these offsets need to be computed. This ensures the performance penalty when not using source maps is minimal. ### Source Map Generation The source map returned by `buildSourceMap()` is designed to follow the [ECMA-426 spec](https://tc39.es/ecma426). Because that spec is not completely finalized we consider the result of `buildSourceMap()` to be internal API that may change as the spec chamges. The produces source map is a "decoded" map such that all sources and mappings are in an object graph. A library like `source-map-js` must be used to convert this to an encoded source map of the right version where mappings are encoded with base 64 VLQs. Any specific integration (Vite, PostCSS, etc…) can then use `toSourceMap()` from `@tailwindcss/node` to convert from the internal source map to an spec-compliant encoded source map that can be understood by other tools. ### Handling minification in Lightning Since we use Lightning CSS for optimization, and it takes in an input map, we generate an encoded source map that we then pass to lightning. The output source map *from lighting itself* is then passed back in during the second optimization pass. The final map is then passed from lightning to the CLI (but not Vite or PostCSS — see the limitations section for details). In some cases we have to "fix up" the output CSS. When this happens we use `magic-string` to do the replacement in a way that is trackable and `@amppproject/remapping` to map that change back onto the original source map. Once the need for these fix ups disappear these dependencies can go away. Notes: - The accuracy of source maps run though lightning is reduced as it only tracks on a per-rule level. This is sufficient enough for browser dev tools so should be fine. - Source maps during optimization do not function properly at this time because of a bug in Lightning CSS regarding license comments. Once this bug is fixed they will start working as expected. ### How source locations flow through the system 1. During initial CSS parsing, source locations are preserved. 2. During parsing these source locations are also mapped to the destinations which supports an optimization for when no utilities are generated. 3. Throughout the compilation process, transformations maintain source location data 4. Generated utilities are explicitly pointed to `@tailwind utilities` unless generated by `@apply`. 5. When optimization is enabled, source maps are remapped through lightningcss 6. Final source maps are written in the requested format (inline or separate file) |
||
|
|
45cd32eed7 |
Prepare v4.1.5 release (#17830)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
aa836d3442 |
Prepare v4.1.4 release (#17669)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
5a77c9dfc4 |
Prepare v4.1.3 release (#17563)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
4c99367b7b |
Prepare release v4.1.2 (#17530)
Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
6a0a3ec0fa | Prepare release v4.1.1 (#17503) | ||
|
|
8f631d0d8a |
Prepare 4.1.0 release (#17483)
--------- Co-authored-by: Adam Wathan <adam.wathan@gmail.com> |
||
|
|
156afc6d67 |
Improve compatibility with Safari 15 (#17435)
This PR improves the compatibility with Tailwind CSS v4 with unsupported
browsers with the goal to greatly improve compatibility with Safari 15.
To make this work, this PR makes the following changes to all code
- Change `oklab(…)` default theme values to use a percentage in the
first place (so instead of `--color-red-500: oklch(0.637 0.237 25.331);`
we now define it as `--color-red-500: oklch(63.7% 0.237 25.331);` since
this syntax has much broader support on Safari).
- Polyfill `@property` with a `@supports` query targeting older versions
of Safari and Firefox *
- Create fallbacks for the `color-mix(…)` function that use _inlined
color values from your theme_ so that they can be computed a compile
time by `lightningcss`. These fallbacks will convert to srgb to increase
compatibility.
- Create fallbacks for the _relative color_ feature used in the new
shadow utilities and using `color-mix(…)` in case _relative color_ is
applied on `currentcolor` (due to limited browser support)
- Create fallbacks for gradient interpolation methods (e.g. to support
`bg-linear-to-r/oklab`)
- Polyfill `@media` queries range syntax.
## A simplified example
Given this example CSS input:
```css
@import 'tailwindcss';
@source inline('from-cyan-500/50 bg-linear-45');
```
Here's the updated output CSS including the newly added polyfills and
updated `oklab` values:
```css
.bg-linear-45 {
--tw-gradient-position: 45deg;
background-image: linear-gradient(var(--tw-gradient-stops));
}
@supports (background-image: linear-gradient(in lab, red, red)) {
.bg-linear-45 {
--tw-gradient-position: 45deg in oklab;
}
}
.from-cyan-500\\/50 {
--tw-gradient-from: oklab(71.5% -.11682 -.08247 / .5);
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
@supports (color: color-mix(in lab, red, red)) {
.from-cyan-500\\/50 {
--tw-gradient-from: color-mix(in oklab, var(--color-cyan-500) 50%, transparent);
}
}
:root, :host {
--color-cyan-500: oklch(71.5% .143 215.221);
}
@supports (((-webkit-hyphens: none)) and (not (margin-trim: 1lh))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
@layer base {
*, :before, :after, ::backdrop {
--tw-gradient-position: initial;
--tw-gradient-from: #0000;
--tw-gradient-via: #0000;
--tw-gradient-to: #0000;
--tw-gradient-stops: initial;
--tw-gradient-via-stops: initial;
--tw-gradient-from-position: 0%;
--tw-gradient-via-position: 50%;
--tw-gradient-to-position: 100%;
}
}
}
@property --tw-gradient-position {
syntax: "*";
inherits: false
}
@property --tw-gradient-from {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-via {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-to {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-stops {
syntax: "*";
inherits: false
}
@property --tw-gradient-via-stops {
syntax: "*";
inherits: false
}
@property --tw-gradient-from-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 0%;
}
@property --tw-gradient-via-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 50%;
}
@property --tw-gradient-to-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 100%;
}
```
## \* A note on `@property` polyfills and CSS modules
On Next.js, CSS module files are required to be _pure_, meaning that all
selectors must either be scoped to a class or an ID. Fortunatnyl for us,
this does not apply to `@property` rules which we've been using before
to initialize CSS variables.
However, since we're now bringing back the `@property` polyfills, that
would cause unexpected rules to be exported from the CSS file as this:
```css
@reference "tailwindcss";
.skew {
@apply skew-7;
}
```
Would turn to the following file:
```css
.skew {
/* … */
}
@supports (/*…*/) {
@layer base {
*, :before, :after, ::backdrop {
--tw-gradient-position: initial;
}
}
}
@property /* … */
```
Notice that this adds a `*` selector which is not considered pure.
Unfortunately there is no way for us to silence this warning or work
around it, as the dependency causing this errors
([`postcss-modules-local-by-default`](https://github.com/css-modules/postcss-modules-local-by-default))
is bundled into Next.js. To work around crashes, these polyfills will
not apply to CSS modules processed by the PostCSS extension for now.
## Testing on tailwindcss.com
To see the changes in effect, take a look at this screencast that
compares tailwindcss.com on iOS 15.5 with a version that has the patches
of this PR applied:
https://github.com/user-attachments/assets/1279d6f5-3c63-4f30-839c-198a789f4292
## Test plan
- Tested on tailwindcss.com via a preview build:
https://tailwindcss-com-git-legacy-browsers-tailwindlabs.vercel.app/
- Updated tests
- Ensure we also test on Chrome 111, Safari 16.4, Firefox 128 to
make sure we have no regressions. Also tested on Safari 16.4, 15.5, 18.0
|