小编Pat*_*ato的帖子

使用 NX 和 Angular 对可发布库进行对等依赖配置

我有一个使用 NX 和 Angular 的 monorepo,我正在向 NPM 发布一些库,我有以下场景

\n
apps\n   only_App\nlibs\n   lib_A // v1.0.0\n   lib_B // v1.0.0\n   lib_C // v1.0.0\n
Run Code Online (Sandbox Code Playgroud)\n

lib_A 依赖于 lib_B 和 lib_C。

\n

预构建的package.json中lib_A没有\xe2\x80\x99t 有任何peerDependency并且在我构建它之前发布它之后,自动添加对等依赖项,例如

\n
// BUILT lib_A/package.json\n\n{\n...,\n"peerDependencies":{\n   "@myScope/lib-b": "1.0.0", //specifically that version\n   "@myScope/lib-c": "1.0.0",\n}\n}\n
Run Code Online (Sandbox Code Playgroud)\n

问题是当我lib_A在另一个项目中发布并使用它时(在 NX 和此存储库之外)。它总是期望我使用lib_Bv1.0.0 lib_C \n如果我打补丁lib_B将其升级到v1.0.1,那么我也被迫重建lib_A更新peerDependency版本。也发布lib_A和升级lib_A版本。

\n

有没有办法可以配置它,以便在构建时lib_A将其添加^到我的库中?IE

\n
// BUILT lib_A/package.json\n\n{\n...,\n"peerDependencies":{\n   "@myScope/lib-b": "^1.0.0", //automatically …
Run Code Online (Sandbox Code Playgroud)

npm npm-publish angular ng-packagr nrwl

12
推荐指数
1
解决办法
4121
查看次数

标签 统计

angular ×1

ng-packagr ×1

npm ×1

npm-publish ×1

nrwl ×1