Skip to content

chore(deps): update chai to v6, lint-staged to v17, @types/node to v26 - #924

Merged
ryanio merged 1 commit into
mainfrom
chore/dep-majors-chai6-lintstaged17-types26
Jul 31, 2026
Merged

chore(deps): update chai to v6, lint-staged to v17, @types/node to v26#924
ryanio merged 1 commit into
mainfrom
chore/dep-majors-chai6-lintstaged17-types26

Conversation

@ryanio

@ryanio ryanio commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Bumps the three dev-dependency majors that Renovate will never propose on its own.

Why these three, and why manually

Renovate permanently ignores an update once its PR is closed unmerged. That already happened to both:

Both now carry a Renovate ignore notification, so 6.x and 17.x only land through a manual bump. @types/node v26 has never been proposed at all. Minor and patch updates are left alone, since Renovate already automerges those per renovate.json.

Release-age policy

Every target version clears the repo's minimumReleaseAge of 7 days:

Package From To Published
chai 5.3.3 6.2.2 219 days ago
@types/node 24.13.3 26.1.1 21 days ago
lint-staged 16.4.0 17.1.1 7 days ago

I deliberately did not go to absolute latest. Those versions sit inside the 7-day window, and Renovate will take them once they age out: hardhat 3.12.0 (published today), @biomejs/biome 2.5.6 (1 day), @types/node 26.1.2 (2 days), concurrently 10.0.4 (5 days), lint-staged 17.2.0 (6 days).

chai-as-promised goes to ^8.0.2 because that is the first release whose peer range (>=2.1.2 <7) admits chai 6. ^8.0.0 resolves to 8.0.0 or 8.0.1, both of which cap chai at <6. @nomicfoundation/hardhat-toolbox-mocha-ethers already allows chai: >=5.1.2 <7.

Lockfile audit

No package is added. All 35 removals are deduplication:

  • chai 6 vendors assertion-error, deep-eql, loupe and pathval internally
  • lint-staged 17 drops its listr2, log-update and cli-truncate renderer stack

Verified unchanged: the undici 6.27.0 override, kept for the reason given in #901, where @nomicfoundation/hardhat-utils declares 6.x and undici 8 needs Node 22.19 or later against engines: >=20. Also unchanged are the patched crypto-js 4.2.0, elliptic 6.6.1, pbkdf2 3.1.5, sha.js 2.4.12 and cipher-base 1.0.7 pins. undici-types 7.18.2 to 8.3.0 rides along with @types/node 26 and is types-only, unrelated to the undici runtime override.

tsconfig.build.json is untouched, so the published lib/ is still CommonJS.

Verification

Locally on Node 25, after rebasing onto current main:

  • npm run build: clean
  • npm run check-types: clean
  • npm run lint: clean
  • npm test: 133 passing
  • lint-staged 17 exercised for real by the husky pre-commit hook on this commit

No source changes, so no test updates were needed. chai 6 is API-compatible with the existing expect usage throughout the suite.

🤖 Generated with Claude Code

@socket-security

socket-security Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​types/​node@​24.13.3 ⏵ 26.1.11001008196100
Updatedchai@​5.3.3 ⏵ 6.2.2100 +110010085100
Updatedlint-staged@​16.4.0 ⏵ 17.1.1100 +110010096 -1100

View full report

Bumps the three dev-dependency majors that Renovate will not propose again.
Renovate permanently ignores 6.x for chai (#780) and 17.x for lint-staged
(#875) because both PRs were closed unmerged, so these only land manually.

All target versions are past the repo's 7-day minimumReleaseAge policy:
chai 6.2.2 (219d), lint-staged 17.1.1 (7d), @types/node 26.1.1 (21d).

chai-as-promised is bumped to ^8.0.2, the first release whose peer range
(>=2.1.2 <7) admits chai 6; ^8.0.0 caps chai at <6.

No package is added to the lockfile. Removals are all deduplication:
chai 6 vendors assertion-error/deep-eql/loupe/pathval, and lint-staged 17
drops its listr2 renderer stack. The undici 6.27.0 override and the
patched crypto-js/elliptic/pbkdf2/sha.js/cipher-base pins are unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ryanio
ryanio force-pushed the chore/dep-majors-chai6-lintstaged17-types26 branch from b89a487 to 43a0854 Compare July 30, 2026 22:08
@ryanio
ryanio merged commit 5c6a3dd into main Jul 31, 2026
8 checks passed
@ryanio
ryanio deleted the chore/dep-majors-chai6-lintstaged17-types26 branch July 31, 2026 00:53
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