Skip to content

Conversation

@adamroyle
Copy link
Contributor

Summary

When parsing cli args, 'mri' returns an array for duplicate args, which causes unexpected results. All current arguments assume single values only. Tailwind v3 works the same way.

Test plan

Updated tests.

@adamroyle adamroyle requested a review from a team as a code owner December 7, 2025 13:24
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 7, 2025

Walkthrough

The CLI argument parser was modified to collapse multi-valued flag arrays to their last element before handling the default marker \_\_IO_DEFAULT_VALUE\_\_ (which is then converted to -). Two tests were added to verify last-wins behavior for repeated flags: one for repeated --output and one for the alias -o when a dash (-) value is used.

Pre-merge checks

✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and clearly summarizes the main change: ensuring only the last value is used when parsing duplicate CLI arguments.
Description check ✅ Passed The description is directly related to the changeset, explaining the problem (mri returns arrays for duplicate args) and the solution (use only the last value), and mentions test updates.

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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/@tailwindcss-cli/src/utils/args.test.ts (1)

20-34: Duplicate-argument test looks good; consider adding a '-' case

This test correctly locks in the “last value wins” behavior for repeated flags and matches the new normalization logic in args().

Given the special handling of '-' via the __IO_DEFAULT_VALUE__ sentinel, consider adding a companion test where the final duplicate is '-' to protect that behavior:

it('should respect "-" when it is the last duplicate value', () => {
  expect(
    args(
      {
        '--output': { type: 'string', description: 'Output file' },
      },
      ['--output', 'output.css', '--output', '-'],
    ),
  ).toMatchInlineSnapshot(`
    {
      "--output": "-",
      "_": [],
    }
  `)
})

This would catch regressions where '-' stops being normalized correctly in the duplicate-flag scenario.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1ee7bb9 and 018a16c.

