Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 29, 2024

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
c8 ^7.13.0 -> ^10.1.3 age adoption passing confidence
cross-env ^7.0.3 -> ^10.1.0 age adoption passing confidence
husky ^8.0.3 -> ^9.1.7 age adoption passing confidence
mocha (source) ^10.2.0 -> ^11.7.5 age adoption passing confidence
npm-run-all2 ^6.0.5 -> ^8.0.4 age adoption passing confidence

Release Notes

bcoe/c8 (c8)

v10.1.3

Compare Source

Bug Fixes
  • deps: update bcoe/v8-coverage addressing v8 issue (#​552) (b32a563)

v10.1.2

Compare Source

Bug Fixes
  • deps: make monocart-coverage-reports an optional with meta defined (3b91fda)

v10.1.1

Compare Source

Bug Fixes

v10.1.0

Compare Source

Features

v10.0.0

Compare Source

⚠ BREAKING CHANGES
  • deps: Node 18 is now the minimum supported Node.js version
Bug Fixes
  • deps: update test-exclude with new glob / minimatch (#​531) (e33cf30)

v9.1.0

Compare Source

Features
Bug Fixes
  • refactor: remove stale check for createDynamicModule (5e18365)

v9.0.0

Compare Source

⚠ BREAKING CHANGES
  • build: minimum Node.js version is now 14.14.0
Features
  • build: minimum Node.js version is now 14.14.0 (2cdc86b)
  • deps: update foreground-child to promise API (#​512) (b46b640)
  • deps: use Node.js built in rm (2cdc86b)

v8.0.1

Compare Source

Bug Fixes

v8.0.0

Compare Source

⚠ BREAKING CHANGES
  • dropped Node 10 support (#​475)
Miscellaneous Chores

v7.14.0

Compare Source

Features
  • added a new CLI arg --merge-async to asynchronously and incrementally merge process coverage files to avoid OOM due to heap exhaustion (#​469) (45f2f84)
kentcdodds/cross-env (cross-env)

v10.1.0

Compare Source

Features
  • add support for default value syntax (152ae6a)

For example:

"dev:server": "cross-env wrangler dev --port ${PORT:-8787}",

If PORT is already set, use that value, otherwise fallback to 8787.

Learn more about Shell Parameter Expansion

v10.0.0

Compare Source

TL;DR: You should probably not have to change anything if:

  • You're using a modern maintained version of Node.js (v20+ is tested)
  • You're only using the CLI (most of you are as that's the intended purpose)

In this release (which should have been v8 except I had some issues with automated releases 🙈), I've updated all the things and modernized the package. This happened in #​261

Was this needed? Not really, but I just thought it'd be fun to modernize this package.

Here's the highlights of what was done.

  • Replace Jest with Vitest for testing
  • Convert all source files from .js to .ts with proper TypeScript types
  • Use zshy for ESM-only builds (removes CJS support)
  • Adopt @​epic-web/config for TypeScript, ESLint, and Prettier
  • Update to Node.js >=20 requirement
  • Remove kcd-scripts dependency
  • Add comprehensive e2e tests with GitHub Actions matrix testing
  • Update GitHub workflow with caching and cross-platform testing
  • Modernize documentation and remove outdated sections
  • Update all dependencies to latest versions
  • Add proper TypeScript declarations and exports

The tool maintains its original functionality while being completely modernized with the latest tooling and best practices

BREAKING CHANGES
  • This is a major rewrite that changes the module format from CommonJS to ESM-only. The package now requires Node.js >=20 and only exports ESM modules (not relevant in most cases).
typicode/husky (husky)

v9.1.7

Compare Source

What's Changed

New Contributors

Full Changelog: typicode/husky@v9.1.6...v9.1.7

v9.1.6

Compare Source

What's Changed

New Contributors

Full Changelog: typicode/husky@v9.1.5...v9.1.6

v9.1.5

Compare Source

What's Changed

New Contributors

Full Changelog: typicode/husky@v9.1.4...v9.1.5

v9.1.4

Compare Source

  • Improve deprecation notice

v9.1.3

Compare Source

  • fix: better handle space in PATH

v9.1.2

Compare Source

Show a message instead of automatically removing deprecated code.

This only concerns projects that still have the following code in their hooks:

- #!/usr/bin/env sh # <- This is deprecated, remove it
- . "$(dirname -- "$0")/_/husky.sh"  # <- This is deprecated, remove it

### Rest of your hook code

Hooks with these lines will fail in v10.0.0

v9.1.1

Compare Source

Super saiyan god dog! It's over 9.0.0!

What's new

You can now run package commands directly, no need for npx or equivalents.
It makes writing hooks more intuitive and is also slightly faster 🐺⚡️

### .husky/pre-commit
- npx jest
+ jest # ~0.2s 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.

### .husky/pre-commit
prettier $(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g') --write --ignore-unknown
git update-index --again

For more advanced use cases, see lint-staged.

Fixes

  • bunx husky init command
  • Workaround for some hooks implementation on Windows

Deprecations

  • #!/usr/bin/env sh and . "$(dirname -- "$0")/_/husky.sh" are deprecated. husky command will automatically remove them, no action required.
  • If you're having code in ~/.huskyrc please move it to .config/husky/init.sh

Support 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=0 to .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.0

Compare Source

v9.0.11

Compare Source

v9.0.10

Compare Source

v9.0.9

Compare Source

v9.0.8

Compare Source

v9.0.7

Compare Source

  • fix: typo and source ~/.huskyrc correctly (compatibility with v8)
  • docs: fix example by @​typicode in #​1363

v9.0.6

Compare Source

v9.0.5

Compare Source

v9.0.4

Compare Source

v9.0.3

Compare Source

v9.0.2

Compare Source

v9.0.1

Compare Source

Kicking off the year with an exciting update!

Note: install using husky@latest to get the bug fixes that were released after.

Introducing husky init

v8
npm pkg set scripts.prepare="husky install"
npm run prepare
npx husky add .husky/pre-commit "npm test"
v9

Adding husky to a project is now easier than ever. It's just a single line that does the same as above. No need to read the docs to get started anymore.

npx husky init

Adding a New Hook

v8
npx husky add  .husky/pre-commit "npm test"
git add --chmod=+x .husky/pre-commit # On Windows
v9

Adding a hook is as simple as creating a file. This can be accomplished using your favorite editor, a script or a basic echo command. For example, on Linux/macOS:

echo "npm test" > .husky/pre-commit

Further Size Reduction

v8 was already the most compact Git hooks manager at approximately 6kB.

v9 takes this a step further, reducing the size to just 3kB, likely making it the smallest devDependency in your toolkit.

To give you an idea of how small it is, the biggest file in the project is the MIT license 😄

More to Come

Additional features are in the pipeline for v9. Stay tuned 🙌

Other Changes

  • Enhanced security with CI and npm --provenance for safer publishing.
  • Added $XDG_CONFIG_HOME support. Move ~/.huskyrc to ~/.config/husky/init.sh for centralized configuration.
  • Fixed permission issue for Windows-created hooks; they no longer need to be executable.
  • Removed husky install. Use husky or husky some/dir for the same functionality (deprecation notice to be added).
  • Modified behavior when .git is missing; it now triggers a warning instead of failure.
  • Replaced HUSKY_DEBUG=1 with HUSKY=2 for debugging.
  • Updated the Husky API for module usage.
  • Transitioned to ESM for module usage.
  • Dropped support for Node 14 and 16.
  • Revamped docs.

How to Migrate

v9 is backward compatible with v8, allowing you to freely upgrade and migrate your hooks later.

Here are the steps to migrate:

package.json

{
  "scripts": {
-   "prepare": "husky install"
+   "prepare": "husky"
  }
}

.husky/pre-commit

- #!/usr/bin/env sh
- . "$(dirname -- "$0")/_/husky.sh"
npm test 

Note: sh will be used to run hooks, even if a shebang is set.

If you were using husky as a module:

- const husky = require('husky')
- // ...
+ import husky from 'husky'
+ console.log(husky())
mochajs/mocha (mocha)

v11.7.5

Compare Source

🩹 Fixes
🧹 Chores

v11.7.4

Compare Source

🩹 Fixes
📚 Documentation
  • migrate remaining legacy wiki pages to main documentation (#​5465) (bff9166)
🧹 Chores

v11.7.3

Compare Source

🩹 Fixes
  • use original require() error for TS files if ERR_UNKNOWN_FILE_EXTENSION (#​5408) (ebdbc48)
📚 Documentation
🤖 Automation
  • deps: bump actions/setup-node in the github-actions group (#​5459) (48c6f40)

v11.7.2

Compare Source

🩹 Fixes
📚 Documentation
🧹 Chores
🤖 Automation
  • deps: bump actions/checkout in the github-actions group (#​5419) (03ac2d0)

v11.7.1

Compare Source

🩹 Fixes
🧹 Chores

v11.7.0

Compare Source

🌟 Features

v11.6.0

Compare Source

🌟 Features

v11.5.0

Compare Source

🌟 Features

v11.4.0

Compare Source

🌟 Features
📚 Documentation
  • added CHANGELOG.md note around 11.1 yargs-parser update (#​5362) (618415d)

v11.3.0

Compare Source

🌟 Features
📚 Documentation
🧹 Chores

v11.2.2

Compare Source

🩹 Fixes
📚 Documentation

v11.2.1

Compare Source

🩹 Fixes
📚 Documentation
🧹 Chores

v11.2.0

Compare Source

🌟 Features
📚 Documentation
🧹 Chores

v11.1.0

Compare Source

🌟 Features
  • bump yargs to 17 (#​5165) (8f1c8d8)
    • Note that this also included a version bump of yargs-parser from ^20.2.9 to ^21.1., which fixed a bug that caused extra quotes in file paths to be removed.
      See #​5341 for more information.
  • replace strip-ansi with util.stripVTControlCharacters (#​5267) (3c191c0), closes #​5265

v11.0.2

Compare Source

🩹 Fixes
  • catch exceptions setting Error.stackTraceLimit (#​5254) (259f8f8)
  • error handling for unexpected numeric arguments passed to cli (#​5263) (210d658)
📚 Documentation

v11.0.1

Compare Source

🌟 Features
📚 Documentation

v11.0.0

Compare Source

⚠ BREAKING CHANGES
  • adapt new engine range for Mocha 11 (#​5216)
🌟 Features
🩹 Fixes
📚 Documentation

v10.8.2

Compare Source

🩹 Fixes
📚 Documentation
  • indicate 'exports' interface does not work in browsers (#​5181) (14e640e)
🧹 Chores
  • fix docs builds by re-adding eleventy and ignoring gitignore again (#​5240) (881e3b0)
🤖 Automation

v10.8.1

Compare Source

🩹 Fixes

v10.8.0

Compare Source

🌟 Features
🩹 Fixes
📚 Documentation
🧹 Chores

v10.7.3

Compare Source

🩹 Fixes

v10.7.0

Compare Source

🎉 Enhancements

v10.6.1

Compare Source

🐛 Fixes

v10.6.0

Compare Source

🎉 Enhancements

v10.5.2

Compare Source

🐛 Fixes

v10.5.1

Compare Source

🐛 Fixes

v10.5.0

Compare Source

🎉 Enhancements
🐛 Fixes
🔩 Other

v10.4.0

Compare Source

🎉 Enhancements
🐛 Fixes
🔩 Other

Configuration

📅 Schedule: Branch creation - Between 05:00 AM and 05:59 AM, every 14 days ( * 5 */14 * * ) in timezone Europe/Stockholm, 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-tests branch from 82d46d0 to bb24216 Compare February 15, 2025 04:47
@renovate renovate bot force-pushed the renovate/major-tests branch from bb24216 to 9502214 Compare June 1, 2025 03:16
@renovate renovate bot force-pushed the renovate/major-tests branch from 9502214 to 6236486 Compare June 15, 2025 03:12
@renovate renovate bot force-pushed the renovate/major-tests branch from 6236486 to 2c013d5 Compare June 29, 2025 03:13
@renovate renovate bot force-pushed the renovate/major-tests branch from 2c013d5 to 45df6a1 Compare August 1, 2025 03:57
@renovate renovate bot force-pushed the renovate/major-tests branch from 45df6a1 to 15f172b Compare October 1, 2025 03:01
@renovate renovate bot force-pushed the renovate/major-tests branch from 15f172b to a4ef417 Compare October 15, 2025 03:54
@renovate renovate bot force-pushed the renovate/major-tests branch from a4ef417 to 8f40330 Compare November 29, 2025 04:51
@coderabbitai
Copy link

coderabbitai bot commented Nov 29, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch renovate/major-tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant