nutui icon indicating copy to clipboard operation
nutui copied to clipboard

NutUI 贡献指南

Open Ymm0008 opened this issue 3 years ago • 0 comments

NutUI PR 流程规范

当社区力量逐渐变大以后,NutUI 会保持更活跃的发展态势,并兼顾组件质量和用户体验。所以为保证组件库的良性发展,减少组件库的问题,针对开发 NutUI 制定了一套 PR 流程规范,从而保证 NutUI 能发展的更好,走的更远。

1、fork 项目

NutUI 的代码 fork 到自己的仓库,然后 clone 到本地,其次添加主代码库:

// 将 fork 过来的仓库 clone 到本地
git clone https://github.com/{username}/nutui.git
cd nutui
// 添加主代码库
git remote add origin https://github.com/jdf2e/nutui.git
2、分支管理

目前 github 上长期维护2个版本,如果您在使用小程序或者 vue3 版本的组件,有新增的组件功能或者 bug 可反馈到 next 分支;如果您在使用 vue2 版本的组件库,可以将 bug 反馈到 v2 分支。

这里需要注意,为避免代码冲突造成无法合并,大家提交之前记得同步主库的代码哦~~

上一步的时候已经添加了主仓库,在这里可以使用 git rebase 来同步下代码。

// 拉取主仓库的代码
git fetch origin
// 同步对应分支的代码
git rebase origin/master
git rebase origin/next
3、NutUI PR 提交

对某个组件的修复或优化,其分为两种情况。

  1. 文档或样式的修改
  2. 组件新功能、新组件要增加对应的单元测试,并且要在 nutui-demo 项目中试用通过。
第一种情况
git add .
git commit -m "xxx"
git push

NutUI commit 规范遵从 Angular Style Commit Message Conventions,在 commit message 的时候请提前熟悉规范哦~

登录 github 在自己 fork 的仓库中进行提交。

github 操作流程-1

github 操作流程-2

github 操作流程-3

github 操作流程-4

提交完成后,会在主库的 pull requests 中看到自己的提交记录。

PR 记录

到这一步提交代码的 PR 就结束了,耐心等待开发人员的代码 review,并关注自己的邮箱哦~ 有问题会随时通知到大家的修改或优化的,如果没什么问题就直接合并到主库了。

merged

当看到这个左上角紫色的 merged 的时候说明提交的代码已经被合并到主库了。😄

第二种情况

第二种情况需要在第一种情况步骤前增加测试步骤。

1、增加单元测试,单元测试的代码就在当前组件的 tests 文件夹下,并且运行通过。

单元测试

2、增加 demo 测试,NutUI 提供一个测试仓库 nutui-demo,此仓库目的是模拟真实的使用场景,测试方法比较简单。

1. 当前 NutUI 工程中,把更改后的内容打个包
npm run build

2. 运行结束后生成 dist 文件夹

3. NutUI-demo 下载,安装依赖
npm i 

4. 把 node_modules 中 @nutui/nutui 下的 dist 文件夹用新生成的 dist 文件直接替换掉

5. 运行 nutui-demo 项目
npm run dev

6. 在 nutui-demo 中使用,按照组件 props 传参的方式直接设置就成

<template>
  <nut-searchbar v-model="val1" :clear-icon="icon1"></nut-searchbar>
  <nut-searchbar v-model="val2" :clear-icon="icon2"></nut-searchbar>
</template>

<script setup>
  import { ref } from "vue";
  const val1 = ref("哈哈哈");
  const val2 = ref("呵呵呵");
  const icon1 = "close";
  const icon2 = "图标链接";
</script>

3、对于新的功能,需要在 doc 文档表述清楚,便于开发者使用。目前每个组件的文档需要支持中英文切换,同时遵守 md 文档的语法。

文档

查看自己新增的功能或组件、文档没有问题的话,就可以重复第一种情况的步骤进行提交了。

Ymm0008 avatar Sep 16 '22 10:09 Ymm0008