Skip to content

Commit

Permalink
[WIP] Perfect readme (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
z825316969 authored May 31, 2021
1 parent 3f08a8a commit f2bf64a
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 7 deletions.
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,44 @@
# commitlint-wizardoc

English | [中文文档](doc/README-zh.md)

commitlint-wizardoc is a configuration package for [commitlint](https://github.com/conventional-changelog/commitlint) that contain some rules and plugins to check that your commit message conform to the `Wizardoc` convention.

## Usage

If you have never used commitlint before, you can visit [commitlint document](https://commitlint.js.org/) for more detail.

### Install

You can install `commitlint-wizardoc` using NPM and YARN as well.

```shell
# NPM
npm i commitlint-wizardoc -D
npm i commitlint-config-wizardoc -D

# YARN
yarn add commitlint-wizardoc -D
yarn add commitlint-config-wizardoc -D
```

### Configuration

Create a [commitlint](https://github.com/conventional-changelog/commitlint) config in the root path of your project, and you can extends the `wizardoc` config to do all configuration work.

For instance, create `.commitlintrc.js` that looks like:

```js
module.exports = {
// This line config will read the NPM package named "commitlint-config-wizardoc", so please make sure you have installed it before config this line.
extends: 'wizardoc'
}
extends: "wizardoc",
};
```

Now, that's all you need to do.

## Convention

The commit message should consists of four parts:

```
![Feat::scope] some sentence
^ ^ ^ ^
Expand All @@ -54,17 +62,19 @@ The commit message should consists of four parts:
- Update
- Refactor
- Move
- New
- Perf
- Doc
- Add
- Patch
- Fix
- Test
- Stub
- Chore
- `Scope`: scope of modification
- `Subject`: description of the commit
- `Subject`: description of the commit

## Override configs

You can also override `Wizardoc` config to create your own configuration as well.

```js
Expand All @@ -78,4 +88,5 @@ module.exports = {
```

## LICENSE

MIT.
96 changes: 96 additions & 0 deletions doc/README-zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# commitlint-wizardoc

[English](/README.md) | 中文文档

commitlint-wizardoc 是 [commitlint](https://github.com/conventional-changelog/commitlint) 的配置包,其中包含某些规则和插件,以检查您的提交`commit-message`是否符合 `Wizardoc` 约定。

## 用法

如果你之前没有使用过 commitlint,你可以前往[commitlint document](https://commitlint.js.org/)来查看更多详情。

### 安装

你可以使用`npm``yarn`来安装`commitlint-wizardoc`

```shell
# NPM
npm i commitlint-config-wizardoc -D

# YARN
yarn add commitlint-config-wizardoc -D
```

### 配置

在你项目的根目录下创建一个[commitlint](https://github.com/conventional-changelog/commitlint)的配置文件,你能通过`extends` `wizardoc``config`文件来完成配置。

例如,将以下代码加入到`.commitlintrc.js`文件。

```js
module.exports = {
// This line config will read the NPM package named "commitlint-config-wizardoc", so please make sure you have installed it before config this line.
extends: "wizardoc",
};
```

只需要做这些,你就可以使用`commitlint-wizardow``commit-message`的校验了。

## 规则

git 的`commit-message`由以下四部分组成:

```
![Feat::scope] some sentence
^ ^ ^ ^
| | | |
| | | |
| | | |- Subject(required)
| | |
| | |- Scope(optional)
| |
| |- Type(required)
|
|- Break change symbol(optional)
```

- `Break change symbol`:在提交破坏性更改的时候,需要使用时候用`Break change symbol`
- `Type``commit-message``Type`必须是以下类型之一。

| 规范名 | 描述 |
| -------- | -------------------------------- |
| Feat | 新增新功能 |
| Init | 新建项目时,对项目的初始化 |
| Remove | 代码的改动(删除),粒度较小 |
| Delete | 文件的改动(删除),粒度较大 |
| Update | 代码块的修改 |
| Refactor | 代码重构 |
| Move | 移动文件位置 |
| Perf | 优化相关,比如提升性能、体验 |
| Doc | 文档相关的修改 |
| Add | 规模较小的新增 |
| Patch | 增加逻辑块为了修复某一个逻辑错误 |
| Fix | 修复 bug |
| Test | 覆盖测试用例 |
| Stub | 桩代码用于临时测试 |
| Chore | 小修改,修复,一些琐碎的小事情 |

- `Scope`: 修改的模块。
- `Subject`: 提交的具体描述信息。

## 覆盖配置

你可以覆盖 `Wizardoc` 的配置,来创建自己的配置

```js
module.exports = {
extends: 'wizardoc',
rules: [
// Set the $ as the third parameter if you wanna change break symbol to $
"break-change-prefix": [2, "always", '$'],
]
}
```

## LICENSE

MIT.
3 changes: 2 additions & 1 deletion packages/commitlint-config-wizardoc/src/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ export enum CommitType {
UPDATE = "Update",
REFACTOR = "Refactor",
MOVE = "Move",
NEW = "New",
ADD = "Add",
PATCH = "Patch",
FIX = "Fix",
TEST = "Test",
STUB = "Stub",
CHORE = "Chore",
PERF = "Perf",
DOC = "Doc",
}

export const CONVERSION_MATCH_REGEX = /^(.?)\[(\w+?)(?:\:\:(\w*))?\]\s(.*)$/;

0 comments on commit f2bf64a

Please sign in to comment.