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.
  
    
  
    





This PR contains the following updates:
9.0.11->9.1.715.2.2->15.5.23.2.5->3.6.2Release Notes
typicode/husky (husky)
v9.1.7Compare Source
What's Changed
New Contributors
Full Changelog: typicode/husky@v9.1.6...v9.1.7
v9.1.6Compare Source
What's Changed
New Contributors
Full Changelog: typicode/husky@v9.1.5...v9.1.6
v9.1.5Compare Source
What's Changed
pre-merge-commithook by @RainMeoCat in https://github.com/typicode/husky/pull/1497New Contributors
Full Changelog: typicode/husky@v9.1.4...v9.1.5
v9.1.4Compare Source
v9.1.3Compare Source
PATHv9.1.2Compare Source
Show a message instead of automatically removing deprecated code.
This only concerns projects that still have the following code in their hooks:
Hooks with these lines will fail in
v10.0.0v9.1.1Compare Source
Super saiyan
goddog! It's over 9.0.0!What's new
You can now run package commands directly, no need for
npxor equivalents.It makes writing hooks more intuitive and is also slightly faster 🐺⚡️
A new recipe has been added to the docs. Lint staged files without external dependencies (inspired by Prettier docs). Feel free to modify it.
For more advanced use cases, see lint-staged.
Fixes
bunx husky initcommandDeprecations
#!/usr/bin/env shand. "$(dirname -- "$0")/_/husky.sh"are deprecated.huskycommand will automatically remove them, no action required.~/.huskyrcplease move it to.config/husky/init.shSupport for these will be removed in v10.
Friendly reminder
If Git hooks don't fit your workflow, you can disable Husky globally. Just add
export HUSKY=0to.config/husky/init.sh.I've seen some confusion about this on X, so just a heads-up!
Sponsoring
Husky is downloaded over 45M times per month and used by ~1.5M projects. If your company wants to sponsor, you can do so here: GitHub Sponsors.
Have a nice summer ☀️ I'm open to new opportunities/consulting so feel free to drop me a message 😉
v9.1.0Compare Source
lint-staged/lint-staged (lint-staged)
v15.5.2Compare Source
Patch Changes
5561321Thanks @YimingIsCOLD! - Correctly handle colon (:) characters in staged filenames.v15.5.1Compare Source
Patch Changes
#1533
5d53534Thanks @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.0Compare Source
Minor Changes
630af5fThanks @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.jswith 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.jswith 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.3Compare Source
Patch Changes
cbfed1dThanks @tarik02! - Adjust TypeScript types for the default export so that it can be used as a value without error TS2693.v15.4.2Compare Source
Patch Changes
8827ebfThanks @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.1Compare Source
Patch Changes
#1504
1c7a45eThanks @iiroj! - Default TypeScript config filenames match JS equivalents.#1504
9cc18c9Thanks @iiroj! - Add missing conditional exports syntax for TypeScript types.v15.4.0Compare Source
Minor Changes
#1500
a8ec1ddThanks @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
.tsfile extension for the configuration if your Node.js version supports it. The--experimental-strip-typesflag 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
9b79364Thanks @iiroj! - Handle possible failures when logging user shell for debug info.v15.3.0Compare Source
Minor Changes
#1495
e69da9eThanks @iiroj! - Added more info to the debug logs so that "environment" info doesn't need to be added separately to GitHub issues.#1493
fa0fe98Thanks @iiroj! - Added more help messages around the automaticgit stashthat 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.11Compare Source
Patch Changes
#1484
bcfe309Thanks @wormsik! - Escape paths containing spaces when using the "shell" option.#1487
7dd8caaThanks @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.10Compare Source
Patch Changes
e3f283bThanks @iiroj! - Update minor dependencies, includingmicromatch@~4.0.8.v15.2.9Compare Source
Patch Changes
b69ce2dThanks @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.8Compare Source
Patch Changes
f0480f0Thanks @iiroj! - In the previous version the nativegit rev-parse --show-toplevelcommand was taken into use for resolving the current git repo root. This version switched the--show-toplevelflag 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.
v15.2.7Compare Source
Patch Changes
a51be80Thanks @iiroj! - In the previous version the nativegit rev-parse --show-toplevelcommand was taken into use for resolving the current git repo root. This version drops the--path-format=absoluteoption to support earlier git versions since it's also the default behavior. If you are still having trouble, please try upgradinggitto the latest version.v15.2.6Compare Source
Patch Changes
119adb2Thanks @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.5Compare Source
Patch Changes
#1424
31a1f95Thanks @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
91abea0Thanks @iiroj! - Improve error logging when failing to read or parse a configuration file#1424
ee43f15Thanks @iiroj! - Upgrade micromatch@4.0.7v15.2.4Compare Source
Patch Changes
4f4537aThanks @iiroj! - Fix release issue with previous version; update dependenciesprettier/prettier (prettier)
v3.6.2Compare Source
diff
Markdown: Add missing blank line around code block (#17675 by @fisker)
v3.6.1Compare Source
diff
TypeScript: Allow const without initializer (#17650, #17654 by @fisker)
Miscellaneous: Avoid closing files multiple times (#17665 by @43081j)
When reading a file to infer the interpreter from a shebang, we use the
n-readlineslibrary to read the first line in order to get the shebang.This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if
n-readlinesdid not already closethem.
v3.6.0Compare Source
diff
🔗 Release Notes
v3.5.3Compare Source
v3.5.2Compare Source
diff
Remove
module-synccondition (#17156 by @fisker)In Prettier 3.5.0, we added
module-synccondition topackage.json, so thatrequire("prettier")can use ESM version, but turns out it doesn't work if CommonJS and ESM plugins both imports builtin plugins. To solve this problem, we decide simply remove themodule-synccondition, sorequire("prettier")will still use the CommonJS version, we'll revisit untilrequire(ESM)feature is more stable.v3.5.1Compare Source
diff
Fix CLI crash when cache for old version exists (#17100 by @sosukesuzuki)
Prettier 3.5 uses a different cache format than previous versions, Prettier 3.5.0 crashes when reading existing cache file, Prettier 3.5.1 fixed the problem.
Support dockercompose and github-actions-workflow in VSCode (#17101 by @remcohaszing)
Prettier now supports the
dockercomposeandgithub-actions-workflowlanguages in Visual Studio Code.v3.5.0Compare Source
diff
🔗 Release Notes
v3.4.2Compare Source
diff
Treat U+30A0 & U+30FB in Katakana Block as CJK (#16796 by @tats-u)
Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.
U+30A0 can be used as the replacement of the
-in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).Fix comments print on class methods with decorators (#16891 by @fisker)
Fix non-idempotent formatting (#16899 by @seiyab)
This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.
v3.4.1Compare Source
diff
Remove unnecessary parentheses around assignment in
v-on(#16887 by @fisker)v3.4.0Compare Source
diff
🔗 Release Notes
v3.3.3Compare Source
diff
Add parentheses for nullish coalescing in ternary (#16391 by @cdignam-segment)
This change adds clarity to operator precedence.
Add parentheses for decorator expressions (#16458 by @y-schneider)
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
Support
@letdeclaration syntax (#16474 by @sosukesuzuki)Adds support for Angular v18
@letdeclaration syntax.Please see the following code example. The
@letdeclaration allows you to define local variables within the template:For more details, please refer to the excellent blog post by the Angular Team: Introducing @let in Angular.
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
v3.3.2Compare Source
diff
Fix handlebars path expressions starts with
@(#16358 by @Princeyadav05)v3.3.1Compare Source
diff
Preserve empty lines in front matter (#16347 by @fisker)
Preserve explicit language in front matter (#16348 by @fisker)
Avoid line breaks in import attributes (#16349 by @fisker)
v3.3.0Compare Source
diff
🔗 Release Notes
Configuration
📅 Schedule: Branch creation - "every 2nd week starting on the 2 week of the year before 4am on Monday" (UTC), 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.