Skip to content

fix: support decimal values in aspect ratio utilities#19669

Closed
shtse8 wants to merge 1 commit intotailwindlabs:mainfrom
shtse8:fix/aspect-ratio-decimal-values
Closed

fix: support decimal values in aspect ratio utilities#19669
shtse8 wants to merge 1 commit intotailwindlabs:mainfrom
shtse8:fix/aspect-ratio-decimal-values

Conversation

@shtse8
Copy link

@shtse8 shtse8 commented Feb 12, 2026

Problem

The aspect-ratio utility only accepts integer values for bare fractions (e.g. aspect-4/3), but the CSS aspect-ratio property supports any positive number. Using a decimal like aspect-8.5/11 silently produces no output.

Reported in #19663.

Solution

Added an isPositiveNumber helper (alongside the existing isPositiveInteger) that accepts finite non-negative numbers including decimals. Updated the aspect utility's handleBareValue to use isPositiveNumber instead of isPositiveInteger.

Before

<div class="aspect-8.5/11">  <!-- ❌ No CSS generated -->

After

<div class="aspect-8.5/11">  <!-- ✅ aspect-ratio: 8.5 / 11 -->

Changes

  • packages/tailwindcss/src/utils/infer-data-type.ts — Added isPositiveNumber() utility function
  • packages/tailwindcss/src/utilities.ts — Changed aspect ratio validation from isPositiveInteger to isPositiveNumber
  • packages/tailwindcss/src/utilities.test.ts — Added test case for aspect-8.5/11

Fixes #19663

Allow decimal numbers in aspect ratio bare values (e.g. `aspect-8.5/11`)
by using `isPositiveNumber` instead of `isPositiveInteger` for validation.

The CSS `aspect-ratio` property accepts any positive number, not just
integers, so `aspect-ratio: 8.5 / 11` is valid CSS. Previously,
`aspect-8.5/11` would silently produce no output because the decimal
value failed the integer check.

Fixes tailwindlabs#19663
@shtse8 shtse8 requested a review from a team as a code owner February 12, 2026 23:44
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 12, 2026

Walkthrough

