npm 使用 git 信息而不是 package.json 中的版本进行发布

mpr*_*net 4 git continuous-integration npm npm-publish

我正在尝试找到一个基于 git 信息发布 npm 工件的解决方案。

我查看了npm versionrelease-it,但是这些工具自动执行 git 操作(提交/推送)以在 npm artefact 版本和 git 之间建立链接,它不会从 git 获取信息。

我想发布 npm artefact 及其源的 git 标识,类似于git describe --tags --always. 这样就可以轻松地建立 git/npm 之间的链接,并且唯一的 git 操作是标记,持续集成管道可以通过npm publish.

git-tag-version似乎是工作的一部分,但没有与 artefact 版本建立链接。

我可能会尝试这样做,但也许 npm 中有一些功能可以更轻松地做到这一点?

mpr*_*net 5

npm version from-git似乎离我喜欢做的事情不远,除了:

  • 它需要一个带注释的标签
  • 它提交更新的 package.json
  • 它没有不同的标识,但最新的标签保持不变

所以最后我用的是:

npm config set git-tag-version=false 
npm version $(git describe --tags)
npm publish
Run Code Online (Sandbox Code Playgroud)

这不会提交包 json 修改并允许使用轻量级标签