1

我想在语义发布中添加一个检查,只允许它发布次要版本和补丁版本。如果它检测到需要执行新的主要版本,我希望该过程中止并失败(而不是继续执行发布)。我怎样才能做到这一点?

4

1 回答 1

2

现有插件

我为执行此操作的插件创建了一个 npm 包。

evelynhathaway/语义释放失败在主要凹凸

npm install --save-dev semantic-release-fail-on-major-bump

.releaserc

{
    "plugins": [
        "semantic-release-fail-on-major-bump",
    ]
}

自定义插件

如果发布的包不能解决您的特定需求,您可以创建一个语义发布插件来实现该verifyRelease步骤并根据下一个发布类型抛出错误。

plugin/index.js

function verifyRelease (pluginConfig, context) {
    if (context.nextRelease.type === "major") {
        throw new Error("We cannot publish breaking changes at this time.");
    }
}

module.exports = {verifyRelease};

学习如何制作语义发布插件

于 2021-05-30T19:22:45.177 回答