deps: bump the lint-tooling group with 5 updates #573

Open
dependabot[bot] wants to merge 1 commit from dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836 into main
dependabot[bot] commented 2026-07-23 18:53:48 +00:00 (Migrated from github.com)

Bumps the lint-tooling group with 5 updates:

Package From To
eslint 9.39.3 10.7.0
eslint-config-next 16.1.6 16.2.11
eslint-plugin-react-hooks 7.0.1 7.1.1
lint-staged 15.5.2 17.2.0
prettier 3.8.1 3.9.6

Updates eslint from 9.39.3 to 10.7.0

Release notes

Sourced from eslint's releases.

v10.7.0

Features

  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#21032) (sethamus)
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#21063) (fnx)
  • 557fde8 feat: support computed Number.parseInt member access in radix rule (#21041) (Pixel)
  • 0b4a73b feat: add suggestions to no-compare-neg-zero (#21034) (den$)
  • 96cdd42 feat: report invalid signed numeric radix values in radix rule (#21030) (Pixel)

Bug Fixes

  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#21069) (Pixel)
  • 0d7d70c fix: insert cause outside wrapping parens in preserve-caught-error (#21062) (Mahin Anowar)
  • 75ec753 fix: handle static template literals in eqeqeq rule (#21058) (Pixel)
  • b717a22 fix: prevent eqeqeq null option from reporting non-equality operators (#21057) (Pixel)
  • e35b05f fix: avoid no-invalid-regexp false positive for shadowed RegExp (#21051) (Pixel)
  • a3172b6 fix: avoid no-control-regex false positive for shadowed RegExp (#21050) (Pixel)
  • d1f637e fix: parenthesize sequence expression operands in no-implicit-coercion (#21045) (spokodev)
  • 8859baf fix: avoid prefer-numeric-literals false positive for shadowed globals (#21047) (한국)
  • a9e5961 fix: use-isnan false positive on shadowed NaN/Number (#20958) (sethamus)
  • 8a240a7 fix: avoid false positives in radix rule for spread arguments (#21044) (Pixel)

Documentation

  • c30d808 docs: Update README (GitHub Actions Bot)
  • 5139800 docs: document ESLint migration codemods in v9 and v10 guides (#20980) (Alex Bit)
  • 04174cb docs: Update README (GitHub Actions Bot)
  • 026e130 docs: update semver policy for bug fixes (#21048) (Milos Djermanovic)
  • 9d42fef docs: Update README (GitHub Actions Bot)
  • b230159 docs: Update README (GitHub Actions Bot)
  • 0129972 docs: correct **/.js glob to **/*.js in config files guide (#21036) (EduardF1)

Chores

  • 9489379 chore: update dependency @​eslint/eslintrc to ^3.3.6 (#21076) (renovate[bot])
  • 81a4774 chore: updates for v9.39.5 release (Jenkins)
  • 9835414 chore: enable $ExpectType annotations in all TypeScript files (#21071) (Francesco Trotta)
  • 72adf6b chore: restrict markdownlint-cli2 updates in renovate (#21067) (lumir)
  • 833ec10 chore: update dependency prettier to v3.9.4 (#21061) (renovate[bot])
  • 7ea106d chore: update ecosystem plugins (#21059) (ESLint Bot)
  • 8fb550e chore: add prettier update commit to .git-blame-ignore-revs (#21056) (lumir)
  • e4e1166 chore: update dependency prettier to v3.9.1 (#21055) (renovate[bot])
  • 0493f53 chore: update prettier to v3.9.0 (#21054) (Pixel)
  • 1056a99 chore: update dependency prettier to v3.8.5 (#21049) (renovate[bot])
  • 4d4155d ci: run ecosystem tests on pull requests (#21027) (sethamus)
  • 993539f chore: update dependency @​eslint/json to ^2.0.1 (#21042) (renovate[bot])
  • 53f8b69 test: add error locations to no-constant-binary-expression (#21039) (lumir)
  • 5ab71d5 refactor: clean up radix rule internals (#21015) (Pixel)
  • a80a9a4 chore: update ecosystem plugins (#21035) (ESLint Bot)
  • 7c9a029 ci: add Node.js 26 to CI (#20847) (lumir)

v10.6.0

Features

  • b1f9106 feat: detect Symbol() and BigInt() in no-constant-binary-expression (#20981) (Taejin Kim)

... (truncated)

Commits
  • fabd99b 10.7.0
  • 37c5e75 Build: changelog update for 10.7.0
  • 9489379 chore: update dependency @​eslint/eslintrc to ^3.3.6 (#21076)
  • 81a4774 chore: updates for v9.39.5 release
  • 3e7bf15 fix: apply ignoreClassesWithImplements to class expressions (#21069)
  • 9835414 chore: enable $ExpectType annotations in all TypeScript files (#21071)
  • cf2a9bf feat: add errorClassNames option to preserve-caught-error rule (#21032)
  • c30d808 docs: Update README
  • f8b873a feat: max-nested-callbacks option for constructor callbacks (#21063)
  • 72adf6b chore: restrict markdownlint-cli2 updates in renovate (#21067)
  • Additional commits viewable in compare view

Updates eslint-config-next from 16.1.6 to 16.2.11

Release notes

Sourced from eslint-config-next's releases.

v16.2.11

This release contains security fixes for the following advisories:

High:

Moderate:

v16.2.10

Contains no changes except publishing @next/swc-wasm-web which was accidentally not published since 16.2.4.

v16.2.9

Empty release to ensure next@latest points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM dist-tags, we have to release a new version. Updating dist-tags is not possible with Trusted Publishing.

v16.2.8

Release with no changes in an attempt to fix next@latest pointing at a prerelease version.

v16.2.7

[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes

  • Backport documentation fixes for v16.2 (#93804)
  • [backport] Patch playwright-core to resolve _finishedPromise on requestFailed (#93920)
  • [backport] Fix dev mode hydration failure when page is served from HTTP cache (#93492)
  • [backport] Fix catch-all router.query corruption with basePath + rewrites (#93917)
  • [backport] Encode non-ASCII characters in cache tags at construction (#93918)
  • [backport] Fix server action forwarding loop with middleware rewrites (#93919)
  • [backport] Turbopack: switch from base40 to base38 hash encoding (#93932)
  • [ci] Disable hanging node 24 typescript tests on 16.2 backport branch (#94164)
  • [backport] Fix "type: module" in project dir when using standalone or adapters (#94050)
  • [backport] Propagate adapter preferred regions (#94200)
  • [16.2.x] Don't drop FormData entries (#94240)
  • [backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (#94284)

Credits

Huge thanks to @​eps1lon, @​icyJoseph, @​unstubbable, @​mischnic, @​bgw, @​timneutkens, and @​lukesandberg for helping!

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for eslint-config-next since your current version.


Updates eslint-plugin-react-hooks from 7.0.1 to 7.1.1

Release notes

Sourced from eslint-plugin-react-hooks's releases.

eslint-plugin-react-hooks@7.1.1 (April 17, 2026)

Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.

  • Add deprecated no-op component-hook-factories rule for backwards compatibility. (@​mofeiZ in #36307)

eslint-plugin-react-hooks@7.1.0 (April 16, 2026)

This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.

Changelog

Sourced from eslint-plugin-react-hooks's changelog.

7.1.1

Note: 7.1.0 accidentally removed the component-hook-factories rule, causing errors for users who referenced it in their ESLint config. This is now fixed.

  • Add deprecated no-op component-hook-factories rule for backwards compatibility. (@​mofeiZ in #36307)

7.1.0

This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better set-state-in-effect detection, improved ref validation, and more helpful error reporting.

Commits

Updates lint-staged from 15.5.2 to 17.2.0

Release notes

Sourced from lint-staged's releases.

v17.2.0

Minor Changes

  • #1823 ee156cc - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:

    /** @type {import('lint-staged').Configuration} */
    export default {
      "*.ts": () => "tsc", // Run "tsc" when any TS file is changed (for entire project)
    };
    

    Where the spawned command is literally "tsc" without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.

    Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:

    /** @type {import('lint-staged').Configuration} */
    export default {
      "*.js": {
        title: "Log staged JS files to console",
        task: async (files) => {
          console.log("Staged JS files:", files);
        },
      },
    };
    

v17.1.1

Patch Changes

  • #1820 a626a9f - It's now possible to set --max-arg-length=Infinity to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options --max-arg-length and --concurrency has been improved.

v17.1.0

Minor Changes

  • #1816 7568d4f - The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to remove Listr2, a very large dependency.

    Before:

    Size of node_modules/ after installing: 1561.7 kB with 29 packages.

    Fancy interactive spinners, but output dynamically changes:

    ✔ Backed up original state in git stash (0b191303)
    ✔ Running tasks for staged files...
    ✔ Staging changes from tasks...
    ✔ Cleaning up temporary files...
    

... (truncated)

Changelog

Sourced from lint-staged's changelog.

17.2.0

Minor Changes

  • #1823 ee156cc - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:

    /** @type {import('lint-staged').Configuration} */
    export default {
      "*.ts": () => "tsc", // Run "tsc" when any TS file is changed (for entire project)
    };
    

    Where the spawned command is literally "tsc" without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.

    Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:

    /** @type {import('lint-staged').Configuration} */
    export default {
      "*.js": {
        title: "Log staged JS files to console",
        task: async (files) => {
          console.log("Staged JS files:", files);
        },
      },
    };
    

17.1.1

Patch Changes

  • #1820 a626a9f - It's now possible to set --max-arg-length=Infinity to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options --max-arg-length and --concurrency has been improved.

17.1.0

Minor Changes

  • #1816 7568d4f - The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to remove Listr2, a very large dependency.

    Before:

    Size of node_modules/ after installing: 1561.7 kB with 29 packages.

    Fancy interactive spinners, but output dynamically changes:

    ✔ Backed up original state in git stash (0b191303)
    ✔ Running tasks for staged files...
    

... (truncated)

Commits
  • fb540fb Merge pull request #1824 from lint-staged/changeset-release/main
  • dc0a738 chore(changeset): release
  • 60cbb88 Merge pull request #1823 from lint-staged/reimplement-chunk-files
  • 2354dc4 build(deps): update dependencies
  • 0516e7f docs: adjust debug logs
  • e22f6ed style: run oxfmt on README.md
  • 37e8e1a fix: restore chunking of git add command after running tasks
  • 2c75f1d chore: remove unused file
  • ee156cc feat: add improved lazy-chunking of command strings
  • baa7c98 feat: remove current chunkFiles implementation
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for lint-staged since your current version.


Updates prettier from 3.8.1 to 3.9.6

Release notes

Sourced from prettier's releases.

3.9.6

What's Changed

🔗 Changelog

3.9.5

🔗 Changelog

3.9.4

  • Angular: Format @content(name) -> @content (name) to align with other block syntax (#19499 by @​fisker)

🔗 Changelog

3.9.3

🔗 Changelog

3.9.1

🔗 Changelog

3.9.0

diff

🔗 Prettier 3.9: Major parser upgrades and Formatting improvements

3.8.5

🔗 Changelog

3.8.4

🔗 Changelog

3.8.3

🔗 Changelog

... (truncated)

Changelog

Sourced from prettier's changelog.

3.9.6

diff

TypeScript: Preserve quotes for methods named new (#19621 by @​kovsu)

// Input
interface Container {
  "new"(id: string): number;
}

// Prettier 3.9.5
interface Container {
new(id: string): number;
}

// Prettier 3.9.6
interface Container {
"new"(id: string): number;
}

TypeScript: Support import defer (#19624, #19675 by @​fisker)

// Input
import defer * as foo from "foo";

// Prettier 3.9.5
import * as foo from "foo";

// Prettier 3.9.6
import defer * as foo from "foo";

JavaScript: Added a new official plugin @prettier/plugin-yuku (#19628, #19629 by @​fisker)

@prettier/plugin-yuku is powered by Yuku (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).

This plugin includes two new parsers: yuku (JavaScript syntax) and yuku-ts (TypeScript syntax).

To use this plugin:

  1. Install the plugin:

    yarn add --dev prettier @prettier/plugin-yuku
    

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
Bumps the lint-tooling group with 5 updates: | Package | From | To | | --- | --- | --- | | [eslint](https://github.com/eslint/eslint) | `9.39.3` | `10.7.0` | | [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.11` | | [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `17.2.0` | | [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.9.6` | Updates `eslint` from 9.39.3 to 10.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eslint/eslint/releases">eslint's releases</a>.</em></p> <blockquote> <h2>v10.7.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27"><code>cf2a9bf</code></a> feat: add errorClassNames option to preserve-caught-error rule (<a href="https://redirect.github.com/eslint/eslint/issues/21032">#21032</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f"><code>f8b873a</code></a> feat: max-nested-callbacks option for constructor callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/21063">#21063</a>) (fnx)</li> <li><a href="https://github.com/eslint/eslint/commit/557fde8bc633d26ea4fe287d4483f287e8e6080f"><code>557fde8</code></a> feat: support computed <code>Number.parseInt</code> member access in <code>radix</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/21041">#21041</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/0b4a73b65808f5a8fd192f15db2bf5e47002b9f7"><code>0b4a73b</code></a> feat: add suggestions to no-compare-neg-zero (<a href="https://redirect.github.com/eslint/eslint/issues/21034">#21034</a>) (den$)</li> <li><a href="https://github.com/eslint/eslint/commit/96cdd427db5f26c6403fba92b0f7ae4556c595ec"><code>96cdd42</code></a> feat: report invalid signed numeric radix values in <code>radix</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/21030">#21030</a>) (Pixel)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede"><code>3e7bf15</code></a> fix: apply <code>ignoreClassesWithImplements</code> to class expressions (<a href="https://redirect.github.com/eslint/eslint/issues/21069">#21069</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/0d7d70cf013ec5bf1e4f5a0fcf7128bdf059b2d4"><code>0d7d70c</code></a> fix: insert cause outside wrapping parens in preserve-caught-error (<a href="https://redirect.github.com/eslint/eslint/issues/21062">#21062</a>) (Mahin Anowar)</li> <li><a href="https://github.com/eslint/eslint/commit/75ec753226010867270787b412f3dae412e421e6"><code>75ec753</code></a> fix: handle static template literals in <code>eqeqeq</code> rule (<a href="https://redirect.github.com/eslint/eslint/issues/21058">#21058</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/b717a22e2408389a2ad40af66543e46390669eb6"><code>b717a22</code></a> fix: prevent <code>eqeqeq</code> null option from reporting non-equality operators (<a href="https://redirect.github.com/eslint/eslint/issues/21057">#21057</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/e35b05f1961dcd691611bd68b6ff8a87072d6f76"><code>e35b05f</code></a> fix: avoid <code>no-invalid-regexp</code> false positive for shadowed RegExp (<a href="https://redirect.github.com/eslint/eslint/issues/21051">#21051</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/a3172b69c7db63ea0321355543e3f527c7d8b76a"><code>a3172b6</code></a> fix: avoid <code>no-control-regex</code> false positive for shadowed RegExp (<a href="https://redirect.github.com/eslint/eslint/issues/21050">#21050</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/d1f637eca27e523d613991c6bea5b8726b810e4c"><code>d1f637e</code></a> fix: parenthesize sequence expression operands in no-implicit-coercion (<a href="https://redirect.github.com/eslint/eslint/issues/21045">#21045</a>) (spokodev)</li> <li><a href="https://github.com/eslint/eslint/commit/8859bafb018e2b23b5110d52e491b69b94ad890a"><code>8859baf</code></a> fix: avoid prefer-numeric-literals false positive for shadowed globals (<a href="https://redirect.github.com/eslint/eslint/issues/21047">#21047</a>) (한국)</li> <li><a href="https://github.com/eslint/eslint/commit/a9e5961050676ef29dba9649dfcd7233d21760c7"><code>a9e5961</code></a> fix: use-isnan false positive on shadowed NaN/Number (<a href="https://redirect.github.com/eslint/eslint/issues/20958">#20958</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/8a240a76108f30f2476e61a925e4d32d378cce5e"><code>8a240a7</code></a> fix: avoid false positives in <code>radix</code> rule for spread arguments (<a href="https://redirect.github.com/eslint/eslint/issues/21044">#21044</a>) (Pixel)</li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf"><code>c30d808</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/5139800b23e77fdd1a76664e1b36f478942eae55"><code>5139800</code></a> docs: document ESLint migration codemods in v9 and v10 guides (<a href="https://redirect.github.com/eslint/eslint/issues/20980">#20980</a>) (Alex Bit)</li> <li><a href="https://github.com/eslint/eslint/commit/04174cbfaac1f9555400b5332d69056e6aab9cc6"><code>04174cb</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/026e1304080512bcddfd2af3557fff86474ff949"><code>026e130</code></a> docs: update semver policy for bug fixes (<a href="https://redirect.github.com/eslint/eslint/issues/21048">#21048</a>) (Milos Djermanovic)</li> <li><a href="https://github.com/eslint/eslint/commit/9d42fefb0e05ecd0b256c2ebed479fc868862f0c"><code>9d42fef</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/b23015955c8d6e6516076190730f538c86927f26"><code>b230159</code></a> docs: Update README (GitHub Actions Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/0129972ba122e95bece6040fda44d20f6799246a"><code>0129972</code></a> docs: correct <code>**/.js</code> glob to <code>**/*.js</code> in config files guide (<a href="https://redirect.github.com/eslint/eslint/issues/21036">#21036</a>) (EduardF1)</li> </ul> <h2>Chores</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64"><code>9489379</code></a> chore: update dependency <code>@​eslint/eslintrc</code> to ^3.3.6 (<a href="https://redirect.github.com/eslint/eslint/issues/21076">#21076</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522"><code>81a4774</code></a> chore: updates for v9.39.5 release (Jenkins)</li> <li><a href="https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4"><code>9835414</code></a> chore: enable <code>$ExpectType</code> annotations in all TypeScript files (<a href="https://redirect.github.com/eslint/eslint/issues/21071">#21071</a>) (Francesco Trotta)</li> <li><a href="https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a"><code>72adf6b</code></a> chore: restrict <code>markdownlint-cli2</code> updates in renovate (<a href="https://redirect.github.com/eslint/eslint/issues/21067">#21067</a>) (lumir)</li> <li><a href="https://github.com/eslint/eslint/commit/833ec10fd702644e94334edd3cd2aa313174a958"><code>833ec10</code></a> chore: update dependency prettier to v3.9.4 (<a href="https://redirect.github.com/eslint/eslint/issues/21061">#21061</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/7ea106ddcb6af7db8f36d62a28dbaba94d33598e"><code>7ea106d</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21059">#21059</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/8fb550e7c257fbdc4108fc8e63db43c1d914d472"><code>8fb550e</code></a> chore: add prettier update commit to <code>.git-blame-ignore-revs</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21056">#21056</a>) (lumir)</li> <li><a href="https://github.com/eslint/eslint/commit/e4e11668ead6b950328c71e894563a13ef72bf84"><code>e4e1166</code></a> chore: update dependency prettier to v3.9.1 (<a href="https://redirect.github.com/eslint/eslint/issues/21055">#21055</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/0493f53f3fcec4ed69a1808dffa153dcff1380d3"><code>0493f53</code></a> chore: update prettier to v3.9.0 (<a href="https://redirect.github.com/eslint/eslint/issues/21054">#21054</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/1056a996c657b377dc16a58c28890d2940394408"><code>1056a99</code></a> chore: update dependency prettier to v3.8.5 (<a href="https://redirect.github.com/eslint/eslint/issues/21049">#21049</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/4d4155df4a21d711e8dd21a467de085e770bad35"><code>4d4155d</code></a> ci: run ecosystem tests on pull requests (<a href="https://redirect.github.com/eslint/eslint/issues/21027">#21027</a>) (sethamus)</li> <li><a href="https://github.com/eslint/eslint/commit/993539fd45d3d01aad3fbc13963e2245fdf7ee0d"><code>993539f</code></a> chore: update dependency <code>@​eslint/json</code> to ^2.0.1 (<a href="https://redirect.github.com/eslint/eslint/issues/21042">#21042</a>) (renovate[bot])</li> <li><a href="https://github.com/eslint/eslint/commit/53f8b69c15af7398c989071ee4788b88edd48bdd"><code>53f8b69</code></a> test: add error locations to <code>no-constant-binary-expression</code> (<a href="https://redirect.github.com/eslint/eslint/issues/21039">#21039</a>) (lumir)</li> <li><a href="https://github.com/eslint/eslint/commit/5ab71d52f9d860df04e626fcd819a36257f21f9e"><code>5ab71d5</code></a> refactor: clean up radix rule internals (<a href="https://redirect.github.com/eslint/eslint/issues/21015">#21015</a>) (Pixel)</li> <li><a href="https://github.com/eslint/eslint/commit/a80a9a461478838930c5545f840473840b26b0e6"><code>a80a9a4</code></a> chore: update ecosystem plugins (<a href="https://redirect.github.com/eslint/eslint/issues/21035">#21035</a>) (ESLint Bot)</li> <li><a href="https://github.com/eslint/eslint/commit/7c9a02933cf1c231237babb8a7a32150ab72e263"><code>7c9a029</code></a> ci: add Node.js 26 to CI (<a href="https://redirect.github.com/eslint/eslint/issues/20847">#20847</a>) (lumir)</li> </ul> <h2>v10.6.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/b1f910628e29a018c860e2352bc14cd07c853d67"><code>b1f9106</code></a> feat: detect Symbol() and BigInt() in no-constant-binary-expression (<a href="https://redirect.github.com/eslint/eslint/issues/20981">#20981</a>) (Taejin Kim)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/eslint/eslint/commit/fabd99bb74eedcb950df51ec3280414ff1d68d38"><code>fabd99b</code></a> 10.7.0</li> <li><a href="https://github.com/eslint/eslint/commit/37c5e75949ff2ae1f0085f547e35ce2bdf9d524d"><code>37c5e75</code></a> Build: changelog update for 10.7.0</li> <li><a href="https://github.com/eslint/eslint/commit/948937986f2aa3cccb27a4c80694a85e5b0a5f64"><code>9489379</code></a> chore: update dependency <code>@​eslint/eslintrc</code> to ^3.3.6 (<a href="https://redirect.github.com/eslint/eslint/issues/21076">#21076</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/81a4774a928211bd0c01a06a1517736ece594522"><code>81a4774</code></a> chore: updates for v9.39.5 release</li> <li><a href="https://github.com/eslint/eslint/commit/3e7bf15e69e6d3a2c8832356bcc2e9903cc4eede"><code>3e7bf15</code></a> fix: apply <code>ignoreClassesWithImplements</code> to class expressions (<a href="https://redirect.github.com/eslint/eslint/issues/21069">#21069</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/983541491393323d17717683f6a2e6dbef4bc3f4"><code>9835414</code></a> chore: enable <code>$ExpectType</code> annotations in all TypeScript files (<a href="https://redirect.github.com/eslint/eslint/issues/21071">#21071</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/cf2a9bf2d982642f760370c15f1196f4658f4e27"><code>cf2a9bf</code></a> feat: add errorClassNames option to preserve-caught-error rule (<a href="https://redirect.github.com/eslint/eslint/issues/21032">#21032</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/c30d80801ca561bdf65c6c3eba4ee57dced278cf"><code>c30d808</code></a> docs: Update README</li> <li><a href="https://github.com/eslint/eslint/commit/f8b873aae53610b80b5c1005606716e05ed3b91f"><code>f8b873a</code></a> feat: max-nested-callbacks option for constructor callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/21063">#21063</a>)</li> <li><a href="https://github.com/eslint/eslint/commit/72adf6bd214c142b38aabb4b8f6f908079c5301a"><code>72adf6b</code></a> chore: restrict <code>markdownlint-cli2</code> updates in renovate (<a href="https://redirect.github.com/eslint/eslint/issues/21067">#21067</a>)</li> <li>Additional commits viewable in <a href="https://github.com/eslint/eslint/compare/v9.39.3...v10.7.0">compare view</a></li> </ul> </details> <br /> Updates `eslint-config-next` from 16.1.6 to 16.2.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vercel/next.js/releases">eslint-config-next's releases</a>.</em></p> <blockquote> <h2>v16.2.11</h2> <p>This release contains security fixes for the following advisories:</p> <p>High:</p> <ul> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-m99w-x7hq-7vfj">Denial of Service in App Router using Server Actions</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-6gpp-xcg3-4w24">Middleware / Proxy bypass in App Router applications using Turbopack and single locale</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-p9j2-gv94-2wf4">Server-Side Request Forgery in rewrites via attacker-controlled destination hostname</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-89xv-2m56-2m9x">Server-Side Request Forgery in Server Actions on custom servers</a></li> </ul> <p>Moderate:</p> <ul> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-68g3-v927-f742">Cache confusion of response bodies for requests with bodies</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-4633-3j49-mh5q">Cache confusion of response bodies for requests with bodies containing invalid UTF-8 byte sequences</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-q8wf-6r8g-63ch">Denial of Service in the Image Optimization API using SVGs</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-955p-x3mx-jcvp">Unauthenticated disclosure of internal Server Function endpoints</a></li> <li><a href="https://github.com/vercel/next.js/security/advisories/GHSA-4c39-4ccg-62r3">Unbounded Server Action payload in Edge runtime</a></li> </ul> <h2>v16.2.10</h2> <p>Contains no changes except publishing <code>@next/swc-wasm-web</code> which was accidentally not published since 16.2.4.</p> <h2>v16.2.9</h2> <p>Empty release to ensure <code>next@latest</code> points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM dist-tags, we have to release a new version. Updating dist-tags is not possible with Trusted Publishing.</p> <h2>v16.2.8</h2> <p>Release with no changes in an attempt to fix <code>next@latest</code> pointing at a prerelease version.</p> <h2>v16.2.7</h2> <blockquote> <p>[!NOTE] This release is backporting bug fixes. It does <strong>not</strong> include all pending features/changes on canary.</p> </blockquote> <h3>Core Changes</h3> <ul> <li>Backport documentation fixes for v16.2 (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93804">#93804</a>)</li> <li>[backport] Patch <code>playwright-core</code> to resolve <code>_finishedPromise</code> on <code>requestFailed</code> (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93920">#93920</a>)</li> <li>[backport] Fix dev mode hydration failure when page is served from HTTP cache (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93492">#93492</a>)</li> <li>[backport] Fix catch-all <code>router.query</code> corruption with <code>basePath</code> + <code>rewrites</code> (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93917">#93917</a>)</li> <li>[backport] Encode non-ASCII characters in cache tags at construction (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93918">#93918</a>)</li> <li>[backport] Fix server action forwarding loop with middleware rewrites (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93919">#93919</a>)</li> <li>[backport] Turbopack: switch from base40 to base38 hash encoding (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/93932">#93932</a>)</li> <li>[ci] Disable hanging node 24 typescript tests on 16.2 backport branch (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94164">#94164</a>)</li> <li>[backport] Fix &quot;type: module&quot; in project dir when using standalone or adapters (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94050">#94050</a>)</li> <li>[backport] Propagate adapter preferred regions (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94200">#94200</a>)</li> <li>[16.2.x] Don't drop <code>FormData</code> entries (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94240">#94240</a>)</li> <li>[backport] feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94284">#94284</a>)</li> </ul> <h3>Credits</h3> <p>Huge thanks to <a href="https://github.com/eps1lon"><code>@​eps1lon</code></a>, <a href="https://github.com/icyJoseph"><code>@​icyJoseph</code></a>, <a href="https://github.com/unstubbable"><code>@​unstubbable</code></a>, <a href="https://github.com/mischnic"><code>@​mischnic</code></a>, <a href="https://github.com/bgw"><code>@​bgw</code></a>, <a href="https://github.com/timneutkens"><code>@​timneutkens</code></a>, and <a href="https://github.com/lukesandberg"><code>@​lukesandberg</code></a> for helping!</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vercel/next.js/commit/9beca0821cf4606ae33466ed6f4fc75f2887a4da"><code>9beca08</code></a> v16.2.11</li> <li><a href="https://github.com/vercel/next.js/commit/9dadfd693c5d26bb3c85d1c17802f49dde244b3e"><code>9dadfd6</code></a> v16.2.10</li> <li><a href="https://github.com/vercel/next.js/commit/534d9c144ca342ff9ee5569241a814539d6eadb9"><code>534d9c1</code></a> [16.2.x] Release pipeline updates (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/95160">#95160</a>)</li> <li><a href="https://github.com/vercel/next.js/commit/6e1a94de7c4e68892de4b1e28262be5970358458"><code>6e1a94d</code></a> [16.2.x][ci]: fix release script to not strip newlines (<a href="https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/94640">#94640</a>)</li> <li><a href="https://github.com/vercel/next.js/commit/f37fad940522e000af5498209fd237d863b4fa16"><code>f37fad9</code></a> v16.2.9</li> <li><a href="https://github.com/vercel/next.js/commit/6f1680448c81904efcd36704edf01a6b7323abbf"><code>6f16804</code></a> v16.2.8</li> <li><a href="https://github.com/vercel/next.js/commit/411c455dcdec630b9e2e83d24e27b0f9e05927b6"><code>411c455</code></a> v16.2.7</li> <li><a href="https://github.com/vercel/next.js/commit/ee6e79b1792a4d401ddf2480f40a83549fe8e722"><code>ee6e79b</code></a> v16.2.6</li> <li><a href="https://github.com/vercel/next.js/commit/766148f9cd48c0e218acafcd0f15defc14871bf4"><code>766148f</code></a> v16.2.5</li> <li><a href="https://github.com/vercel/next.js/commit/2275bd8598c88e8652d1271e74bcf972f72f4f38"><code>2275bd8</code></a> v16.2.4</li> <li>Additional commits viewable in <a href="https://github.com/vercel/next.js/commits/v16.2.11/packages/eslint-config-next">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for eslint-config-next since your current version.</p> </details> <br /> Updates `eslint-plugin-react-hooks` from 7.0.1 to 7.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/facebook/react/releases">eslint-plugin-react-hooks's releases</a>.</em></p> <blockquote> <h2>eslint-plugin-react-hooks@7.1.1 (April 17, 2026)</h2> <p><strong>Note:</strong> 7.1.0 accidentally removed the <code>component-hook-factories</code> rule, causing errors for users who referenced it in their ESLint config. This is now fixed.</p> <ul> <li>Add deprecated no-op <code>component-hook-factories</code> rule for backwards compatibility. (<a href="https://github.com/mofeiZ"><code>@​mofeiZ</code></a> in <a href="https://redirect.github.com/facebook/react/pull/36307">#36307</a>)</li> </ul> <h2>eslint-plugin-react-hooks@7.1.0 (April 16, 2026)</h2> <p>This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better <code>set-state-in-effect</code> detection, improved ref validation, and more helpful error reporting.</p> <ul> <li>Add ESLint v10 support. (<a href="https://github.com/azat-io"><code>@​azat-io</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35720">#35720</a>)</li> <li>Skip compilation for non-React files to improve performance. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35589">#35589</a>)</li> <li>Fix exhaustive deps bug with Flow type casting. (<a href="https://github.com/jorge-cab"><code>@​jorge-cab</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35691">#35691</a>)</li> <li>Fix <code>useEffectEvent</code> checks in component syntax. (<a href="https://github.com/jbrown215"><code>@​jbrown215</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35041">#35041</a>)</li> <li>Improved <code>set-state-in-effect</code> validation with fewer false negatives. (<a href="https://github.com/jorge-cab"><code>@​jorge-cab</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35134">#35134</a>, <a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35147">#35147</a>, <a href="https://github.com/jackpope"><code>@​jackpope</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35214">#35214</a>, <a href="https://github.com/chesnokov-tony"><code>@​chesnokov-tony</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35419">#35419</a>, <a href="https://github.com/jsleitor"><code>@​jsleitor</code></a> in <a href="https://redirect.github.com/facebook/react/pull/36107">#36107</a>)</li> <li>Improved ref validation for non-mutating functions and event handler props. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35893">#35893</a>, <a href="https://github.com/kolvian"><code>@​kolvian</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35062">#35062</a>)</li> <li>Compiler now reports all errors instead of stopping at the first. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35873">#35873</a>–<a href="https://redirect.github.com/facebook/react/pull/35884">#35884</a>)</li> <li>Improved source locations and error display in compiler diagnostics. (<a href="https://github.com/nathanmarks"><code>@​nathanmarks</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35348">#35348</a>, <a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34963">#34963</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/react/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md">eslint-plugin-react-hooks's changelog</a>.</em></p> <blockquote> <h2>7.1.1</h2> <p><strong>Note:</strong> 7.1.0 accidentally removed the <code>component-hook-factories</code> rule, causing errors for users who referenced it in their ESLint config. This is now fixed.</p> <ul> <li>Add deprecated no-op <code>component-hook-factories</code> rule for backwards compatibility. (<a href="https://github.com/mofeiZ"><code>@​mofeiZ</code></a> in <a href="https://redirect.github.com/facebook/react/pull/36307">#36307</a>)</li> </ul> <h2>7.1.0</h2> <p>This release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better <code>set-state-in-effect</code> detection, improved ref validation, and more helpful error reporting.</p> <ul> <li>Add ESLint v10 support. (<a href="https://github.com/azat-io"><code>@​azat-io</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35720">#35720</a>)</li> <li>Skip compilation for non-React files to improve performance. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35589">#35589</a>)</li> <li>Fix exhaustive deps bug with Flow type casting. (<a href="https://github.com/jorge-cab"><code>@​jorge-cab</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35691">#35691</a>)</li> <li>Fix <code>useEffectEvent</code> checks in component syntax. (<a href="https://github.com/jbrown215"><code>@​jbrown215</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35041">#35041</a>)</li> <li>Improved <code>set-state-in-effect</code> validation with fewer false negatives. (<a href="https://github.com/jorge-cab"><code>@​jorge-cab</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35134">#35134</a>, <a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35147">#35147</a>, <a href="https://github.com/jackpope"><code>@​jackpope</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35214">#35214</a>, <a href="https://github.com/chesnokov-tony"><code>@​chesnokov-tony</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35419">#35419</a>, <a href="https://github.com/jsleitor"><code>@​jsleitor</code></a> in <a href="https://redirect.github.com/facebook/react/pull/36107">#36107</a>)</li> <li>Improved ref validation for non-mutating functions and event handler props. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35893">#35893</a>, <a href="https://github.com/kolvian"><code>@​kolvian</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35062">#35062</a>)</li> <li>Compiler now reports all errors instead of stopping at the first. (<a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35873">#35873</a>–<a href="https://redirect.github.com/facebook/react/pull/35884">#35884</a>)</li> <li>Improved source locations and error display in compiler diagnostics. (<a href="https://github.com/nathanmarks"><code>@​nathanmarks</code></a> in <a href="https://redirect.github.com/facebook/react/pull/35348">#35348</a>, <a href="https://github.com/josephsavona"><code>@​josephsavona</code></a> in <a href="https://redirect.github.com/facebook/react/pull/34963">#34963</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/facebook/react/commits/eslint-plugin-react-hooks@7.1.1/packages/eslint-plugin-react-hooks">compare view</a></li> </ul> </details> <br /> Updates `lint-staged` from 15.5.2 to 17.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/releases">lint-staged's releases</a>.</em></p> <blockquote> <h2>v17.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1823">#1823</a> <a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { &quot;*.ts&quot;: () =&gt; &quot;tsc&quot;, // Run &quot;tsc&quot; when any TS file is changed (for entire project) }; </code></pre> <p>Where the spawned command is literally <code>&quot;tsc&quot;</code> without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.</p> <p>Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { &quot;*.js&quot;: { title: &quot;Log staged JS files to console&quot;, task: async (files) =&gt; { console.log(&quot;Staged JS files:&quot;, files); }, }, }; </code></pre> </li> </ul> <h2>v17.1.1</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1820">#1820</a> <a href="https://github.com/lint-staged/lint-staged/commit/a626a9f269d9ff6498a9b8245490e096f90c4bb7"><code>a626a9f</code></a> - It's now possible to set <code>--max-arg-length=Infinity</code> to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options <code>--max-arg-length</code> and <code>--concurrency</code> has been improved.</li> </ul> <h2>v17.1.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1816">#1816</a> <a href="https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7"><code>7568d4f</code></a> - The console output of <em>lint-staged</em> has been simplified so that there's less interactive spinners and more explicit messages like <em>&quot;Started…</em>&quot; -&gt; &quot;<em>Done!</em>&quot;. The primary purpose of this was to remove <a href="https://github.com/listr2/listr2"><code>Listr2</code></a>, a very large dependency.</p> <p><strong>Before:</strong></p> <p>Size of <code>node_modules/</code> after installing: <code>1561.7 kB</code> with 29 packages.</p> <p>Fancy interactive spinners, but output dynamically changes:</p> <pre lang="shell"><code>✔ Backed up original state in git stash (0b191303) ✔ Running tasks for staged files... ✔ Staging changes from tasks... ✔ Cleaning up temporary files... </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md">lint-staged's changelog</a>.</em></p> <blockquote> <h2>17.2.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1823">#1823</a> <a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { &quot;*.ts&quot;: () =&gt; &quot;tsc&quot;, // Run &quot;tsc&quot; when any TS file is changed (for entire project) }; </code></pre> <p>Where the spawned command is literally <code>&quot;tsc&quot;</code> without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.</p> <p>Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:</p> <pre lang="js"><code>/** @type {import('lint-staged').Configuration} */ export default { &quot;*.js&quot;: { title: &quot;Log staged JS files to console&quot;, task: async (files) =&gt; { console.log(&quot;Staged JS files:&quot;, files); }, }, }; </code></pre> </li> </ul> <h2>17.1.1</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1820">#1820</a> <a href="https://github.com/lint-staged/lint-staged/commit/a626a9f269d9ff6498a9b8245490e096f90c4bb7"><code>a626a9f</code></a> - It's now possible to set <code>--max-arg-length=Infinity</code> to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options <code>--max-arg-length</code> and <code>--concurrency</code> has been improved.</li> </ul> <h2>17.1.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/lint-staged/lint-staged/pull/1816">#1816</a> <a href="https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7"><code>7568d4f</code></a> - The console output of <em>lint-staged</em> has been simplified so that there's less interactive spinners and more explicit messages like <em>&quot;Started…</em>&quot; -&gt; &quot;<em>Done!</em>&quot;. The primary purpose of this was to remove <a href="https://github.com/listr2/listr2"><code>Listr2</code></a>, a very large dependency.</p> <p><strong>Before:</strong></p> <p>Size of <code>node_modules/</code> after installing: <code>1561.7 kB</code> with 29 packages.</p> <p>Fancy interactive spinners, but output dynamically changes:</p> <pre lang="shell"><code>✔ Backed up original state in git stash (0b191303) ✔ Running tasks for staged files... </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lint-staged/lint-staged/commit/fb540fba1513a83a6be3fa31aeed4eae679c3e31"><code>fb540fb</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1824">#1824</a> from lint-staged/changeset-release/main</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/dc0a738a1b39033804667b3df3fb0f71cb03708a"><code>dc0a738</code></a> chore(changeset): release</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/60cbb8818f8c0d51d6d1e4c59c7a9e558d8fffe1"><code>60cbb88</code></a> Merge pull request <a href="https://redirect.github.com/lint-staged/lint-staged/issues/1823">#1823</a> from lint-staged/reimplement-chunk-files</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/2354dc42686e2c2bff4a5dff3abd57f3cc69624e"><code>2354dc4</code></a> build(deps): update dependencies</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/0516e7fa9bc8a05aee922872f4ebe5d9c21a8213"><code>0516e7f</code></a> docs: adjust debug logs</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/e22f6ede988cc6efe7c0065dcb8cb1408f2584dd"><code>e22f6ed</code></a> style: run <code>oxfmt</code> on README.md</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/37e8e1ad73a58c0b187716bd5172744ad50f36d1"><code>37e8e1a</code></a> fix: restore chunking of git add command after running tasks</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/2c75f1d0f2cc2c28c7191c48beafb281e3d1e78e"><code>2c75f1d</code></a> chore: remove unused file</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c"><code>ee156cc</code></a> feat: add improved lazy-chunking of command strings</li> <li><a href="https://github.com/lint-staged/lint-staged/commit/baa7c987f68e0c338b1fd5ad751da05e9cbe238d"><code>baa7c98</code></a> feat: remove current <code>chunkFiles</code> implementation</li> <li>Additional commits viewable in <a href="https://github.com/lint-staged/lint-staged/compare/v15.5.2...v17.2.0">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new releaser for lint-staged since your current version.</p> </details> <br /> Updates `prettier` from 3.8.1 to 3.9.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p> <blockquote> <h2>3.9.6</h2> <h2>What's Changed</h2> <ul> <li>Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">prettier/prettier#19621</a> by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li> <li>Support <code>import defer</code> in <code>typescript</code> parser (<a href="https://redirect.github.com/prettier/prettier/pull/19624">prettier/prettier#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">prettier/prettier#19675</a> by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li> <li>Added a new official plugin <a href="https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku"><code>@prettier/plugin-yuku</code> 🚀</a> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">prettier/prettier#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">prettier/prettier#19629</a> by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396">Changelog</a></p> <h2>3.9.5</h2> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.5/CHANGELOG.md#395">Changelog</a></p> <h2>3.9.4</h2> <ul> <li>Angular: Format <code>@content(name)</code> -&gt; <code>@content (name)</code> to align with other block syntax (<a href="https://redirect.github.com/prettier/prettier/pull/19499">#19499</a> by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.4/CHANGELOG.md#394">Changelog</a></p> <h2>3.9.3</h2> <ul> <li>Markdown: Fix unexpected removal of characters in liquid syntax (<a href="https://redirect.github.com/prettier/prettier/pull/19489">prettier/prettier#19489</a> by <a href="https://github.com/seiyab"><code>@​seiyab</code></a>)</li> <li>TypeScript: Allow decorators to be used with declare on class fields (<a href="https://redirect.github.com/prettier/prettier/pull/19492">prettier/prettier#19492</a> by <a href="https://github.com/evoactivity"><code>@​evoactivity</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.3/CHANGELOG.md#393">Changelog</a></p> <h2>3.9.1</h2> <ul> <li>CLI: Fix ignored file has been cached incorrectly (<a href="https://redirect.github.com/prettier/prettier/pull/19483">#19483</a> by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.1/CHANGELOG.md#391">Changelog</a></p> <h2>3.9.0</h2> <p><a href="https://github.com/prettier/prettier/compare/3.8.5...3.9.0">diff</a></p> <p>🔗 <a href="https://prettier.io/blog/2026/06/27/3.9.0">Prettier 3.9: Major parser upgrades and Formatting improvements</a></p> <h2>3.8.5</h2> <ul> <li>Fix Flow variance annotation print (<a href="https://redirect.github.com/prettier/prettier/pull/19022">#19022</a> by <a href="https://github.com/marcoww6"><code>@​marcoww6</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.8.5/CHANGELOG.md#385">Changelog</a></p> <h2>3.8.4</h2> <ul> <li>Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (<a href="https://redirect.github.com/prettier/prettier/pull/17746">prettier/prettier#17746</a> by <a href="https://github.com/byplayer"><code>@​byplayer</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.8.4/CHANGELOG.md#384">Changelog</a></p> <h2>3.8.3</h2> <ul> <li>SCSS: Prevent trailing comma in <code>if()</code> function (<a href="https://redirect.github.com/prettier/prettier/pull/18471">prettier/prettier#18471</a> by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383">Changelog</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p> <blockquote> <h1>3.9.6</h1> <p><a href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">diff</a></p> <h4>TypeScript: Preserve quotes for methods named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19621">#19621</a> by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input interface Container { &quot;new&quot;(id: string): number; } <p>// Prettier 3.9.5<br /> interface Container {<br /> new(id: string): number;<br /> }</p> <p>// Prettier 3.9.6<br /> interface Container {<br /> &quot;new&quot;(id: string): number;<br /> }<br /> </code></pre></p> <h4>TypeScript: Support <code>import defer</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19624">#19624</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19675">#19675</a> by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4> <!-- raw HTML omitted --> <pre lang="tsx"><code>// Input import defer * as foo from &quot;foo&quot;; <p>// Prettier 3.9.5<br /> import * as foo from &quot;foo&quot;;</p> <p>// Prettier 3.9.6<br /> import defer * as foo from &quot;foo&quot;;<br /> </code></pre></p> <h4>JavaScript: Added a new official plugin <code>@prettier/plugin-yuku</code> (<a href="https://redirect.github.com/prettier/prettier/pull/19628">#19628</a>, <a href="https://redirect.github.com/prettier/prettier/pull/19629">#19629</a> by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4> <p><code>@prettier/plugin-yuku</code> is powered by <a href="https://yuku.fyi/">Yuku</a> (A high-performance JavaScript/TypeScript compiler toolchain written in Zig).</p> <p>This plugin includes two new parsers: <code>yuku</code> (JavaScript syntax) and <code>yuku-ts</code> (TypeScript syntax).</p> <p><strong>To use this plugin:</strong></p> <ol> <li> <p>Install the plugin:</p> <pre lang="bash"><code>yarn add --dev prettier @prettier/plugin-yuku </code></pre> </li> </ol> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84"><code>8f0c950</code></a> Release 3.9.6</li> <li><a href="https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c"><code>e910764</code></a> Update changelog</li> <li><a href="https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e"><code>ec3f1c7</code></a> Update typescript-eslint to v8.65.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19675">#19675</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec"><code>73d2efc</code></a> Update Yuku parser to v0.7.0 (<a href="https://redirect.github.com/prettier/prettier/issues/19664">#19664</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3"><code>dd5e24e</code></a> Preserve quotes for <code>TSMethodSignature</code> nodes named <code>new</code> (<a href="https://redirect.github.com/prettier/prettier/issues/19621">#19621</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3"><code>c03ab4e</code></a> Update dependency eslint-plugin-unicorn to v72 (<a href="https://redirect.github.com/prettier/prettier/issues/19633">#19633</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f"><code>b74dd53</code></a> Update Yuku parser to v0.6.5 (<a href="https://redirect.github.com/prettier/prettier/issues/19654">#19654</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824"><code>f1b594e</code></a> Update dependency eslint-plugin-simple-import-sort to v14 (<a href="https://redirect.github.com/prettier/prettier/issues/19655">#19655</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233"><code>0d9dfb6</code></a> Update Yuku parser to v0.6.4 (<a href="https://redirect.github.com/prettier/prettier/issues/19650">#19650</a>)</li> <li><a href="https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19"><code>3bbb815</code></a> Remove <code>typescript-only</code> directory (<a href="https://redirect.github.com/prettier/prettier/issues/19636">#19636</a>)</li> <li>Additional commits viewable in <a href="https://github.com/prettier/prettier/compare/3.8.1...3.9.6">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details>
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836:dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git rebase main
git switch main
git merge --ff-only dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git rebase main
git switch main
git merge --no-ff dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch main
git merge --squash dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch main
git merge --ff-only dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git switch main
git merge dependabot/npm_and_yarn/main/lint-tooling-5bdfcf2836
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SSE/WebsiteTheSSEquel!573
No description provided.