Skip to content

chore: update dependencies, drop Node.js 18, add Node.js 22/24 support, and fix test compatibility#214

Merged
robertsLando merged 9 commits intomainfrom
chore/dependency-updates
Feb 16, 2026
Merged

chore: update dependencies, drop Node.js 18, add Node.js 22/24 support, and fix test compatibility#214
robertsLando merged 9 commits intomainfrom
chore/dependency-updates

Conversation

@robertsLando
Copy link
Member

Summary

This PR updates dependencies and removes all package resolutions, fixing all security vulnerabilities.

Changes

📦 Dependency Updates

Production:

  • esbuild: ^0.25.0 → ^0.27.3
  • into-stream: ^6.0.0 → ^9.1.0

Dev:

  • release-it: ^17.0.0 → ^19.2.4 (major upgrade)
  • @release-it/conventional-changelog: ^7.0.2 → ^10.0.5
  • @types/node: ^16.18.113 → ^20.0.0
  • rimraf: ^3.0.2 → ^6.1.2
  • eslint-config-airbnb-typescript: ^17.1.0 → ^18.0.0
  • lint-staged: ^15.2.10 → ^15.0.0

🔐 Security Improvements

  • Removed ALL resolutions (was 7, now 0) ✅
    • Previously: lodash, @octokit/request-error, @octokit/plugin-paginate-rest, @octokit/request, js-yaml, brace-expansion, tmp, undici
    • Now: None
  • 0 security vulnerabilities (verified with yarn audit)

⚙️ Configuration Changes

  • Added "types": [] to tsconfig.json to prevent auto-inclusion of stub @types packages
  • Fixed code formatting in test file

Testing

  • ✅ All builds pass
  • ✅ All linting checks pass
  • ✅ No breaking changes detected
  • yarn audit shows 0 vulnerabilities

Requirements

Note: This requires Node.js >= 20.19.0 (or Node 22+) due to release-it@19.x dependencies.

🤖 Generated with Claude Code

robertsLando and others added 9 commits February 12, 2026 08:49
- Upgrade esbuild from ^0.24.0 to ^0.25.0 to fix moderate severity CORS vulnerability
- Upgrade tar from ^7.5.6 to ^7.5.7 to fix high severity path traversal vulnerability
- Add yarn resolutions to fix transitive dependency vulnerabilities:
  - lodash ^4.17.23 (prototype pollution)
  - @octokit/request-error ^5.1.1 (ReDoS)
  - @octokit/plugin-paginate-rest ^9.2.2 (ReDoS)
  - @octokit/request ^8.4.1 (ReDoS)
  - js-yaml ^4.1.1 (prototype pollution)
  - brace-expansion ^2.0.2 (ReDoS)
  - tmp ^0.2.4 (symlink vulnerability)

All tests and linting pass with no breaking changes.
Fixes 16 security vulnerabilities (4 Low, 11 Moderate, 1 High).
…nerabilities

- Update production dependencies (esbuild, into-stream)
- Update dev dependencies (release-it, @release-it/conventional-changelog, @types/node, rimraf, eslint-config-airbnb-typescript, lint-staged)
- Reduce resolutions from 7 to 2 (keep only lodash and undici for release-it compatibility)
- Add types:[] to tsconfig.json to prevent stub @types package inclusion
- Fix code formatting in test file

All security vulnerabilities resolved (0 vulnerabilities in yarn audit)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Upgrade release-it from 18.0.0 to 19.2.4
- Remove all remaining resolutions (lodash, undici)
- Now using Node.js 22.22.0 which allows release-it@19.x
- Zero security vulnerabilities confirmed via yarn audit

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ndency-updates

# Conflicts:
#	package.json
#	yarn.lock
rimraf v4+ no longer accepts glob wildcards in paths. Use tinyglobby
to expand the pattern before passing resolved paths to rimraf.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@robertsLando robertsLando changed the title chore: update dependencies and remove all resolutions to fix security vulnerabilities chore: update dependencies, drop Node.js 18, add Node.js 22/24 support, and fix test compatibility Feb 16, 2026
@robertsLando robertsLando merged commit 0f43831 into main Feb 16, 2026
45 checks passed
@robertsLando robertsLando deleted the chore/dependency-updates branch February 16, 2026 10:29
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