@ysfe/c-gdc
Version:
命令行工具: 提供按group批量 clone gitlab repo 能力
90 lines (65 loc) • 2.85 kB
Markdown
# 开发指引
## 开发前准备
1. 工具
> 全局安装下面插件
```
yarn global add prettier
yarn global add jest
yarn global add @babel/cli
```
2. ide - vscode
- 插件 | prettier
## 1. 完善 package.json
1. 更改 `name`、`description`、`keywords`、`bin` 字段
## 2. 完善 README.md
1. 填写 `工具名`、`一句话描述`、`使用方式`、`实现方案(选填)`、`其他说明事项(选填)`
2. 根据发布版本, 添加版本说明. 格式如下:
> 由于初期版本变化可能比较频繁, 暂不以版本号作为版本区分.
```
更新日期: 2021年06月01日
更新内容:
1. xxx
2. xxx
3. ...
```
3. `使用方式` 格式
1. 安装: 提供 `yarn` or `npm` 其中一种安装方式.
2. 使用:
1. 提供命令行命令
2. 提供参数输入表 | 无参可略过
3. 介绍其他注意事项
## 3. 目录说明
```
.
|- README.md ------------------------ 项目说明
|- package.json --------------------- 项目描述
|- tsconfig.json -------------------- ts编译配置
|- babel.config.js ------------------ babel 编译配置 | 主要提供给 jest 使用, 源码本身还是走 tsc 编译.
|- prettier.config.js --------------- prettier 格式化插件配置
|- /.gitignore ---------------------- git 忽略检查目录
|- /.vscode ------------------------- vscode 配置目录
|- /bin ----------------------------- 命令行命令导出
|- cli -------------------------- 本地命令导出
|- /docs ---------------------------- 文档目录
|- dev.md ----------------------- 开发说明
|- /src ----------------------------- 源码目录
|- /__test__ -------------------- 单测目录
|- *.test.ts ---------------- 单测用例
|- index.ts --------------------- 入口
|- ...
```
## 4. 开发
1. 在 [./src/index.ts](../src/index.ts) 中, 实现 `Command` 类, 入口方法默认情况下为 `exec()`.
2. 关于控制台输入和命令行输入
1. 命令行输入:
2. 控制台输入:
3. 关于单元测试
1. 已集成 jest 单测.
2. 由于 npm 项目采用 `tsc` 直译方式, 没有通过 webpack 进行包装, 所以, 我们的单测目录位于 `./src/__test__/**`.
## 5. 注意事项
1. `dependencies` 与 `devDependencies` 的差异
- devDependencies:仅本地开发使用依赖
- dependencies:实际代码运行使用依赖
- 所以, 非在用户环境中使用的依赖, 一律使用 `yarn add [package] --dev` 方式添加
2. 我们提倡一个库只做一件事, 如果存在多种功能耦合, 尽可能的通过分包的形式, 进行解耦!
3. 考虑到项目体量的轻便性, 在这套框架内仅集成了 jest 单元测试, 包括后续, 如果不需要考虑单元测试, 也可以对单测目录及配置项进行删除.