cucumber / cucumber/common

Upgrade to TypeScript 7

Open
#2,325 0 comments 0 reactions 1 assignee Claimed by @davidjgoss View on GitHub
language: javascript
Dominant language
No language data
Stars
3.4k
Forks
679
PR merge metrics
No merged PRs in 30d

Description

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 https://github.com/TypeStrong/typedoc/issues/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 https://github.com/stryker-mutator/stryker-js/issues/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 https://github.com/TypeStrong/ts-node/issues/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 https://github.com/cucumber/messages/pull/480.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.