taro
taro copied to clipboard
feat(taro-plugin-mini-ci): Taro 小程序端构建CI(持续集成)插件重大更新
这个 PR 做了什么? (简要描述所做更改)
去年的PR实现了从0到1,经过一年的项目沉淀和反馈,此次更新以灵活性、输入输出规范统一为特点
功能特性
-
Taro
插件参数支持传入函数体,并应用到了@taro/plugin-mini-ci
插件 之前Taro插件做了强验证,只支持传入对象作为参数,新增了支持传入函数作为参数,更加灵活。 举个例子,比如“构建微信小程序时根据jenkins
注入的构建号动态分配机器人编号”这个需求 - 支持独立的
open
、preview
、upload
命令,操作自定义目录 适用于将taro
作为项目一部分(混合开发)的开发场景 - 重新联调了各个平台的
CI
,一年过去了,各大平台的CI
包都有不同程度的更新(特别是头条、支付宝) - 新增 钉钉 小程序
CI
- 统一所有平台CI构建后的输出数据,并将数据传递给新增的
onPreviewComplete
、onUploadComplete
两个钩子 用户可以编写新的插件,基于这个钩子实现飞书
、钉钉
的CI
推送功能,我计划晚点推一个新插件实现这个功能,有强烈特殊定制的用户可基于这两个钩子可自行实现通知插件(比如发发布时短信通知之类的)
其他
- 运行时动态加载各端CI包的方式变更,旧的
require
方式不支持pnpm link
, 不方便调试 - 编写了一些
ts
类型供开发插件时使用,维护更友好 - 部分选项统一了字段,不兼容的选项已经在文档加了说明
这个 PR 是什么类型? (至少选择一个)
- [ ] 错误修复(Bugfix) issue: fix #
- [x] 新功能(Feature)
- [x] 代码重构(Refactor)
- [x] TypeScript 类型定义修改(Typings)
- [x] 文档修改(Docs)
- [ ] 代码风格更新(Code style update)
- [ ] 其他,请描述(Other, please describe):
这个 PR 涉及以下平台:
- [ ] 所有小程序
- [x] 微信小程序
- [x] 支付宝小程序
- [x] 百度小程序
- [x] 字节跳动小程序
- [x] 钉钉小程序
- [ ] QQ 轻应用
- [ ] 京东小程序
- [ ] 快应用平台(QuickApp)
- [ ] Web 平台(H5)
- [ ] 移动端(React-Native)
swan upload 与 preview 验证 ok
感谢贡献~