OK. Я наконец получил это на работу. Вот что я сделал, чтобы реализовать
Пользовательские наборы для стороннего npm модуля в вашем npm модуле
Вместо того, чтобы писать файл .d.ts, просто переключитесь в обычный файл .ts. Так что в моем случае
src / types / mon goose .ts
declare module 'mongoose' {
export interface SomeExistingMongooseInterface {
MyNewOption?: FancyOptionInterface
}
}
Второй шаг - импортировать этот файл в ваше приложение. Мне просто было удобно добавить его в файл root, чтобы
src / index.ts
import "./types/mongoose"
И это уже все. Больше нечего делать. При создании приложения компилятор машинописи теперь генерирует файл mon goose .d.ts в dist / src / types папка, которая будет опубликована позже.
Все будет работать нормально, и если вы решите опубликовать sh на npm, ваши пользователи также получат выгоду от расширения стороннего интерфейса.