带有yarn工作区的通用依赖关系库版本



假设我有一个在不同工作区之间共享的外部NPM-lib依赖项,是否可以为所有依赖的工作区设置一个版本?如果这种依赖关系是对等或依赖关系,该怎么办?

例如

// external-lib-dep in npm
//package1's package.json
...
"dependencies": {
"external-lib-dep": "^1.0.0"
}
...
// package2's package.json
...
"dependencies": {
"external-lib-dep": "^1.2.0"
}
...
// package3's package.json
...
"dependencies": {
"very-different-external-lib-dep": "^1.2.0"
}
...

有可能以某种方式";份额;deps的版本,而不是一遍又一遍地复制它?(就像maven中父pom中的dependencyManagement一样(。

如果单回购持有";普通的";某家公司所有服务的libs。当我在服务中使用其中一个库时,它们的解决方案会起作用吗?

可以通过一种特定的方式在工作区之间共享依赖关系的版本。

您的工作区应该在其peerDependencies中声明external-lib-dep。在你的单回购根package.json中,你应该在dependencies中声明external-lib-dep。这样,您的工作空间将";inherit";根工作区的external-lib-dep版本。

最新更新