English | 简体中文
感谢你的宝贵时间。你的贡献将使这个项目变得更好!在提交贡献之前,请务必花点时间阅读下面的入门指南。
该项目有一份 行为准则,希望参与项目的贡献者都能严格遵守。
所有工作都直接透明地在 GitHub 上进行。核心团队成员和外部贡献者的 pull requests 都需要经过相同的 review 流程。
该项目遵循语义化版本。我们对重要的漏洞修复发布修订号,对新特性或不重要的变更发布次版本号,对重大且不兼容的变更发布主版本号。
每个重大更改都将记录在 changelog 中。
我们使用 Github issues 进行 bug 报告和新 feature 建议。在报告 bug 之前,请确保已经搜索过类似的 问题,因为它们可能已经得到解答或正在被修复。新问题应通过 问题助手 提交。对于 bug 报告,请包含可用于重现问题的代码。对于新 feature 建议,请指出你想要的更改以及期望的行为。
本项目使用 Yarn 进行包管理,请在开发前准备你的 Yarn 环境。
- Fork 此仓库,从
main
创建分支。新功能实现请发 pull request 到feature
分支。其他更改发到main
分支。 - 在仓库根目录下执行
yarn run init
。 - 执行
yarn start
启动和预览站点. - 对代码库进行更改。如果适用的话,请确保写了相应的测试。
- 确认执行
yarn test
后所有的测试都是通过的。开发过程中可以用yarn test --watch TestName
来运行指定的测试。 - 如果进行了任何
props
更改(即interface.ts
文件),请不要手动更新组件下的README
文件。运行yarn docgen
会自动生成README
文件。 - 提交 git commit, 请同时遵守 Commit 规范。
- 提交 pull request, 如果有对应的 issue,请进行关联。
# 本地启动和预览站点
$ yarn dev:site
# 检查 javascript 代码规范
$ yarn eslint
# 检查 样式 代码规范
$ yarn stylelint
# 自动化生成文档
$ yarn docgen
# 格式化代码
$ yarn format
# 组件构建
$ yarn build
# 运行完整的单元测试
$ yarn test
Commit messages 请遵循conventional-changelog 标准:
<类型>[可选 范围]: <描述>
[可选 正文]
[可选 脚注]
以下是 commit 类型列表:
- feat: 新特性或功能
- fix: 缺陷修复
- docs: 文档更新
- style: 代码风格或者组件样式更新
- refactor: 代码重构,不引入新功能和缺陷修复
- perf: 性能优化
- test: 单元测试
- chore: 其他不修改 src 或测试文件的提交
components/componentName
├── README.zh-CN.md (注意:不要编辑这个文件,它是由脚本自动生成的)
├── README.en-US.md (注意:不要编辑这个文件,它是由脚本自动生成的)
├── __template__ (用于生成 README 文件的模板)
│ ├── index.en-US.md (英文模版)
│ └── index.zh-CN.md (中文模版)
├── __changelog__
│ ├── index.en-US.md (注意:不要手动编辑这个文件,它是在发版时由脚本自动生成的)
│ └── index.zh-CN.md (注意:不要手动编辑这个文件,它是在发版时由脚本自动生成的)
├── __test__
│ ├── __snapshots__
│ │ └── demo.test.js.snap
│ ├── demo.test.ts (快照测试)
│ └── index.test.ts (单元测试)
├── __demo__ (组件演示)
│ ├── basic.md
│ └── advanced.md
├── index.tsx(组件导出)
└── style
└── index.less(组件样式)
└── index.ts (组件样式导出)
__template__
目录中的模板用于通过 yarn docgen
命令生成组件的 README。它遵循以下结构:
---
file: interface (指定查找 interface 信息的位置,用于生成 props)
---
`````
组件 / 反馈
# 警告提示 Alert
向用户显示警告的信息时,通过警告提示,展现需要关注的信息。
`````
%%Content%% (演示占位符)
## API
%%Props%% (Props 占位符)
请注意: 如果进行了会影响 README 的变更(例如 props
变更),请确保运行 yarn docgen
来更新组件的 README。
__changelog__
目录中的更新日志文件是在发版时由脚本自动生成的。 请勿手动编辑这些文件。