[deps]: Update lint-staged to v17#812
Conversation
Deploying contributing-docs with
|
| Latest commit: |
c675204
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9626c71f.contributing-docs.pages.dev |
| Branch Preview URL: | https://renovate-lint-staged-17-x.contributing-docs.pages.dev |
|
Internal tracking: |
4917ae5 to
1ff78c1
Compare
1ff78c1 to
c675204
Compare
🤖 Bitwarden Claude Code ReviewOverall Assessment: REQUEST CHANGES Automated Renovate PR bumping Code Review Details
Dependency Changes
|
| "cspell": "10.0.0", | ||
| "husky": "9.1.7", | ||
| "lint-staged": "16.4.0", | ||
| "lint-staged": "17.0.5", |
There was a problem hiding this comment.
lint-staged@17 requires Node >=22.22.1, but this project's engines.node is pinned to ~22.14.0 (i.e. 22.14.x).
Details and fix
The v17 release notes explicitly state: "Node.js v20 is no longer supported, and the oldest supported version is now 22.22.1". The tilde range ~22.14.0 resolves to >=22.14.0 <22.15.0, which does not satisfy >=22.22.1. Any developer running the documented Node version (22.14.x) will:
- See an
EBADENGINEwarning onnpm ci - Have their pre-commit hook fail when husky invokes lint-staged (v17 performs a runtime Node version check)
CI passes today only because .nvmrc contains 22 (no minor pin), so the GitHub Actions runner resolves to the latest 22.x line (currently 22.22.3+).
Suggested fix: bump engines.node to a range compatible with the new lint-staged requirement, e.g.:
"engines": {
"node": "~22.22.0",
"npm": "~11.3.0"
}Reference: lint-staged v17.0.0 release notes
This PR contains the following updates:
16.4.0→17.0.5Release Notes
lint-staged/lint-staged (lint-staged)
v17.0.5Compare Source
Patch Changes
1f67271- Correctly set the--max-arg-lengthdefault value based on the running platform. This controls how very long lists of staged files are split into multiple chunks.v17.0.4Compare Source
Patch Changes
#1788
f95c1f8- Another fix for making sure lint-staged adds task modifications correctly to the commit in the following cases:<file>it is staged withgit add <file>, and then committed withgit commit<file>it is committed withgit commit --allwithout explicitgit add<file>it is committed withgit commit <pathspec>without explicitgit addThere's new test cases which actually setup the Git
pre_commithook to run lint-staged and verify them. These issues started in v17.0.0 when trying to improve support for committig without having explicitly staged files.v17.0.3Compare Source
Patch Changes
06813f9Thanks @iiroj! - Fix lint-staged behavior when implicitly committing files without usinggit addby either:git commit -am "my commit message"where-a(--all) means to automatically stage all tracked modified and deleted filesgit commit -m "my commit message" .where.is an example of a pathspec where matching files will be stagedv17.0.2Compare Source
Patch Changes
88670caThanks @iiroj! - Enable immutable GitHub releasesv17.0.1Compare Source
Patch Changes
4a5664bThanks @iiroj! - Adjust GitHub Actions workflow so that automatic publishing works with signed commits.v17.0.0Compare Source
Major Changes
#1745
e244adfThanks @iiroj! - Node.js v20 is no longer supported, and the oldest supported version is now22.22.1, which is an active LTS version at the time of this release. Node.js 20 will be EOL after April 2026. Please upgrade your Node.js version!#1676
0584e0bThanks @outslept! - Lint-staged now tries to verify the installed Git version is at least2.32.0, released in 2021. If you're using an even older Git version, you need to upgrade it before running lint-staged!#1745
2dcc40aThanks @iiroj! - The dependencyyamlis now marked as optional and probably won't be installed by default. If you're using a YAML configuration file you should install the package separately:If you're using
.lintstagedrcas the config file name (without a file extension), it will be treated as a YAML file. If the content is JSON, consider renaming it to.lintstagedrc.jsonto avoid needing to installyaml.Minor Changes
#1748
809d5efThanks @iiroj! - Add new option--hide-allfor hiding all unstaged changes and untracked files, before running tasks. This makes it easier to run tools like Knip which check for unused code. Untracked files are included in the backup stash and restored automatically after running.#1759
f13045aThanks @iiroj! - Update dependencies, includingtinyexec@1.1.1to fix the following issues:#!/usr/bin/env nodeshebang (Prettier, ESLint, for example) were previously spawned using the default Node.js version configured by the version manager (the onewhich nodepoints to) on POSIX systems. Now, they will be spawned with the same version that lint-staged itself was started with.nodeexecutable available inPATHis a symlink pointing to Snap itself. The sandboxing features of Snap prevented lint-staged from spawning scripts with the#!/usr/bin/env nodeshebang, because it meant lint-staged tried to spawn Snap via the symlink. This resulted in anENOENTerror when trying to runprettier, for example. Now, since the realnodeexecutable's directory is available in thePATH, lint-staged will instead spawn the script with the realnodebinary succesfully.#1761
d3251b1Thanks @iiroj! - Lint-staged now runsgit update-index --againafter running tasks, instead ofgit add <originally staged files>. This should improve compatibility when using non-default indexes, for example when committing with a pathspecgit commit -m "message" .instead of adding files to the index.#1745
a9585acThanks @iiroj! - Removecommanderas a dependency and use the built-inparseArgsfromnode:utilto parse CLI flags.Patch Changes
#1755
c82d30bThanks @iiroj! - All tests now pass on the Bun runtime (latest).#1750
a401818Thanks @iiroj! - Remove manual handling forgit stash --keep-indexresurrecting deleted files, because the issue was fixed in Git2.23.0and lint-staged requires at least Git2.32.0.#1771
c4b8936Thanks @iiroj! - Fix documentation about multiple config files and the--cwdoption. When using it, all tasks will be run in the specified directory. For example, to run everything in the actualprocess.cwd(), uselint-staged --cwd=".".Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.