Skip to content

Canonicalization: migrate [&:has(…)] to has-[…] variant#19991

Merged
RobinMalfait merged 3 commits into
mainfrom
fix/canonicalize-has-to-variant
Apr 29, 2026
Merged

Canonicalization: migrate [&:has(…)] to has-[…] variant#19991
RobinMalfait merged 3 commits into
mainfrom
fix/canonicalize-has-to-variant

Conversation

@RobinMalfait
Copy link
Copy Markdown
Member

This PR improves the canonicalization around arbitrary variants containing [&:has(…)], by converting them to has-[…].

Essentially when you have a variant, with &:has(…), we will convert it:

- [&:has([role=checkbox])]:flex
+ has-[[role=checkbox]]:flex

This also means that if the arbitrary selector inside of the &:has(…) can be converted to something that aligns with known variants, then we will do that as well:

  // `data-*` can be hoisted outside of the arbitrary value
- [&:has([data-slot=description])]:flex
+ has-data-[slot=description]:flex

  // `aria-visible="true"` can be entirely replaced by `aria-visible`
- [&:has([aria-visible="true"])]:flex
+ has-aria-visible:flex

Noticed this while looking into: tailwindlabs/tailwindcss-intellisense#1562

Test plan

  1. Added additional tests for this use case
  2. Existing tests still pass

@RobinMalfait RobinMalfait requested a review from a team as a code owner April 29, 2026 11:29
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f712f329-a774-44a0-93f0-e347884799cb

📥 Commits

Reviewing files that changed from the base of the PR and between 97f1d67 and 6c76fec.

📒 Files selected for processing (1)
  • CHANGELOG.md
✅ Files skipped from review due to trivial changes (1)
  • CHANGELOG.md

Walkthrough

Adds canonicalization for arbitrary &:has(...) selectors by converting them to the has-[...] variant form and continuing the variant-modernization loop after replacement. Includes tests validating conversion of nested :has patterns (including an aria-visible variant) into canonical has-* forms. Updates the changelog to document the canonicalization migration from [&:has(...)] to has-[...].

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: converting arbitrary :has() variants from [&:has(…)] to has-[…] form in canonicalization.
Description check ✅ Passed The description is directly related to the changeset, clearly explaining the canonicalization migration with concrete examples and test plan.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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


Review rate limit: 3/5 reviews remaining, refill in 20 minutes and 32 seconds.

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

@RobinMalfait RobinMalfait merged commit 73f3a6a into main Apr 29, 2026
9 checks passed
@RobinMalfait RobinMalfait deleted the fix/canonicalize-has-to-variant branch April 29, 2026 12:20
iamseopyeongwon pushed a commit to iamseopyeongwon/tailwindcss that referenced this pull request May 10, 2026
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?




