TypeScript 7 was recently released.
https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
For us as (mostly) consumers of tsc, the headline is faster build times, with the compiler having been rewritten in Go. We should upgrade when we can.
However, the programmatic API has breaking changes, and therefore our adoption is going to be limited in places where we use tools that depend on that API, specifically:
typedoc
See TypeStrong/typedoc#3098.
This will fail hard on peerDependencies on install. There are some hacky workarounds for 6 and 7 coexistence in the post from the TypeScript team, but for the relatively few projects that use this, let's just hold off for now.
stryker
See stryker-mutator/stryker-js#6110.
Another one that requires API changes - being worked on actively, so again let's hold off rather than work around it.
ts-node
See TypeStrong/ts-node#2174
We have already started to switch to tsx for these use cases; for the affected repos we should roll that out. It doesn't do type checking - hence no reliance on TypeScript's API - but we were never in it for that anyway. For usage with mocha, it was just a case of switching the node-option option to import=tsx to get it working, see cucumber/messages#480.
TypeScript 7 was recently released.
https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
For us as (mostly) consumers of
tsc, the headline is faster build times, with the compiler having been rewritten in Go. We should upgrade when we can.However, the programmatic API has breaking changes, and therefore our adoption is going to be limited in places where we use tools that depend on that API, specifically:
typedocSee TypeStrong/typedoc#3098.
This will fail hard on
peerDependencieson install. There are some hacky workarounds for 6 and 7 coexistence in the post from the TypeScript team, but for the relatively few projects that use this, let's just hold off for now.strykerSee stryker-mutator/stryker-js#6110.
Another one that requires API changes - being worked on actively, so again let's hold off rather than work around it.
ts-nodeSee TypeStrong/ts-node#2174
We have already started to switch to
tsxfor these use cases; for the affected repos we should roll that out. It doesn't do type checking - hence no reliance on TypeScript's API - but we were never in it for that anyway. For usage with mocha, it was just a case of switching thenode-optionoption toimport=tsxto get it working, see cucumber/messages#480.