Как использовать поле typesVersions в файле package.json для доставки более строгих типов для более новых версий машинописи? - PullRequest
1 голос
/ 18 октября 2019

В соответствии с примечаниями к выпуску TypeScript 3.1 , машинопись позволяет доставлять более строгие типы в пакеты npm, устанавливая поле typesVersions в package.json следующим образом:

{
  "name": "package-name",
  "version": "1.0",
  "types": "./index.d.ts",
  "typesVersions": {
    ">=3.1": { "*": ["ts3.1/*"] }
  }
}

Однако в документах не указано, как создается указанный файл ts3.1/index.d.ts. Нужно ли вручную писать файл index.d.ts в этом месте? Есть ли способ с помощью машинописи или связанного инструмента сборки для условного создания более строгих типов?

1 Ответ

1 голос
/ 19 октября 2019

ОБНОВЛЕНИЕ : Похоже, что член команды TS только начал работать над инструментом для этого (возможно, сторонним проектом). На момент написания он не закончен, но определенно стоит посмотреть. https://github.com/sandersn/downlevel-dts


(оригинальный ответ)

Насколько я могу найти, никто еще не написал инструмент для автоматической генерации этих файлов. Самое последнее публичное слово об этом от члена команды TypeScript заключается в том, что они не собираются добавлять этот в качестве функции компилятора. Также было запрошено здесь без ответа. Так что вы можете застрять в переводе вручную.

(Концептуально, инструмент для этого будет во многом похож на " Babel для ввода текста": устранение нового синтаксиса / ключевых слов и "полизаполнение"). или устранение помощников нового типа. Возможно даже написать в виде плагина Babel.)

...