https://github.com/chokcoco/inithusky
Install git hooks automatically.
https://github.com/chokcoco/inithusky
Last synced: about 1 month ago
JSON representation
Install git hooks automatically.
- Host: GitHub
- URL: https://github.com/chokcoco/inithusky
- Owner: chokcoco
- Created: 2020-03-18T07:11:10.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-11T03:50:19.000Z (about 5 years ago)
- Last Synced: 2025-04-22T01:03:36.675Z (about 2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/inithusky
- Size: 8.42 MB
- Stars: 5
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README

## initHusky
配置 hushy 和 lint-staged 太繁琐?安装 initHusky 一键帮你搞定。
## Feature
+ 可选自动安装 commitlint git hook,向远端 Git 仓库提交代码时,自动进行 commitlint 检测
+ 可选自动安装 eslint git hook,向远端 Git 仓库提交代码时,自动对增量 Javascript 代码进行 Eslint 检测
+ 可选自动安装 stylelint git hook,向远端 Git 仓库提交代码时,自动对增量 Css 代码进行 stylelint 检测## Installation
首先,全局安装 inithusky 指令:
```
npm install -g inithusky
```接着,便可以在任意项目的根目录下创建 Git 钩子。
## Use
进入任意项目根目录,执行 `inithusky`
```
$ inithusky
```选择你要安装的钩子,提供三种钩子:
1. commitlint(调用 husky 的 commit-msg 钩子)
2. eslint(调用 husky 的 pre-commit 钩子)
3. stylelint(调用 husky 的 pre-commit 钩子)```
$ inithusky
欢迎使用自动化 Git 钩子安装程序
? 是否需要安装 commitlint Git 钩子? Yes
? 是否需要安装 Eslint Git 钩子?(对 Javascript 代码进行风格规范检测) Yes
? 是否需要安装 Stylelint Git 钩子?(对 CSS 代码进行风格规范检测) Yes
```确定你想安装的钩子之后,
1. 将会自动修改项目根目录下的 `package.json`,添加相关依赖,添加 husky 与 lint-staged 相关配置
2. 针对 commitlint 钩子,在根目录下新增配置文件 `commitlint.config.js`
3. 针对 eslint 钩子,在根目录下新增配置文件 `.eslintrc.js` 配置文件
4. 针对 stylelint 钩子,在根目录下新增配置文件 `.stylelint.js` 配置文件
5. 根据所选钩子,自动生成 `.huskyrc.js` 配置文件,存放 husky 相关配置
6. 根据所选钩子,自动生成 `lint-staged.config.js` 配置文件,存放 lint-staged 相关配置
7. 自动安装依赖依赖安装完毕,就可以愉快的使用了。
## 注意
1. 在项目根目录执行该命令,且确保根目录下已经有了 `package.json` 文件
2. Git hooks 生效依赖于前置命令 `.git` 文件夹,确保使用该命令时,已经在根目录进行了 `git init` 初始化
3. commitlint 具体规则请看 [commitlint](https://github.com/conventional-changelog/commitlint)
4. eslint 默认采用了 eslint-airbnb 的规范,需要修改 eslint 规范可自行修改根目录下的 `.eslintrc.js` 文件
5. eslint 规范检测默认针对 `/src/*.js` 文件,需要修改生效范围,自行修改 `package.json` 下的 lint-stage 配置
6. stylelint 默认采用了 stylelint-config-standard 的规范,且兼容 SASS ,需要修改 stylelint 规范可自行修改根目录下的 `.stylelint.js` 文件
7. stylelint 规范检测默认针对 `/css/*.css` 文件,需要修改生效范围,自行修改 `package.json` 下的 lint-stage 配置
8. 只要选择了任何一个钩子的安装,将会自动生成 husky 的配置文件 `.huskyrc.js`,且如果 `package.json` 下原本存在 husky 相关配置,将会被覆盖删除,对于一些旧项目需要注意
9. 选择了安装 eslint 及 stylelint,除了自动生成 husky 的配置文件 `.huskyrc.js`,还好额外生成 lint-staged 的配置文件 `lint-staged.config.js`,且如果 `package.json` 下原本存在 lint-staged 相关配置,将会被覆盖删除,对于一些旧项目需要注意## License
MIT