Skip to content
Nilay Kabariya

Entry No.092·Tested··4 min read

TypeScript 7.1 beta tested: ts-jest, ESLint, NestJS, Angular

TypeScript 7.1 beta brings a compiler API back. I re-ran the 4 tools and 5 frameworks that broke on 7.0: which work now, the errors, and the fix.

by Nilay#typescript#node#npm#nestjs#angularTESTED

Verdict

On TypeScript 7.1.0-beta, ts-jest, typescript-eslint, ts-node and TypeDoc failed exactly as on 7.0, and so did NestJS, Angular, vue-tsc, svelte-check and astro check. The beta does ship a compiler API, but at new entry points (typescript/sync and typescript/async) that no tool uses yet. The side-by-side setup with TypeScript 6 fixed every one I re-ran.

Tested on

TypeScript
7.1.0-beta (October 20), side-by-side with 6.0.3
Tools
ts-jest 29.4.15, typescript-eslint 8.72.1, ESLint 10.14.0, ts-node 10.9.2, TypeDoc 0.28.20
Frameworks
NestJS 12.3.2 (CLI 12.0.11), Angular 22.2.4, vue-tsc 3.3.14, svelte-check 4.7.7, astro 7.4.4 + @astrojs/check 0.9.12
Node
24.14.0 (Angular: 24.21.0)
OS
Windows 11 Pro
Contents
  1. The results01
  2. Why 7.1 didn’t fix them: the API moved02
  3. The messages haven’t caught up03
  4. svelte-check and Astro point to new options04
  5. Should you try the 7.1 beta?05
  6. How this was tested06

TypeScript 7.0 shipped in July without a JavaScript API, and most of the tools that broke on it pointed to 7.1: the NestJS CLI says the compiler API “is expected to return in 7.1”, and typescript-eslint tracks “support for TS >=7.1”. The 7.1 beta came out on October 20, 2026. I installed it into the same kinds of projects that failed on 7.0.2 and ran them again on October 31.

The results

Tool or framework On TypeScript 7.1.0-beta With TypeScript 6 alongside
ts-jest 29.4.15 ❌ “does not expose the JavaScript compiler API required by ts-jest” ✅
typescript-eslint 8.72.1 ❌ “typescript-eslint does not support TS 7.0.” ✅
ts-node 10.9.2 ❌ Cannot read properties of undefined (reading 'fileExists') ✅
TypeDoc 0.28.20 ❌ Cannot read properties of undefined (reading 'PropertyDeclaration') ✅
NestJS 12.3.2 (nest build) ❌ “does not expose the programmatic compiler API” ✅ on TypeScript 6
Angular 22.2.4 (ng build) ❌ Cannot read properties of undefined (reading 'Error') ✅
vue-tsc 3.3.14 ❌ Package subpath './lib/tsc' is not defined by "exports" ✅
svelte-check 4.7.7 ❌ “requires both TypeScript 7 and TypeScript 6” ✅
astro check (@astrojs/check 0.9.12) ❌ “does not currently support TypeScript 7.0” not re-run

Nothing that broke on TypeScript 7.0 works on the 7.1 beta. Every error is the one 7.0.2 gave. The fix is still to keep TypeScript 6 as typescript and install 7 under another name:

npm install -D "@typescript/native@npm:typescript@7.1.0-beta" "typescript@npm:@typescript/typescript6@^6.0.2"

For the frameworks I used svelte-check’s own suggestion, which is the same idea with a plain TypeScript 6 install next to the 7.1 alias. Angular’s ng build completed (Application bundle generation complete), and vue-tsc and svelte-check exited with no errors. For NestJS, the app as generated, on TypeScript 6.0.3, built.

Why 7.1 didn’t fix them: the API moved

The 7.1 beta does have a compiler API. It just isn’t where the old one was. A plain require('typescript') on 7.1.0-beta returns an object with two keys:

require("typescript") keys: version, versionMajorMinor | version 7.1.0-beta
ts.createProgram: undefined | ts.transpileModule: undefined

Every tool in the table calls something like ts.createProgram on that import, finds undefined, and fails. The new API lives at two new entry points in the same package, typescript/sync and typescript/async. Both export an API class, a Checker and a LanguageService. I tried it on a file with a deliberate type error:

import { API } from 'typescript/sync';
const api = new API({ cwd: process.cwd() });
const program = api.createProgram(['probe.ts'], { strict: true, noEmit: true });
console.log(program.getSemanticDiagnostics());

