English | 简体中文
感谢你的宝贵时间。你的贡献将使这个项目变得更好!在提交贡献之前,请务必花点时间阅读下面的入门指南。
该项目有一份 行为准则,希望参与项目的贡献者都能严格遵守。
所有工作都直接透明地在 GitHub 上进行。核心团队成员和外部贡献者的 pull requests 都需要经过相同的 review 流程。
该项目遵循语义化版本。我们对重要的漏洞修复发布修订号,对新特性或不重要的变更发布次版本号,对重大且不兼容的变更发布主版本号。
每个重大更改都将记录在 changelog 中。
我们使用 Github issues 进行 bug 报告和新 feature 建议。在报告 bug 之前,请确保已经搜索过类似的 问题,因为它们可能已经得到解答或正在被修复。新问题应通过 问题助手 提交。对于 bug 报告,请包含可用于重现问题的代码。对于新 feature 建议,请指出你想要的更改以及期望的行为。
本项目使用 pnpm 进行多包管理,请在开发前准备好开发环境。
- 认领 issue: 在 github 建立 issue 并认领(或直接认领已有 issue),告知大家自己正在修复,避免重复工作。
- 项目开发:在完成开发前准备后,进行 bug 修复或功能开发。
- 添加单测:针对代码变动添加单元测试,确认测试用例通过,尽量保证一定的测试覆盖率。
- 更新快照:如果涉及到组件 dom 层级变动,类名增删或新增/删除了 Demo,快照需要重新生成更新。
- 文档生成:组件 API 存在调整时需执行
pnpm run docgen重新生成文档。 - 提交 PR
- Fork 此仓库,从
main创建分支。新功能实现请发 pull request 到feature分支。其他更改发到main分支。
git clone git@github.com:arco-design/arco-design-vue.git- 安装
workspaces中各个包的依赖。
pnpm install- 初始化项目
pnpm run init- 启动和预览站点
pnpm run start# 启动 storybook 。 这里启动不启动都可以,官网也可以调试组件
pnpm run storybook- 对代码库进行更改。如果适用的话,请确保写了相应的测试。
- 确认执行
pnpm run test后所有的测试都是通过的。 - 提交 git commit, 请同时遵守 Commit 规范。
- 提交 pull request, 如果有对应的 issue,请进行关联。
Commit messages 请遵循conventional-changelog 标准:
<类型>[可选 范围]: <描述>
[可选 正文]
[可选 脚注]以下是 commit 类型列表:
- feat: 新特性或功能
- fix: 缺陷修复
- docs: 文档更新
- style: 代码风格或者组件样式更新
- refactor: 代码重构,不引入新功能和缺陷修复
- perf: 性能优化
- test: 单元测试
- chore: 其他不修改 src 或测试文件的提交
本仓库多包管理,包括以下packages:
web-vue: Vue组件库vue-site: Vue组件库文档站arco-vue-scripts: Vue组件库脚本arco-vue-md-loader: Vue组件库中markdown文档的webpack loaderarco-vue-site-nav: Vue组件库文档站的顶部导航栏(使用React物料)
components/componentName
├── README.zh-CN.md (注意:不要编辑这个文件,它是由脚本自动生成的)
├── README.en-US.md (注意:不要编辑这个文件,它是由脚本自动生成的)
├── TEMPLATE.md (用于生成 README 文件的模板)
├── __test__
│ ├── __snapshots__
│ │ └── demo.test.js.snap
│ ├── demo.test.ts (快照测试)
│ └── index.test.ts (单元测试)
├── __demo__ (组件演示)
│ ├── basic.md
│ └── advanced.md
├── index.tsx(组件导出)
└── style
└── index.less(组件样式)
└── index.ts (组件样式导出)
请注意: 如果进行了会影响 README 的变更(例如 API 变更),请确保运行 pnpm run docgen 来更新组件的 README。
组件库的相关操作在web-vue目录下操作.