build(js): upgrade TypeScript to 6.0#719
Merged
joncinque merged 1 commit intoJul 1, 2026
Merged
Conversation
Bumps `typescript` to ^6.0.3 in both the `clients/js` and
`clients/js-legacy` packages and adjusts their tsconfigs for TS6. The
shared workspace `pnpm-lock.yaml` is re-resolved onto typescript@6.0.3.
clients/js (tsc -> tsc-cjs build):
- add "ignoreDeprecations": "6.0" to tsconfig-base.json — both "baseUrl"
(TS5101) and the node10/"node" module resolution (TS5107) are
deprecated in TS6. "rootDir" and "types" are already set, so no other
changes were needed.
clients/js-legacy (tsup + tsc declaration emit):
- add "ignoreDeprecations": "6.0" and "rootDir": "./src" to
tsconfig.declarations.json — TS6 deprecates the inherited node10
module resolution (TS5107) and requires an explicit rootDir when
emitting declarations to outDir (TS5011). Setting rootDir also
corrects the declaration layout to dist/types/index.d.ts, matching
the package's "types" field.
- add "types": ["node"] to tsconfig.json — under TS6 the declaration
build no longer auto-resolves @types/node for the `import { Buffer }
from 'buffer'` statements (TS2591); this mirrors the sibling
clients/js base config which already sets it.
Verified locally with typescript@6.0.3:
- clients/js: `pnpm build`, `pnpm test` (tsc typecheck), `pnpm lint`,
`pnpm format` all pass.
- clients/js-legacy: `pnpm build` (tsup + tsc declarations), `pnpm lint`,
`pnpm format` all pass.
The clients/js-legacy `ava` suite drives litesvm; its compiled test
output is byte-identical before and after this change, and the same
subset of stake-heavy tests hits a litesvm native std::bad_alloc under
both typescript@5.9.3 and @6.0.3, so behavior is unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
joncinque
approved these changes
Jul 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades both JS clients —
clients/jsandclients/js-legacy— totypescript@^6.0.3. Because the two packages share a single workspace-rootpnpm-lock.yaml, they're upgraded together in one PR (splitting them would mean conflicting edits to the same lockfile).Changes
clients/js(tscESM +tscCJS build)tsconfig-base.json: add"ignoreDeprecations": "6.0".baseUrldeprecated in TS6) and TS5107 (node10/"node"module resolution deprecated in TS6).rootDirandtypesare already set, so nothing else was needed.clients/js-legacy(tsup+tscdeclaration emit)tsconfig.declarations.json: add"ignoreDeprecations": "6.0"and"rootDir": "./src".ignoreDeprecationscovers the inherited TS5107 (node10 module resolution).rootDircovers TS5011 — TS6 requires an explicitrootDirwhen emitting declarations tooutDir. As a bonus this corrects the declaration layout fromdist/types/src/index.d.tstodist/types/index.d.ts, matching the package's"types"field.tsconfig.json: add"types": ["node"].@types/nodeforimport { Buffer } from 'buffer'(TS2591). This mirrors the siblingclients/jsbase config, which already sets"types": ["node"].Verification (local,
typescript@6.0.3)clients/js— ✅pnpm build, ✅pnpm test(tsctypecheck), ✅pnpm lint, ✅pnpm formatclients/js-legacy— ✅pnpm build(tsup+tscdeclarations), ✅pnpm lint, ✅pnpm formatThe
clients/js-legacyavasuite driveslitesvm. Its compiled test output is byte-identical before and after this change (samesha256), and the same subset of stake-heavy tests hits alitesvmnativestd::bad_allocunder bothtypescript@5.9.3and@6.0.3in the test environment — so this is pre-existing and unaffected by the upgrade.🤖 Generated with Claude Code