chore(deps): update dependency lint-staged to v16 #394
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
15.2.7
->16.2.0
Release Notes
lint-staged/lint-staged (lint-staged)
v16.2.0
Compare Source
Minor Changes
#1615
99eb742
Thanks @iiroj! - Added a new option--fail-on-changes
to make lint-staged exit with code 1 when tasks modify any files, making theprecommit
hook fail. This is similar to thegit diff --exit-code
option. Using this flag also implies the--no-revert
flag which means any changes made my tasks will be left in the working tree after failing, so that they can be manually staged and the commit tried again.#1611
cd05fd3
Thanks @rlorenzo! - Added a new option--continue-on-error
so that lint-staged will run all tasks to completion even if some of them fail. By default, lint-staded will exit early on the first failure.#1637
82fcc07
Thanks @iiroj! - Internal lint-staged errors are now thrown and visible in the console output. Previously they were caught with the process exit code set to 1, but not logged. This happens when, for example, there's a syntax error in the lint-staged configuration file.#1647
a5ecc06
Thanks @iiroj! - Remove debug as a dependency due to recent malware issue; read more at debug-js/debug#1005. Because of this, theDEBUG
environment variable is no longer supported — use the--debug
to enable debugging#1636
8db2717
Thanks @iiroj! - Added a new option--hide-unstaged
so that lint-staged will hide all unstaged changes to tracked files before running tasks. The changes will be applied back after running the tasks. Note that the combination of flags--hide-unstaged --no-hide-partially-staged
isn't meaningful and behaves the same as just--hide-unstaged
.Thanks to @ItsNickBarry for the idea and initial implementation in #1552.
#1648
7900b3b
Thanks @iiroj! - Remove lilconfig to reduce reliance on third-party dependencies. It was used to find possible config files outside of those tracked in Git, including from the parent directories. This behavior has been moved directly into lint-staged and should work about the same.Patch Changes
#1633
7f9e485
Thanks @dependabot! - Bumps listr2 from 9.0.3 to 9.0.4.#1626
99d5a9b
Thanks @iiroj! - Due to recent phishing attacks, for example [email protected] was released with malware. To avoid lint-staged's users being at risk the direct dependencies are pinned to exact versions, instead of allowing future patch versions with the caret (^
) range.#1588
035bbf2
Thanks @outslept! - Increase performance by listing staged files and searching for configuration concurrently.#1645
deba3ad
Thanks @iiroj! - Remove chalk as a dependency due to recent malware issue; read more at chalk/chalk#656.If you are having trouble with ANSI color codes when using lint-staged, you can try setting either
FORCE_COLOR=true
orNO_COLOR=true
env variables.v16.1.6
Compare Source
Patch Changes
e93578e
Thanks @iiroj! - Try to improve terminating of subprocess of tasks by usingSIGKILL
, and only callingpidtree
when the the main task process has a known pid.v16.1.5
Compare Source
Patch Changes
4e3ce22
Thanks @srsatt! - Detect the git repo's top-level directory correctly when in a worktree.v16.1.4
Compare Source
Patch Changes
90b37b0
Thanks @iiroj! - Add anothertypes
field topackage.json
to make even more sure NPM detects that lint-staged includes built-in TypeScript type definitions.v16.1.3
Compare Source
Patch Changes
7ea700b
Thanks @dword-design! - Add thetypes
field topackage.json
to make sure NPM detects lint-staged includes built-in TypeScript type definitions.v16.1.2
Compare Source
Patch Changes
#1570
a7c0c88
Thanks @ItsNickBarry! - When using--diff-filter
with theD
option to include deleted staged files, lint-staged no longer tries to stage the deleted files, unless they're no longer deleted. Previously this caused an error fromgit add
likefatal: pathspec 'deleted-file' did not match any files
.38f942e
Thanks @iiroj! - Removed an extraneous log entry that printedshouldHidePArtiallyStagedFiles
to console output.v16.1.1
Compare Source
Patch Changes
#1565
3686977
Thanks @iiroj! - Lint-staged now explicitly warns about potential data loss when using--no-stash
.#1571
02299a9
Thanks @iiroj! - Function tasks (introduced in v16.0.0) only received the staged files matching the conpmnfigured glob, instead of all staged files.#1563
bc61c74
Thanks @iiroj! - This version fixes incorrect behavior where unstaged changes were committed when using the--no-stash
option. This happened because--no-stash
implied--no-hide-partially-staged
, meaning unstaged changes to files which also had other staged changes were added to the commit by lint-staged; this is no longer the case.The previous (incorrect) behavior can still be achieved by using both options
--no-stash --no-hide-partially-staged
at the same time.v16.1.0
Compare Source
Minor Changes
#1536
e729daa
Thanks @iiroj! - A new flag--no-revert
has been introduced for when task modifications should be applied to the index before aborting the commit in case of errors. By default, lint-staged will clear all task modifications and revert to the original state.#1550
b27fa3f
Thanks @iiroj! - Lint-staged now ignores symlinks and leaves them out from the list of staged files.Patch Changes
c37dc38
Thanks @iiroj! - The minimum required Node.js version is lowered to20.17
following [email protected].v16.0.0
Compare Source
Major Changes
#1546
158d15c
Thanks @iiroj! - Processes are spawned using nano-spawn instead of execa. If you are using Node.js scripts as tasks, you might need to explicitly run them withnode
, especially when using Windows:#1546
158d15c
Thanks @iiroj! - The--shell
flag has been removed and lint-staged no longer supports evaluating commands directly via a shell. To migrate existing commands, you can create a shell script and invoke it instead. Lint-staged will pass matched staged files as a list of arguments, accessible via"$@​"
:v15.5.2
Compare Source
Patch Changes
5561321
Thanks @YimingIsCOLD! - Correctly handle colon (:
) characters in staged filenames.v15.5.1
Compare Source
Patch Changes
#1533
5d53534
Thanks @iiroj! - Improve listing of staged files so that lint-staged doesn't crash when encountering an uninitialized submodule. This should result in less errors like:v15.5.0
Compare Source
Minor Changes
630af5f
Thanks @iiroj! - Lint-staged no longer resets to the original state when preventing an empty git commit. This happens when your configured tasks reset all the staged changes, typically when trying to commit formatting changes which conflict with your linter setup like ESLint or Prettier.Example with Prettier
By default Prettier prefers double quotes.
Previously
file.js
with only double quotes"
changed to'
git commit -am "I don't like double quotes"
prettier --write file.js
, converting all the'
back to"
'
are stagedNow
file.js
with only double-quotes"
changed to'
git commit -am "I don't like double quotes"
prettier --write file.js
, converting all the'
back to"
v15.4.3
Compare Source
Patch Changes
cbfed1d
Thanks @tarik02! - Adjust TypeScript types for the default export so that it can be used as a value without error TS2693.v15.4.2
Compare Source
Patch Changes
8827ebf
Thanks @iiroj! - Change lint-staged's dependencies to use caret (^
) ranges instead of tilde (~
). This makes it easier for package managers to perform dependency management when minor-level updates are also permitted instead of just patch-level.v15.4.1
Compare Source
Patch Changes
#1504
1c7a45e
Thanks @iiroj! - Default TypeScript config filenames match JS equivalents.#1504
9cc18c9
Thanks @iiroj! - Add missing conditional exports syntax for TypeScript types.v15.4.0
Compare Source
Minor Changes
#1500
a8ec1dd
Thanks @iiroj! - Lint-staged now provides TypeScript types for the configuration and main Node.js API. You can use the JSDoc syntax in your JS configuration files:It's also possible to use the
.ts
file extension for the configuration if your Node.js version supports it. The--experimental-strip-types
flag was introduced in Node.js v22.6.0 and unflagged in v23.6.0, enabling Node.js to execute TypeScript files without additional configuration.Patch Changes
9b79364
Thanks @iiroj! - Handle possible failures when logging user shell for debug info.v15.3.0
Compare Source
Minor Changes
#1495
e69da9e
Thanks @iiroj! - Added more info to the debug logs so that "environment" info doesn't need to be added separately to GitHub issues.#1493
fa0fe98
Thanks @iiroj! - Added more help messages around the automaticgit stash
that lint-staged creates as a backup (by default). The console output also displays the short git hash of the stash so that it's easier to recover lost files in case some fatal errors are encountered, or the process is killed before completing.For example:
where the backup can be seen with
git show 20addf8
, orgit stash list
:v15.2.11
Compare Source
Patch Changes
#1484
bcfe309
Thanks @wormsik! - Escape paths containing spaces when using the "shell" option.#1487
7dd8caa
Thanks @iiroj! - Do not treat submodule root paths as "staged files". This caused lint-staged to fail to a Git error when only updating the revision of a submodule.v15.2.10
Compare Source
Patch Changes
e3f283b
Thanks @iiroj! - Update minor dependencies, includingmicromatch@~4.0.8
.v15.2.9
Compare Source
Patch Changes
b69ce2d
Thanks @iiroj! - Set the maximum number of event listeners to the number of tasks. This should silence the console warningMaxListenersExceededWarning: Possible EventEmitter memory leak detected
.v15.2.8
Compare Source
Patch Changes
f0480f0
Thanks @iiroj! - In the previous version the nativegit rev-parse --show-toplevel
command was taken into use for resolving the current git repo root. This version switched the--show-toplevel
flag with--show-cdup
, because on Git installed via MSYS2 the former was returning absolute paths that do not work with Node.jschild_process
. The new flag returns a path relative to the working directory, avoiding the issue.The GitHub Actions workflow has been updated to install Git via MSYS2, to ensure better future compatibility; using the default Git binary in the GitHub Actions runner was working correctly even with MSYS2.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.