#1847f9063b7 - Lint-staged now refuses to run when files were staged with --intent-to-add, because Git stash doesn't support them. Previously this was an unhandled error.
Patch Changes
#1848d718ccc - Lint-staged now handles color support better in non-TTY streams, and honors the FORCE_COLOR environment variable.
#18457e5ece8 - Update tinyexec@1.3.1 so that local binaries from node_modules/.bin are resolved starting from the directory of each lint-staged configuration file (in monorepo setups). This behavior was broken in lint-staged@16.3.0 where they were only resolved from the current working directory and up.
#1845eb8a4e3 - Do not try to restore untracked files when using --hide-all and there is no initial commit yet.
#1840efe5b63 - This is a version-bump-only release because the previous version 17.4.0 was not published to npmjs.com due to problems with GitHub Actions and Changesets.
#182516b3f74 - It is now possible to run multiple tasks in parallel for a single glob by configuring it with an array of tasks (which run sequentially), and then placing another array inside it (where the tasks will run in parallel). The following demonstrates the order tasks will start in:
additionally, if any *.ts files are staged, run tsc without appending any arguments
The two sets of commands also run in parallel
Patch Changes
#182915f7e53 - During an in-progress merge, files that are unchanged from the branch being merged are now skipped. Technically, files are only included if there are staged changes against both HEAD and MERGE_HEAD.
#1823ee156cc - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:
/** @​type {import('lint-staged').Configuration} */exportdefault{'*.ts':()=>'tsc',// Run "tsc" when any TS file is changed (for entire project)
}
Where the spawned command is literally "tsc" without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.
Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:
#1820a626a9f - It's now possible to set --max-arg-length=Infinity to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options --max-arg-length and --concurrency has been improved.
#18167568d4f - The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to remove Listr2, a very large dependency.
Before:
Size of node_modules/ after installing: 1561.7 kB with 29 packages.
Fancy interactive spinners, but output dynamically changes:
✔ Backed up original state in git stash (0b191303)
✔ Running tasks for staged files...
✔ Staging changes from tasks...
✔ Cleaning up temporary files...
After:
Size of node_modules/ after installing: 974.0 kB with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).
Simpler but more explicit output:
⋯ Backing up original state…
✔ Done backing up original state (35b38ed1)!
⋯ Running tasks for staged files…
*.js — 1 file
⋯ oxlint --fix
*.{json,md} — 1 file
⋯ oxfmt --write
✔ oxfmt --write
✔ oxlint --fix
✔ Done running tasks for staged files!
⋯ Staging changes from tasks…
✔ Done staging changes from tasks!
⋯ Cleaning up temporary files…
✔ Done cleaning up temporary files!
Patch Changes
#1816c19079d - Try to restore hidden unstaged changes when using --no-revert.
#1818efb23a2 - Console output colors are enabled/disabled more consistently.
#181826112a1 - Failed JS function tasks now properly kill other tasks, unless --continue-on-error is used. Previously their failure didn't affect other tasks.
#1809179b437 - Fix lint-staged discarding the ongoing merge conflict status (.git/MERGE_HEAD) when using the --hide-unstaged or --hide-all options.
#18113d0b2c0 - Fix issues with Git commands that are successful but also emit warnings to stderr, by ignoring the stderr output completely when the process exits with code 0. This was the behavior when using nano-spawn and execa, but when switching to tinyexec in 16.3.0 both stdout and stderr were used as interleaved output.
Configuration
📅Schedule: (UTC)
Branch creation
At any time (no schedule defined)
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 contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [lint-staged](https://github.com/lint-staged/lint-staged) | devDependencies | minor | [`17.0.7` → `17.5.1`](https://renovatebot.com/diffs/npm/lint-staged/17.0.7/17.5.1) |
---
### Release Notes
<details>
<summary>lint-staged/lint-staged (lint-staged)</summary>
### [`v17.5.1`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1751)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.5.0...v17.5.1)
##### Patch Changes
- [#​1852](https://github.com/lint-staged/lint-staged/pull/1852) [`bfcca94`](https://github.com/lint-staged/lint-staged/commit/bfcca94e61aef7078a7a0ec8165c0cc2c9baca99) - Fix TypeScript issue `TS1254` from `defineConfig()` by changing the signature from `const` to a `function`:
> A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.
### [`v17.5.0`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1750)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.4.1...v17.5.0)
##### Minor Changes
- [#​1847](https://github.com/lint-staged/lint-staged/pull/1847) [`f9063b7`](https://github.com/lint-staged/lint-staged/commit/f9063b7d71857cb8893ee1bb5b63da05b2819b23) - *Lint-staged* now refuses to run when files were staged with `--intent-to-add`, because Git stash doesn't support them. Previously this was an unhandled error.
##### Patch Changes
- [#​1848](https://github.com/lint-staged/lint-staged/pull/1848) [`d718ccc`](https://github.com/lint-staged/lint-staged/commit/d718ccc59cf73bf7d333135826270b5742fefec1) - *Lint-staged* now handles color support better in non-TTY streams, and honors the `FORCE_COLOR` environment variable.
- [#​1845](https://github.com/lint-staged/lint-staged/pull/1845) [`7e5ece8`](https://github.com/lint-staged/lint-staged/commit/7e5ece8408097994bd1dfcfbf395aa9838782d19) - Update `tinyexec@1.3.1` so that local binaries from `node_modules/.bin` are resolved starting from the directory of each *lint-staged* configuration file (in monorepo setups). This behavior was broken in `lint-staged@16.3.0` where they were only resolved from the current working directory and up.
- [#​1845](https://github.com/lint-staged/lint-staged/pull/1845) [`eb8a4e3`](https://github.com/lint-staged/lint-staged/commit/eb8a4e3ae1bbdf648b647ff3a17a6205870b27be) - Do not try to restore untracked files when using `--hide-all` and there is no initial commit yet.
### [`v17.4.1`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1741)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.3.0...v17.4.1)
##### Patch Changes
- [#​1840](https://github.com/lint-staged/lint-staged/pull/1840) [`efe5b63`](https://github.com/lint-staged/lint-staged/commit/efe5b63cc4961c80b6363fe40bac3c145e3ddbb2) - This is a version-bump-only release because the previous version `17.4.0` was not published to npmjs.com due to problems with GitHub Actions and Changesets.
### [`v17.3.0`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1730)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.2.0...v17.3.0)
##### Minor Changes
- [#​1825](https://github.com/lint-staged/lint-staged/pull/1825) [`16b3f74`](https://github.com/lint-staged/lint-staged/commit/16b3f74850e5d2811b5fbaea6c136733a71ad3e4) - It is now possible to run multiple tasks in parallel for a single glob by configuring it with an array of tasks (which run sequentially), and then placing another array inside it (where the tasks will run in parallel). The following demonstrates the order tasks will start in:
```json
{
"*.ts": ["first", "second", ["third", "third"], "fourth"]
}
```
As a concrete example, *lint-staged*'s own configuration is:
```js
/** @​type {import('./lib/index.js').Configuration} */
export default {
'*': [
['oxfmt --check --no-error-on-unmatched-pattern', 'oxlint --no-error-on-unmatched-pattern'],
],
'*.ts': () => 'tsc',
}
```
which means:
1. for all staged files, run the two commands in parallel with staged filenames appended, for example:
- `oxfmt --check --no-error-on-unmatched-pattern lib/index.js`
- `oxlint --no-error-on-unmatched-pattern lib/index.js`
2. additionally, if any `*.ts` files are staged, run `tsc` without appending any arguments
3. The two sets of commands also run in parallel
##### Patch Changes
- [#​1829](https://github.com/lint-staged/lint-staged/pull/1829) [`15f7e53`](https://github.com/lint-staged/lint-staged/commit/15f7e5314b4afe4702808d978758b22d42437f43) - During an in-progress merge, files that are unchanged from the branch being merged are now skipped. Technically, files are only included if there are staged changes against both `HEAD` and `MERGE_HEAD`.
### [`v17.2.0`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1720)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.1.1...v17.2.0)
##### Minor Changes
- [#​1823](https://github.com/lint-staged/lint-staged/pull/1823) [`ee156cc`](https://github.com/lint-staged/lint-staged/commit/ee156cc7039494f1db11f389b1233c78f588238c) - The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:
```js
/** @​type {import('lint-staged').Configuration} */
export default {
'*.ts': () => 'tsc', // Run "tsc" when any TS file is changed (for entire project)
}
```
Where the spawned command is literally `"tsc"` without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.
Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:
```js
/** @​type {import('lint-staged').Configuration} */
export default {
'*.js': {
title: 'Log staged JS files to console',
task: async (files) => {
console.log('Staged JS files:', files)
},
},
}
```
### [`v17.1.1`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1711)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.1.0...v17.1.1)
##### Patch Changes
- [#​1820](https://github.com/lint-staged/lint-staged/pull/1820) [`a626a9f`](https://github.com/lint-staged/lint-staged/commit/a626a9f269d9ff6498a9b8245490e096f90c4bb7) - It's now possible to set `--max-arg-length=Infinity` to effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options `--max-arg-length` and `--concurrency` has been improved.
### [`v17.1.0`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1710)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.0.8...v17.1.0)
##### Minor Changes
- [#​1816](https://github.com/lint-staged/lint-staged/pull/1816) [`7568d4f`](https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7) - The console output of *lint-staged* has been simplified so that there's less interactive spinners and more explicit messages like *"Started…*" -> "*Done!*". The primary purpose of this was to remove [`Listr2`](https://github.com/listr2/listr2), a very large dependency.
**Before:**
Size of `node_modules/` after installing: `1561.7 kB` with 29 packages.
Fancy interactive spinners, but output dynamically changes:
```shell
✔ Backed up original state in git stash (0b191303)
✔ Running tasks for staged files...
✔ Staging changes from tasks...
✔ Cleaning up temporary files...
```
**After:**
Size of `node_modules/` after installing: `974.0 kB` with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).
Simpler but more explicit output:
```shell
⋯ Backing up original state…
✔ Done backing up original state (35b38ed1)!
⋯ Running tasks for staged files…
*.js — 1 file
⋯ oxlint --fix
*.{json,md} — 1 file
⋯ oxfmt --write
✔ oxfmt --write
✔ oxlint --fix
✔ Done running tasks for staged files!
⋯ Staging changes from tasks…
✔ Done staging changes from tasks!
⋯ Cleaning up temporary files…
✔ Done cleaning up temporary files!
```
##### Patch Changes
- [#​1816](https://github.com/lint-staged/lint-staged/pull/1816) [`c19079d`](https://github.com/lint-staged/lint-staged/commit/c19079d808d557b538c34fe69381d2ef970c7acc) - Try to restore hidden unstaged changes when using `--no-revert`.
- [#​1818](https://github.com/lint-staged/lint-staged/pull/1818) [`efb23a2`](https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8) - Console output colors are enabled/disabled more consistently.
- [#​1818](https://github.com/lint-staged/lint-staged/pull/1818) [`26112a1`](https://github.com/lint-staged/lint-staged/commit/26112a19151f9678861d51ea7416e9f9bef24bbb) - Failed JS function tasks now properly kill other tasks, unless `--continue-on-error` is used. Previously their failure didn't affect other tasks.
### [`v17.0.8`](https://github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1708)
[Compare Source](https://github.com/lint-staged/lint-staged/compare/v17.0.7...v17.0.8)
##### Patch Changes
- [#​1809](https://github.com/lint-staged/lint-staged/pull/1809) [`179b437`](https://github.com/lint-staged/lint-staged/commit/179b4372b2528f6fa66f927337d238711694d0e0) - Fix *lint-staged* discarding the ongoing merge conflict status (`.git/MERGE_HEAD`) when using the `--hide-unstaged` or `--hide-all` options.
- [#​1811](https://github.com/lint-staged/lint-staged/pull/1811) [`3d0b2c0`](https://github.com/lint-staged/lint-staged/commit/3d0b2c0709a2a39aa7b134e3741fed21250d808e) - Fix issues with Git commands that are successful but also emit warnings to `stderr`, by ignoring the `stderr` output completely when the process exits with code 0. This was the behavior when using `nano-spawn` and `execa`, but when switching to `tinyexec` in 16.3.0 both `stdout` and `stderr` were used as interleaved output.
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- 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 has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjAuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
17.0.7→17.5.1Release Notes
lint-staged/lint-staged (lint-staged)
v17.5.1Compare Source
Patch Changes
#1852
bfcca94- Fix TypeScript issueTS1254fromdefineConfig()by changing the signature fromconstto afunction:v17.5.0Compare Source
Minor Changes
f9063b7- Lint-staged now refuses to run when files were staged with--intent-to-add, because Git stash doesn't support them. Previously this was an unhandled error.Patch Changes
#1848
d718ccc- Lint-staged now handles color support better in non-TTY streams, and honors theFORCE_COLORenvironment variable.#1845
7e5ece8- Updatetinyexec@1.3.1so that local binaries fromnode_modules/.binare resolved starting from the directory of each lint-staged configuration file (in monorepo setups). This behavior was broken inlint-staged@16.3.0where they were only resolved from the current working directory and up.#1845
eb8a4e3- Do not try to restore untracked files when using--hide-alland there is no initial commit yet.v17.4.1Compare Source
Patch Changes
efe5b63- This is a version-bump-only release because the previous version17.4.0was not published to npmjs.com due to problems with GitHub Actions and Changesets.v17.3.0Compare Source
Minor Changes
#1825
16b3f74- It is now possible to run multiple tasks in parallel for a single glob by configuring it with an array of tasks (which run sequentially), and then placing another array inside it (where the tasks will run in parallel). The following demonstrates the order tasks will start in:As a concrete example, lint-staged's own configuration is:
which means:
oxfmt --check --no-error-on-unmatched-pattern lib/index.jsoxlint --no-error-on-unmatched-pattern lib/index.js*.tsfiles are staged, runtscwithout appending any argumentsPatch Changes
15f7e53- During an in-progress merge, files that are unchanged from the branch being merged are now skipped. Technically, files are only included if there are staged changes against bothHEADandMERGE_HEAD.v17.2.0Compare Source
Minor Changes
#1823
ee156cc- The chunking of tasks based on maximum command line argument length has been re-implemented to be more precise. Now the chunking happens based on the final generated command string, instead of just the list of staged files like previously. This benefits mainly Windows platforms and function commands like:Where the spawned command is literally
"tsc"without any extra arguments. Previously, this was still chunked when a lot of files were staged. Now, it probably won't be chunked because the length of the command is just three letters.Also, native JavaScript/Node.js function tasks won't be chunked at all, when previously they were run multiple times when chunked:
v17.1.1Compare Source
Patch Changes
a626a9f- It's now possible to set--max-arg-length=Infinityto effectively disable chunking of tasks based on the number of staged files. The parsing and validation of the numeric CLI options--max-arg-lengthand--concurrencyhas been improved.v17.1.0Compare Source
Minor Changes
#1816
7568d4f- The console output of lint-staged has been simplified so that there's less interactive spinners and more explicit messages like "Started…" -> "Done!". The primary purpose of this was to removeListr2, a very large dependency.Before:
Size of
node_modules/after installing:1561.7 kBwith 29 packages.Fancy interactive spinners, but output dynamically changes:
After:
Size of
node_modules/after installing:974.0 kBwith 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).Simpler but more explicit output:
Patch Changes
#1816
c19079d- Try to restore hidden unstaged changes when using--no-revert.#1818
efb23a2- Console output colors are enabled/disabled more consistently.#1818
26112a1- Failed JS function tasks now properly kill other tasks, unless--continue-on-erroris used. Previously their failure didn't affect other tasks.v17.0.8Compare Source
Patch Changes
#1809
179b437- Fix lint-staged discarding the ongoing merge conflict status (.git/MERGE_HEAD) when using the--hide-unstagedor--hide-alloptions.#1811
3d0b2c0- Fix issues with Git commands that are successful but also emit warnings tostderr, by ignoring thestderroutput completely when the process exits with code 0. This was the behavior when usingnano-spawnandexeca, but when switching totinyexecin 16.3.0 bothstdoutandstderrwere used as interleaved output.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 has been generated by Mend Renovate.
208eba1636to6f50dd350e6f50dd350eto0a5930cb430a5930cb43toaa83cd244aaa83cd244atoa4cad02df8a4cad02df8tob4e5491d41b4e5491d41to04e706d04d04e706d04dtob98671e1c5Update dependency lint-staged to v17.0.8to Update dependency lint-staged to v17.1.0b98671e1c5to0d2ab25e8aUpdate dependency lint-staged to v17.1.0to Update dependency lint-staged to v17.1.10d2ab25e8ato5d4c18ff05Update dependency lint-staged to v17.1.1to Update dependency lint-staged to v17.2.05d4c18ff05toce0194e613Update dependency lint-staged to v17.2.0to Update dependency lint-staged to v17.3.0ce0194e613to0d406ad9720d406ad972to398f817453398f817453to01082e13d6Update dependency lint-staged to v17.3.0to Update dependency lint-staged to v17.4.101082e13d6to43f7ec287143f7ec2871to2ba6b03b53Update dependency lint-staged to v17.4.1to Update dependency lint-staged to v17.5.02ba6b03b53to3cf7d82ab0Update dependency lint-staged to v17.5.0to Update dependency lint-staged to v17.5.13cf7d82ab0to24affd87efView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.