Skip to content

chore(deps): update dependency lint-staged to v17#102

Merged
nvignola merged 2 commits into
mainfrom
renovate/lint-staged-17.x
May 13, 2026
Merged

chore(deps): update dependency lint-staged to v17#102
nvignola merged 2 commits into
mainfrom
renovate/lint-staged-17.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 12, 2026

This PR contains the following updates:

Package Change Age Confidence
lint-staged 16.4.017.0.2 age confidence

Reference


Release Notes

lint-staged/lint-staged (lint-staged)

v17.0.2

Compare Source

Patch Changes

v17.0.1

Compare Source

Patch Changes
  • #​1776 4a5664b Thanks @​iiroj! - Adjust GitHub Actions workflow so that automatic publishing works with signed commits.

v17.0.0

Compare Source

Major Changes
  • #​1745 e244adf Thanks @​iiroj! - Node.js v20 is no longer supported, and the oldest supported version is now 22.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 0584e0b Thanks @​outslept! - Lint-staged now tries to verify the installed Git version is at least 2.32.0, released in 2021. If you're using an even older Git version, you need to upgrade it before running lint-staged!

  • #​1745 2dcc40a Thanks @​iiroj! - The dependency yaml is 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:

    npm install --development yaml

    If you're using .lintstagedrc as 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.json to avoid needing to install yaml.

Minor Changes
  • #​1748 809d5ef Thanks @​iiroj! - Add new option --hide-all for 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 f13045a Thanks @​iiroj! - Update dependencies, including tinyexec@1.1.1 to fix the following issues:

    • When using a Node.js version manager with multiple versions installed (nvm, n, for example), scripts with the #!/usr/bin/env node shebang (Prettier, ESLint, for example) were previously spawned using the default Node.js version configured by the version manager (the one which node points to) on POSIX systems. Now, they will be spawned with the same version that lint-staged itself was started with.
      • For example, if your default Node.js version is 24.14.1 but lint-staged is run with the latest version 25.9.0, the tasks spawned by lint-staged will now also use version 25.9.0. Previously they were spawned using 24.14.1.
    • When installing Node.js from the Ubuntu App Center (Snap store), the node executable available in PATH is a symlink pointing to Snap itself. The sandboxing features of Snap prevented lint-staged from spawning scripts with the #!/usr/bin/env node shebang, because it meant lint-staged tried to spawn Snap via the symlink. This resulted in an ENOENT error when trying to run prettier, for example. Now, since the real node executable's directory is available in the PATH, lint-staged will instead spawn the script with the real node binary succesfully.
  • #​1761 d3251b1 Thanks @​iiroj! - Lint-staged now runs git update-index --again after running tasks, instead of git add <originally staged files>. This should improve compatibility when using non-default indexes, for example when committing with a pathspec git commit -m "message" . instead of adding files to the index.

  • #​1745 a9585ac Thanks @​iiroj! - Remove commander as a dependency and use the built-in parseArgs from node:util to parse CLI flags.

Patch Changes
  • #​1755 c82d30b Thanks @​iiroj! - All tests now pass on the Bun runtime (latest).

  • #​1750 a401818 Thanks @​iiroj! - Remove manual handling for git stash --keep-index resurrecting deleted files, because the issue was fixed in Git 2.23.0 and lint-staged requires at least Git 2.32.0.

  • #​1771 c4b8936 Thanks @​iiroj! - Fix documentation about multiple config files and the --cwd option. When using it, all tasks will be run in the specified directory. For example, to run everything in the actual process.cwd(), use lint-staged --cwd=".".


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 7am every weekday"
  • Automerge
    • At any time (no schedule defined)

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

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

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 12, 2026 02:42
@renovate renovate Bot requested review from a team and nvignola and removed request for a team May 12, 2026 02:42
Copy link
Copy Markdown
Member

@doistbot doistbot left a comment

Choose a reason for hiding this comment

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

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.

Share FeedbackReview Logs

Comment thread package.json
"happy-dom": "20.9.0",
"husky": "9.1.7",
"lint-staged": "16.4.0",
"lint-staged": "17.0.2",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

[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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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>
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented May 12, 2026

Edited/Blocked Notification

Renovate 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.

⚠️ Warning: custom changes will be lost.

@nvignola nvignola removed their request for review May 12, 2026 13:12
@nvignola nvignola requested review from a team and rfgamaral and removed request for a team May 12, 2026 13:12
@nvignola nvignola merged commit f78f982 into main May 13, 2026
3 checks passed
@nvignola nvignola deleted the renovate/lint-staged-17.x branch May 13, 2026 07:42
nvignola added a commit that referenced this pull request May 13, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants