Commit 475ac66
chore(deps): update dependency lint-staged to v17 (#130)
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged) |
[`^6.1.1` →
`^17.0.5`](https://renovatebot.com/diffs/npm/lint-staged/6.1.1/17.0.5) |

|

|
---
### Release Notes
<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>
###
[`v17.0.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1705)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v17.0.4...v17.0.5)
##### Patch Changes
-
[#​1792](https://redirect.github.com/lint-staged/lint-staged/pull/1792)
[`1f67271`](https://redirect.github.com/lint-staged/lint-staged/commit/1f672718b6fa67e0f00aafe107cb9f084f4d9102)
- Correctly set the `--max-arg-length` default value based on the
running platform. This controls how very long lists of staged files are
split into multiple chunks.
###
[`v17.0.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1704)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v17.0.3...v17.0.4)
##### Patch Changes
-
[#​1788](https://redirect.github.com/lint-staged/lint-staged/pull/1788)
[`f95c1f8`](https://redirect.github.com/lint-staged/lint-staged/commit/f95c1f8df3368758c44c2052e568aac1b3d4c767)
- Another fix for making sure *lint-staged* adds task modifications
correctly to the commit in the following cases:
- after editing `<file>` it is staged with `git add <file>`, and then
committed with `git commit`
- after editing `<file>` it is committed with `git commit --all` without
explicit `git add`
- after editing `<file>` it is committed with `git commit <pathspec>`
without explicit `git add`
There's new test cases which actually setup the Git `pre_commit` hook 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.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1703)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v17.0.2...v17.0.3)
##### Patch Changes
-
[#​1782](https://redirect.github.com/lint-staged/lint-staged/pull/1782)
[`06813f9`](https://redirect.github.com/lint-staged/lint-staged/commit/06813f9ab661db987e7720086ef9ec3f552ee097)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Fix
*lint-staged* behavior when implicitly committing files without using
`git add` by either:
- `git commit -am "my commit message"` where `-a` (`--all`) means to
automatically stage all tracked modified and deleted files
- `git commit -m "my commit message" .` where `.` is an example of a
[*pathspec*](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt-pathspec)
where matching files will be staged
###
[`v17.0.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1702)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v17.0.1...v17.0.2)
##### Patch Changes
-
[#​1779](https://redirect.github.com/lint-staged/lint-staged/pull/1779)
[`88670ca`](https://redirect.github.com/lint-staged/lint-staged/commit/88670ca2278200f6348ed663358895ddc4bfff3c)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Enable
immutable GitHub releases
###
[`v17.0.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1701)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v17.0.0...v17.0.1)
##### Patch Changes
-
[#​1776](https://redirect.github.com/lint-staged/lint-staged/pull/1776)
[`4a5664b`](https://redirect.github.com/lint-staged/lint-staged/commit/4a5664be63af19590ec37940f705dad870ac5cfb)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Adjust
GitHub Actions workflow so that automatic publishing works with signed
commits.
###
[`v17.0.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1700)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.4.0...v17.0.0)
##### Major Changes
-
[#​1745](https://redirect.github.com/lint-staged/lint-staged/pull/1745)
[`e244adf`](https://redirect.github.com/lint-staged/lint-staged/commit/e244adfab430be95803e74b20acf518517054c9f)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1676)
[`0584e0b`](https://redirect.github.com/lint-staged/lint-staged/commit/0584e0b8824a07ea4d0151f2c17fc37c4905a421)
Thanks [@​outslept](https://redirect.github.com/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](https://git-scm.com/install/mac) it before running
*lint-staged*!
-
[#​1745](https://redirect.github.com/lint-staged/lint-staged/pull/1745)
[`2dcc40a`](https://redirect.github.com/lint-staged/lint-staged/commit/2dcc40a1a98aea20d38f76031ac30b278f81682a)
Thanks [@​iiroj](https://redirect.github.com/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:
```shell
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](https://redirect.github.com/lint-staged/lint-staged/pull/1748)
[`809d5ef`](https://redirect.github.com/lint-staged/lint-staged/commit/809d5ef0a66edb2b26b233d33ce8e14af6c978e7)
Thanks [@​iiroj](https://redirect.github.com/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](https://knip.dev) which check for unused code. Untracked files
are included in the backup stash and restored automatically after
running.
-
[#​1759](https://redirect.github.com/lint-staged/lint-staged/pull/1759)
[`f13045a`](https://redirect.github.com/lint-staged/lint-staged/commit/f13045a5eae28c3233fc37146b0e1f51739c254b)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update
dependencies, including
[`tinyexec@1.1.1`](https://redirect.github.com/tinylibs/tinyexec/releases/tag/1.1.1)
to fix the following issues:
- When using a Node.js version manager with multiple versions installed
([nvm](https://redirect.github.com/nvm-sh/nvm),
[n](https://redirect.github.com/tj/n), for example), scripts with the
`#!/usr/bin/env node` shebang
([Prettier](https://redirect.github.com/prettier/prettier),
[ESLint](https://redirect.github.com/eslint/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](https://snapcraft.io/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](https://redirect.github.com/lint-staged/lint-staged/pull/1761)
[`d3251b1`](https://redirect.github.com/lint-staged/lint-staged/commit/d3251b192d7116f059e7cabeffa3bfd7788dedeb)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1745)
[`a9585ac`](https://redirect.github.com/lint-staged/lint-staged/commit/a9585ac7ce0162c5c6c9aa88a28c11c812abedaf)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
`commander` as a dependency and use the built-in `parseArgs` from
`node:util` to parse CLI flags.
##### Patch Changes
-
[#​1755](https://redirect.github.com/lint-staged/lint-staged/pull/1755)
[`c82d30b`](https://redirect.github.com/lint-staged/lint-staged/commit/c82d30bda8c80f886bdfead2e7aa123f7337aa76)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - All tests
now pass on the [Bun](https://bun.com) runtime (latest).
-
[#​1750](https://redirect.github.com/lint-staged/lint-staged/pull/1750)
[`a401818`](https://redirect.github.com/lint-staged/lint-staged/commit/a4018185016617b02e4473d14e036a5f1a9b3f85)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1771)
[`c4b8936`](https://redirect.github.com/lint-staged/lint-staged/commit/c4b893665bf39670650ae71b4ec2073025e9984e)
Thanks [@​iiroj](https://redirect.github.com/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="."`.
###
[`v16.4.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1640)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.3.4...v16.4.0)
##### Minor Changes
-
[#​1739](https://redirect.github.com/lint-staged/lint-staged/pull/1739)
[`687fc90`](https://redirect.github.com/lint-staged/lint-staged/commit/687fc9069a312ac83ca48f035a1bbf453db91814)
Thanks [@​hyperz111](https://redirect.github.com/hyperz111)! -
Replace `micromatch` with `picomatch` to reduce dependencies.
###
[`v16.3.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1634)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.3.3...v16.3.4)
##### Patch Changes
-
[#​1742](https://redirect.github.com/lint-staged/lint-staged/pull/1742)
[`9d6e827`](https://redirect.github.com/lint-staged/lint-staged/commit/9d6e827b0c55da5b091c989111f6c55dd76539d9)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update
dependencies, including
[`tinyexec@1.0.4`](https://redirect.github.com/tinylibs/tinyexec/releases/tag/1.0.4)
to make sure local `node_modules/.bin` are preferred to global locations
(released in
[`tinyexec@1.0.3`](https://redirect.github.com/tinylibs/tinyexec/releases/tag/1.0.3)).
###
[`v16.3.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1633)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.3.2...v16.3.3)
##### Patch Changes
-
[#​1740](https://redirect.github.com/lint-staged/lint-staged/pull/1740)
[`0109e8d`](https://redirect.github.com/lint-staged/lint-staged/commit/0109e8d1507409d950dab0d65ce27bd40b1137c7)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Make sure
Git's warning about CRLF line-endings doesn't interfere with creating
initial backup stash.
###
[`v16.3.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1632)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.3.1...v16.3.2)
##### Patch Changes
-
[#​1735](https://redirect.github.com/lint-staged/lint-staged/pull/1735)
[`2adaf6c`](https://redirect.github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Hide the
extra `cmd` window on Windows by spawning tasks without the `detached`
option.
###
[`v16.3.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1631)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.3.0...v16.3.1)
##### Patch Changes
-
[#​1729](https://redirect.github.com/lint-staged/lint-staged/pull/1729)
[`cd5d762`](https://redirect.github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
`nano-spawn` as a dependency from `package.json` as it was replaced with
`tinyexec` and is no longer used.
###
[`v16.3.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1630)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.7...v16.3.0)
##### Minor Changes
-
[#​1698](https://redirect.github.com/lint-staged/lint-staged/pull/1698)
[`feda37a`](https://redirect.github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Run
external processes with
[`tinyexec`](https://redirect.github.com/tinylibs/tinyexec) instead of
[`nano-spawn`](https://redirect.github.com/sindresorhus/nano-spawn).
`nano-spawn` replaced
[`execa`](https://redirect.github.com/sindresorhus/execa) in
*lint-staged* version 16 to limit the amount of npm dependencies
required, but caused some unknown issues related to spawning tasks.
Let's hope `tinyexec` improves the situation.
-
[#​1699](https://redirect.github.com/lint-staged/lint-staged/pull/1699)
[`1346d16`](https://redirect.github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
`pidtree` as a dependency. When a task fails, its sub-processes are
killed more efficiently via the process group on Unix systems, and the
`taskkill` command on Windows.
##### Patch Changes
-
[#​1726](https://redirect.github.com/lint-staged/lint-staged/pull/1726)
[`87467aa`](https://redirect.github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Incorrect
brace expansions like `*.{js}` (*nothing to expand*) are detected
exhaustively, instead of just a single pass.
###
[`v16.2.7`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1627)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.6...v16.2.7)
##### Patch Changes
-
[#​1711](https://redirect.github.com/lint-staged/lint-staged/pull/1711)
[`ef74c8d`](https://redirect.github.com/lint-staged/lint-staged/commit/ef74c8d165d5acd3ce88567e02b891e0e9af8e0e)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Do not
display a "*failed to spawn*" error message when a task fails normally.
This message is reserved for when the task didn't run because spawning
it failed.
###
[`v16.2.6`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1626)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.5...v16.2.6)
##### Patch Changes
-
[#​1693](https://redirect.github.com/lint-staged/lint-staged/pull/1693)
[`33d4502`](https://redirect.github.com/lint-staged/lint-staged/commit/33d4502ef9c939a9c6f41fc630a34e0985220f8e)
Thanks
[@​Adrian-Baran-GY](https://redirect.github.com/Adrian-Baran-GY)!
- Fix problems with `--continue-on-error` option, where tasks might have
still been killed (`SIGINT`) when one of them failed.
###
[`v16.2.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1625)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.4...v16.2.5)
##### Patch Changes
-
[#​1687](https://redirect.github.com/lint-staged/lint-staged/pull/1687)
[`9e02d9d`](https://redirect.github.com/lint-staged/lint-staged/commit/9e02d9dc8a84bfeb7995520f00f7080b07a2e839)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Fix
unhandled promise rejection when spawning tasks (*instead of the tasks
themselves failing*). Previously when a task failed to spawn,
*lint-staged* also failed and the backup stash might not have been
automatically restored.
###
[`v16.2.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1624)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.3...v16.2.4)
##### Patch Changes
-
[#​1682](https://redirect.github.com/lint-staged/lint-staged/pull/1682)
[`0176038`](https://redirect.github.com/lint-staged/lint-staged/commit/01760380e57080d136cc396455346c36aef5770e)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update
dependencies, including
[`nano-spawn@2.0.0`](https://redirect.github.com/sindresorhus/nano-spawn/releases/tag/v2.0.0)
with bug fixes.
-
[#​1671](https://redirect.github.com/lint-staged/lint-staged/pull/1671)
[`581a54e`](https://redirect.github.com/lint-staged/lint-staged/commit/581a54eea6ba3a3a1b715407c895f63a961903f3)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Speed up
execution by only importing the `yaml` depedency if using YAML
configuration files.
###
[`v16.2.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1623)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.2...v16.2.3)
##### Patch Changes
-
[#​1669](https://redirect.github.com/lint-staged/lint-staged/pull/1669)
[`27cd541`](https://redirect.github.com/lint-staged/lint-staged/commit/27cd5413d973baea6b4f3da704fb3bee8298e751)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - When using
`--fail-on-changes`, automatically hidden (partially) unstaged changes
are no longer counted to make *lint-staged* fail.
###
[`v16.2.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1622)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.1...v16.2.2)
##### Patch Changes
-
[#​1667](https://redirect.github.com/lint-staged/lint-staged/pull/1667)
[`699f95d`](https://redirect.github.com/lint-staged/lint-staged/commit/699f95df8f89ac7f7d360bbf93740d19d5899ac5)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - The backup
stash will not be dropped when using `--fail-on-changes` and there are
errors. When reverting to original state is disabled (via `--no-revert`
or `--fail-on-changes`), hidden (partially) unstaged changes are still
restored automatically so that it's easier to resolve the situation
manually.
Additionally, the example for using the backup stash manually now uses
the correct backup hash, if available:
```shell
% npx lint-staged --fail-on-changes
✔ Backed up original state in git stash (c18d55a3)
✔ Running tasks for staged files...
✖ Tasks modified files and --fail-on-changes was used!
↓ Cleaning up temporary files...
✖ lint-staged failed because `--fail-on-changes` was used.
Any lost modifications can be restored from a git stash:
> git stash list --format="%h %s"
c18d55a3 On main: lint-staged automatic backup
> git apply --index c18d55a3
```
###
[`v16.2.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1621)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.2.0...v16.2.1)
##### Patch Changes
-
[#​1664](https://redirect.github.com/lint-staged/lint-staged/pull/1664)
[`8277b3b`](https://redirect.github.com/lint-staged/lint-staged/commit/8277b3b298421ebbb39c43d7e3538481e15c4659)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - The
built-in TypeScript types have been updated to more closely match the
implementation. Notably, the list of staged files supplied to task
functions is `readonly string[]` and can't be mutated. Thanks
[@​outslept](https://redirect.github.com/outslept)!
```diff
export default {
--- "*": (files: string[]) => void console.log('staged files', files)
+++ "*": (files: readonly string[]) => void console.log('staged files',
files)
}
```
-
[#​1654](https://redirect.github.com/lint-staged/lint-staged/pull/1654)
[`70b9af3`](https://redirect.github.com/lint-staged/lint-staged/commit/70b9af3ac3fd66af94936e55bb3e91381937b41f)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - This
version has been published from GitHub Actions using [Trusted Publishing
for npm packages](https://docs.npmjs.com/trusted-publishers).
-
[#​1659](https://redirect.github.com/lint-staged/lint-staged/pull/1659)
[`4996817`](https://redirect.github.com/lint-staged/lint-staged/commit/49968170abb3bab7ac8dc0a6bc5ea92850337baa)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Fix
searching configuration files when the working directory is a
subdirectory of a git repository, and there are `package.json` files in
the working directory. This situation might happen when running
*lint-staged* for a single package in a monorepo.
-
[#​1654](https://redirect.github.com/lint-staged/lint-staged/pull/1654)
[`7021f0a`](https://redirect.github.com/lint-staged/lint-staged/commit/7021f0af40ac1d5787501894c0f2222980023703)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Return the
caret semver range (`^`) to direct dependencies so that future patch and
minor versions are allowed. This enables projects to better maintain and
deduplicate their own transitive dependencies while not requiring direct
updates to *lint-staged*. This was changed in
[16.2.0](https://redirect.github.com/lint-staged/lint-staged/releases/tag/v16.2.0)
after the vulnerability issues with `chalk` and `debug`, which were also
removed in the same version.
Given the recent vulnerabilities in the *npm* ecosystem, it's best to be
very careful when updating dependencies.
###
[`v16.2.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1620)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.6...v16.2.0)
##### Minor Changes
-
[#​1615](https://redirect.github.com/lint-staged/lint-staged/pull/1615)
[`99eb742`](https://redirect.github.com/lint-staged/lint-staged/commit/99eb74200e8db69e72dba45314025953b8b0794e)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Added a new
option `--fail-on-changes` to make *lint-staged* exit with code 1 when
tasks modify any files, making the `precommit` hook fail. This is
similar to the `git diff --exit-code` option. Using this flag also
implies the `--no-revert` flag which means any changes made by tasks
will be left in the working tree after failing, so that they can be
manually staged and the commit tried again.
-
[#​1611](https://redirect.github.com/lint-staged/lint-staged/pull/1611)
[`cd05fd3`](https://redirect.github.com/lint-staged/lint-staged/commit/cd05fd349594baf586fbafb05588ff07d86060b7)
Thanks [@​rlorenzo](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1637)
[`82fcc07`](https://redirect.github.com/lint-staged/lint-staged/commit/82fcc0789c17bf6b2ea2649147abec77fa619375)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1647)
[`a5ecc06`](https://redirect.github.com/lint-staged/lint-staged/commit/a5ecc0605d52756167417c84cb0007ea7bceaaa3)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
[debug](https://redirect.github.com/debug-js/debug) as a dependency due
to recent malware issue; read more at
[debug-js/debug#1005](https://redirect.github.com/debug-js/debug/issues/1005).
Because of this, the `DEBUG` environment variable is no longer supported
— use the `--debug` to enable debugging
-
[#​1636](https://redirect.github.com/lint-staged/lint-staged/pull/1636)
[`8db2717`](https://redirect.github.com/lint-staged/lint-staged/commit/8db2717574ebfa2b80e0fc4eb0b24d705fd264fc)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/ItsNickBarry) for the
idea and initial implementation in
[#​1552](https://redirect.github.com/lint-staged/lint-staged/pull/1552).
-
[#​1648](https://redirect.github.com/lint-staged/lint-staged/pull/1648)
[`7900b3b`](https://redirect.github.com/lint-staged/lint-staged/commit/7900b3b79c5e2e69662cb8b1bcbcae79c3549421)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
[lilconfig](https://redirect.github.com/antonk52/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](https://redirect.github.com/lint-staged/lint-staged/pull/1633)
[`7f9e485`](https://redirect.github.com/lint-staged/lint-staged/commit/7f9e485a981707897e0d417f6a62008f0c098e00)
Thanks
[@​dependabot](https://redirect.github.com/apps/dependabot)! -
Bumps [listr2](https://redirect.github.com/listr2/listr2) from 9.0.3 to
9.0.4.
-
[#​1626](https://redirect.github.com/lint-staged/lint-staged/pull/1626)
[`99d5a9b`](https://redirect.github.com/lint-staged/lint-staged/commit/99d5a9b0ddcba7d471d39ff3969d37988f1e2705)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Due to
recent phishing attacks, for example
[chalk@5.6.1](https://redirect.github.com/chalk/chalk/issues/656) 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](https://docs.npmjs.com/cli/v6/using-npm/semver#caret-ranges-123-025-004).
-
[#​1588](https://redirect.github.com/lint-staged/lint-staged/pull/1588)
[`035bbf2`](https://redirect.github.com/lint-staged/lint-staged/commit/035bbf268ac47bbaf2cfa737c3b2240d38feb22e)
Thanks [@​outslept](https://redirect.github.com/outslept)! -
Increase performance by listing staged files and searching for
configuration concurrently.
-
[#​1645](https://redirect.github.com/lint-staged/lint-staged/pull/1645)
[`deba3ad`](https://redirect.github.com/lint-staged/lint-staged/commit/deba3ad83581938dd71b86b563e62827b5fc2a0a)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Remove
[chalk](https://redirect.github.com/chalk/chalk) as a dependency due to
recent malware issue; read more at
[chalk/chalk#656](https://redirect.github.com/chalk/chalk/issues/656).
If you are having trouble with ANSI color codes when using
*lint-staged*, you can try setting either `FORCE_COLOR=true` or
`NO_COLOR=true` env variables.
###
[`v16.1.6`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1616)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.5...v16.1.6)
##### Patch Changes
-
[#​1610](https://redirect.github.com/lint-staged/lint-staged/pull/1610)
[`e93578e`](https://redirect.github.com/lint-staged/lint-staged/commit/e93578e265a69ed6b02fcaa11486078c1bdbdaaa)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Try to
improve terminating of subprocess of tasks by using `SIGKILL`, and only
calling `pidtree` when the the main task process has a known pid.
###
[`v16.1.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1615)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.4...v16.1.5)
##### Patch Changes
-
[#​1608](https://redirect.github.com/lint-staged/lint-staged/pull/1608)
[`4e3ce22`](https://redirect.github.com/lint-staged/lint-staged/commit/4e3ce225b33f759f78a84d156189dc38e536cdc6)
Thanks [@​srsatt](https://redirect.github.com/srsatt)! - Detect
the git repo's top-level directory correctly when in a worktree.
###
[`v16.1.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1614)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.3...v16.1.4)
##### Patch Changes
-
[#​1604](https://redirect.github.com/lint-staged/lint-staged/pull/1604)
[`90b37b0`](https://redirect.github.com/lint-staged/lint-staged/commit/90b37b00c2c30b9cacf6c080f6a0885e1151eb7a)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Add another
`types` field to `package.json` to make even more sure NPM detects that
*lint-staged* includes built-in TypeScript type definitions.
###
[`v16.1.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1613)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.2...v16.1.3)
##### Patch Changes
-
[#​1602](https://redirect.github.com/lint-staged/lint-staged/pull/1602)
[`7ea700b`](https://redirect.github.com/lint-staged/lint-staged/commit/7ea700bcf3d0078a01720a9c8dc13a271387afbd)
Thanks [@​dword-design](https://redirect.github.com/dword-design)!
- Add the `types` field to `package.json` to make sure NPM detects
*lint-staged* includes built-in TypeScript type definitions.
###
[`v16.1.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1612)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.1...v16.1.2)
##### Patch Changes
-
[#​1570](https://redirect.github.com/lint-staged/lint-staged/pull/1570)
[`a7c0c88`](https://redirect.github.com/lint-staged/lint-staged/commit/a7c0c88bcfe94e695528cb33e69fea58586691fc)
Thanks [@​ItsNickBarry](https://redirect.github.com/ItsNickBarry)!
- When using `--diff-filter` with the `D` 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 from
`git add` like `fatal: pathspec 'deleted-file' did not match any files`.
-
[`38f942e`](https://redirect.github.com/lint-staged/lint-staged/commit/38f942ecc456355d5f12af68db1696f3411f65c2)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Removed an
extraneous log entry that printed `shouldHidePArtiallyStagedFiles` to
console output.
###
[`v16.1.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1611)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.1.0...v16.1.1)
##### Patch Changes
-
[#​1565](https://redirect.github.com/lint-staged/lint-staged/pull/1565)
[`3686977`](https://redirect.github.com/lint-staged/lint-staged/commit/3686977ccdadf70b709c16c0346ef6c2b18e2376)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* now explicitly warns about potential data loss when using
`--no-stash`.
-
[#​1571](https://redirect.github.com/lint-staged/lint-staged/pull/1571)
[`02299a9`](https://redirect.github.com/lint-staged/lint-staged/commit/02299a9e4f98a05c13beb27f3596af73aaa8c150)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Function
tasks (introduced in v16.0.0) only receive the staged files matching the
configured glob, instead of all staged files.
-
[#​1563](https://redirect.github.com/lint-staged/lint-staged/pull/1563)
[`bc61c74`](https://redirect.github.com/lint-staged/lint-staged/commit/bc61c74383b6d100c55b8d275b979d583ffbe5a1)
Thanks [@​iiroj](https://redirect.github.com/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`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1610)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v16.0.0...v16.1.0)
##### Minor Changes
-
[#​1536](https://redirect.github.com/lint-staged/lint-staged/pull/1536)
[`e729daa`](https://redirect.github.com/lint-staged/lint-staged/commit/e729daa3b3ae28e613f63e730652dbfad5d1c594)
Thanks [@​iiroj](https://redirect.github.com/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](https://redirect.github.com/lint-staged/lint-staged/pull/1550)
[`b27fa3f`](https://redirect.github.com/lint-staged/lint-staged/commit/b27fa3fecb75bcdcaa4bcd483c9d5c0755a22607)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* now ignores symlinks and leaves them out from the list of
staged files.
##### Patch Changes
-
[#​1558](https://redirect.github.com/lint-staged/lint-staged/pull/1558)
[`c37dc38`](https://redirect.github.com/lint-staged/lint-staged/commit/c37dc38dddbdebc41df4dbd909d79c98c3f69eb3)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - The minimum
required Node.js version is lowered to `20.17` following
[nano-spawn@1.0.2](https://redirect.github.com/sindresorhus/nano-spawn/releases/tag/v1.0.2).
###
[`v16.0.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1600)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.2...v16.0.0)
##### Major Changes
-
[#​1546](https://redirect.github.com/lint-staged/lint-staged/pull/1546)
[`158d15c`](https://redirect.github.com/lint-staged/lint-staged/commit/158d15c9aea0a3a87790ec3766442763cf387dba)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Processes
are spawned using
[nano-spawn](https://redirect.github.com/sindresorhus/nano-spawn)
instead of [execa](https://redirect.github.com/sindresorhus/execa). If
you are using Node.js scripts as tasks, you might need to explicitly run
them with `node`, especially when using Windows:
```json
{
"*.js": "node my-js-linter.js"
}
```
-
[#​1546](https://redirect.github.com/lint-staged/lint-staged/pull/1546)
[`158d15c`](https://redirect.github.com/lint-staged/lint-staged/commit/158d15c9aea0a3a87790ec3766442763cf387dba)
Thanks [@​iiroj](https://redirect.github.com/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
`"$@​"`:
```shell
```
### [`v15.5.2`]()
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.1...v15.5.2)
### [`v15.5.1`]()
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.0...v15.5.1)
### [`v15.5.0`]()
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.3...v15.5.0)
###
[`v15.4.3`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1543)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.2...v15.4.3)
##### Patch Changes
-
[#​1512](https://redirect.github.com/lint-staged/lint-staged/pull/1512)
[`cbfed1d`](https://redirect.github.com/lint-staged/lint-staged/commit/cbfed1dfd2465c4198c692955281f0836600bea1)
Thanks [@​tarik02](https://redirect.github.com/tarik02)! - Adjust
TypeScript types for the default export so that it can be used as a
value without error TS2693.
###
[`v15.4.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1542)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.1...v15.4.2)
##### Patch Changes
-
[#​1509](https://redirect.github.com/lint-staged/lint-staged/pull/1509)
[`8827ebf`](https://redirect.github.com/lint-staged/lint-staged/commit/8827ebf29dc8f25149a36450b4a0023425202e18)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Change
*lint-staged*'s dependencies to use [caret (`^`)
ranges](https://docs.npmjs.com/cli/v6/using-npm/semver#caret-ranges-123-025-004)
instead of [tilde
(`~`)](https://docs.npmjs.com/cli/v6/using-npm/semver#tilde-ranges-123-12-1).
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`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1541)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.4.0...v15.4.1)
##### Patch Changes
-
[#​1504](https://redirect.github.com/lint-staged/lint-staged/pull/1504)
[`1c7a45e`](https://redirect.github.com/lint-staged/lint-staged/commit/1c7a45ed2c7fee9d5f55337be16a51e4c9b240e1)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Default
TypeScript config filenames match JS equivalents.
-
[#​1504](https://redirect.github.com/lint-staged/lint-staged/pull/1504)
[`9cc18c9`](https://redirect.github.com/lint-staged/lint-staged/commit/9cc18c9debb185490f9ae4f9c1d21ec8c2587393)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Add missing
conditional exports syntax for TypeScript types.
###
[`v15.4.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1540)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.3.0...v15.4.0)
##### Minor Changes
-
[#​1500](https://redirect.github.com/lint-staged/lint-staged/pull/1500)
[`a8ec1dd`](https://redirect.github.com/lint-staged/lint-staged/commit/a8ec1ddb587d2c1c2420dbb4baff8160f0ac46c9)
Thanks [@​iiroj](https://redirect.github.com/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:
```js
/**
* @​filename: lint-staged.config.js
* @​type {import('lint-staged').Configuration}
*/
export default {
'*': 'prettier --write',
}
```
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](https://redirect.github.com/nodejs/node/releases/tag/v22.6.0)
and unflagged in
[v23.6.0](https://redirect.github.com/nodejs/node/releases/tag/v23.6.0),
enabling Node.js to execute TypeScript files without additional
configuration.
```shell
export NODE_OPTIONS="--experimental-strip-types"
npx lint-staged --config lint-staged.config.ts
```
##### Patch Changes
-
[#​1501](https://redirect.github.com/lint-staged/lint-staged/pull/1501)
[`9b79364`](https://redirect.github.com/lint-staged/lint-staged/commit/9b793640e1f87b46e4f40fcfc1ecf9d6f6013ac9)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Handle
possible failures when logging user shell for debug info.
###
[`v15.3.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1530)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.11...v15.3.0)
##### Minor Changes
-
[#​1495](https://redirect.github.com/lint-staged/lint-staged/pull/1495)
[`e69da9e`](https://redirect.github.com/lint-staged/lint-staged/commit/e69da9e614db2d45f56e113d45d5ec0157813423)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Added more
info to the debug logs so that "environment" info doesn't need to be
added separately to GitHub issues.
-
[#​1493](https://redirect.github.com/lint-staged/lint-staged/pull/1493)
[`fa0fe98`](https://redirect.github.com/lint-staged/lint-staged/commit/fa0fe98104f8885f673b98b8b49ae586de699c5e)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Added more
help messages around the automatic `git 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:
```
% npx lint-staged
✔ Backed up original state in git stash (20addf8)
✔ Running tasks for staged files...
✔ Applying modifications from tasks...
✔ Cleaning up temporary files...
```
where the backup can be seen with `git show 20addf8`, or `git stash
list`:
```
% git stash list
stash@{0}: lint-staged automatic backup (20addf8)
```
###
[`v15.2.11`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#15211)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.10...v15.2.11)
##### Patch Changes
-
[#​1484](https://redirect.github.com/lint-staged/lint-staged/pull/1484)
[`bcfe309`](https://redirect.github.com/lint-staged/lint-staged/commit/bcfe309fca88aedf42b6a321383de49eb361c5a0)
Thanks [@​wormsik](https://redirect.github.com/wormsik)! - Escape
paths containing spaces when using the "shell" option.
-
[#​1487](https://redirect.github.com/lint-staged/lint-staged/pull/1487)
[`7dd8caa`](https://redirect.github.com/lint-staged/lint-staged/commit/7dd8caa8f80fe1a6ce40939c1224b6774000775a)
Thanks [@​iiroj](https://redirect.github.com/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`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#15210)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.9...v15.2.10)
##### Patch Changes
-
[#​1471](https://redirect.github.com/lint-staged/lint-staged/pull/1471)
[`e3f283b`](https://redirect.github.com/lint-staged/lint-staged/commit/e3f283b250868b7c15ceb54d2a51b2e5fb3a18a9)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update
minor dependencies, including `micromatch@~4.0.8`.
###
[`v15.2.9`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1529)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.8...v15.2.9)
##### Patch Changes
-
[#​1463](https://redirect.github.com/lint-staged/lint-staged/pull/1463)
[`b69ce2d`](https://redirect.github.com/lint-staged/lint-staged/commit/b69ce2ddfd5a7ae576f4fef4afc60b8a81f3c945)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Set the
maximum number of event listeners to the number of tasks. This should
silence the console warning `MaxListenersExceededWarning: Possible
EventEmitter memory leak detected`.
###
[`v15.2.8`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1528)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.7...v15.2.8)
##### Patch Changes
-
[`f0480f0`](https://redirect.github.com/lint-staged/lint-staged/commit/f0480f01b24b9f6443a12515d413a7ba4dda3981)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - In the
previous version the native `git 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.js `child_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.
###
[`v15.2.7`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1527)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.6...v15.2.7)
##### Patch Changes
-
[#​1440](https://redirect.github.com/lint-staged/lint-staged/pull/1440)
[`a51be80`](https://redirect.github.com/lint-staged/lint-staged/commit/a51be804b63307ac7af3c82f4cb2d43dbe92daac)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - In the
previous version the native `git rev-parse --show-toplevel` command was
taken into use for resolving the current git repo root. This version
drops the `--path-format=absolute` option to support earlier git
versions since it's also the default behavior. If you are still having
trouble, please try upgrading `git` to the latest version.
###
[`v15.2.6`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1526)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.5...v15.2.6)
##### Patch Changes
-
[#​1433](https://redirect.github.com/lint-staged/lint-staged/pull/1433)
[`119adb2`](https://redirect.github.com/lint-staged/lint-staged/commit/119adb29854cabddbfcf0469d7c8a0126184a5d4)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Use native
"git rev-parse" commands to determine git repo root directory and the
.git config directory, instead of using custom logic. This hopefully
makes path resolution more robust on non-POSIX systems.
###
[`v15.2.5`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1525)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.4...v15.2.5)
##### Patch Changes
-
[#​1424](https://redirect.github.com/lint-staged/lint-staged/pull/1424)
[`31a1f95`](https://redirect.github.com/lint-staged/lint-staged/commit/31a1f9548ea8202bc5bd718076711f747396e3ca)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Allow
approximately equivalent versions of direct dependencies by using the
"\~" character in the version ranges. This means a more recent patch
version of a dependency is allowed if available.
-
[#​1423](https://redirect.github.com/lint-staged/lint-staged/pull/1423)
[`91abea0`](https://redirect.github.com/lint-staged/lint-staged/commit/91abea0d298154d92113ba34bae4020704e22918)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Improve
error logging when failing to read or parse a configuration file
-
[#​1424](https://redirect.github.com/lint-staged/lint-staged/pull/1424)
[`ee43f15`](https://redirect.github.com/lint-staged/lint-staged/commit/ee43f154097753dd5448766f792387e60e0ea453)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Upgrade
micromatch\@​4.0.7
###
[`v15.2.4`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1524)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.2...v15.2.4)
##### Patch Changes
-
[`4f4537a`](https://redirect.github.com/lint-staged/lint-staged/commit/4f4537a75ebfba816826f6f67a325dbc7f25908a)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Fix release
issue with previous version; update dependencies
###
[`v15.2.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1522)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.1...v15.2.2)
##### Patch Changes
-
[#​1391](https://redirect.github.com/lint-staged/lint-staged/pull/1391)
[`fdcdad4`](https://redirect.github.com/lint-staged/lint-staged/commit/fdcdad42ff96fea3c05598e378d3c44ad4a51bde)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! -
*Lint-staged* no longer tries to load configuration from files that are
not checked out. This might happen when using sparse-checkout.
###
[`v15.2.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#15211)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.2.0...v15.2.1)
##### Patch Changes
-
[#​1484](https://redirect.github.com/lint-staged/lint-staged/pull/1484)
[`bcfe309`](https://redirect.github.com/lint-staged/lint-staged/commit/bcfe309fca88aedf42b6a321383de49eb361c5a0)
Thanks [@​wormsik](https://redirect.github.com/wormsik)! - Escape
paths containing spaces when using the "shell" option.
-
[#​1487](https://redirect.github.com/lint-staged/lint-staged/pull/1487)
[`7dd8caa`](https://redirect.github.com/lint-staged/lint-staged/commit/7dd8caa8f80fe1a6ce40939c1224b6774000775a)
Thanks [@​iiroj](https://redirect.github.com/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.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1520)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.1.0...v15.2.0)
##### Minor Changes
-
[#​1371](https://redirect.github.com/lint-staged/lint-staged/pull/1371)
[`f3378be`](https://redirect.github.com/lint-staged/lint-staged/commit/f3378be894fb84800341800b1e4f6f8bc8dfd904)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Using the
`--no-stash` flag no longer discards all unstaged changes to partially
staged files, which resulted in inadvertent data loss. This fix is
available with a new flag `--no-hide-partially-staged` that is
automatically enabled when `--no-stash` is used.
##### Patch Changes
-
[#​1362](https://redirect.github.com/lint-staged/lint-staged/pull/1362)
[`17bc480`](https://redirect.github.com/lint-staged/lint-staged/commit/17bc480c0f8767407a87527931558de8d1d1551d)
Thanks [@​antonk52](https://redirect.github.com/antonk52)! -
update lilconfig\@​3.0.0
-
[#​1368](https://redirect.github.com/lint-staged/lint-staged/pull/1368)
[`7c55ca9`](https://redirect.github.com/lint-staged/lint-staged/commit/7c55ca9f410043016e8b33b3b523b9b7e764acf4)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update most
dependencies
-
[#​1368](https://redirect.github.com/lint-staged/lint-staged/pull/1368)
[`777d4e9`](https://redirect.github.com/lint-staged/lint-staged/commit/777d4e976852af4c181ffbe055f3531343349695)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - To improve
performance, only use `lilconfig` when searching for config files
outside the git repo. In the regular case, *lint-staged* finds the
config files from the Git index and loads them directly.
-
[#​1373](https://redirect.github.com/lint-staged/lint-staged/pull/1373)
[`85eb0dd`](https://redirect.github.com/lint-staged/lint-staged/commit/85eb0ddab1eba0c0bcc8cc109e17dc2bbb3d044e)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - When
determining git directory, use `fs.realpath()` only for symlinks. It
looks like `fs.realpath()` changes some Windows mapped network filepaths
unexpectedly, causing issues.
###
[`v15.1.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1510)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.0.2...v15.1.0)
##### Minor Changes
-
[#​1344](https://redirect.github.com/lint-staged/lint-staged/pull/1344)
[`0423311`](https://redirect.github.com/lint-staged/lint-staged/commit/04233115a5e25d6fa7d357cbe9d42173ae8a1acf)
Thanks [@​danielbayley](https://redirect.github.com/danielbayley)!
- Add support for loading configuration from `package.yaml` and
`package.yml` files, supported by `pnpm`.
##### Patch Changes
-
[#​1355](https://redirect.github.com/lint-staged/lint-staged/pull/1355)
[`105d901`](https://redirect.github.com/lint-staged/lint-staged/commit/105d9012fc92fca549987816406450075cf255f3)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Suppress
some warnings when using the "--quiet" flag
###
[`v15.0.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1502)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.0.1...v15.0.2)
##### Patch Changes
-
[#​1339](https://redirect.github.com/lint-staged/lint-staged/pull/1339)
[`8e82364`](https://redirect.github.com/lint-staged/lint-staged/commit/8e82364dd89155e96de574cfb38a94d28b8635af)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - Update
dependencies, including listr2\@​7.0.2 to fix an upstream issue
affecting lint-staged.
###
[`v15.0.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1501)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.0.0...v15.0.1)
##### Patch Changes
-
[#​1217](https://redirect.github.com/lint-staged/lint-staged/pull/1217)
[`d2e6f8b`](https://redirect.github.com/lint-staged/lint-staged/commit/d2e6f8b1e1cd84ba6eb2f3f6a7f650c882987041)
Thanks [@​louneskmt](https://redirect.github.com/louneskmt)! -
Previously it was possible for a function task to mutate the list of
staged files passed to the function, and accidentally affect the
generation of other tasks. This is now fixed by passing a copy of the
original file list instead.
###
[`v15.0.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1500)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v14.0.1...v15.0.0)
##### Major Changes
-
[#​1322](https://redirect.github.com/okonet/lint-staged/pull/1322)
[`66b93aa`](https://redirect.github.com/okonet/lint-staged/commit/66b93aac870d155ca81302b2574617da99409ca7)
Thanks [@​iiroj](https://redirect.github.com/iiroj)! - **Require
at least Node.js 18.12.0**
This release drops support for Node.js 16, which is EOL after
2023-09-11.
Please upgrade your Node.js to the latest version.
Additionally, all dependencies have been updated to their latest
versions.
###
[`v14.0.1`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#v1401---21-Aug-2023)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v14.0.0...v14.0.1)
##### Bug Fixes
- fix reading config from stdin, introduced in v14.0.0
([#​1317](https://redirect.github.com/okonet/lint-staged/issues/1317))
([fc3bfea](https://redirect.github.com/okonet/lint-staged/commit/fc3bfeabae29b65f99b6911a989b0b41d3d1128e))
###
[`v14.0.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#v1400---13-Aug-2023)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v13.3.0...v14.0.0)
##### Features
- drop support for Node.js 14
([#​1312](https://redirect.github.com/okonet/lint-staged/issues/1312))
([9da8777](https://redirect.github.com/okonet/lint-staged/commit/9da877711a7547b9122c6af91683fb2a2f398184))
##### BREAKING CHANGES
- Please upgrade your Node.js version to at least `16.14.0`.
###
[`v13.3.0`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#v1330---13-Aug-2023)
[Compare
Source](https://redirect.github.com/lint-staged/lint-staged/compare/v13.2.3...v13.3.0)
##### Bug Fixes
- **dependencies:** update most dependencies
([7443870](https://redirect.github.com/okonet/lint-staged/commit/7443870b2c24ead8613295cbfa1fe80f96167e1c))
- detect duplicate redundant braces in pattern
([d895aa8](https://redirect.github.com/okonet/lint-staged/commit/d895aa8382b769f8
> ✂ **Note**
>
> PR body was truncated to here.
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, on day 1 of the month (`* 0-3 1 * *`)
- 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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vitejs/launch-editor).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTguMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com>1 parent 247bf1d commit 475ac66
2 files changed
Lines changed: 168 additions & 643 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
| 21 | + | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
| |||
0 commit comments