TypeScript 7.1 Beta Restores the Compiler API: What Transformer and Lint-Rule Authors Get Back

TypeScript 7.1 Beta is reported to restore the Compiler API and to make Vue and Svelte first-class. Those are two very different claims, and they need different evidence. The compiler API is really four layers: the type checker, the transform pipeline, the emitter, and the language service host. A restored API could mean any subset of those, and the report doesn't say which. That's why this short focuses on how you find out for yourself. Regressions in that surface fail quietly. A transformer that gets a factory call wrong doesn't throw, it emits the wrong argument in the wrong slot and the build stays green. A typed lint rule that loses its program takes an early return and reports zero violations, which looks exactly like a clean codebase. You'll see the canary transformer built against the beta that strips console calls, why you use context.factory rather than the module-level ts.factory inside a transform, and why ts.visitNode can return undefined and needs a fallback. Then the two contracts worth testing separately: a surface test that fails at startup when a symbol moves, and a behavioural test that fails at the assertion when a transform was silently ignored. Full write-up: https://hackyjs.com/posts/typescript-71-beta-restores-the-compiler-api-what-transformer-and-lint-rule-authors-get-back The source material is a single report with a headline and a summary, so treat the exact version string, the deprecations, and what first-class means for .vue and .svelte files as things to reproduce in your own repo. Peer ranges and overrides are the first place a mismatch hides.

typescriptcompiler-apivuesveltedeveloper-tooling

Read the post →