Skip to content

chore: adopt TypeScript 7 and refresh toolchain - #62

Merged
chybisov merged 2 commits into
mainfrom
chore/typescript-7
Jul 13, 2026
Merged

chore: adopt TypeScript 7 and refresh toolchain#62
chybisov merged 2 commits into
mainfrom
chore/typescript-7

Conversation

@chybisov

Copy link
Copy Markdown
Member

What

Migrate the build/type-check toolchain to TypeScript 7 (the native compiler) and refresh dev dependencies + pnpm.

  • typescript ^6.0.3^7.0.2 across all packages
  • tsdown ^0.22.3^0.22.7 — required enabler (0.22.3 peer-caps at typescript@^6; 0.22.7 widens to ^5 || ^6 || ^7)
  • Bump 8 devDeps to latest: @biomejs/biome, knip, @commitlint/cli, @commitlint/config-conventional, @types/node, fs-extra, vitest, @vitest/coverage-v8
  • pnpm 11.9.011.12.0 (packageManager field)
  • @noble/hashes intentionally held at ^1.8.0 (excludes the 2.x major)

Why it's safe (no integration impact)

  • typescript is a devDependency only — never a peer/runtime dep, so consumers' own TypeScript version is untouched.
  • .d.ts/.js are emitted by tsdown (Rolldown + OXC isolated declarations), not tsc, so the TypeScript version does not affect published output.
  • tsc --noEmit passes on TS7 with zero source changes — the public type surface is unchanged.
  • Bisect proof: building with tsdown 0.22.7 + TS6 produces byte-identical dist/ to tsdown 0.22.7 + TS7 — TypeScript contributes nothing to emit.
  • attw + publint: no errors; the type-resolution profile is identical to the already-published packages (verified via attw --from-npm). No regressions.

Ships as a minor (0.8.x0.9.0); changeset included.

Validation

biome · tsc --noEmit (TS7) · knip · madge (no circular deps) · vitest (32 passed / 1 skipped) · build — all green.

Migrate the build/type-check toolchain to TypeScript 7 (the native compiler)
and refresh dev dependencies + pnpm.

- typescript ^6.0.3 -> ^7.0.2 across all packages
- tsdown ^0.22.3 -> ^0.22.7 (peer range now accepts typescript@^7)
- bump 8 devDeps to latest: @biomejs/biome, knip, @commitlint/cli,
  @commitlint/config-conventional, @types/node, fs-extra, vitest,
  @vitest/coverage-v8
- pnpm 11.9.0 -> 11.12.0 (packageManager field)

typescript is a devDependency only, so consumers' TypeScript version is
untouched. dist is emitted by tsdown (Rolldown/OXC isolated declarations),
not tsc, so the TS version does not affect published output. Verified:
tsc --noEmit clean on TS7 with zero source changes; dist byte-identical to
a TS6 build (bisect); attw/publint show no regressions vs. the published
packages. @noble/hashes intentionally held at ^1.8.0 (excludes the 2.x major).
@changeset-bot

changeset-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: e1635af

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@bigmi/core Minor
@bigmi/client Minor
@bigmi/react Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chybisov
chybisov merged commit 3569fc2 into main Jul 13, 2026
1 check passed
@chybisov
chybisov deleted the chore/typescript-7 branch July 13, 2026 11:29
@github-actions github-actions Bot mentioned this pull request Jul 13, 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.

1 participant