Файл объявления типа не найден в пользовательском пакете NPM - PullRequest
1 голос
/ 09 июля 2020

Я написал 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 пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...