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