Как использовать определения типов в TypeScript с частными репозиториями - PullRequest
0 голосов
/ 27 марта 2020

У меня есть два npm пакета (package-a и package-b) в репозиториях на моем частном сервере. Пакеты имеют некоторый код JavaScript, и каждый пакет имеет файл typings/index.d.ts с определениями типов. Я добавил "types": "./typings/index.d.ts" в оба package.json файла.

В моем проекте я установил оба пакета, например npm install --save https://git.my-domain.de/package-a.git. Пакеты правильно установлены в моем node_modules, и они также содержат index.d.ts.

Но компилятор TypeScript не работает, потому что он не находит классы из моих пакетов. В мои проекты package.json я добавил "@types/package-a": "https://git.my-domain.de/package-a.git". Затем я снова установил npm пакеты с npm install, и компилятор TypeScript больше не вышел из строя, потому что теперь оба пакета клонированы в каталоги node_modules/@types/package-a и node_modules/@types/package-b. Но клонируются не только определения типов, но и клонируются полные репозитории с кодом JavaScript.

Как правильно настроить частные пакеты и проекты с определениями типов? Единственный способ, которым я могу придумать, - это поместить мои определения типов в отдельные репозитории. Так, например, у меня есть package-a и package-a-types. Но я думаю, что это не совсем хорошо, потому что, если я изменю часть своего JavaScript кода в моем пакете, мне нужно помнить об изменении определений типов в связанном репозитории типов.

Спасибо за помощь !

...