#### ✳️ eslint (9.33.0 → 9.35.0) ·
[Repo](https://github.com/eslint/eslint) ·
[Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)



<details>
<summary>Release Notes</summary>
<h4><a
href="https://github.com/eslint/eslint/releases/tag/v9.35.0">9.35.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/42761fa7c872fb9e14c144b692af6967b3662082"><code
class="notranslate">42761fa</code></a> feat: implement suggestions for
no-empty-function (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20057">#20057</a>)
(jaymarvelz)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/102f44442ac9bf1fcd4ba6ab9fae43ce09199df6"><code
class="notranslate">102f444</code></a> feat: implement suggestions for
no-empty-static-block (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20056">#20056</a>)
(jaymarvelz)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e51ffff737ca245b3a1d115cb11e1c99737249a3"><code
class="notranslate">e51ffff</code></a> feat: add <code
class="notranslate">preserve-caught-error</code> rule (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19913">#19913</a>)
(Amnish Singh Arora)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/10e7ae23e30ea0834d9fdeb3a2a1db8103c36cd2"><code
class="notranslate">10e7ae2</code></a> fix: update uncloneable options
error message (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20059">#20059</a>)
(soda-sorcery)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/bfa46013e7ea9a522c02f72250fa07160f96a6b8"><code
class="notranslate">bfa4601</code></a> fix: ignore empty switch
statements with comments in no-empty rule (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20045">#20045</a>)
(jaymarvelz)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dfd11deb24fc733faa5db751a2f615eb04e48b15"><code
class="notranslate">dfd11de</code></a> fix: add <code
class="notranslate">before</code> and <code
class="notranslate">after</code> to test case types (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20049">#20049</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dabbe95c39671c5fa272da012ee1432aa088650f"><code
class="notranslate">dabbe95</code></a> fix: correct types for <code
class="notranslate">no-restricted-imports</code> rule (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20034">#20034</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ea789c7dd234c1a6be499a4644dd0f5c97615972"><code
class="notranslate">ea789c7</code></a> fix: no-loss-of-precision false
positive with uppercase exponent (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20032">#20032</a>)
(sethamus)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d265515642f65246bcd45c17979f67c2afb12f95"><code
class="notranslate">d265515</code></a> docs: improve phrasing - "if" →
"even if" from getting-started section (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20074">#20074</a>)
(jjangga0214)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a355a0e5b2e6a47cda099b31dc7d112cfb5c4315"><code
class="notranslate">a355a0e</code></a> docs: invert comparison logic for
example in <code class="notranslate">no-var</code> doc page (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20064">#20064</a>)
(OTonGitHub)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5082fc206de6946d9d4c20e57301f78839b3b9f2"><code
class="notranslate">5082fc2</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/99cfd7e056e1703941c9eb8ca1ae7fdb1987ba9d"><code
class="notranslate">99cfd7e</code></a> docs: add missing "the" in rule
deprecation docs (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20050">#20050</a>)
(Josh Goldberg ✨)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/6ad8973e5d3c94b8e100b7266f55f8eb0757eb00"><code
class="notranslate">6ad8973</code></a> docs: update <code
class="notranslate">--no-ignore</code> and <code
class="notranslate">--ignore-pattern</code> documentation (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20036">#20036</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/8033b195299a1eaa4a0ed6553d9e034a457bb577"><code
class="notranslate">8033b19</code></a> docs: add documentation for <code
class="notranslate">--no-config-lookup</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20033">#20033</a>)
(Francesco Trotta)</li>
</ul>
<h2 dir="auto">Chores</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/da87f2fe792cab5b69b62bf5c15e69ab4f433087"><code
class="notranslate">da87f2f</code></a> chore: upgrade @eslint/js@9.35.0
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20077">#20077</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/af2a0870fdc646091d027516601888923e5bc202"><code
class="notranslate">af2a087</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/70557649e3111c55d8cddf678b6c4079aa6f0ccc"><code
class="notranslate">7055764</code></a> test: remove <code
class="notranslate">tests/lib/eslint/eslint.config.js</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20065">#20065</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/84ffb9680b15e45bfd8c8a5db4731576ddd16fc4"><code
class="notranslate">84ffb96</code></a> chore: update <code
class="notranslate">@eslint-community/eslint-utils</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20069">#20069</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d5ef9397150cc178e1f9891c3ff49ac4871ec786"><code
class="notranslate">d5ef939</code></a> refactor: remove deprecated <code
class="notranslate">context.parserOptions</code> usage across rules (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20060">#20060</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/1b3881d7e859bec9589e39888656c33c914a8302"><code
class="notranslate">1b3881d</code></a> chore: remove redundant word (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20058">#20058</a>)
(pxwanglu)</li>
</ul></blockquote>
<h4><a
href="https://github.com/eslint/eslint/releases/tag/v9.34.0">9.34.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33"><code
class="notranslate">0bb777a</code></a> feat: multithread linting (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19794">#19794</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab"><code
class="notranslate">43a5f9e</code></a> feat: add eslint-plugin-regexp to
eslint-config-eslint base config (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19951">#19951</a>)
(Pixel998)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c"><code
class="notranslate">9b89903</code></a> fix: default value of
accessor-pairs option in rule.d.ts file (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20024">#20024</a>)
(Tanuj Kanti)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d"><code
class="notranslate">6c07420</code></a> fix: fix spurious failure in
neostandard integration test (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20023">#20023</a>)
(Kirk Waiblinger)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b"><code
class="notranslate">676f4ac</code></a> fix: allow scientific notation
with trailing zeros matching exponent (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20002">#20002</a>)
(Sweta Tanwar)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232"><code
class="notranslate">0b4a590</code></a> docs: make rulesdir deprecation
clearer (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20018">#20018</a>)
(Domenico Gemoli)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522"><code
class="notranslate">327c672</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79"><code
class="notranslate">bf26229</code></a> docs: Fix typo in
core-concepts/index.md (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20009">#20009</a>)
(Tobias Hernstig)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a"><code
class="notranslate">2309327</code></a> docs: fix typo in the
"Configuring Rules" section (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20001">#20001</a>)
(ghazi-git)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29"><code
class="notranslate">2b87e21</code></a> docs: [no-else-return] clarify
sample code. (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19991">#19991</a>)
(Yuki Takada (Yukinosuke Takada))</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a"><code
class="notranslate">c36570c</code></a> docs: Update README (GitHub
Actions Bot)</li>
</ul>
<h2 dir="auto">Chores</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be"><code
class="notranslate">f19ad94</code></a> chore: upgrade to <code
class="notranslate">@eslint/js@9.34.0</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20030">#20030</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c"><code
class="notranslate">b48fa20</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda"><code
class="notranslate">4bce8a2</code></a> chore: package.json update for
eslint-config-eslint release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b"><code
class="notranslate">0c9999c</code></a> refactor: prefer default options
in <code class="notranslate">grouped-accessor-pairs</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20028">#20028</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe"><code
class="notranslate">d503f19</code></a> ci: fix <code
class="notranslate">stale.yml</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20010">#20010</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883"><code
class="notranslate">e2dc67d</code></a> ci: centralize <code
class="notranslate">stale.yml</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19994">#19994</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a"><code
class="notranslate">7093cb8</code></a> ci: bump actions/checkout from 4
to 5 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/20005">#20005</a>)
(dependabot[bot])</li>
</ul></blockquote>
<p><em>Does any of this look wrong? <a
href="https://depfu.com/packages/npm/eslint/feedback">Please let us
know.</a></em></p>
</details>

<details>
<summary>Commits</summary>
<p><a
href="https://github.com/eslint/eslint/compare/a90d7c4fe5ef83054e29d21d7ffb442103429d03...8401101d1e3e3e4e1edc2a9e59cafc9956bf2610">See
the full diff on Github</a>. The new version differs by 42 commits:</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/8401101d1e3e3e4e1edc2a9e59cafc9956bf2610"><code>9.35.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b80f0254f357ad6b1d8d9b4ded0892b8826ba8f4"><code>Build:
changelog update for 9.35.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/da87f2fe792cab5b69b62bf5c15e69ab4f433087"><code>chore:
upgrade @eslint/js@9.35.0 (#20077)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/af2a0870fdc646091d027516601888923e5bc202"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d265515642f65246bcd45c17979f67c2afb12f95"><code>docs:
improve phrasing - &quot;if&quot; → &quot;even if&quot; from
getting-started section (#20074)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/70557649e3111c55d8cddf678b6c4079aa6f0ccc"><code>test:
remove `tests/lib/eslint/eslint.config.js` (#20065)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/10e7ae23e30ea0834d9fdeb3a2a1db8103c36cd2"><code>fix:
update uncloneable options error message (#20059)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/42761fa7c872fb9e14c144b692af6967b3662082"><code>feat:
implement suggestions for no-empty-function (#20057)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/102f44442ac9bf1fcd4ba6ab9fae43ce09199df6"><code>feat:
implement suggestions for no-empty-static-block (#20056)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/84ffb9680b15e45bfd8c8a5db4731576ddd16fc4"><code>chore:
update `@eslint-community/eslint-utils` (#20069)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/a355a0e5b2e6a47cda099b31dc7d112cfb5c4315"><code>docs:
invert comparison logic for example in `no-var` doc page
(#20064)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e51ffff737ca245b3a1d115cb11e1c99737249a3"><code>feat:
add `preserve-caught-error` rule (tailwindlabs#19913)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/5082fc206de6946d9d4c20e57301f78839b3b9f2"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d5ef9397150cc178e1f9891c3ff49ac4871ec786"><code>refactor:
remove deprecated `context.parserOptions` usage across rules
(#20060)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/1b3881d7e859bec9589e39888656c33c914a8302"><code>chore:
remove redundant word (#20058)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/99cfd7e056e1703941c9eb8ca1ae7fdb1987ba9d"><code>docs:
add missing &quot;the&quot; in rule deprecation docs
(tailwindlabs#20050)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/bfa46013e7ea9a522c02f72250fa07160f96a6b8"><code>fix:
ignore empty switch statements with comments in no-empty rule
(tailwindlabs#20045)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dfd11deb24fc733faa5db751a2f615eb04e48b15"><code>fix:
add `before` and `after` to test case types (tailwindlabs#20049)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/6ad8973e5d3c94b8e100b7266f55f8eb0757eb00"><code>docs:
update `--no-ignore` and `--ignore-pattern` documentation
(tailwindlabs#20036)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dabbe95c39671c5fa272da012ee1432aa088650f"><code>fix:
correct types for `no-restricted-imports` rule (tailwindlabs#20034)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/8033b195299a1eaa4a0ed6553d9e034a457bb577"><code>docs:
add documentation for `--no-config-lookup` (tailwindlabs#20033)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ea789c7dd234c1a6be499a4644dd0f5c97615972"><code>fix:
no-loss-of-precision false positive with uppercase exponent
(tailwindlabs#20032)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b8875f67a7bc99824f19147f4a669be7e98f3eee"><code>9.34.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/2e455fb433c4cae19572d75d866392f3b5a677d0"><code>Build:
changelog update for 9.34.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be"><code>chore:
upgrade to `@eslint/js@9.34.0` (tailwindlabs#20030)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda"><code>chore:
package.json update for eslint-config-eslint release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b"><code>refactor:
prefer default options in `grouped-accessor-pairs`
(tailwindlabs#20028)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232"><code>docs:
make rulesdir deprecation clearer (tailwindlabs#20018)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c"><code>fix:
default value of accessor-pairs option in rule.d.ts file
(tailwindlabs#20024)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d"><code>fix:
fix spurious failure in neostandard integration test
(tailwindlabs#20023)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b"><code>fix:
allow scientific notation with trailing zeros matching exponent
(tailwindlabs#20002)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe"><code>ci:
fix `stale.yml` (tailwindlabs#20010)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33"><code>feat:
multithread linting (tailwindlabs#19794)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79"><code>docs:
Fix typo in core-concepts/index.md (tailwindlabs#20009)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab"><code>feat:
add eslint-plugin-regexp to eslint-config-eslint base config
(tailwindlabs#19951)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883"><code>ci:
centralize `stale.yml` (tailwindlabs#19994)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a"><code>ci:
bump actions/checkout from 4 to 5 (tailwindlabs#20005)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a"><code>docs:
fix typo in the &quot;Configuring Rules&quot; section
(tailwindlabs#20001)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29"><code>docs:
[no-else-return] clarify sample code. (tailwindlabs#19991)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a"><code>docs:
Update README</code></a></li>
</ul>
</details>












---
![Depfu
Status](https://depfu.com/badges/edd6acd35d74c8d41cbb540c30442adf/stats.svg)

[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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant