Я понял, что когда я запускаю tsc в проекте с определенной зависимостью, компиляция будет успешной, если любая версия зависимости присутствует в моей системе в любом месте пути разрешения модуля узла.
Например:
- В монорепозитории, управляемом с помощью рабочих областей пряжи, которые содержат два пакета (проект_1 и проект_2)
- Если project_1 объявил зависимость dep_1 в своем package.json
- После запуска yarn install к корневому node_modules добавляется dep_1.
Теперь я могу использовать операторы импорта для dep_1 в project_2 без добавления dep_1 в файл package.json и project_2 tsc не будет жаловаться во время компиляции.
Можно ли изменить это поведение, чтобы Typescript знал о зависимостях, объявленных в package.json каждого проекта?