This change extends Tailwind CSS to support fractional aspect ratios in addition to integer ratios. A new utility function isPositiveNumber is added to validate positive decimal values, allowing aspect ratio definitions like 8.5/11. The aspect ratio utility is updated to use isPositiveNumber instead of isPositiveInteger for validating both numerator and denominator components. Test coverage is expanded to include the new fractional aspect ratio class .aspect-8\.5\/11. The changes maintain the existing structure for aspect ratio generation while broadening the supported input formats.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix: support decimal values in aspect ratio utilities' directly and clearly summarizes the main change: enabling decimal values in aspect ratio utilities.
Description check ✅ Passed The description clearly explains the problem, solution, and changes made, directly addressing the issue of decimal values not being supported in aspect-ratio utilities.
Linked Issues check ✅ Passed The PR successfully implements the required changes to support decimal values in aspect-ratio utilities (#19663): adds isPositiveNumber validator, updates aspect validation logic, and includes test coverage.
Out of Scope Changes check ✅ Passed All changes are directly related to fixing the aspect-ratio decimal values issue; no out-of-scope modifications were introduced.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

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


No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
packages/tailwindcss/src/utilities.test.ts (1)

3159-3159: Add edge-case tests for zero boundaries in aspect-ratio validation to document isPositiveNumber behavior.

The isPositiveNumber function accepts zero (num >= 0), but its name suggests it rejects zero. Currently, tests only cover negative and non-numeric invalid cases. Adding tests for aspect-0/3, aspect-3/0, and aspect-0/1 would clarify whether zero numerators/denominators are intentionally accepted at the validation layer and document the actual contract of the function—important since a zero denominator or numerator may cause unexpected behavior downstream.

Note: aspect-.5/1 and aspect-0.0/1 will fail validation due to the string-matching requirement, so these are not worth testing.

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

RobinMalfait added a commit that referenced this pull request Feb 17, 2026
This PR reduces the restrictions of the `aspect-*` utilities when
dealing with fractional values.

Up until now, the numbers had to be positive integers, so `aspect-1/2`
was valid, but `aspect-8.5/11` was not.

This PR allows for any multiple of `.25` as a valid value, so
`aspect-8.5/11` is now valid, but `aspect-8.3/11` is not, this will
still require `aspect-[8.3/11]` arbitrary value syntax to be valid.

This behavior of allowing multiples of `.25` is consistent with other
utilities that handle bare values such as `w-2.5`.

## Test plan

1. Existing tests pass
2. Added a test for `aspect-8.5/11`

Fixes: #19663
Closes: #19680, #19669
@RobinMalfait
Copy link
Member

Hey! Thanks for the PR. But implemented it a bit different in another PR (#19688) to not allow all positive numbers, but only multiples of .25. This makes it consistent with other utilities that accept bare values (without the square brackets).

MrBns pushed a commit to MrBns/tailwindcss-official that referenced this pull request Feb 28, 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.25.1 → 9.27.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.27.0">9.27.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d71e37f450f4ae115ec394615e21523685f0d370"><code
class="notranslate">d71e37f</code></a> feat: Allow flags to be set in
ESLINT_FLAGS env variable (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19717">#19717</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ba456e000e104fd7f2dbd27eebbd4f35e6c18934"><code
class="notranslate">ba456e0</code></a> feat: Externalize MCP server (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19699">#19699</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/07c1a7e839ec61bd706c651428606ea5955b2bb0"><code
class="notranslate">07c1a7e</code></a> feat: add <code
class="notranslate">allowRegexCharacters</code> to <code
class="notranslate">no-useless-escape</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19705">#19705</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/7bc6c71ca350fa37531291e1d704be6ed408c5dc"><code
class="notranslate">7bc6c71</code></a> feat: add no-unassigned-vars rule
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19618">#19618</a>)
(Jacob Bandes-Storch)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ee4036429758cdaf7f77c52f1c2b74b5a2bb7b66"><code
class="notranslate">ee40364</code></a> feat: convert
no-array-constructor suggestions to autofixes (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19621">#19621</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/32957cde72196c7e41741db311786d881c1613a1"><code
class="notranslate">32957cd</code></a> feat: support TS syntax in <code
class="notranslate">max-params</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19557">#19557</a>)
(Nitin Kumar)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5687ce7055d30e2d5ef800b3d5c3096c3fc42c0e"><code
class="notranslate">5687ce7</code></a> fix: correct mismatched removed
rules (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19734">#19734</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dc5ed337fd18cb59801e4afaf394f6b84057b601"><code
class="notranslate">dc5ed33</code></a> fix: correct types and tighten
type definitions in <code class="notranslate">SourceCode</code> class
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19731">#19731</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/de1b5deba069f770140f3a7dba2702c1016dcc2a"><code
class="notranslate">de1b5de</code></a> fix: correct <code
class="notranslate">service</code> property name in <code
class="notranslate">Linter.ESLintParseResult</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19713">#19713</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/60c3e2cf9256f3676b7934e26ff178aaf19c9e97"><code
class="notranslate">60c3e2c</code></a> fix: sort keys in
eslint-suppressions.json to avoid git churn (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19711">#19711</a>)
(Ron Waldon-Howe)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/9da90ca3c163adb23a9cc52421f59dedfce34fc9"><code
class="notranslate">9da90ca</code></a> fix: add <code
class="notranslate">allowReserved</code> to <code
class="notranslate">Linter.ParserOptions</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19710">#19710</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/fbb8be9256dc7613fa0b87e87974714284b78a94"><code
class="notranslate">fbb8be9</code></a> fix: add <code
class="notranslate">info</code> to <code
class="notranslate">ESLint.DeprecatedRuleUse</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19701">#19701</a>)
(Francesco Trotta)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/25de55055d420d7c8b794ae5fdaeb67947c613d9"><code
class="notranslate">25de550</code></a> docs: Update description of
frozen rules to mention TypeScript (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19736">#19736</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/bd5def66d1a3f9bad7da3547b5dff6003e67d9d3"><code
class="notranslate">bd5def6</code></a> docs: Clean up configuration
files docs (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19735">#19735</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/4d0c60d0738cb32c12e4ea132caa6fab6d5ed0a7"><code
class="notranslate">4d0c60d</code></a> docs: Add Neovim to editor
integrations (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19729">#19729</a>)
(Maria José Solano)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/71317ebeaf1c542114e4fcda99ee26115d8e4a27"><code
class="notranslate">71317eb</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/4c289e685e6cf87331f4b1e6afe34a4feb8e6cc8"><code
class="notranslate">4c289e6</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f0f0d46ab2f87e439642abd84b6948b447b66349"><code
class="notranslate">f0f0d46</code></a> docs: clarify that unused
suppressions cause non-zero exit code (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19698">#19698</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/8ed32734cc22988173f99fd0703d50f94c60feb8"><code
class="notranslate">8ed3273</code></a> docs: fix internal usages of
<code class="notranslate">ConfigData</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19688">#19688</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/eb316a83a49347ab47ae965ff95f81dd620d074c"><code
class="notranslate">eb316a8</code></a> docs: add <code
class="notranslate">fmt</code> and <code
class="notranslate">check</code> sections to <code
class="notranslate">Package.json Conventions</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19686">#19686</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a3a255924866b94ef8d604e91636547600edec56"><code
class="notranslate">a3a2559</code></a> docs: fix wording in Combine
Configs (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19685">#19685</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/c8d17e11dc63909e693eaed5b5ccc50e698ac3b3"><code
class="notranslate">c8d17e1</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/f8f1560de633aaf24a7099f89cbbfed12a762a32"><code
class="notranslate">f8f1560</code></a> chore: upgrade @eslint/js@9.27.0
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19739">#19739</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ecaef7351f9f3220aa57409bf98db3e55b07a02a"><code
class="notranslate">ecaef73</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/596fdc62047dff863e990c3246b32da97ae9a14e"><code
class="notranslate">596fdc6</code></a> chore: update dependency
@arethetypeswrong/cli to ^0.18.0 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19732">#19732</a>)
(renovate[bot])</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f791da040189ada1b1ec15856557b939ffcd978b"><code
class="notranslate">f791da0</code></a> chore: remove unbalanced curly
brace from <code class="notranslate">.editorconfig</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19730">#19730</a>)
(Maria José Solano)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e86edee0918107e4e41e908fe59c937b83f00d4e"><code
class="notranslate">e86edee</code></a> refactor: Consolidate Config
helpers (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19675">#19675</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/cf3635299e09570b7472286f25dacd8ab24e0517"><code
class="notranslate">cf36352</code></a> chore: remove shared types (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19718">#19718</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f60f2764971a33e252be13e560dccf21f554dbf1"><code
class="notranslate">f60f276</code></a> refactor: Easier RuleContext
creation (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19709">#19709</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/58a171e8f0dcc1e599ac22bf8c386abacdbee424"><code
class="notranslate">58a171e</code></a> chore: update dependency
@eslint/plugin-kit to ^0.3.1 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19712">#19712</a>)
(renovate[bot])</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/3a075a29cfb43ef08711c2e433fb6f218855886d"><code
class="notranslate">3a075a2</code></a> chore: update dependency
@eslint/core to ^0.14.0 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19715">#19715</a>)
(renovate[bot])</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/44bac9d15c4e0ca099d0b0d85e601f3b55d4e167"><code
class="notranslate">44bac9d</code></a> ci: run tests in Node.js 24 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19702">#19702</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/35304dd2b0d8a4b640b9a25ae27ebdcb5e124cde"><code
class="notranslate">35304dd</code></a> chore: add missing <code
class="notranslate">funding</code> field to packages (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19684">#19684</a>)
(루밀LuMir)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f305beb82c51215ad48c5c860f02be1b34bcce32"><code
class="notranslate">f305beb</code></a> test: mock <code
class="notranslate">process.emitWarning</code> to prevent output
disruption (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19687">#19687</a>)
(Francesco Trotta)</li>
</ul></blockquote>
<h4><a
href="https://github.com/eslint/eslint/releases/tag/v9.26.0">9.26.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e9754e7433edf665602ceba4f7f8fbca559c974f"><code
class="notranslate">e9754e7</code></a> feat: add reportGlobalThis to
no-shadow-restricted-names (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19670">#19670</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0fa2b7a3666f1eedcc091446dc860037c9bafa5c"><code
class="notranslate">0fa2b7a</code></a> feat: add suggestions for <code
class="notranslate">eqeqeq</code> rule (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19640">#19640</a>)
(Nitin Kumar)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dcbdcc9c6be628240269b41f7bb576dde1e6f5b3"><code
class="notranslate">dcbdcc9</code></a> feat: Add MCP server (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19592">#19592</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/2dfd83ef4ee054f748732581c422508c45d6f1bf"><code
class="notranslate">2dfd83e</code></a> feat: add <code
class="notranslate">ignoreDirectives</code> option in <code
class="notranslate">no-unused-expressions</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19645">#19645</a>)
(sethamus)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/96e84de55ad17c96e5b6f2dece75145542505469"><code
class="notranslate">96e84de</code></a> fix: check cache file existence
before deletion (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19648">#19648</a>)
(sethamus)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d683aebc8e0792e4f80bd1488c705c90f22c317e"><code
class="notranslate">d683aeb</code></a> fix: don't crash on tests with
circular references in <code class="notranslate">RuleTester</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19664">#19664</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/9736d5d15870c9185da7d140becb9a15aa69057d"><code
class="notranslate">9736d5d</code></a> fix: add <code
class="notranslate">namespace</code> to <code
class="notranslate">Plugin.meta</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19661">#19661</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/17bae69e02fff6f26487a3cbd9c3c3218088949c"><code
class="notranslate">17bae69</code></a> fix: update <code
class="notranslate">RuleTester.run()</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19634">#19634</a>)
(Nitin Kumar)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/dd98d63f09c9324124734206d904d31d433a7c92"><code
class="notranslate">dd98d63</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/c25e858d2d7e9bd3e53dcb32c9af5251d6f0569e"><code
class="notranslate">c25e858</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b2397e9bef5ca7faf7e100ecebc20e457bf0b588"><code
class="notranslate">b2397e9</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/addd0a6a62d1b89dc7ab49cbd08c5a6af3e7da29"><code
class="notranslate">addd0a6</code></a> docs: fix formatting of unordered
lists in Markdown (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19660">#19660</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/a21b38db0276ab3373c95ebc7b1ef1910b79dfe6"><code
class="notranslate">a21b38d</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/c0721a7f34264da0a32ade8432511eeda4a2c1b9"><code
class="notranslate">c0721a7</code></a> docs: fix double space in command
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19657">#19657</a>)
(CamWass)</li>
</ul>
<h2 dir="auto">Chores</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/5b247c859f1b653297a9b9135d92a59742a669cc"><code
class="notranslate">5b247c8</code></a> chore: upgrade to <code
class="notranslate">@eslint/js@9.26.0</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19681">#19681</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d6fa4ac031c2fe24fb778e84940393fbda3ddf77"><code
class="notranslate">d6fa4ac</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/09586905be394c05839996a5ea812adfac44d320"><code
class="notranslate">0958690</code></a> chore: disambiguate internal
types <code class="notranslate">LanguageOptions</code> and <code
class="notranslate">Rule</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19669">#19669</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/f1c858e3c1e9712ef398588bf5ed68bc19fad3f2"><code
class="notranslate">f1c858e</code></a> chore: fix internal type
references to <code class="notranslate">Plugin</code> and <code
class="notranslate">Rule</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19665">#19665</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/40dd2998cedddb75e0514b2c5cc855293c85da41"><code
class="notranslate">40dd299</code></a> refactor: One-shot ESQuery
selector analysis (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19652">#19652</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/1cfd7024226cd9c42ceb75732f79e3bc36e8305c"><code
class="notranslate">1cfd702</code></a> chore: update dependency
@eslint/json to ^0.12.0 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19656">#19656</a>)
(renovate[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/3ed4b3652d9fe3dfa4017d22a6ddbd15e3c6cd7a...b9080cf28d88f934941a545a033eb960eceeadbd">See
the full diff on Github</a>. The new version differs by 58 commits:</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/b9080cf28d88f934941a545a033eb960eceeadbd"><code>9.27.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b7a5c66129c6e504368d1fc452f58c538e4d48e6"><code>Build:
changelog update for 9.27.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f8f1560de633aaf24a7099f89cbbfed12a762a32"><code>chore:
upgrade @eslint/js@9.27.0 (tailwindlabs#19739)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ecaef7351f9f3220aa57409bf98db3e55b07a02a"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/25de55055d420d7c8b794ae5fdaeb67947c613d9"><code>docs:
Update description of frozen rules to mention TypeScript
(tailwindlabs#19736)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/bd5def66d1a3f9bad7da3547b5dff6003e67d9d3"><code>docs:
Clean up configuration files docs (tailwindlabs#19735)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d71e37f450f4ae115ec394615e21523685f0d370"><code>feat:
Allow flags to be set in ESLINT_FLAGS env variable
(tailwindlabs#19717)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/5687ce7055d30e2d5ef800b3d5c3096c3fc42c0e"><code>fix:
correct mismatched removed rules (tailwindlabs#19734)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/596fdc62047dff863e990c3246b32da97ae9a14e"><code>chore:
update dependency @arethetypeswrong/cli to ^0.18.0
(tailwindlabs#19732)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ba456e000e104fd7f2dbd27eebbd4f35e6c18934"><code>feat:
Externalize MCP server (tailwindlabs#19699)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dc5ed337fd18cb59801e4afaf394f6b84057b601"><code>fix:
correct types and tighten type definitions in `SourceCode` class
(tailwindlabs#19731)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/4d0c60d0738cb32c12e4ea132caa6fab6d5ed0a7"><code>docs:
Add Neovim to editor integrations (tailwindlabs#19729)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f791da040189ada1b1ec15856557b939ffcd978b"><code>chore:
remove unbalanced curly brace from `.editorconfig`
(tailwindlabs#19730)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e86edee0918107e4e41e908fe59c937b83f00d4e"><code>refactor:
Consolidate Config helpers (tailwindlabs#19675)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/07c1a7e839ec61bd706c651428606ea5955b2bb0"><code>feat:
add `allowRegexCharacters` to `no-useless-escape`
(tailwindlabs#19705)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/cf3635299e09570b7472286f25dacd8ab24e0517"><code>chore:
remove shared types (tailwindlabs#19718)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f60f2764971a33e252be13e560dccf21f554dbf1"><code>refactor:
Easier RuleContext creation (tailwindlabs#19709)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/71317ebeaf1c542114e4fcda99ee26115d8e4a27"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/de1b5deba069f770140f3a7dba2702c1016dcc2a"><code>fix:
correct `service` property name in `Linter.ESLintParseResult` type
(tailwindlabs#19713)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/58a171e8f0dcc1e599ac22bf8c386abacdbee424"><code>chore:
update dependency @eslint/plugin-kit to ^0.3.1 (tailwindlabs#19712)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/3a075a29cfb43ef08711c2e433fb6f218855886d"><code>chore:
update dependency @eslint/core to ^0.14.0 (tailwindlabs#19715)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/60c3e2cf9256f3676b7934e26ff178aaf19c9e97"><code>fix:
sort keys in eslint-suppressions.json to avoid git churn
(tailwindlabs#19711)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/4c289e685e6cf87331f4b1e6afe34a4feb8e6cc8"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/9da90ca3c163adb23a9cc52421f59dedfce34fc9"><code>fix:
add `allowReserved` to `Linter.ParserOptions` type
(tailwindlabs#19710)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/7bc6c71ca350fa37531291e1d704be6ed408c5dc"><code>feat:
add no-unassigned-vars rule (tailwindlabs#19618)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ee4036429758cdaf7f77c52f1c2b74b5a2bb7b66"><code>feat:
convert no-array-constructor suggestions to autofixes
(tailwindlabs#19621)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/fbb8be9256dc7613fa0b87e87974714284b78a94"><code>fix:
add `info` to `ESLint.DeprecatedRuleUse` type (tailwindlabs#19701)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f0f0d46ab2f87e439642abd84b6948b447b66349"><code>docs:
clarify that unused suppressions cause non-zero exit code
(tailwindlabs#19698)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/44bac9d15c4e0ca099d0b0d85e601f3b55d4e167"><code>ci:
run tests in Node.js 24 (tailwindlabs#19702)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/32957cde72196c7e41741db311786d881c1613a1"><code>feat:
support TS syntax in `max-params` (tailwindlabs#19557)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/35304dd2b0d8a4b640b9a25ae27ebdcb5e124cde"><code>chore:
add missing `funding` field to packages (tailwindlabs#19684)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/8ed32734cc22988173f99fd0703d50f94c60feb8"><code>docs:
fix internal usages of `ConfigData` type (tailwindlabs#19688)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f305beb82c51215ad48c5c860f02be1b34bcce32"><code>test:
mock `process.emitWarning` to prevent output disruption
(tailwindlabs#19687)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/eb316a83a49347ab47ae965ff95f81dd620d074c"><code>docs:
add `fmt` and `check` sections to `Package.json Conventions`
(tailwindlabs#19686)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/a3a255924866b94ef8d604e91636547600edec56"><code>docs:
fix wording in Combine Configs (tailwindlabs#19685)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/c8d17e11dc63909e693eaed5b5ccc50e698ac3b3"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/8bbabc4691d97733a422180c71eba6c097b35475"><code>9.26.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/16f5ff799122737e2c4b853b441e86f224878942"><code>Build:
changelog update for 9.26.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/5b247c859f1b653297a9b9135d92a59742a669cc"><code>chore:
upgrade to `@eslint/js@9.26.0` (tailwindlabs#19681)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d6fa4ac031c2fe24fb778e84940393fbda3ddf77"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e9754e7433edf665602ceba4f7f8fbca559c974f"><code>feat:
add reportGlobalThis to no-shadow-restricted-names
(tailwindlabs#19670)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0fa2b7a3666f1eedcc091446dc860037c9bafa5c"><code>feat:
add suggestions for `eqeqeq` rule (tailwindlabs#19640)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dd98d63f09c9324124734206d904d31d433a7c92"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/96e84de55ad17c96e5b6f2dece75145542505469"><code>fix:
check cache file existence before deletion (tailwindlabs#19648)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/c25e858d2d7e9bd3e53dcb32c9af5251d6f0569e"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/09586905be394c05839996a5ea812adfac44d320"><code>chore:
disambiguate internal types `LanguageOptions` and `Rule`
(tailwindlabs#19669)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/dcbdcc9c6be628240269b41f7bb576dde1e6f5b3"><code>feat:
Add MCP server (tailwindlabs#19592)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b2397e9bef5ca7faf7e100ecebc20e457bf0b588"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d683aebc8e0792e4f80bd1488c705c90f22c317e"><code>fix:
don&tailwindlabs#39;t crash on tests with circular references in `RuleTester`
(tailwindlabs#19664)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/f1c858e3c1e9712ef398588bf5ed68bc19fad3f2"><code>chore:
fix internal type references to `Plugin` and `Rule`
(tailwindlabs#19665)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/9736d5d15870c9185da7d140becb9a15aa69057d"><code>fix:
add `namespace` to `Plugin.meta` type (tailwindlabs#19661)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/40dd2998cedddb75e0514b2c5cc855293c85da41"><code>refactor:
One-shot ESQuery selector analysis (tailwindlabs#19652)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/addd0a6a62d1b89dc7ab49cbd08c5a6af3e7da29"><code>docs:
fix formatting of unordered lists in Markdown (tailwindlabs#19660)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/a21b38db0276ab3373c95ebc7b1ef1910b79dfe6"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/c0721a7f34264da0a32ade8432511eeda4a2c1b9"><code>docs:
fix double space in command (tailwindlabs#19657)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/1cfd7024226cd9c42ceb75732f79e3bc36e8305c"><code>chore:
update dependency @eslint/json to ^0.12.0 (tailwindlabs#19656)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/2dfd83ef4ee054f748732581c422508c45d6f1bf"><code>feat:
add `ignoreDirectives` option in `no-unused-expressions`
(tailwindlabs#19645)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/17bae69e02fff6f26487a3cbd9c3c3218088949c"><code>fix:
update `RuleTester.run()` type (tailwindlabs#19634)</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>
Co-authored-by: Jordan Pittman <jordan@cryptica.me>
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.

aspect ignored when decimals included in ratio

2 participants