Skip to content

chore: upgrade TypeScript from 4.8.2 to 5.9.3#149

Merged
sdserranog merged 1 commit intoArcadeAI:mainfrom
a9a4k:chore/upgrade-typescript-v5
Dec 8, 2025
Merged

chore: upgrade TypeScript from 4.8.2 to 5.9.3#149
sdserranog merged 1 commit intoArcadeAI:mainfrom
a9a4k:chore/upgrade-typescript-v5

Conversation

@a9a4k
Copy link
Copy Markdown
Contributor

@a9a4k a9a4k commented Nov 28, 2025

Summary

Upgrades the TypeScript toolchain from v4.8.2 to v5.9.3 (latest 5.x release) along with all related TypeScript ecosystem dependencies.

Changes

  • typescript: 4.8.2 → 5.9.3
  • @typescript-eslint/parser: 6.7.0 → 7.18.0
  • @typescript-eslint/eslint-plugin: 6.7.0 → 7.18.0
  • @types/node: 18.11.18 → 20.17.10
  • ts-node: 10.5.0 → 10.9.2
  • eslint-plugin-unused-imports: 3.0.0 → 4.3.0

Motivation

This upgrade is necessary to support Zod v4, which requires TypeScript 5.0+ for const type parameters. It also brings performance improvements and better type inference from TypeScript 5.x.

Testing

✅ All validations passed:

  • Type checking: No errors
  • Build: 0 errors, dual format (CJS + ESM) working correctly
  • Tests: 248/248 passed in 20 test suites
  • Linting: Clean
  • Runtime: Both CJS require() and ESM import() working
  • Declaration files: Verified correct generation (.d.ts and .d.mts)
  • Critical postprocess-files.cjs: Working correctly with upgraded parser

Risk Assessment

LOW RISK - No breaking changes:

  • No enums, decorators, or experimental features in codebase
  • All existing TypeScript patterns are fully compatible with TS5
  • Complex shim architecture and dual package setup work correctly
  • No changes required to tsconfig.json

Additional Notes

  • The eslint-plugin-unused-imports was upgraded from v3 to v4 to ensure compatibility with @typescript-eslint v7
  • The build system's postprocess-files.cjs (which uses @typescript-eslint/parser for AST manipulation) works correctly with the upgraded parser

- Upgrade typescript 4.8.2 -> 5.9.3
- Upgrade @typescript-eslint/parser 6.7.0 -> 7.18.0
- Upgrade @typescript-eslint/eslint-plugin 6.7.0 -> 7.18.0
- Upgrade @types/node 18.11.18 -> 20.17.10
- Upgrade ts-node 10.5.0 -> 10.9.2
- Upgrade eslint-plugin-unused-imports 3.0.0 -> 4.3.0

All tests passing (248/248). Build system validated.
postprocess-files.cjs works correctly with upgraded parser.
No breaking changes to public API.
@a9a4k a9a4k mentioned this pull request Nov 28, 2025
@a9a4k a9a4k closed this Nov 28, 2025
@a9a4k a9a4k reopened this Dec 2, 2025
@EricGustin EricGustin requested a review from sdserranog December 6, 2025 22:38
Copy link
Copy Markdown
Contributor

@sdserranog sdserranog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@a9a4k everything looks good! Thanks for doing this.

@sdserranog sdserranog merged commit 604de43 into ArcadeAI:main Dec 8, 2025
4 checks passed
@stainless-app stainless-app Bot mentioned this pull request Dec 8, 2025
@stainless-app stainless-app Bot mentioned this pull request Jan 6, 2026
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.

2 participants