javascript - lerna 独立版本控制 + Github Actions 的问题

标签 javascript github npm lerna

这是我第一次使用 lerna,我在独立版本控制方面遇到了一些麻烦,刚开始我运行了 lerna init 没有 --independent在发布初始版本后,我在 lerna.json 中添加了它。

我正在使用 Github Actions for CI,一切正常,但 lerna 继续发布我拥有的软件包的新版本,即使我没有对其进行更改,例如,如果我向 README 文件添加一些内容,它将仍然更新我拥有的包的版本并发布一个新版本,我也在使用它的常规提交。

这是我的 lerna.json

{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "npmClient": "npm",
  "workspaces": true,
  "command": {
    "publish": {
      "conventionalCommits": true,
      "message": "chore: new release"
    }
  }
}

我尝试删除所有标签并运行对包进行更改的构建以部署另一个版本,但包外发生的所有其他更改仍然会触发包的新版本..

最佳答案

对源文件的更改将触发发布,除非设置了 ignore-changes 标志。它有其自身的局限性,请使用类似的用例查看此问题:https://github.com/lerna/lerna/issues/2437 . conventional-commits 将有助于正确的 SemVer 标签,但它至少会生成补丁升级,比如你的 README.md 文件更新。它不会阻止发布。

您需要在 lerna 之外处理它,并且仅当您确定更改相关时才有条件地调用 lerna publishlerna changed 命令可以帮助您预览 lerna 所看到的更改包。

此外,lerna 将在父包更改时发布子包。这可能会导致混淆和潜在的错误,请记住将其考虑在内。

关于javascript - lerna 独立版本控制 + Github Actions 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62702644/

相关文章:

typescript - 在 TypeScript 中使用单个模块生成声明文件

javascript - 从单选组中获取选定的单选按钮 (ExtJS)

javascript - 使用 test 和 React-testing-library 测试 React 组件

testing - 用于类/作业自动测试和评分的 Travis CI

github - 如何删除由于 DMCA 删除而无法使用的 fork GitHub 存储库?

reactjs - 在 nth-check 中 react NPM 低效的正则表达式复杂性

node.js - npm 更新破坏了 npm

新标签(CTRL + T),新窗口(CTRL + N)的javascript?

javascript - knockout View 模型功能仅影响最后一个实例

github - 部署到 Netlify 时忽略存储库中的文件