It worked: one diagnostic, code 2322, “Type ‘string’ is not assignable to type ‘number’”, and api.transpileModule() turned TypeScript into JavaScript as before. It’s not a drop-in replacement, though. The diagnostic came back with text, startPosition and endPosition where TypeScript 6 has messageText, start and length, so code written against the old API needs changes before it runs on the new one. That’s why the tools are still waiting.

The messages haven’t caught up

Two errors still name the old version. typescript-eslint, running on 7.1.0-beta, printed:

typescript-eslint does not support TS 7.0.

And the NestJS CLI’s message still says the API is coming in the version it’s running on:

Error  The installed TypeScript version (7.1.0-beta) does not expose the programmatic compiler API that the Nest CLI requires. TypeScript 7.0 ships the "tsc" executable only; the compiler API is expected to return in 7.1.

Both just mean “TypeScript 7 isn’t supported yet”. Don’t read them as a version mismatch you can fix by moving to a different 7.x.

svelte-check and Astro point to new options

svelte-check 4.7.7’s error now names flags. With TypeScript 6 and the 7.1 alias installed side by side, svelte-check --tsgo ran and caught the same type error as plain svelte-check. The other one, --tsgo-experimental-api, crashed on the 7.1 beta:

TypeError: Invalid filesystem callback 'directoryExists': expected a function or a supported serverFS sentinel
svelte-check failed

Astro 7.4.4’s astro check still refuses TypeScript 7, and now adds that astro check “will be deprecated in a future Astro release”. Its message points to an experimental package, @astrojs/ts-content-mapper, for type-checking Astro files with TypeScript 7.1+. I didn’t test that package here.

Should you try the 7.1 beta?

  • If you use any tool in the table, there’s nothing to gain yet. Stay on TypeScript 6, or use the side-by-side setup if you want the faster tsc.
  • If you write a tool that imports typescript, the beta is the first build to test against. The new API is at typescript/sync and typescript/async.
  • Watch the tool, not TypeScript. The fix will come from new ts-jest, typescript-eslint and Nest CLI releases that support the new API, and those can arrive before or after 7.1 itself. I’ll re-test this table when 7.1 is final.

How this was tested

October 31, 2026, on Windows 11 Pro with Node 24.14.0 (Angular CLI 22.2.5 needs at least 24.15.0, so Angular ran on Node 24.21.0). The tools ran in one small project with a source file, a Jest test, an ESLint config with type-checked rules and a TypeDoc build, first with typescript@7.1.0-beta alone (installed with --legacy-peer-deps, since npm’s strict install refuses it: ts-node’s peer range is typescript@">=2.7", and npm doesn’t count a beta as matching a range), then with the two aliases. NestJS and Angular were new projects from their CLIs, vue-tsc, svelte-check and astro check minimal projects with one component each. Error text is copied from the runs. The scripts are public.

— N.K., end of entry No.092

Useful? Pass it on:Post on XFollow @EmotionalMatter

Related entries

  1. No.019

    TypeScript 7 with ts-jest, ESLint, ts-node: 9 tools tested

    Plain TypeScript 7 broke ts-node, ts-jest, typescript-eslint, TypeDoc and ts-loader, and npm refused to install it at all without a flag. Microsoft's side-by-side setup ran all 9 tools with no errors while tsc stayed on 7.

    TESTED7 min
  2. No.029

    TypeScript 7 migration guide: breaking changes, tested

    Every option TypeScript 6.0.3 marked as deprecated was a hard error on 7.0.2, and ignoreDeprecations no longer silences it. Two defaults that arrived in 6.0 (strict on, @types not loaded automatically) also break projects coming straight from 5.9.

    TESTED6 min
  3. No.028

    Does NestJS, Next.js, Angular or Vue work with TypeScript 7?

    Next.js 16.3.6 built and type-checked on plain TypeScript 7.0.2. Angular 22.2, Vue with vue-tsc 3.3 and NestJS 12 all failed, and all three built again on Microsoft's side-by-side setup, with tsc still on 7.0.2. Nuxt, Svelte and Astro still built on 7, but their type-check commands refused it until TypeScript 6 was installed alongside.

    TESTED7 min

Post card · Every Sunday

What broke this week.

One email on Sundays: the Node, TypeScript, Python and AI SDK releases that broke builds that week, each one reproduced, with a link to the fix that worked. Never shared, and you can leave any time.

— Nilay

or follow by RSSor on X

By subscribing you agree to the privacy note. One click to leave.

tip: paste the exact error text