Skip to content

Update dependencies to latest versions with ESM and Node 24#409

Merged
messense merged 1 commit intomainfrom
update-dependencies-esm-node24
Feb 7, 2026
Merged

Update dependencies to latest versions with ESM and Node 24#409
messense merged 1 commit intomainfrom
update-dependencies-esm-node24

Conversation

@messense
Copy link
Member

@messense messense commented Feb 7, 2026

Summary

This PR updates all npm dependencies to their latest versions and migrates the action to use modern ES Modules (ESM) with Node 24 runtime.

🚀 Major Dependency Updates

  • @actions/core: 1.11.13.0.0 (ESM)
  • @actions/exec: 1.1.13.0.0 (ESM)
  • @actions/glob: 0.5.10.6.1 (ESM)
  • @actions/tool-cache: 2.0.24.0.0 (ESM)
  • @types/node: 20.x25.2.1
  • globals: 16.5.017.3.0
  • typescript: 5.8.35.9.3

🔧 Architecture Improvements

  1. Migrated to ESM - Full ES Module support throughout the codebase
  2. Upgraded to Node 24 runtime - Future-proof for GitHub Actions (becomes default March 4, 2026)
  3. Fixed ESLint configuration - Resolved tsconfigRootDir issue for proper TypeScript linting
  4. Secured dependencies - Added undici override to fix security vulnerabilities

📊 Results

  • ✅ All linting passes
  • ✅ All builds succeed
  • Zero security vulnerabilities
  • 📦 Bundle size optimized: 1.5M (reduced from 2.2M, ~32% smaller)
  • 🎯 Future-proof: Ready for GitHub Actions Node 24 default

Testing

All existing tests pass and the build completes successfully with the new configuration.

- Upgrade @actions/* packages to v3+ (ESM modules)
  - @actions/core: 1.11.1 → 3.0.0
  - @actions/exec: 1.1.1 → 3.0.0
  - @actions/glob: 0.5.1 → 0.6.1
  - @actions/tool-cache: 2.0.2 → 4.0.0

- Update dev dependencies
  - @types/node: 20.x → 25.2.1
  - globals: 16.5.0 → 17.3.0
  - typescript: 5.8.3 → 5.9.3

- Migrate to ES Modules (ESM)
  - Add "type": "module" to package.json
  - Update TypeScript config to use ES2022 modules
  - Update module resolution to "bundler"

- Upgrade GitHub Actions runtime
  - Update from node20 to node24 (future-proof for March 2026)

- Fix ESLint configuration
  - Change tsconfigRootDir from '.' to __dirname

- Security improvements
  - Add undici override to fix security vulnerabilities
  - Zero vulnerabilities in dependencies

- Build optimization
  - Bundle size reduced from 2.2M to 1.5M (~32% smaller)
@messense messense merged commit b1bd829 into main Feb 7, 2026
68 of 74 checks passed
@messense messense deleted the update-dependencies-esm-node24 branch February 7, 2026 03: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