Skip to content

chore(deps-dev): bump typescript from 5.9.3 to 7.0.2 - #26

Merged
prolutic merged 3 commits into
mainfrom
chore/typescript-7
Sep 4, 2026
Merged

prolutic merged 3 commits into
mainfrom
chore/typescript-7

Conversation

@prolutic

@prolutic prolutic commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Supersedes #22, which failed CI because moduleResolution=node10 is removed in TypeScript 7.

What changed

  • typescript ^5.8.3 → ^7.0.2 (the Go compiler; lockfile gains the 20 platform packages).
  • tsconfig.json: module/moduleResolutionnodenext, the mode that matches a type: module package run by Node directly. esModuleInterop and allowSyntheticDefaultImports are implied by nodenext and dropped.
  • src/utils/security-utils.ts: generateSecureRandom used require('crypto') inside an ES module, which throws at runtime. Now a top-level import { randomBytes }. Nothing calls it yet, which is why it went unnoticed.
  • One extensionless relative import in a test gets its .js suffix like every other import in the repo.
  • mcp-affise.dxt rebuilt so the bundle carries the fixed security-utils.js.

Verified

  • tsc --noEmit clean on 7.0.2; no deprecations on 6.0.3 either.
  • JS emit is byte-identical to the 5.9.3 build; .d.ts differ only in quote style.
  • vitest: 72 files / 729 tests pass.
  • docker build succeeds; the Alpine builder stage compiles with the native TS 7 binary (linux-arm64 locally, linux-x64 is the same static Go build).
  • dxt validate passes; bundle contents match build/.

moduleResolution=node10 is removed in TypeScript 7, so tsconfig moves to
module/moduleResolution nodenext, the mode that matches a type:module
package run by Node directly. esModuleInterop and
allowSyntheticDefaultImports are implied by nodenext and are dropped.

JS emit is byte-identical to the 5.9.3 build; .d.ts output differs only
in quote style. Supersedes dependabot PR #22, which failed CI on the
node10 option.
…M module

require is not defined in an ES module, so generateSecureRandom would
throw on first call. Nothing calls it yet, which is why it went unnoticed.

Also give the one extensionless relative import in tests its .js suffix,
matching every other import in the repo.
@prolutic
prolutic merged commit 658fe9c into main Sep 4, 2026
1 check passed
@prolutic
prolutic deleted the chore/typescript-7 branch September 4, 2026 15:00
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