169 Star 1.1K Fork 282

GVPantv / L7

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CONTRIBUTING.md 5.23 KB
一键复制 编辑 原始数据 按行查看 历史
lvisei 提交于 2024-04-17 11:18 . docs: update tree structure (#2410)

简体中文 | English

🎉 欢迎向 L7 贡献代码! 🎉

代码贡献规范

1.下载源码

git clone https://github.com/antvis/L7  --depth=1

2.前置依赖安装

2.1.安装 pnpm

由于使用了 pnpm workspace,首先需要安装 pnpm

2.2.安装项目依赖

pnpm install

3.运行项目

# 运行 DEMO
pnpm dev

其它命令

  • pnpm site:dev 启动本地官网
  • pnpm test:unit 运行单元测试
  • pnpm test-cover 运行单元测试并查看代码覆盖率
  • pnpm test:integration 运行集成测试
  • pnpm build 构建源码包, 分别输出 umd, es 和 lib 目录

4.代码风格

CODE GUIDELINES

5.提交代码

5.1.Commit 提交规范

根据 angular 规范 提交 commit,这样 history 看起来更加清晰。

提交 commit 的类型,包括以下几种

  • feat: 新功能
  • fix: 修复问题
  • docs: 修改文档
  • style: 修改代码格式,不影响代码逻辑
  • refactor: 重构代码,理论上不影响现有功能
  • perf: 提升性能
  • test: 增加修改测试用例
  • chore: 修改工具相关(包括但不限于文档、代码生成等)
  • deps: 升级依赖

尽量用一句话清楚的描述这次提交做了什么,查看具体参考文档

5.2.提交代码变更集

我们使用了 changesets 进行全自动的语义化发布,当我们开发完成后执行 changeset 并提交变更集。

pnpm run changeset
git add .
git commit -m "chore: commit changeset"

5.3.提交 Pull Request

如果你有仓库的开发者权限,而且希望贡献代码,那么你可以创建分支修改代码提交 PR,AntV 开发团队会 review 代码合并到主干。

# 先创建开发分支开发,分支名应该有含义,避免使用 update、tmp 之类的
$ git checkout -b branch-name

# 提交代码,message 见下面的规范

$ git add . # git add -u 删除文件
$ git commit -m "fix: role.use must xxx"
$ git push origin branch-name

提交后就可以在 L7 创建 Pull Request 了。

由于谁也无法保证过了多久之后还记得多少,为了后期回溯历史的方便,请在提交 MR 时确保提供了以下信息。

  1. 需求点(一般关联 issue 或者注释都算)
  2. 升级原因(不同于 issue,可以简要描述下为什么要处理)
  3. 框架测试点(可以关联到测试文件,不用详细描述,关键点即可)
  4. 关注点(针对用户而言,可以没有,一般是不兼容更新等,需要额外提示)

6.版本发布

Release

6.1.线上自动版本发布

详细流程 版本发布指南

  1. GitHub Action 触发 Create bump version PR Action 执行,选择发布分支,触发 Action 执行

  2. 等待 Action 执行完成,执行完成会提一个变更版本的 PR

  3. 去确认 PR 版本变更内容,如果没有问题 approve PR,等待发布版本 Action 执行,期间会发布到 NPM、打 tag 到 Github、创建 GitHub Release

  4. 第 3 步成功,会进行钉钉消息通知,机器人自动合并 PR,后台自动部署新官网

  5. 第 3 步失败,会进行钉钉消息通知,去 GtiHub Action 查看失败原因

6.2.手动版本发布

  1. 创建本地 release 分支
  2. 若没有要发布的变更集,执行 pnpm run changeset 脚本,创建本次版本发布变更集,执行完成 coomit 变更集
  3. 执行 pnpm run version-packages 脚本,更新要发布包的版本号和 Changelog,确认内容并 coomit
  4. 执行 pnpm run publish-packages 脚本,会发布包到 NPM、打 tag 到 GitHub
  5. release 分支变更内容,以提交 PR 方式合并到发布分支
  6. GitHub Releases 创建本次发布的 Release,创建完成后会自动部署新官网

6.3.预发版 beta/alpha/next 发布流程

以预发 beta 为例,新增加一个功能,发布 beta 版本:

  1. 创建本地 beta 分支
  2. 执行 pnpm exec changeset pre enter beta 命令🔗,进入 beta 预发模式
  3. 完成功能研发、添加变更集、push 到远端 beta 分支
  4. 版本发布,与线上自动版本发布流程一致,也可以选择手动发布版本

beta 版本发布验证完成后,合并到主分支发布流程:

  1. 执行 pnpm exec changeset pre exit 命令🔗,退出预发模式
  2. beta 分支变更内容,以提交 PR 方式合并到主分支
  3. 版本发布,与线上自动版本发布流程一致,也可以选择手动发布版本
TypeScript
1
https://gitee.com/antv/L7.git
git@gitee.com:antv/L7.git
antv
L7
L7
master

搜索帮助