如何贡献?

说明

充分展示你自己的平台, 无论你是ts小白, 还是颇有见地的大佬, 都可以:
    贡献你的代码
    观摩别人的优秀代码
    提升你的原生能力

前置知识

帮助完善该插件库, 需要一定的基础知识:
    基本的Git命令
      git branch
      git checkout
      git fetch & git diff & git merge
      git push
    基本的Ts语法
      interface
      类型注解
    基本的webpack知识
当然, 对于封装插件, 需要具备一点点进阶能力:
    面向对象基本
其它的, 会在规范要求模块中加以说明.

贡献内容

可参考ddzy
目前来说, 只囊括以下几个区块:
    business (业务相关)
    canvas (canvas特效相关)
    utility (工具方法相关)
      dom (DOM方法)
      array (数组方法)
      function (函数方法)
      number (数值方法)
      object (对象方法)
如果你已经有了明确的贡献内容, 那么just do it. 如果你暂时没有明确的目标, 那么可以参考这篇Wiki, 我来给你定目标.

具体流程

第一步: 获取

两种方式(建议使用第二种, 方便省事)
1
# 方式一
2
git clone https://github.com/ddzy/ts-utility-plugins.git
3
4
# 方式二
5
fork & git clone your.git
Copied!

第二步: 开发

开发前请仔细阅读规范要求
2.1 development
开发环境中, 由于简单的集成了webpack环境, 所以只需两步:
1. 启用ts类型检查
1
npm run check
Copied!
2. 启动开发服务器
1
npm run start
Copied!
2.2 test
5/10日更新已集成jest单测环境, 可按照以下步骤来启动.
(1): 步骤一
修改jest.config.ts, 修改testRegex条目中的ddzy\/__tests__为你自己的路径(注意: 该路径必须位于你的bucket下).
1
export default {
2
testRegex: "(/ddzy\/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)quot;,
3
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
4
};
Copied!
(2): 步骤二
编写相应的测试文件, 命名方式为:
1
*.test.ts
2
// or
3
*.spec.ts
Copied!
(3): 步骤三
启动测试服务器
1
npm run test
Copied!
2.3 product
生产环境的构建操作, 全部交由项目owner完成

规范要求

(1): 分支规范

a. 开发前
日常提交前, 牢记先同步原分支origin分支本地分支.
b. 开发中
项目有两个常驻分支:
    master
    branch/dev
日常的开发必须在branch/dev下进行, 可于其下开辟feature-*分支, 之后mergebranch/dev中即可.
c. 开发后
个人更改需提交prbranch/dev分支.

(2): 项目规范

a. 结构
关于项目结构的规范要求, 提出以下几点:
    1.
    需在src下建立bucket, 命名为你的github用户名.
    2.
    日常开发只能在你的bucket下进行.
    3.
    bucket下须有三个大区块:
      business
      canvas
      utility
下面是规范的结构图, 可参考ddzy:
project-structure-specification
b. 代码
关于coding规范, 个人风格迥异, 不作要求...
c. README
一个良好的README.md能看出你对该项目的重视、了解程度, 所以请在你的bucket下建立一个规范的README.md, 帮助别人了解你的项目:
    做了什么?
    如何去做?
可参考ddzy/README.md

(3): 提交规范

良好的commit, 既能方便查阅历史提交, 又赏心悦目, 何乐而不为?
具体请参考angular规范
想在commit中添加可爱的emoji?

注意事项

如果你的项目README.md过于冗长, 可以考虑提取至其它在线站点——GitbookVuepress都是非常不错的选择!

Q&A

待补充...
最近更新 1yr ago