Как Typescript анализирует настроенный синтаксис, настроенный с помощью babel? - PullRequest
0 голосов
/ 17 января 2019

Давно известно, что 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 слишком гибок для машинописного текста, чтобы поддерживать его поддерживаемый синтаксис.

...