git - npm publish 使用 git 信息而不是 package.json 中的版本
问题描述
我正在尝试根据 git 信息找到发布 npm 人工制品的解决方案。
我查看了npm version和release-it,但这些工具自动执行 git 操作(提交/推送)以在 npm artefact 版本和 git 之间建立链接,它不会从 git 获取信息。
我想发布带有 git 源标识的 npm artefact,类似于git describe --tags --always
. 像这样可以轻松地建立 git/npm 之间的链接,并且唯一的 git 操作是标记,持续集成管道可以通过npm publish
.
git-tag-version似乎是工作的一部分,但没有与人工制品版本建立联系。
我可能会尝试以这种方式进行,但也许 npm 中有一些功能可以更轻松地做到这一点?
解决方案
npm version from-git
似乎离我喜欢做的事情不远,除了:
- 它需要一个带注释的标签
- 它提交更新的 package.json
- 它没有不同的标识仍然最新的标签保持不变
所以最后我使用了:
npm config set git-tag-version=false
npm version $(git describe --tags)
npm publish
这不会提交包 json 修改并允许使用轻量级标签
推荐阅读
- docker - 为什么会出错:“docker build”需要 1 个参数
- c++ - 为什么地图的大小在比较时会发生变化?
- python - 遵循某些步骤后更改值的布尔值
- oracle - 如何加密 FireDAC 连接以在 Delphi 中使用 TLS/SSL?
- c++ - 如何解决在 n 个数中查找最大数时的运行时错误
- wso2 - 如何配置 wso2 api manager 发布者以加载自定义 local.json 以更改语言
- authentication - Sonos API 中刷新令牌的意义何在
- powershell - 如何通过管道构建 ID 在 ymal json 中获取工件构建版本
- sql - 将具有多行的Json数据插入SQL中的表中
- python - 当 z 为负时,Python 子字符串对 x,y 有什么默认值?(这与 x,y 是否为负无关)