# firesoon-cli

> 火树科技前端工程脚手架

<br />

### 安装
<br />

```
npm install @firesoon/cli --global
```
<br />

### 使用
在控制台输入firesoon即可

```
>firesoon
```
<br />

### 创建项目
目前创建项目提供四种类型的模板，以交互的形式选择合适的模板创建项目

```
>firesoon
√ 脚手架已是最新版本，创建工程。

? 选择项目模板： (Use arrow keys)
  firesoon-mobile-base-pro - 创建小程序基础模板项目
  firesoon-mobile-dva-pro - 创建小程序Dva数据流模板项目
  firesoon-web-ie8-pro - 创建web端兼容IE8浏览器模板项目
> firesoon-web-umi-pro - 创建web Umi项目模板项目

? 请输入项目名称 (quickstart): (quickstart)
? 请输入项目描述 (description): (description)
? 请输入项目版本 (1.0.0):
   create package.json
   create .editorconfig
   create .env
   create .eslintrc.js
   create .gitignore
   create .prettierignore
   create .prettierrc
   create .stylelintrc.js
   create .umirc.ts
   create public\favicon.ico
   create README.md
   create src\app.ts
   create src\assets\404.svg
   create src\assets\logo.png
   create src\components\Chart\Bar.tsx
   create src\components\Chart\index.tsx
   create src\components\Chart\Line.tsx
   create src\components\Chart\Scatter.tsx
   create src\components\TimepickerCombine\index.less
   create src\components\TimepickerCombine\index.ts
   create src\components\TimepickerCombine\Picker.tsx
   create src\ErrorRender.tsx
   create src\global.less
   create src\global.ts
   create src\icons.ts
   create src\layouts\Breadcrumb.tsx
   create src\layouts\Header.tsx
   create src\layouts\index.tsx
   create src\layouts\layout.less
   create src\layouts\Sider.tsx
   create src\models\breadcrumb.ts
   create src\models\user.ts
   create src\pages\404.tsx
   create src\pages\home\detail\index.tsx
   create src\pages\home\index.tsx
   create src\pages\Private.tsx
   create src\services\index.ts
   create src\utils\config.ts
   create src\utils\constant.ts
   create src\utils\downloadFile.ts
   create src\utils\menu.tsx
   create src\utils\request.ts
   create src\utils\utils.ts
   create tsconfig.json
   create typings.d.ts
✨ File Generate Done
```
<br />

### 使用说明
- 当控制台路径下文件夹为空时，会以当前文件夹作为工程目录创建项目；
- 当控制台路径下文件夹不为空时，会用项目名称创建文件夹，作为工程目录；
- 输入的项目名称、项目描述、项目版本，最终会写入package.json文件里面

<br />

### 扩展能力
目前脚手架仅提供了四个工程模板，当模板不能满足项目需求时，可通过扩展模板的方式提供，重新发布脚手架。本地无需重新下载脚手架，脚手架会根据版本号进行判断自动更新脚手架

<br />

### 模板说明
- **firesoon-mobile-dva-pro** 小程序Dva数据流工程模板，路径：```lib\generators\firesoon-mobile-pro\templates\dva-pro```
- **firesoon-web-ie8-pro** web端兼容IE8浏览器工程模板，路径：```lib\generators\firesoon-web-ie8-pro\templates\ie8-pro```
- **firesoon-web-umi-pro** web端Umi框架工程模板，路径：```lib\generators\firesoon-web-umi-pro\templates\umi-pro```


<br />

### 版本更新说明
- 脚手架版本为三位，以3.0.0开始。
- 第一位不变；当新增模板时，第二位递增一位；当某一个模板有更新，第三位递增一位，当前模板里面 **package-tmpl.json** 文件的版本号需要做对应的更新。
- 每次版本更新需在 ```更新记录``` 里面记录更新能容

<br />

### 更新记录
<br />

#### V 3.2.2(2024-07-09)
- 新增商保项目工程模板；

#### V 3.2.2(2024-01-10)
- 移动端模板工程更新；

#### V 3.0.7(2022-10-17)
- web端Umi框架模板升级。集成布局插件 v1.x 版本；集成埋点插件 v3.x 版本；

#### V 3.0.6(2021-10-11)
- umi模板集成@firesoon/plugin-layout内置布局插件
- umi模板新增本地mock服务及模拟应用中心数据

#### V 3.0.5(2021-10-11)
- umi模板eslint,tsconfig更新
- umi模板异常页面更新

------------------------
#### V 3.0.4(2021-10-11)
- umi模板eslint,tsconfig更新
- umi模板异常页面更新
- 优化创建项目时，检测是否存在相同文件夹;
- 去除创建项目时，package.json的name附带的```@firesoon/```;

------------------------

#### V 3.0.3(2021-10-11)
- umi模板Loading组件语义化

------------------------
#### V 3.0.2(2021-10-09)
- 小程序模板添加tsconfig.json文件
- umi模板eslint,stylelint,prettierrc配置更新
- umi模板新增部分方法
- umi模板package.json部分包的版本更新

------------------------

#### V 3.0.1(2021-10-09)
- 描述信息调整

------------------------

#### V 3.0.0(2021-10-09)
- 新增umi工程模板

------------------------


