Pat*_*ato 12 npm npm-publish angular ng-packagr nrwl
我有一个使用 NX 和 Angular 的 monorepo,我正在向 NPM 发布一些库,我有以下场景
\napps\n only_App\nlibs\n lib_A // v1.0.0\n lib_B // v1.0.0\n lib_C // v1.0.0\nRun Code Online (Sandbox Code Playgroud)\nlib_A 依赖于 lib_B 和 lib_C。
\n在预构建的package.json中lib_A没有\xe2\x80\x99t 有任何peerDependency并且在我构建它之前发布它之后,自动添加对等依赖项,例如
// 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}\nRun 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版本。
有没有办法可以配置它,以便在构建时lib_A将其添加^到我的库中?IE
// BUILT lib_A/package.json\n\n{\n...,\n"peerDependencies":{\n "@myScope/lib-b": "^1.0.0", //automatically includes the ^ (caret)\n "@myScope/lib-c": "^1.0.0",\n}\n}\nRun Code Online (Sandbox Code Playgroud)\n如果我在 lib_B 中有一个小补丁,就允许我以这种方式更新 lib_B 而不是 lib_A。
\n到目前为止,唯一的 \xe2\x80\x9csolution\xe2\x80\x9d 是手动将构建的package.json 中生成的对等依赖项复制并粘贴到预构建的package.json中并手动添加^,但我知道这是不可扩展
Oli*_*r.B -3
在文件中添加"buildableProjectDepsInPackageJsonType": "dependencies"构建目标project.json。
https://nx.dev/packages/js/executors/tsc#buildableprojectdepsinpackagejsontype
| 归档时间: |
|
| 查看次数: |
4121 次 |
| 最近记录: |