Я написал NPM Пакет, содержащий объявления типов для устаревшего JS только NPM пакета. Все это проприетарно, поэтому я не могу опубликовать sh его в c реестрах. Я пытаюсь ввести пакет типов в пакет различных типов, который описывает еще один устаревший пакет npm.
Каждый пакет типов объявляет модули, используя нотацию: declare module "@company/legacy-package/sub-module"
Таким образом, у меня есть следующая структура проекта:
- @company-a/project-a
- node_modules
- @company-a/project-b
project-b
в приведенном выше примере содержит следующую структуру файлов:
- index.d.ts
- package-name.d.ts
- `declare module "@company-b/package-name/module-name"`
В проекте-a при попытке импортировать модуль, названный в приведенном выше примере, выдается ошибка «не удается найти модуль»: import { SomeStuff } from "@company-b/package-name/module-name"
Я обязательно включил typeRoots для project-a:
compilerOptions: {
typeRoots: [
"./node_modules/@types",
"./node_modules/@company-a/package-b"
]
}
Я не уверен, что я пропустил, так как я не могу получить типы, которые нужно распознать @ company-b внутри проекта @ company-a / package-a.
Когда я включил все типы непосредственно в проект, используя путь: src/@types/@company-b/package-name.d.ts
, он работал нормально, но у меня проблема с разбиением этого на собственный npm пакет.