chore(deps): update dependency lint-staged to v17#102
Conversation
doistbot
left a comment
There was a problem hiding this comment.
This PR updates the lint-staged dependency to v17, helping keep our development tooling current. While routine updates are great for repository health, this major version bump introduces a conflict with our current environment requirements. Because v17 requires Node.js >=22.22.1, it clashes with the repository's strict engine settings and documented >=22.18.0 baseline, which may lead to local installation failures for contributors unless the project's Node version configuration is aligned.
| "happy-dom": "20.9.0", | ||
| "husky": "9.1.7", | ||
| "lint-staged": "16.4.0", | ||
| "lint-staged": "17.0.2", |
There was a problem hiding this comment.
[P1] Upgrading to lint-staged 17 raises the minimum development Node.js version to >=22.22.1. This repo still advertises >=22.18.0 in README.md, and .npmrc has engine-strict=true, so contributors following the documented minimum will now hit npm ci failures before they can work locally. Please update the repo’s declared/dev Node baseline (and ideally pin .node-version to 22.22.1+) in the same PR, or keep lint-staged on v16.
There was a problem hiding this comment.
Good catch, addressed in bba5ddc.
lint-staged@17 raises its required Node engine to >=22.22.1.
Changes:
README.md— documented minimum bumped to >=22.22.1.node-version— pinned to 22.22.1 (was 22.22, which left the patch ambiguous for nvm users)
Verified locally with engine-strict=true: npm ci, npm run build, and npm test all pass.
I'm going to re-assign this PR so someone else since I modified the original work.
lint-staged 17 requires Node >= 22.22.1. With engine-strict=true in .npmrc, contributors on the previously documented 22.18.0 would hit npm ci failures. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Without a declared Node constraint, Renovate cannot detect when a dependency update raises the project's required Node version. Setting constraints.node lets Renovate filter or flag incompatible updates before they reach review (e.g. lint-staged v17's bump to >=22.22.1 in #102). This lives in renovate.json rather than package.json's engines field to avoid leaking a development-only constraint to consumers of the published library. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This PR contains the following updates:
16.4.0→17.0.2Reference
Release Notes
lint-staged/lint-staged (lint-staged)
v17.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.