移自https://github.com/intuit/auto-release/issues/176
@aleclarson说:
这是我需要的插件:
它扫描 PR 的提交消息以查找
semantic-release
样式前缀(例如:fix:
、feat:
、BREAKING
)并自动应用适当的patch
/minor
/major
标签到 PR。
受此Twitter 线程的启发。你会认为这是官方支持的插件吗?
@hipstersmoothie说:
是的,这听起来像一个很好的插件! 官方没问题。 尽管我们可能需要为此行为添加一两个额外的钩子
一个名为
parseCommit
的钩子可以在这里启用它
@aleclarson说:
我们可以使用parse-commit-message从提交中提取元数据(尽管它对esm的依赖使它有点重,但是一旦 NodeJS 原生支持 ES 模块,它就会被删除)。 同时,如果
esm
对我们的影响足够大,我们可以分叉它并删除它。 即使我们不分叉,它仍然比semantic-release
使用的要小约 6 倍。
这很奇怪它如何依赖于 ESM
它可能应该在构建中使用 esm 而不是在生产中
有点像使用 babel-register 而不是仅仅构建它并发布 dist 文件夹
一开始我也是这么想的,但是看看源代码就知道了。
编辑:哦,nvm,你是说esm
可以在发布前用于编译。 我们应该发送一个 PR。
否则它看起来像一个很好的模块。 又好又瘦
看起来esm
不是为编译而制作的: https ://github.com/standard-things/esm/issues/13#issuecomment -321710199
我说我们现在 fork,并将import
和export
语法转换为 CommonJS。
嗯,是的,我只是在阅读自述文件。 看来我误会了
我会做一个公关来切换到https://github.com/developit/microbundle ,也许他会添加它。
您应该考虑改用https://github.com/egoist/bili 。 它有一半的安装大小,但它可能有其他权衡。 不确定。
顺便说一句,加入派对。 git-commits-since
和detect-next-version
在这里可能更有帮助?
我使用esm
是因为有保证,而且它位于 Node 的 esm 功能标志后面。 我很容易使用ascjs或类似rewrite-imports ,但esm
支持的不仅仅是导入/导出。 而且因为我不会_任何_构建步骤或任何东西,为了测试我只是用它作为我跑步者的钩子。
这给我们带来了这一点,我们可以切换到ascjs
或asbundle
。
@aleclarson为什么我的尺寸有这么大的问题? 即使在节点领域,我们的包管理器也已经足够聪明,可以进行重复数据删除。
@aleclarson为什么我的尺寸有这么大的问题? 即使在节点领域,我们的包管理器也已经足够聪明,可以进行重复数据删除。
我从来没有提到过重复的依赖关系。 一般来说,我只是对臃肿的工具保持警惕。 “越轻越好”是我的经验法则,但每个人都有自己的经验。 我真的没有兴趣讨论这个。 :)
顺便说一句,加入派对。
git-commits-since
和detect-next-version
在这里可能更有帮助?
我更喜欢使用parse-commit-message
因为这些包似乎重复了auto-release
中已经存在的逻辑,但也许@hipstersmoothie可以用这些包替换现有逻辑以减少维护负担。
:rocket: 问题在 10.0.0 中发布 :rocket:
最有用的评论
我从来没有提到过重复的依赖关系。 一般来说,我只是对臃肿的工具保持警惕。 “越轻越好”是我的经验法则,但每个人都有自己的经验。 我真的没有兴趣讨论这个。 :)
我更喜欢使用
parse-commit-message
因为这些包似乎重复了auto-release
中已经存在的逻辑,但也许@hipstersmoothie可以用这些包替换现有逻辑以减少维护负担。