# @elora-cloud/elora-cli

一个前端打包脚手架

[github](https://github.com/Elora-Cloud/elora-cloud/packages/elora-cli)地址

[gitee](https://gitee.com/mumulx/elora-plus/tree/master/packages/elora-cli)地址

## 开始

```sh
pnpm add -D @elora-cloud/elora-cli
```

支持的功能：

* commit-lint
* changelog
* release

## commit-lint

代码提交规范

### 配置

要使用 commit-lint，您需要设置 hook`commit-msg`

使用 git hooks 管理器

要在创建提交之前对其进行 lint 提交，您可以使用 [Husky](https://typicode.github.io/husky/) 的钩子。`commit-msg`

您可以在[官方文档](https://typicode.github.io/husky/get-started.html)中找到完整的设置说明。

```sh
pnpm add -D husky
pnpm exec husky init
```

添加到`commit-msg`钩子中

```sh
echo '#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

pnpm --no-install elora commit-lint "${1}"
' > .husky/commit-msg
```

### 案例

monorepo项目例子如下:

- fix(cli): 子项目cli的changelog
- feat(ui): 子项目UI库的changelog
- fix: 全局的changelog

普通项目例子如下:

- fix: 这是提交的项目信息
- feat: 子项目UI库的changelog

支持提交的类型:

- fix：修复 bug
- feat：新特性或者新功能
- docs：文档
- perf：性能
- test：测试
- types：类型
- build：构建
- chore：杂项
- release：发布
- refactor：重构
- breaking change：破坏性变更
- Merge branch 'foo' into 'bar'

## changelog

添加changelog命令到`package.json`中

```sh
npm pkg set scripts.changelog="elora changelog"
```

运行命令

```sh
pnpm run changelog
```

等待一段时间生成`CHANGELOG.md`文件

## release

添加release命令到`package.json`中

```sh
npm pkg set scripts.release="elora release"
```

运行命令

```sh
pnpm run release
```

执行`release`命令时请确保本地文件已经全部提交git

release会顺序调用

```sh
pnpm build
elora changelog
pnpm publish
```

等功能
