Давно известно, что babel поддерживает машинопись через babel-preset-typescript
.
Рабочий процесс похож на
.ts
файлы преобразуются в .js
файл с аннотацией типа, удаленной babel.
Одновременно машинописная машинка проверяет файлы .ts
с помощью команды tsc
.
Как машинописный текст понимает (анализирует) многие пользовательские синтаксисы, настроенные с помощью babel? Например: @ babel / plugin-предложение-необязательное-цепочка
В любом случае, чтобы babel просто скомпилировал код из Typescript в Typescript с разбором пользовательского синтаксиса. Например, я хочу, чтобы babel преобразовал этот код
const a: number = foo?.bar
в
const a: number = (_foo = foo) === undefined && _foo.bar
вместо
const a = (_foo = foo) === undefined && _foo.bar
Если babel может это сделать, я могу свободно добавлять любые языковые функции по своему усмотрению, не дожидаясь поддержки Typescript.
Другим способом было бы позволить typcript игнорировать пользовательский синтаксис, настроенный с помощью babel, и просто проверять тип.
Тем не менее, IMO babel слишком гибок для машинописного текста, чтобы поддерживать его поддерживаемый синтаксис.