gpt4 book ai didi

angular - 在 Angular 库项目 package.json 文件中保持版本号同步

转载 作者:太空狗 更新时间:2023-10-29 16:56:40 25 4
gpt4 key购买 nike

在构建 Angular 库应用程序时,是否有一种自动方式来保持根级 package.json 和库应用程序的 package.json(例如,在 projects/my-library 下)文件版本同步当使用 npm version 命令时?

当我使用该命令时,它只会递增根级 package.json,是否有特殊命令或任何其他方式将版本号向下传播到库 package.json 文件?

我见过一些解决方案,例如在 ng build 之后运行脚本来读取根级 package.json 版本号并将其写入库一,但我不确定这是最好的方法。

有没有其他人在使用 Angular 构建库时遇到过这个问题?如果遇到过,您是如何处理的?

最佳答案

我见过有人向 vsavkin(Nrwl/Nx 伙计)问同样的问题,他的回答相当复杂 git sub-module approach .

虽然这个工作流程有点复杂,但它确实允许共享库单独进行版本控制,同时将它们保存在同一个父 git-repo 中。


正如您已经提到的,一个更简单的替代方法是让 monorepo 中的所有库与根 package.json 保持相同的版本——类似于 Angular monorepo 如何同时更新所有 Angular 包的版本。

这可以在节点中轻松完成,或者在 bash/shell 中使用更多脚本编写。

Here's a gist with node, bash & shell examples of how to extract the version from the root package.json .


要真正提高包的版本,这里有一个简单的方法:安装这个 npm package (用于编辑 json 文件的一个很好的 CLI)并阅读 In-Place editing section .您现在应该拥有所需的所有工具!


这是一个使用节点的示例 bash 脚本:

cd libs/my-library && json -I -f package.json this.version=$(node -pe \"JSON.stringify(require('../../package.json').version)\")

关于angular - 在 Angular 库项目 package.json 文件中保持版本号同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56485292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com