📒 Files selected for processing (2)
  • packages/@tailwindcss-cli/src/utils/args.test.ts (1 hunks)
  • packages/@tailwindcss-cli/src/utils/args.ts (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
packages/@tailwindcss-cli/src/utils/args.test.ts (1)
packages/@tailwindcss-cli/src/utils/args.ts (1)
  • args (70-116)
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/@tailwindcss-cli/src/utils/args.ts (1)

79-91: Excellent fix! The ordering now correctly handles the sentinel conversion.

The refactored logic properly addresses the issue from the past review comment:

  1. Arrays are collapsed to their last element first (lines 82-84)
  2. The sentinel __IO_DEFAULT_VALUE__ is converted to - afterward (lines 86-88)

This ensures that when - is the last duplicate value (e.g., --output output.css --output -), it's correctly preserved as - in the final result.

Optional: Consider a non-mutating approach for array access.

While .pop() works correctly here, it mutates the array. A more idiomatic approach would be:

-    if (key !== '_' && Array.isArray(value)) {
-      value = value.pop()
-    }
+    if (key !== '_' && Array.isArray(value)) {
+      value = value[value.length - 1]
+    }

This is purely stylistic since the mutation doesn't affect the final result (we reassign parsed[key] anyway). The non-mutating approach is slightly clearer about intent: "get the last element" vs "remove and get the last element."

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 985946e and 0abd119.

📒 Files selected for processing (2)
  • packages/@tailwindcss-cli/src/utils/args.test.ts (1 hunks)
  • packages/@tailwindcss-cli/src/utils/args.ts (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
packages/@tailwindcss-cli/src/utils/args.test.ts (1)
packages/@tailwindcss-cli/src/utils/args.ts (1)
  • args (70-122)
🔇 Additional comments (2)
packages/@tailwindcss-cli/src/utils/args.test.ts (2)

20-34: LGTM! Good test coverage for duplicate argument handling.

This test correctly verifies that when the same flag is provided multiple times, the last value wins.


36-50: Excellent test for the sentinel value edge case.

This test properly verifies the fix for the ordering issue mentioned in the past review comment. When - (which becomes __IO_DEFAULT_VALUE__ internally) appears as the last duplicate value, it should be correctly converted back to - after the array is collapsed.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
CHANGELOG.md (1)

25-25: Clarify “duplicate CLI arguments” behavior (spell out last‑wins).

Explicitly stating “last value wins” reduces ambiguity and helps users understand what changed at a glance.

- - Correctly handle duplicate CLI arguments ([#19416](https://github.com/tailwindlabs/tailwindcss/pull/19416))
+ - Duplicate CLI arguments now use the last value (last‑wins), matching v3 ([#19416](https://github.com/tailwindlabs/tailwindcss/pull/19416))
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between faf5a6e and e55f639.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
@thecrypticace thecrypticace merged commit 563a016 into tailwindlabs:main Dec 7, 2025
7 checks passed
@thecrypticace
Copy link
Contributor

Thanks!

RatStar811

This comment was marked as spam.

@adamroyle adamroyle deleted the fix/cli-args branch December 11, 2025 06:43
ch4og pushed a commit to csmplay/mapban that referenced this pull request Dec 23, 2025
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@tailwindcss/postcss](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss)) | [`4.1.17` -> `4.1.18`](https://renovatebot.com/diffs/npm/@tailwindcss%2fpostcss/4.1.17/4.1.18) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fpostcss/4.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fpostcss/4.1.17/4.1.18?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>tailwindlabs/tailwindcss (@&#8203;tailwindcss/postcss)</summary>

### [`v4.1.18`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4118---2025-12-11)

[Compare Source](tailwindlabs/tailwindcss@v4.1.17...v4.1.18)

##### Fixed

- Ensure validation of `source(…)` happens relative to the file it is in ([#&#8203;19274](tailwindlabs/tailwindcss#19274))
- Include filename and line numbers in CSS parse errors ([#&#8203;19282](tailwindlabs/tailwindcss#19282))
- Skip comments in Ruby files when checking for class names ([#&#8203;19243](tailwindlabs/tailwindcss#19243))
- Skip over arbitrary property utilities with a top-level `!` in the value ([#&#8203;19243](tailwindlabs/tailwindcss#19243))
- Support environment API in `@tailwindcss/vite` ([#&#8203;18970](tailwindlabs/tailwindcss#18970))
- Preserve case of theme keys from JS configs and plugins ([#&#8203;19337](tailwindlabs/tailwindcss#19337))
- Write source maps correctly on the CLI when using `--watch` ([#&#8203;19373](tailwindlabs/tailwindcss#19373))
- Handle special defaults (like `ringColor.DEFAULT`) in JS configs ([#&#8203;19348](tailwindlabs/tailwindcss#19348))
- Improve backwards compatibility for `content` theme key from JS configs ([#&#8203;19381](tailwindlabs/tailwindcss#19381))
- Upgrade: Handle `future` and `experimental` config keys ([#&#8203;19344](tailwindlabs/tailwindcss#19344))
- Try to canonicalize any arbitrary utility to a bare value ([#&#8203;19379](tailwindlabs/tailwindcss#19379))
- Validate candidates similarly to Oxide ([#&#8203;19397](tailwindlabs/tailwindcss#19397))
- Canonicalization: combine `text-*` and `leading-*` classes ([#&#8203;19396](tailwindlabs/tailwindcss#19396))
- Correctly handle duplicate CLI arguments ([#&#8203;19416](tailwindlabs/tailwindcss#19416))
- Don’t emit color-mix fallback rules inside `@keyframes` ([#&#8203;19419](tailwindlabs/tailwindcss#19419))
- CLI: Don't hang when output is `/dev/stdout` ([#&#8203;19421](tailwindlabs/tailwindcss#19421))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNC4yIiwidXBkYXRlZEluVmVyIjoiNDIuMTQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.csmpro.ru/csmpro/mapban/pulls/74
Co-authored-by: Renovate Bot <renovate@csmpro.ru>
Co-committed-by: Renovate Bot <renovate@csmpro.ru>
stylessh pushed a commit to stylessh/tailwindcss that referenced this pull request Jan 7, 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.19.0 → 9.20.1) ·
[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.20.1">9.20.1</a></h4>

<blockquote><h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/274f054f19f5f490d9496c6eee4bcd8620d2f4be"><code
class="notranslate">274f054</code></a> fix: fix <code
class="notranslate">RuleContext</code> type (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19417">#19417</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/fe3ccb2ff43a9f20a7801c679f7d41f6a7ed3ddc"><code
class="notranslate">fe3ccb2</code></a> docs: allow typing in search box
while dropdown is open (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19424">#19424</a>)
(Amaresh S M)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/93c78a5c58edb7ead9bff87c874d2ff9b824ec04"><code
class="notranslate">93c78a5</code></a> docs: Add instructions for pnpm
compat (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19422">#19422</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b476a930bb3a6d644c482747d985f5da0d89e1e9"><code
class="notranslate">b476a93</code></a> docs: Fix Keyboard Navigation for
Search Results (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19416">#19416</a>)
(Amaresh S M)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/ccb60c0b1452e73750e3734c9cd7c7b12c473827"><code
class="notranslate">ccb60c0</code></a> docs: Update README (GitHub
Actions Bot)</li>
</ul></blockquote>
<h4><a
href="https://github.com/eslint/eslint/releases/tag/v9.20.0">9.20.0</a></h4>

<blockquote><h2 dir="auto">Features</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/e89a54a3090f3503daf5e36b02b0035c993e3fd1"><code
class="notranslate">e89a54a</code></a> feat: change behavior of inactive
flags (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19386">#19386</a>)
(Milos Djermanovic)</li>
</ul>
<h2 dir="auto">Bug Fixes</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/91d4d9f62095e302c71595cc04c47073f366315c"><code
class="notranslate">91d4d9f</code></a> fix: Bring types in sync with
@eslint/core (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19157">#19157</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/fa25c7a79edee280f275fbc35b83bcde906d1480"><code
class="notranslate">fa25c7a</code></a> fix: Emit warning when empty
config file is used (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19399">#19399</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/31a9fd03d23aecf2b1e0c9b3df27554aff245723"><code
class="notranslate">31a9fd0</code></a> fix: Clearer error message for
wrong plugin format (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19380">#19380</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/61d99e38f248f4d9abc09d970c4eebddd1af86ca"><code
class="notranslate">61d99e3</code></a> fix: Better error message for
unserializable parser (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19384">#19384</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/db1b9a66e387e573f45885687dfefc04ab2877fe"><code
class="notranslate">db1b9a6</code></a> fix: Ensure module scope is
checked for references in <code
class="notranslate">consistent-this</code> (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19383">#19383</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/8bcd820f37f2361e4f7261a9876f52d21bd9de8f"><code
class="notranslate">8bcd820</code></a> fix: <code
class="notranslate">arrow-body-style</code> crash with single-token body
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19379">#19379</a>)
(Milos Djermanovic)</li>
</ul>
<h2 dir="auto">Documentation</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/b7012c85f3c0f683baeffb6d856faf86c4d41702"><code
class="notranslate">b7012c8</code></a> docs: rewrite examples with var
using let and const (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19407">#19407</a>)
(Mueez Javaid Hashmi)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/64063765afa5bf29855d996ccabfaa93b19bd458"><code
class="notranslate">6406376</code></a> docs: Update README (GitHub
Actions Bot)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/350f2b9349bc8d2230cd953c14b77071f2961f47"><code
class="notranslate">350f2b9</code></a> docs: rewrite some examples with
var using let and const (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19404">#19404</a>)
(Mueez Javaid Hashmi)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/93c325a7a841d0fe4b5bf79efdec832e7c8f805f"><code
class="notranslate">93c325a</code></a> docs: rewrite examples with var
using let and const (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19398">#19398</a>)
(Mueez Javaid Hashmi)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/56ff4048e053374db39201e7e880bde4c930e19f"><code
class="notranslate">56ff404</code></a> docs: replace var with let or
const in rules docs (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19396">#19396</a>)
(Daniel Harbrueger)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/4053226996bbdec1ffdef8af1b9d7f5aa4b11b86"><code
class="notranslate">4053226</code></a> docs: change <code
class="notranslate">sourceType</code> in <code
class="notranslate">no-eval</code> examples (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19393">#19393</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/1324af027986d655848ee1a9dcb89a527917ea3e"><code
class="notranslate">1324af0</code></a> docs: replace var with let and
const in rules docs (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19392">#19392</a>)
(Daniel Harbrueger)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/8b87e007bb2ba59b73061d22ef34baffb5656b79"><code
class="notranslate">8b87e00</code></a> docs: replace <code
class="notranslate">var</code> with <code
class="notranslate">const</code> and <code
class="notranslate">let</code> in rules (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19389">#19389</a>)
(Tanuj Kanti)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/758c66bc8d83cd4eda9639b0745f0d0fb70f04f4"><code
class="notranslate">758c66b</code></a> docs: Explain what frozen rules
mean (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19382">#19382</a>)
(Nicholas C. Zakas)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/0ef8bb859c988e558683c2d8bd9c9606f22e456c"><code
class="notranslate">0ef8bb8</code></a> docs: additional checks for rule
examples (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19358">#19358</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/58ab2f69d2d4cf9b49bf3fd303795040ec761ebd"><code
class="notranslate">58ab2f6</code></a> docs: fix order of installation
steps in getting started (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19326">#19326</a>)
(Tanuj Kanti)</li>
</ul>
<h2 dir="auto">Chores</h2>
<ul dir="auto">
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/979097a3b4c656e2d9faabd4a52010d6647911f6"><code
class="notranslate">979097a</code></a> chore: upgrade @eslint/js@9.20.0
(<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19412">#19412</a>)
(Francesco Trotta)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/031734efcb27e0d800da7ec32f5d5dae55f80564"><code
class="notranslate">031734e</code></a> chore: package.json update for
@eslint/js release (Jenkins)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/d4c47c3738f2bf53b4f6a1cf505861b35875ac5f"><code
class="notranslate">d4c47c3</code></a> test: avoid empty config warning
in test output (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19408">#19408</a>)
(Milos Djermanovic)</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/67dd82ab88d784b6f36e471b6a5c6f64e37f9485"><code
class="notranslate">67dd82a</code></a> chore: update dependency
@eslint/json to ^0.10.0 (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19387">#19387</a>)
(renovate[bot])</li>
<li>
<a
href="https://bounce.depfu.com/github.com/eslint/eslint/commit/15ac0e182486f32d63171a310050383e15767697"><code
class="notranslate">15ac0e1</code></a> chore: add permissions: read-all
to stale.yml workflow (<a
href="https://bounce.depfu.com/github.com/eslint/eslint/pull/19374">#19374</a>)
(Josh Goldberg ✨)</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/208e0b199f5d5f9dd173e58e3f5db19c1f0c38ed...07b2ffd3c597780eba6297d7735114beb5d0af4a">See
the full diff on Github</a>. The new version differs by 32 commits:</p>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/07b2ffd3c597780eba6297d7735114beb5d0af4a"><code>9.20.1</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/01ff142d5503326336a50d45d324e0b92866f5e2"><code>Build:
changelog update for 9.20.1</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/fe3ccb2ff43a9f20a7801c679f7d41f6a7ed3ddc"><code>docs:
allow typing in search box while dropdown is open
(tailwindlabs#19424)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/274f054f19f5f490d9496c6eee4bcd8620d2f4be"><code>fix:
fix `RuleContext` type (tailwindlabs#19417)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/93c78a5c58edb7ead9bff87c874d2ff9b824ec04"><code>docs:
Add instructions for pnpm compat (tailwindlabs#19422)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b476a930bb3a6d644c482747d985f5da0d89e1e9"><code>docs:
Fix Keyboard Navigation for Search Results (tailwindlabs#19416)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/ccb60c0b1452e73750e3734c9cd7c7b12c473827"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/7e78b50dacc3faeacfb8c8dc6ad3359971395d1d"><code>9.20.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/588b664536185481e626b061c3c4549dde5e7149"><code>Build:
changelog update for 9.20.0</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/979097a3b4c656e2d9faabd4a52010d6647911f6"><code>chore:
upgrade @eslint/js@9.20.0 (tailwindlabs#19412)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/031734efcb27e0d800da7ec32f5d5dae55f80564"><code>chore:
package.json update for @eslint/js release</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/91d4d9f62095e302c71595cc04c47073f366315c"><code>fix:
Bring types in sync with @eslint/core (tailwindlabs#19157)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/b7012c85f3c0f683baeffb6d856faf86c4d41702"><code>docs:
rewrite examples with var using let and const (tailwindlabs#19407)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/d4c47c3738f2bf53b4f6a1cf505861b35875ac5f"><code>test:
avoid empty config warning in test output (tailwindlabs#19408)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/e89a54a3090f3503daf5e36b02b0035c993e3fd1"><code>feat:
change behavior of inactive flags (tailwindlabs#19386)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/fa25c7a79edee280f275fbc35b83bcde906d1480"><code>fix:
Emit warning when empty config file is used (tailwindlabs#19399)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/64063765afa5bf29855d996ccabfaa93b19bd458"><code>docs:
Update README</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/350f2b9349bc8d2230cd953c14b77071f2961f47"><code>docs:
rewrite some examples with var using let and const
(tailwindlabs#19404)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/93c325a7a841d0fe4b5bf79efdec832e7c8f805f"><code>docs:
rewrite examples with var using let and const (tailwindlabs#19398)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/56ff4048e053374db39201e7e880bde4c930e19f"><code>docs:
replace var with let or const in rules docs (tailwindlabs#19396)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/4053226996bbdec1ffdef8af1b9d7f5aa4b11b86"><code>docs:
change `sourceType` in `no-eval` examples (tailwindlabs#19393)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/1324af027986d655848ee1a9dcb89a527917ea3e"><code>docs:
replace var with let and const in rules docs (tailwindlabs#19392)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/8b87e007bb2ba59b73061d22ef34baffb5656b79"><code>docs:
replace `var` with `const` and `let` in rules (tailwindlabs#19389)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/31a9fd03d23aecf2b1e0c9b3df27554aff245723"><code>fix:
Clearer error message for wrong plugin format (tailwindlabs#19380)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/61d99e38f248f4d9abc09d970c4eebddd1af86ca"><code>fix:
Better error message for unserializable parser (tailwindlabs#19384)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/758c66bc8d83cd4eda9639b0745f0d0fb70f04f4"><code>docs:
Explain what frozen rules mean (tailwindlabs#19382)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/67dd82ab88d784b6f36e471b6a5c6f64e37f9485"><code>chore:
update dependency @eslint/json to ^0.10.0 (tailwindlabs#19387)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/db1b9a66e387e573f45885687dfefc04ab2877fe"><code>fix:
Ensure module scope is checked for references in `consistent-this`
(tailwindlabs#19383)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/8bcd820f37f2361e4f7261a9876f52d21bd9de8f"><code>fix:
`arrow-body-style` crash with single-token body (tailwindlabs#19379)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/15ac0e182486f32d63171a310050383e15767697"><code>chore:
add permissions: read-all to stale.yml workflow (tailwindlabs#19374)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/0ef8bb859c988e558683c2d8bd9c9606f22e456c"><code>docs:
additional checks for rule examples (tailwindlabs#19358)</code></a></li>
<li><a
href="https://github.com/eslint/eslint/commit/58ab2f69d2d4cf9b49bf3fd303795040ec761ebd"><code>docs:
fix order of installation steps in getting started
(tailwindlabs#19326)</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

3 participants