А вот и продолжение истории поддержки TypeScript в Node.js подоспело. Был добавлен флаг
--experimental-transform-types
, который добавляет возможность запускать файлы с TypeScript-only (требующем трансформации) синтаксисом (Enum, namespace, module с поддержкой source-map). Однако Node.js всё ещё не читает ваш
tsconfig.json
.
Из интересного: чтобы импортировать (
import
,
require
) файл, вам необходимо будет указать расширение
.ts
, которое включается в TS-конфиге опцией
allowImportingTsExtensions
. А ещё появилась целая команда для поддержки TypeScript в Node.js.
Кроме того, импорты типов должны быть помечены как
type
импорты, как при включенном verbatimModuleSyntax в TS-конфиге, иначе вы получите ошибку в рантайме.
import type { Type1, Type2 } from './module.ts';
import { fn, type FnParams } from './fn.ts';
Также предлагается добавить в feature флаги информацию о возможности импортировать файлы с типами или TypeScript-only синтаксисом.
process.features.typescript
// ^? "strip" | "transform"
Всего 4 дня назад в eslint появилась поддержка `.ts` конфигов благодаря jiti, поэтому нововведения в Node.js по импорту
.ts
файлов облегчат жизнь всему нашему сообществу.
Очень советую к прочтению этот README и ROADMAP, а ещё спасибо @melikhov_dev за упоминание!
Pull Request