Несоответствие типов шрифта при создании внешнего модуля - PullRequest
0 голосов
/ 18 февраля 2019

Я использую TypeScript и создаю API, используя nestjs и typeorm.Некоторые из модулей в проекте можно использовать повторно, извлекая их в собственный модуль узла.Это приводит к тому, что тип Repository во внешнем модуле не совпадает с типом Repository в исходной упаковке.Поэтому при использовании внешнего модуля я получаю сообщение об ошибке

Argument of type 'import("/Users/user/project/node_modules/typeorm/repository/Repository")
.Repository<import("/Users/project/src/user/user.entity").User>' 
is not assignable to parameter of type 
'import("/Users/user/my-module/node_modules/typeorm/repository/Repository")
.Repository<import("/Users/project/src/user/user.entity").User>'.

Пакет typeorm указан как peerDependency в пакете узла, поэтому он всегда должен быть одинаковым.

1 Ответ

0 голосов
/ 18 февраля 2019

Кажется, у вашей внешней библиотеки свои определения типов.В этой теме предлагается сопоставить импорт с папкой в ​​папке node_modules вручную в вашем package.json:

"paths": {
  "typeorm": ["node_modules/typeorm"],
  "typeorm/*": ["node_modules/typeorm/*"]
}

Это может быть проблемой только при использовании npm link.

...