Releases: lint-staged/lint-staged
v15.5.0
Minor Changes
-
#1526
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
- Stage
file.js
with only double quotes"
changed to'
- Run
git commit -am "I don't like double quotes"
- Lint-staged runs
prettier --write file.js
, converting all the'
back to"
- Because there are now no changes, lint-staged fails, cancels the commit, and resets back to the original state
- Commit was not done, original state is restored and single quotes
'
are staged
Now
- Stage
file.js
with only double-quotes"
changed to'
- Run
git commit -am "I don't like double quotes"
- Lint-staged runs
prettier --write file.js
, converting all the'
back to"
- Because there are now no changes, lint-staged fails and cancels the commit
- Commit was not done, and there are no staged changes
- Stage
v15.4.3
v15.4.2
v15.4.1
v15.4.0
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:/** * @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 and unflagged in v23.6.0, enabling Node.js to execute TypeScript files without additional configuration.export NODE_OPTIONS="--experimental-strip-types" npx lint-staged --config lint-staged.config.ts
Patch Changes
v15.3.0
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:
% 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
, orgit stash list
:% git stash list stash@{0}: lint-staged automatic backup (20addf8)
v15.2.11
v15.2.10
v15.2.9
v15.2.8
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.