Skip to content

Fix missing extracted classes in mdx files#19711

Merged
RobinMalfait merged 2 commits intomainfrom
fix/missing-classes-in-md-and-mdx
Feb 22, 2026
Merged

Fix missing extracted classes in mdx files#19711
RobinMalfait merged 2 commits intomainfrom
fix/missing-classes-in-md-and-mdx

Conversation

@RobinMalfait
Copy link
Member

@RobinMalfait RobinMalfait commented Feb 22, 2026

In Tailwind CSS v4.1.14 we released a fix for a bug where we didn't extract classes used in markdown directives (#18071). E.g.:

= This can't be extracted :span[Some Text]{.text-gray-500} = But this can text-gray-300

The fix was simple, we pre-process classes once we we are inside {…}. The pre-processing just replaces . with so the text-gray-500 from above would be extracted properly.

This fix introduced a bug for mdx files if you use syntax like this:

<Example> { <div class="p-2.5"></div> } </Example>

This is the exact kind of syntax we use in our documentation as well. Because of this fix, we didn't properly extract the p-2.5 class.

This new PR fixes that by ensuring that classes that are not top-level will stay as-is instead of being pre-processed.

This fix assumes that when you have <, {, [ or ( somewhere after the initial { character then we start nesting. The moment we see >, }, ] or ) we end the current nesting level.

If we are not nesting anymore, only then do we pre-process the class again.

This fix is also a simple implementation (on purpose), there could be even more edge cases that we might run into (order of bracket types, non-matching brackets, strings, escaped values, skipping code blocks, etc.) but I only want to tackle those when we actually run into these issues.

It looks like nobody ran into this (I didn't see a bug report about it). So I don't think it's worth the effort to make it even more robust (and potentially more complex which could result in more bugs).

Test plan

  • Added a regression test for the mdx case
  • Ensure the class is correctly extracted now:

Before:
image

After:
image

@RobinMalfait RobinMalfait requested a review from a team as a code owner February 22, 2026 00:27
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

No actionable comments were generated in the recent review. 🎉


Walkthrough

The markdown preprocessor was updated to track nested bracketed punctuation inside directives using a bracket_stack (for (, [, {, < and their closers). Dot-to-space replacement now occurs only when that stack is empty, preventing replacements inside nested bracketed content. The code pushes on opening punctuation and pops on matching closers while in a directive. Two tests were added to verify that class names and bracketed tokens containing dots (e.g., px-2.5, ['example.js']) are preserved inside directive content.

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title directly and concisely describes the main fix: handling missing extracted classes in MDX files containing dots.
Description check ✅ Passed The pull request description provides comprehensive context about the bug, the regression, the fix approach, and includes test cases with before/after screenshots.

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


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

@RobinMalfait RobinMalfait merged commit 58d1fe3 into main Feb 22, 2026
9 checks passed
@RobinMalfait RobinMalfait deleted the fix/missing-classes-in-md-and-mdx branch February 22, 2026 12:02
This was referenced Feb 23, 2026
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>
MrNaif2018 pushed a commit to bitcart/bitcart-frontend that referenced this pull request Mar 9, 2026
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@effect/language-service](https://github.com/Effect-TS/language-service) | [`0.75.1` → `0.77.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.75.1/0.77.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.77.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.75.1/0.77.0?slim=true) | | [@lingui/babel-plugin-lingui-macro](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.1/5.9.2?slim=true) | | [@lingui/cli](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2fcli/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcli/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcli/5.9.1/5.9.2?slim=true) | | [@lingui/conf](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/conf)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2fconf/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fconf/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fconf/5.9.1/5.9.2?slim=true) | | [@lingui/core](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/core)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2fcore/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcore/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcore/5.9.1/5.9.2?slim=true) | | [@lingui/react](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/react)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2freact/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2freact/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2freact/5.9.1/5.9.2?slim=true) | | [@lingui/vite-plugin](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/vite-plugin)) | [`5.9.1` → `5.9.2`](https://renovatebot.com/diffs/npm/@lingui%2fvite-plugin/5.9.1/5.9.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fvite-plugin/5.9.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fvite-plugin/5.9.1/5.9.2?slim=true) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.56.0` → `8.56.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.56.0/8.56.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.56.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.56.0/8.56.1?slim=true) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.56.0` → `8.56.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.56.0/8.56.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.56.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.56.0/8.56.1?slim=true) | | [@unocss/cli](https://unocss.dev) ([source](https://github.com/unocss/unocss/tree/HEAD/packages-engine/cli)) | [`66.6.0` → `66.6.2`](https://renovatebot.com/diffs/npm/@unocss%2fcli/66.6.0/66.6.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@unocss%2fcli/66.6.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@unocss%2fcli/66.6.0/66.6.2?slim=true) | | [@unocss/preset-web-fonts](https://unocss.dev) ([source](https://github.com/unocss/unocss/tree/HEAD/packages-presets/preset-web-fonts)) | [`66.6.0` → `66.6.2`](https://renovatebot.com/diffs/npm/@unocss%2fpreset-web-fonts/66.6.0/66.6.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@unocss%2fpreset-web-fonts/66.6.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@unocss%2fpreset-web-fonts/66.6.0/66.6.2?slim=true) | | [@unocss/preset-wind4](https://unocss.dev) ([source](https://github.com/unocss/unocss/tree/HEAD/packages-presets/preset-wind4)) | [`66.6.0` → `66.6.2`](https://renovatebot.com/diffs/npm/@unocss%2fpreset-wind4/66.6.0/66.6.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@unocss%2fpreset-wind4/66.6.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@unocss%2fpreset-wind4/66.6.0/66.6.2?slim=true) | | [eslint-plugin-better-tailwindcss](https://github.com/schoero/eslint-plugin-better-tailwindcss) | [`4.3.0` → `4.3.1`](https://renovatebot.com/diffs/npm/eslint-plugin-better-tailwindcss/4.3.0/4.3.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-better-tailwindcss/4.3.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-better-tailwindcss/4.3.0/4.3.1?slim=true) | | [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | [`0.5.0` → `0.5.2`](https://renovatebot.com/diffs/npm/eslint-plugin-react-refresh/0.5.0/0.5.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react-refresh/0.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react-refresh/0.5.0/0.5.2?slim=true) | | [globals](https://github.com/sindresorhus/globals) | [`17.3.0` → `17.4.0`](https://renovatebot.com/diffs/npm/globals/17.3.0/17.4.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/globals/17.4.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/globals/17.3.0/17.4.0?slim=true) | | [nx](https://nx.dev) ([source](https://github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`22.5.2` → `22.5.3`](https://renovatebot.com/diffs/npm/nx/22.5.2/22.5.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nx/22.5.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/22.5.2/22.5.3?slim=true) | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.30.1+sha512.3590e550d5384caa39bd5c7c739f72270234b2f6059e13018f975c313b1eb9fefcc09714048765d4d9efe961382c312e624572c0420762bdc5d5940cdf9be73a` → `10.30.3`](https://renovatebot.com/diffs/npm/pnpm/10.30.1/10.30.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.30.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.30.1/10.30.3?slim=true) | | [react-day-picker](https://daypicker.dev) ([source](https://github.com/gpbl/react-day-picker)) | [`9.13.2` → `9.14.0`](https://renovatebot.com/diffs/npm/react-day-picker/9.13.2/9.14.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/react-day-picker/9.14.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-day-picker/9.13.2/9.14.0?slim=true) | | [tailwindcss](https://tailwindcss.com) ([source](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)) | [`4.1.18` → `4.2.1`](https://renovatebot.com/diffs/npm/tailwindcss/4.2.0/4.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.2.0/4.2.1?slim=true) | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.56.0` → `8.56.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.56.0/8.56.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.56.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.56.0/8.56.1?slim=true) | | [unocss](https://unocss.dev) ([source](https://github.com/unocss/unocss/tree/HEAD/packages-presets/unocss)) | [`66.6.0` → `66.6.2`](https://renovatebot.com/diffs/npm/unocss/66.6.0/66.6.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/unocss/66.6.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/unocss/66.6.0/66.6.2?slim=true) | | [vike](https://github.com/vikejs/vike) | [`0.4.253` → `0.4.255`](https://renovatebot.com/diffs/npm/vike/0.4.253/0.4.255) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vike/0.4.255?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vike/0.4.253/0.4.255?slim=true) | --- ### Release Notes <details> <summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary> ### [`v0.77.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.77.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.76.0...@effect/language-service@0.77.0) ##### Minor Changes - [#&#8203;655](Effect-TS/language-service#655) [`c875de2`](Effect-TS/language-service@c875de2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `outdatedApi` diagnostic that warns when using outdated Effect APIs in a project targeting a newer version of Effect. ##### Patch Changes - [#&#8203;660](Effect-TS/language-service#660) [`99a97a6`](Effect-TS/language-service@99a97a6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Dispose TypeScript language services in tests to prevent resource leaks Added `languageService.dispose()` calls via `try/finally` patterns to all test files that create language services through `createServicesWithMockedVFS()`. This ensures proper cleanup of TypeScript compiler resources after each test completes, preventing memory leaks during test runs. - [#&#8203;658](Effect-TS/language-service#658) [`0154667`](Effect-TS/language-service@0154667) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix outdated API diagnostic for Effect v4 compatibility - Fixed `TaggedError` completion to use `TaggedErrorClass` matching the v4 API - Removed `Schema.RequestClass` examples that no longer exist in v4 - Updated Effect v4 harness to latest version - [#&#8203;659](Effect-TS/language-service#659) [`2699a80`](Effect-TS/language-service@2699a80) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add support for `Model.Class` from `effect/unstable/schema` in completions and diagnostics. The `classSelfMismatch` diagnostic now detects mismatched Self type parameters in `Model.Class` declarations, and the autocomplete for Self type in classes now suggests `Model.Class` when typing after `Model.`. ```ts import { Model } from "effect/unstable/schema"; // autocomplete triggers after `Model.` export class MyDataModel extends Model.Class<MyDataModel>("MyDataModel")({ id: Schema.String, }) {} ``` ### [`v0.76.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.76.0) [Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.75.1...@effect/language-service@0.76.0) ##### Minor Changes - [#&#8203;651](Effect-TS/language-service#651) [`aeab349`](Effect-TS/language-service@aeab349) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add refactor to convert `Effect.Service` to `Context.Tag` with a static `Layer` property. Supports all combinator kinds (`effect`, `scoped`, `sync`, `succeed`) and `dependencies`. The refactor replaces the `Effect.Service` class declaration with a `Context.Tag` class that has a `static layer` property using the corresponding `Layer` combinator. Before: ```ts export class MyService extends Effect.Service<MyService>()("MyService", { effect: Effect.gen(function* () { return { value: "hello" }; }), }) {} ``` After: ```ts export class MyService extends Context.Tag("MyService")< MyService, { value: string } >() { static layer = Layer.effect( this, Effect.gen(function* () { return { value: "hello" }; }) ); } ``` - [#&#8203;654](Effect-TS/language-service#654) [`2c93eab`](Effect-TS/language-service@2c93eab) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Migrate internal Effect dependency from v3 to v4. This updates all CLI and core modules to use the Effect v4 API while maintaining full backward compatibility with existing functionality. </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/babel-plugin-lingui-macro)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/babel-plugin-lingui-macro/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) **Note:** Version bump only for package [@&#8203;lingui/babel-plugin-lingui-macro](https://github.com/lingui/babel-plugin-lingui-macro) </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/cli)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/cli/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) ##### Bug Fixes - extract performance caused by catalog sort ([#&#8203;2460](lingui/js-lingui#2460)) ([f26a9d9](lingui/js-lingui@f26a9d9)) </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/conf)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/conf/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) **Note:** Version bump only for package [@&#8203;lingui/conf](https://github.com/lingui/conf) </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/core)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/core/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) **Note:** Version bump only for package [@&#8203;lingui/core](https://github.com/lingui/core) </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/react)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/react/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) **Note:** Version bump only for package [@&#8203;lingui/react](https://github.com/lingui/react) </details> <details> <summary>lingui/js-lingui (@&#8203;lingui/vite-plugin)</summary> ### [`v5.9.2`](https://github.com/lingui/js-lingui/blob/HEAD/packages/vite-plugin/CHANGELOG.md#592-2026-02-23) [Compare Source](lingui/js-lingui@v5.9.1...v5.9.2) **Note:** Version bump only for package [@&#8203;lingui/vite-plugin](https://github.com/lingui/vite-plugin) </details> <details> <summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary> ### [`v8.56.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8561-2026-02-23) [Compare Source](typescript-eslint/typescript-eslint@v8.56.0...v8.56.1) This was a version bump only for eslint-plugin to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary> ### [`v8.56.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8561-2026-02-23) [Compare Source](typescript-eslint/typescript-eslint@v8.56.0...v8.56.1) This was a version bump only for parser to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>unocss/unocss (@&#8203;unocss/cli)</summary> ### [`v66.6.2`](https://github.com/unocss/unocss/releases/tag/v66.6.2) [Compare Source](unocss/unocss@v66.6.1...v66.6.2) #####    🚀 Features - Add zed community extension to docs  -  by [@&#8203;bajrangCoder](https://github.com/bajrangCoder) and [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5116](unocss/unocss#5116) [<samp>(b46dc)</samp>](unocss/unocss@b46dc3c6d) - **preset-attributify**: Add `print` perfix in attributes  -  by [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5121](unocss/unocss#5121) [<samp>(2d7d6)</samp>](unocss/unocss@2d7d6f638) #####    🐞 Bug Fixes - **preset-mini**: Revert base `perspective` in `transform`  -  by [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5120](unocss/unocss#5120) [<samp>(73824)</samp>](unocss/unocss@738245603) #####     [View changes on GitHub](unocss/unocss@v66.6.1...v66.6.2) ### [`v66.6.1`](https://github.com/unocss/unocss/releases/tag/v66.6.1) [Compare Source](unocss/unocss@v66.6.0...v66.6.1) #####    🚀 Features - **preset-typography**: - Suppor set `null` & `{}` to remove default value  -  by [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5115](unocss/unocss#5115) [<samp>(52e75)</samp>](unocss/unocss@52e750431) - **preset-wind4**: - Add 'grid' to cssProps  -  by [@&#8203;bosnier](https://github.com/bosnier) and [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5085](unocss/unocss#5085) [<samp>(2f7f2)</samp>](unocss/unocss@2f7f267d0) - Add mauve, olive, mist, and taupe color palettes  -  by [@&#8203;CaiJimmy](https://github.com/CaiJimmy) in [#&#8203;5112](unocss/unocss#5112) [<samp>(3bda6)</samp>](unocss/unocss@3bda6b188) #####    🐞 Bug Fixes - **build**: Enforce publint and clean up configs and deps  -  by [@&#8203;Jungzl](https://github.com/Jungzl) and [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5080](unocss/unocss#5080) [<samp>(055fc)</samp>](unocss/unocss@055fced15) - **eslint-plugin**: Support eslint 10  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;5100](unocss/unocss#5100) [<samp>(ef20f)</samp>](unocss/unocss@ef20fd89c) - **examples**: Update vite svelte 5 example to svelte 5 syntax  -  by [@&#8203;henrikvilhelmberglund](https://github.com/henrikvilhelmberglund) in [#&#8203;5109](unocss/unocss#5109) [<samp>(09d9a)</samp>](unocss/unocss@09d9af88f) - **postcss**: Missing cjs entry  -  by [@&#8203;Jungzl](https://github.com/Jungzl) in [#&#8203;5074](unocss/unocss#5074) [<samp>(df41f)</samp>](unocss/unocss@df41f9f66) - **preset-mini, preset-wind4**: Update transform perspective generated css  -  by [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5114](unocss/unocss#5114) [<samp>(91ee3)</samp>](unocss/unocss@91ee3a59a) - **transformer-compile-class**: Support trigger with new line  -  by [@&#8203;zyyv](https://github.com/zyyv) in [#&#8203;5089](unocss/unocss#5089) [<samp>(4214f)</samp>](unocss/unocss@4214f6221) #####     [View changes on GitHub](unocss/unocss@v66.6.0...v66.6.1) </details> <details> <summary>schoero/eslint-plugin-better-tailwindcss (eslint-plugin-better-tailwindcss)</summary> ### [`v4.3.1`](https://github.com/schoero/eslint-plugin-better-tailwindcss/blob/HEAD/CHANGELOG.md#v431) [Compare Source](schoero/eslint-plugin-better-tailwindcss@v4.3.0...v4.3.1) [compare changes](schoero/eslint-plugin-better-tailwindcss@v4.3.0...v4.3.1) ##### Fixes - Variable matchers leaking into function expressions ([#&#8203;333](schoero/eslint-plugin-better-tailwindcss#333)) ##### Documentation - Add oxlint documentation ([#&#8203;331](schoero/eslint-plugin-better-tailwindcss#331)) </details> <details> <summary>ArnaudBarre/eslint-plugin-react-refresh (eslint-plugin-react-refresh)</summary> ### [`v0.5.2`](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/HEAD/CHANGELOG.md#052) [Compare Source](ArnaudBarre/eslint-plugin-react-refresh@v0.5.1...v0.5.2) - Support nested function calls for extraHOCs (actually fixes [#&#8203;104](ArnaudBarre/eslint-plugin-react-refresh#104)) ### [`v0.5.1`](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/HEAD/CHANGELOG.md#051) [Compare Source](ArnaudBarre/eslint-plugin-react-refresh@v0.5.0...v0.5.1) - Mark ESLint v10 as supported - Support false positives with TypeScript function overloading (fixes [#&#8203;105](ArnaudBarre/eslint-plugin-react-refresh#105)) - Support nested function calls for extraHOCs (fixes [#&#8203;104](ArnaudBarre/eslint-plugin-react-refresh#104)) </details> <details> <summary>sindresorhus/globals (globals)</summary> ### [`v17.4.0`](https://github.com/sindresorhus/globals/releases/tag/v17.4.0) [Compare Source](sindresorhus/globals@v17.3.0...v17.4.0) - Update globals (2026-03-01) ([#&#8203;338](sindresorhus/globals#338)) [`d43a051`](sindresorhus/globals@d43a051) *** </details> <details> <summary>nrwl/nx (nx)</summary> ### [`v22.5.3`](https://github.com/nrwl/nx/releases/tag/22.5.3) [Compare Source](nrwl/nx@22.5.2...22.5.3) #### 22.5.3 (2026-02-26) ##### 🚀 Features - **core:** add --json flag for better AX to nx list ([#&#8203;34551](nrwl/nx#34551)) - **core:** add passthrough for nx-cloud apply-locally command ([#&#8203;34557](nrwl/nx#34557)) - **core:** add explicit cloud opt-out to CNW ([#&#8203;34580](nrwl/nx#34580)) ##### 🩹 Fixes - **angular:** use SASS indented syntax in nx-welcome component when style is sass ([#&#8203;34510](nrwl/nx#34510), [#&#8203;33489](nrwl/nx#33489)) - **angular-rspack:** exclude .json files from JS/TS regex patterns ([#&#8203;34195](nrwl/nx#34195)) - **bundling:** skip unnecessary type-check in TS Solution Setup when skipTypeCheck is true ([#&#8203;34493](nrwl/nx#34493), [#&#8203;34492](nrwl/nx#34492)) - **bundling:** add docs link to generatePackageJson error message ([#&#8203;34562](nrwl/nx#34562), [#&#8203;30146](nrwl/nx#30146)) - **bundling:** fix regression on process.env usage for webpack ([#&#8203;34583](nrwl/nx#34583), [#&#8203;34279](nrwl/nx#34279)) - **core:** preserve existing source properties in claude plugin config ([#&#8203;34499](nrwl/nx#34499)) - **core:** retry entire SQLite transaction on DatabaseBusy ([#&#8203;34533](nrwl/nx#34533)) - **core:** reject pending promises directly when plugin worker exits unexpectedly ([#&#8203;34588](nrwl/nx#34588), [#&#8203;34564](nrwl/nx#34564)) - **core:** use recursive FSEvents on macOS instead of non-recursive kqueue ([#&#8203;34523](nrwl/nx#34523), [#&#8203;34329](nrwl/nx#34329), [#&#8203;33781](nrwl/nx#33781), [#&#8203;34522](nrwl/nx#34522)) - **core:** remove unused getTerminalOutput from BatchProcess ([#&#8203;34604](nrwl/nx#34604)) - **core:** handle FORCE\_COLOR=0 with picocolors ([#&#8203;34520](nrwl/nx#34520), [#&#8203;34305](nrwl/nx#34305), [#&#8203;34387](nrwl/nx#34387)) - **core:** use scoped cache key for unresolved npm imports in TargetProjectLocator ([#&#8203;34605](nrwl/nx#34605)) - **core:** preserve nxCloud=skip in non-interactive CNW mode ([#&#8203;34616](nrwl/nx#34616), [#&#8203;34580](nrwl/nx#34580)) - **core:** make watch command work with all and initialRun specified ([#&#8203;32282](nrwl/nx#32282), [#&#8203;32281](nrwl/nx#32281)) - **gradle:** ensure that atomized task targets have dependsOn ([#&#8203;34611](nrwl/nx#34611)) - **gradle:** use globs for dependent task output files ([#&#8203;34590](nrwl/nx#34590)) - **js:** use per-invocation cache in TS plugin to fix NX\_ISOLATE\_PLUGINS=false ([#&#8203;34566](nrwl/nx#34566)) - **js:** guard against undefined closest node in rehoistNodes ([#&#8203;34347](nrwl/nx#34347), [#&#8203;34322](nrwl/nx#34322)) - **js:** remove redundant vite.config.ts generation for vitest projects ([#&#8203;34603](nrwl/nx#34603), [#&#8203;34399](nrwl/nx#34399)) - **linter:** support eslint v10 ([#&#8203;34534](nrwl/nx#34534), [#&#8203;34415](nrwl/nx#34415)) - **linter:** allow for wildcards paths in enforce-module-boundaries rule ([#&#8203;34066](nrwl/nx#34066), [#&#8203;32190](nrwl/nx#32190)) - **maven:** fix set the pom file without changing base directory ([#&#8203;34182](nrwl/nx#34182), [#&#8203;34181](nrwl/nx#34181)) - **misc:** bump minimatch to 10.2.1 to address CVE-2026-26996 ([#&#8203;34509](nrwl/nx#34509), [#&#8203;34507](nrwl/nx#34507)) - **misc:** update maven & gradle icons to java duke icon ([#&#8203;34508](nrwl/nx#34508)) - **nx-dev:** correct interpolate sub command for cli reference ([#&#8203;34585](nrwl/nx#34585)) - **nx-dev:** move redirects from Next.js config to Netlify \_redirects ([#&#8203;34612](nrwl/nx#34612)) - **release:** allow null values in schema of dockerVersion ([#&#8203;34171](nrwl/nx#34171)) - **release:** add null-safe fallback for version in createGitTagValues ([#&#8203;34598](nrwl/nx#34598), [#&#8203;34382](nrwl/nx#34382), [#&#8203;33890](nrwl/nx#33890), [#&#8203;34391](nrwl/nx#34391)) - **repo:** remove chalk from e2e tests ([#&#8203;34570](nrwl/nx#34570)) - **testing:** use surgical text replacement in Jest matcher alias migration ([#&#8203;34350](nrwl/nx#34350), [#&#8203;32062](nrwl/nx#32062)) - **vite:** isPreview=true for Vite Preview server ([#&#8203;34597](nrwl/nx#34597)) - **webpack:** ensure safe `process.env` fallback replacement ([#&#8203;34464](nrwl/nx#34464), [#&#8203;30826](nrwl/nx#30826), [#&#8203;34460](nrwl/nx#34460)) ##### ❤️ Thank You - Amp - Anurag Agarwal [@&#8203;altaiezior](https://github.com/altaiezior) - anurag.ag [@&#8203;anuragagarwal561994](https://github.com/anuragagarwal561994) - Caleb Ukle - Charlie Croom - Colum Ferry [@&#8203;Coly010](https://github.com/Coly010) - Craigory Coppola [@&#8203;AgentEnder](https://github.com/AgentEnder) - Eric Baer - Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo) - Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz) - Jason Weinzierl - Jesse Zomer - Kai Gritun - Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://github.com/leosvelperez) - Louie Weng [@&#8203;lourw](https://github.com/lourw) - Mathias Schopmans - MaxKless [@&#8203;MaxKless](https://github.com/MaxKless) - Miguel [@&#8203;mpsanchis](https://github.com/mpsanchis) - Miroslav Jonaš [@&#8203;meeroslav](https://github.com/meeroslav) - Nikola Kalinov [@&#8203;nkalinov](https://github.com/nkalinov) - omasakun [@&#8203;omasakun](https://github.com/omasakun) - Samuel Briole - Tomas Ptacek [@&#8203;faileon](https://github.com/faileon) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.30.3`](https://github.com/pnpm/pnpm/releases/tag/v10.30.3): pnpm 10.30.3 [Compare Source](pnpm/pnpm@v10.30.2...v10.30.3) #### Patch Changes - Fixed version switching via `packageManager` field failing when pnpm is installed as a standalone executable in environments without a system Node.js [#&#8203;10687](pnpm/pnpm#10687). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.30.2`](https://github.com/pnpm/pnpm/releases/tag/v10.30.2): pnpm 10.30.2 [Compare Source](pnpm/pnpm@v10.30.1...v10.30.2) #### Patch Changes - Fix auto-installed peer dependencies ignoring overrides when a stale version exists in the lockfile. - Fixed "input line too long" error on Windows when running lifecycle scripts with the global virtual store enabled [#&#8203;10673](pnpm/pnpm#10673). - Update [@&#8203;zkochan/js-yaml](https://github.com/zkochan/js-yaml) to fix moderate vulnerability. #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> </details> <details> <summary>gpbl/react-day-picker (react-day-picker)</summary> ### [`v9.14.0`](https://github.com/gpbl/react-day-picker/blob/HEAD/CHANGELOG.md#v9140) [Compare Source](gpbl/react-day-picker@v9.13.2...v9.14.0) *Release date: 2026-02-26* This release introduces a new `resetOnSelect` prop and adds support for the Hijri calendar. ##### Resetting Selections in Range Mode When in range selection mode, use the [`resetOnSelect`](/selections/range-mode#reset-selection) prop to start a new range when a full range is already selected. ##### Hijri Calendar To use the Hijri (Umm al-Qura) calendar, import `DayPicker` from `react-day-picker/hijri`: ```tsx import { DayPicker } from "react-day-picker/hijri"; export function HijriCalendar() { return <DayPicker />; } ``` Read more in the [documentation](/localization/hijri) and play with it in [playground](/playground?calendar=hijri). ##### What's Changed - feat: add Hijri calendar support (Umm al-Qura) by [@&#8203;ws-rush](https://github.com/ws-rush) in [#&#8203;2904](gpbl/react-day-picker#2904) - feat: add `resetOnSelect` prop to reset date range when selecting date with completed range by [@&#8203;rodgobbi](https://github.com/rodgobbi) in [#&#8203;2906](gpbl/react-day-picker#2906) - feat: add default `lang` prop to `DayPicker` root element by [@&#8203;gpbl](https://github.com/gpbl) in [#&#8203;2907](gpbl/react-day-picker#2907) </details> <details> <summary>tailwindlabs/tailwindcss (tailwindcss)</summary> ### [`v4.2.1`](https://github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#421---2026-02-23) [Compare Source](tailwindlabs/tailwindcss@v4.2.0...v4.2.1) ##### Fixed - Allow trailing dash in functional utility names for backwards compatibility ([#&#8203;19696](tailwindlabs/tailwindcss#19696)) - Properly detect classes containing `.` characters within curly braces in MDX files ([#&#8203;19711](tailwindlabs/tailwindcss#19711)) </details> <details> <summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary> ### [`v8.56.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8561-2026-02-23) [Compare Source](typescript-eslint/typescript-eslint@v8.56.0...v8.56.1) This was a version bump only for typescript-eslint to align it with other projects, there were no code changes. See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.1) for more information. You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website. </details> <details> <summary>vikejs/vike (vike)</summary> ### [`v0.4.255`](https://github.com/vikejs/vike/blob/HEAD/CHANGELOG.md#04255-2026-02-27) [Compare Source](vikejs/vike@v0.4.254...v0.4.255) ##### Bug Fixes - hoist pointer imports ([#&#8203;3132](vikejs/vike#3132)) ([bc71fe9](vikejs/vike@bc71fe9)) - improve config external heuristic ([#&#8203;3130](vikejs/vike#3130)) ([e8f42ac](vikejs/vike@e8f42ac)) - rename vike-pointer => vike:pointer ([31aa0e3](vikejs/vike@31aa0e3)) ##### MINOR BREAKING CHANGES > \[!NOTE] > We recommend ignoring `MINOR BREAKING CHANGES` unless this version breaks your app, see [Vike Versioning](https://vike.dev/versioning). - `with { type: 'vike-pointer' }` renamed to `with { type: 'vike:pointer' }` ### [`v0.4.254`](https://github.com/vikejs/vike/blob/HEAD/CHANGELOG.md#04254-2026-02-26) [Compare Source](vikejs/vike@v0.4.253...v0.4.254) ##### Bug Fixes - [@&#8203;brillout/vite-plugin-server-entry](https://github.com/brillout/vite-plugin-server-entry)@&#8203;^0.7.18 ([#&#8203;3114](vikejs/vike#3114)) ([a6d5391](vikejs/vike@a6d5391)) - `export type { EarlyHint }` ([2e9ec60](vikejs/vike@2e9ec60)) - exclude `*.spec.*` and `*.test.*` files from vike `+` file processing (fix [#&#8203;3124](vikejs/vike#3124)) ([#&#8203;3125](vikejs/vike#3125)) ([56475f3](vikejs/vike@56475f3)) - migrate glob "as" option to "query" ([eba39fd](vikejs/vike@eba39fd)) - more reliable tool CLI test ([cd1c053](vikejs/vike@cd1c053)) - reduce pre-render dependency on Vite ([#&#8203;3113](vikejs/vike#3113)) ([#&#8203;3118](vikejs/vike#3118)) ([2d3be47](vikejs/vike@2d3be47)) - remove [@&#8203;brillout/require-shim](https://github.com/brillout/require-shim) ([#&#8203;3091](vikejs/vike#3091)) ([164918b](vikejs/vike@164918b)) - remove config.build.ssr assert ([#&#8203;3096](vikejs/vike#3096)) ([6cfeda2](vikejs/vike@6cfeda2)) - remove Vike's Vite plugin when running storybook ([98040ab](vikejs/vike@98040ab)) - replace `import.meta.env` with `null` (closes [#&#8203;3078](vikejs/vike#3078)) ([#&#8203;3082](vikejs/vike#3082)) ([c061f58](vikejs/vike@c061f58)) - revive server-only pageContext types such as pageContext.headers (fix [#&#8203;3087](vikejs/vike#3087)) ([1658209](vikejs/vike@1658209)) - Safari WebKit TDZ bug in loadAndParseVirtualFilePageEntry (fix [#&#8203;3121](vikejs/vike#3121)) ([#&#8203;3122](vikejs/vike#3122)) ([1d110cc](vikejs/vike@1d110cc)) - stop showing warning when using vite.createServer() ([#&#8203;3096](vikejs/vike#3096)) ([c34c417](vikejs/vike@c34c417)) - swallow noisy Vitest error ([0e038aa](vikejs/vike@0e038aa)) - tolerate `import { prerender } from 'vike/api'` in production (fix [#&#8203;3094](vikejs/vike#3094)) ([e3b56da](vikejs/vike@e3b56da)) - tolerate importing Vike's Vite plugin in server runtime (fix [#&#8203;3113](vikejs/vike#3113)) ([#&#8203;3115](vikejs/vike#3115)) ([d6e725f](vikejs/vike@d6e725f)) - tolerate static file imports in config files (brillout/docpress[#&#8203;86](vikejs/vike#86)) ([#&#8203;3123](vikejs/vike#3123)) ([b170368](vikejs/vike@b170368)) - update glob pattern to work with Vite 8 ([22182f2](vikejs/vike@22182f2)) ##### Features - `vikeConfig._extensions` ([#&#8203;3120](vikejs/vike#3120)) ([d6aa272](vikejs/vike@d6aa272)) - `with { type: 'vike-pointer' }` (closes [#&#8203;1500](vikejs/vike#1500)) ([#&#8203;3126](vikejs/vike#3126)) ([332f31b](vikejs/vike@332f31b)) - DEBUG=vike:config ([e22c133](vikejs/vike@e22c133)) ##### Performance Improvements - don't prettify pageContext in production (fix [#&#8203;3099](vikejs/vike#3099)) ([a8f23e5](vikejs/vike@a8f23e5)) ##### MINOR BREAKING CHANGES > \[!NOTE] > We recommend ignoring `MINOR BREAKING CHANGES` unless this version breaks your app, see [Vike Versioning](https://vike.dev/versioning). - Vike's Vite plugin automatically removes itself if Storybook is detected - `+*.spec.*` and `+*.test.*` files are now ignored by Vike - `prerender()` returned value `viteConfig` can be `null` - Bare `import.meta.env` expression is replaced with `null` — use `import.meta.env.SONE_ENV` instead, see [vike.dev/env](https://vike.dev/env) </details> --- ### Configuration 📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC, 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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119--> Reviewed-on: https://git.bitcart.ai/bitcart/bitcart-frontend/pulls/131
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant