chore(deps): migrate typescript to v6#387
Conversation
## Background TypeScript 6.0 (released 2026-03-23) changes several compiler defaults. The main breaking change for this project is `types` defaulting to `[]`, which prevents `@types/node` and `@types/mocha` from being auto-loaded. Also, `esModuleInterop` is now always enabled and cannot be set to false. ## Changes - Update typescript from ^5.3.0 to ^6.0.0 (resolves to 6.0.2) - Add explicit `"types": ["node", "mocha"]` to tsconfig.json - Remove `esModuleInterop: true` (always-on in TS6) 🖥️ IDE: [Cursor](https://cursor.sh) 🔌 Extension: [Claude Code](https://claude.ai/download) Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Model-Raw: claude-opus-4-6-20250725[1m]
🐰 Mimi's Validation Report ✅All checks are looking good! Great job! 🎉 ⏳ Some checks are still running. I will keep watching!
This report was carefully prepared by nullvariant-mimi[bot] |
👧 Luna's Exploration Report 📦No new dependencies added. Just version bumps! Nothing to explore here... 😴
This report was curiously compiled by nullvariant-luna[bot] |
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Snapshot WarningsEnsure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice. OpenSSF Scorecard
Scanned Files
|
🕊️ Ciel's Mediation 🌤️*~~ floating down from the clouds ~~ The zoo seems a bit noisy today...* 3 zoo members have reviewed this PR.
⚖️ The zoo has mixed opinions. Some are concerned, some are fine with it. Please review each comment carefully and make the final call.
This mediation was peacefully delivered by nullvariant-ciel[bot] |
🐗 Blaze's Release Review 📦No version bump. Just dependency changes... boring. Wake me up when it's deploy time! 😤
This review was ENTHUSIASTICALLY filed by nullvariant-blaze[bot] |
|
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |



Summary
"types": ["node", "mocha"]to tsconfig.json to address TS6's defaulttypes: []breaking changeesModuleInterop: truewhich is now always-on in TS6Context
Replaces Renovate PR #386, which failed CI because TypeScript 6.0 changed the
typescompiler option default from auto-discovering all@types/*packages to[](empty array). This causedconsole,setTimeout,Buffer,require,describe,it, etc. to become unresolved.Known Considerations
typescript-eslintdoes not yet officially support TS6 (typescript-eslint/typescript-eslint#12123). However, lint passes without new errors in this project (no JSX, which is where the main AST breaking change exists). A follow-up update to typescript-eslint will be needed once they ship TS6 support.moduleResolution: "Node16"is deprecated in TS6 but still functional. Migration tonodenextcan be addressed separately as part of TS7 preparation.Test plan
npx tsc --noEmitpassesnpm run compile:allpassesnpm run test:allpassesnpm run test:coverage— statement coverage 100% maintainednpm run lint:all— no new errors (existing warnings only)