Я создал несколько классов и модулей на TypeScript. Другие приложения TypeScript могут напрямую использовать файлы TS без определения типов. Однако, чтобы опубликовать в npm, я думаю, мне нужно опубликовать как файлы JS, так и файлы определения типа. Я думаю, что было бы расточительно вручную создавать файлы d.ts, поэтому как сгенерировать файлы определения типа из файлов TypeScript?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Добавьте "declaration": true в свой tsconfig, чтобы файлы * .d.ts были сгенерированы вместе с файлами * .js.
Чтобы опубликовать файлы * .js и * .d.ts в npm, но не в github (обычно вы хотите сохранить только исходный код в исходном элементе управления), вам нужно сделать несколько вещей:
"declaration": true в tsconfig"outDir": "dist" в tsconfig"main": "dist/index.js" в package.json (обратите внимание на суффикс js и каталог dist)"types": "dist/index.d.ts" в package.json (на этот раз обратите внимание на суффикс "ts" и каталог dist)(Ваши имена файлов и каталоги, конечно, могут отличаться, выше предполагается, что ваш каталог распространения - dist, а ваша основная точка входа - index.ts)
Это без настройки сценариев сборки, просто минимум для публикации того, что вам нужно, чтобы другие модули и программы Node могли потребовать ваш модуль, использующий как JavaScript, так и TypeScript, без сохранения сгенерированных файлов под контролем источника.
Подробнее см .:
Это ответ, который я написал во время подготовки моего выступления о Deno (слайды, видео), пытаясь описать весь процесс публикации модулей Node, написанных на TypeScript, в npm, что именно вы делаете здесь, поэтому, возможно, вы найдете более полезную информацию не только о создании файлов .d.ts, но и о других связанных вещах.
Просто установите опцию компилятора
"declaration": true