Я использую 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 в пакете узла, поэтому он всегда должен быть одним и тем же.





Ваша внешняя библиотека, похоже, имеет свои собственные определения типов. В эта тема предлагается сопоставить импорт в папку под node_modules вручную в вашем package.json:
"paths": {
"typeorm": ["node_modules/typeorm"],
"typeorm/*": ["node_modules/typeorm/*"]
}
Это может быть проблемой только при использовании npm link.
Ах хорошо. :) Вы установили свой пакет из npm или использовали ссылку npm?
Я использовал ссылку npm
Упс, на самом деле это была моя опечатка... Репозиторий импортируется с разных путей, но не типа пользователя.