Я относительно новичок в использовании Yarn Workspaces и настройке Monorepo, так что извините, если на этот вопрос ответили.Я не верю, что нашел четкий ответ о том, возможно ли это для Monorepo, настроенного с использованием Yarn Workspaces.
Я хотел бы знать, возможно ли использовать две разные версиизависимость (в моем случае TypeScript) в разных пакетах и как это сделать.
Моя цель - заблокировать версию TypeScript (3.4.5) в пакете A и использовать версию root package.json
(3.5.0) TypeScript для всех других пакетов в этом monorepo.
Это структура папок.В идеале PackageA будет использовать 3.4.5, а PackageB / PackageC будет использовать любую версию, определенную в корне package.json
|-- packages
|-- packageA
|-- packageB
|-- packageC
|-- package.json
Это то, что я пробовал до сих пор:
IЯ пытался добавить nohoist
в настройках своего рабочего пространства в конфигурации webpack, но я не верю, что Пакет A использует TypeScript 3.4.5, поскольку я не получаю ожидаемого результата.Когда я изменяю требование версии root package.json
TypeScript на 3.4.5, то есть, когда я получаю правильный результат, было бы наилучшим сценарием, если бы я мог продолжать использовать последнюю версию TS для всех других пакетов, но оставил бы более низкую версию для PackageA.
Я также попытался добавить package.json
в папку PackageA, где он определяет "typescript": "3.4.5"
как devDependency
.Yarn устанавливает нужную версию в папку PackageA, но, похоже, не использует ее.
Я также уверен, что Yarn resolutions
не подходит для этой ситуации, так как мои пакеты не 't определены как зависимости в моем package.json
.
snippet of package.json
"devDependenices: {
...,
"webpack": "^4.34.0",
"typescript": "3.5.0-rc",
"yarn": "^1.15.2"
},
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"packageA/typescript"
]
}
Если кому-то интересно, PackageA должен использовать TypeScript 3.4.5, потому что мне нужно react-docgen-typescript
для разбора значений Prop, которые существуют в Prop, а не в родительских.(т. е. атрибуты HTML на кнопке будут отображаться как опора).Вот ссылка на эту проблему.
Пожалуйста, дайте мне знать, нужна ли дополнительная информация для конфигурации моего проекта!Ценю понимание и советы :) 1033 *