English | 简体中文
感谢你的宝贵时间。你的贡献将使这个项目变得更好!在提交贡献之前,请务必花点时间阅读下面的入门指南。
该项目有一份 行为准则,希望参与项目的贡献者都能严格遵守。
所有工作都直接透明地在 GitHub
上进行。核心团队成员和外部贡献者的 pull requests
都需要经过相同的 code review
流程。
该项目遵循语义化版本。我们对重要的漏洞修复发布修订号,对新特性或不重要的变更发布次版本号,对重大且不兼容的变更发布主版本号。
我们使用 Github issues 进行 bug 报告和新 feature 建议。在报告 bug 之前,请确保已经搜索过类似的 问题,因为它们可能已经得到解答或正在被修复。对于 bug 报告,请包含可用于重现问题的代码。对于新 feature 建议,请指出你想要的更改以及期望的行为。
- Fork 此仓库,从
main
创建分支。新功能实现请发 pull request 到feature
分支。其他更改发到main
分支。 - 使用
pnpm install
安装依赖。 - 运行
pnpm run dev
对所有组件、预设、utils进行构建。 - 调试组件请运行
pnpm run play
,调试文档站点请运行pnpm run dev:docs
。 - 根据你的需求进行修改。
- 对代码库进行更改。如果适用的话,请确保写了相应的测试。
- 确认执行
pnpm run test
后所有的测试都是通过的。 - 提交 git commit, 请同时遵守 Commit 规范。
- 提交 pull request, 如果有对应的 issue,请进行关联。
我知道DX并不是很好,如果你有好的方法欢迎提交PR
使用pnpm run create:new:comp <组建名>
创建新的组件。
例如,运行pnpm run create:new:comp button
,自动创建一个名为button
组件的目录及基本的模版,并将其作为依赖添加到根目录的package.json
中。
svelte-ui
├─ components
│ ├─ Button
│ │ ├─ __test__
│ │ │ └─ button.spec.ts
│ │ ├─ package.json
│ │ ├─ src
│ │ │ ├─ index.svelte
│ │ │ ├─ index.ts
│ │ │ └─ types.ts
│ │ └─ tsconfig.json
Commit messages 请遵循conventional-changelog 标准:
<类型>[可选 范围]: <描述>
[可选 正文]
[可选 脚注]
// 例如
feat(components/Button): typing and classes
以下是 commit 类型列表:
- feat: 新特性或功能
- fix: 缺陷修复
- docs: 文档更新
- style: 代码风格或者组件样式更新
- refactor: 代码重构,不引入新功能和缺陷修复
- perf: 性能优化
- test: 单元测试
本仓库使用 pnpm
管理
component
: 组件库入口, 每一个组件都是单独的包@ikun-ui/xxxx
docs
: 组件库文档站play
: 一个svelte kit 项目,开发时使用playground
: 组件库演练场(🚧 TODO)preset
: 组件库UnoCSS
预设@ikun-ui/preset
scripts
: 组件库使用的一些工具脚本utils
: 组件库工具方法@ikun-ui/utils