Browse Source

chore: update readme.md

vben 4 years ago
parent
commit
025ee92764

+ 0 - 256
README.en-US.md

@@ -1,256 +0,0 @@
-<p align="center">
-  <a href="https://github.com/anncwb/vue-vben-admin" target="_blank">
-    <img alt="VbenAdmin Logo" width="200" src="/anncwb/vue-vben-admin/raw/main/.github/res/imgs/logo.png">
-  </a>
-</p>
-<h2 align="center">VUE VBEN ADMIN2.0</h2>
-
-[Chinese](./README.md) | **English**
-
-[CHANGELOG](CHANGELOG.en_US.md)
-
-- [Introduction](#introduction)
-- [GitHub](#github)
-  - [Thin](#thin)
-- [Preview](#preview)
-- [Documentation](#documentation)
-- [Preinstallation](#preinstallation)
-  - [Environmental requirements](#environmental-requirements)
-  - [UI framework](#ui-framework)
-  - [Icon](#icon)
-  - [Plugin](#plugin)
-  - [Suggested development environment](#suggested-development-environment)
-- [Install](#install)
-- [Usage](#usage)
-  - [Development environment](#development-environment)
-  - [Build](#build)
-  - [Format](#format)
-  - [Other](#other)
-- [Git submit specifications](#git-submit-specifications)
-- [Code contribution](#code-contribution)
-- [Finished features](#finished-features)
-- [Developing features](#developing-features)
-- [Browser support](#browser-support)
-- [Plugins](#plugins)
-
-## Introduction
-
-The project is based on the vue3 style background management system implemented by ʻant-design-vue`, `typescript`,`vue3.0`,`vite`,`tsx`,
-
-## GitHub
-
-[vue-vben-admin2.0](https://github.com/anncwb/vue-vben-admin) - `main` branch
-
-### Thin
-
-[vue-vben-admin-thin-next](https://github.com/anncwb/vben-admin-thin-next)
-
-## Preview
-
-- [2.0 preview](https://vvbin.cn/next/)
-
-- [2.0 Thin Preview](https://vvbin.cn/thin/next/)
-
-Account for test: vben/123456
-
-<p align="center">
-    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview1.png">
-    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview2.png">
-    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview3.png">
-</p>
-
-## Documentation
-
-The documentation for 2.0 hasn't started yet, it will be provided later.
-
-## Preinstallation
-
-### Environmental requirements
-
-- `Node.js`: - Version>`12.0.0` is better.
-- `yarn` > `npm` > `cnpm`: - Package management tool.
-
-### UI framework
-
-- [Tailwind CSS](https://tailwindcss.com/) - 2.0.0-beta.5 has deleted.
-- [Ant Design Vue 2.0](https://2x.antdv.com/docs/vue/introduce-cn/)
-
-### Icon
-
-- [Ant Design Vue Icon Component](https://2x.antdv.com/components/icon-cn/) - Icon which is imported on demand.
-- [Iconify](https://iconify.design) - Icon can be used [Icônes](https://icones.netlify.app/)
-- [PurgeIcons](https://github.com/antfu/purge-icons) - Icon which is used by build.
-
-### Plugin
-
-- [Vue Router Next](https://github.com/vuejs/vue-router-next)
-- [Vuex Next](https://github.com/vuejs/vuex)
-- [vuex-module-decorators](https://github.com/championswimmer/vuex-module-decorators) - vuex modular
-- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Mock plugin base on vite
-- [vue-i18n](https://github.com/intlify/vue-i18n-next) - Internationalization
-- [lodash-es](https://github.com/lodash/lodash) - JavaScript utility library
-- [axios](https://github.com/axios/axios) - Http data interaction
-- [TypeScript](https://www.typescriptlang.org/)
-
-### Suggested development environment
-
-- `Git`: - Tool of version management
-- `Visual Studio Code` - (VSCode): Latest version
-  - [VS Code Extensions](./.vscode/extensions.json)
-    - [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify)
-    - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) - Tailwind css style association
-    - [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) - Essential for vue development
-    - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - Checking script code
-    - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Code formatting
-    - [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) - Css formatting
-
-## Install
-
-```bash
-#  Make git case sensitive to file names
-git config core.ignorecase false
-
-# Pull code of the project
-git clone https://github.com/anncwb/vue-vben-admin.git vue-vben-admin-2.0
-
-cd vue-vben-admin-2.0
-
-# If you use other package management tool, you can install it by yourself
-#  if you hasn't install yarn, please run: npm install -g yarn
-yarn install
-
-```
-
-## Usage
-
-### Development environment
-
-```bash
-yarn serve
-```
-
-### Build
-
-```bash
-
-yarn build # build
-
-yarn build:no-cache # build, cache will be removed before build
-
-yarn report # Generate build package report preview
-```
-
-### Format
-
-```bash
-yarn lint:stylelint # css formatting
-
-yarn lint:prettier # js/ts code formatting
-```
-
-### Other
-
-```bash
-yarn reinstall # Remove dependencies and reinstall, supported window
-
-yarn preview # Build and preview in local
-
-yarn log # Generate CHANGELOG
-
-yarn clean:cache # Delete cache
-
-yarn clean:lib # Delete node_modules, supported window
-```
-
-## Git submit specifications
-
-- Refer to [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) specifications ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
-
-  - `feat` Add new features
-  - `fix` Fix problem/BUG
-  - `style` Code style related and doesn't affect the running result
-  - `perf` Optimization/performance improvement
-  - `refactor` Refactor
-  - `revert` Undo edit
-  - `test` Test related
-  - `docs` Documentation/notes
-  - `chore` Dependent update/scaffolding configuration modification etc
-  - `workflow` Workflow improvements
-  - `ci` Continuous integration
-  - `types` Update file of type definition
-  - `wip` Developing
-
-## Code contribution
-
-1. Fork code!
-2. Create your own branch: `git checkout -b feat/xxxx`
-3. Submit your changes: `git commit -am 'feat(function): add xxxxx'`
-4. Push your branch: `git push origin feat/xxxx`
-5. submit`pull request`
-
-## Finished features
-
-- [x] Project construction (based on vite))
-- [x] Login and exit
-- [x] Menu (can search, drag and drop and menu layout)
-- [x] Multiple tabs/breadcrumbs
-- [x] Permission management base on role
-- [x] Permission management base on background
-- [x] The separation of routing and menu settings
-- [x] Collapsible sidebar
-- [x] Draggable sidebar
-- [x] Multi-tab mode/global control
-- [x] Menu search
-- [x] Page loading
-- [x] Scroll bar component
-- [x] Pop-up window expansion (dragable, full screen, adaptive height)
-- [x] Mock data
-- [x] hook Package
-- [x] Form component
-- [x] Right-click menu
-- [x] Watermark plugin
-- [x] Animation component
-- [x] QR code plugin
-- [x] Internationalization plugin
-- [x] Details component
-- [x] Validation component
-- [x] Tree component
-- [x] Picture preview component
-- [x] Table component
-- [x] Chart library
-- [x] Digital animation
-- [x] First screen loading waiting animation
-- [x] Extract the production environment profile
-- [x] Build Gzip
-- [x] System performance optimization
-- [x] Data import and export
-- [x] Global error handling
-- [x] Rich text component
-- [x] Upload component
-
-## Developing features
-
-- [ ] Theme configuration
-- [ ] Dark theme
-- [ ] Build CDN
-
-If you have more components/functions/suggestions/bugs/, welcome to submit pr or issue.
-
-## Browser support
-
-It is recommended to use the `Chrome` browser for local development. Development in the Firefox browser is relatively slow.
-
-Support modern browsers, Not currently supported ie11,Follow-up consideration support ie11
-
-| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
-| :-: | :-: | :-: | :-: | :-: |
-| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
-
-More browsers can view [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
-
-## Plugins
-
-If these plugins are helpful to you, you can give a star
-
-- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock)
-- [vite-plugin-html](https://github.com/anncwb/vite-plugin-html)

+ 174 - 185
README.md

@@ -1,58 +1,57 @@
 <p align="center">
   <a href="https://github.com/anncwb/vue-vben-admin" target="_blank">
-    <img alt="VbenAdmin Logo" width="200" src="./.github/res/imgs/logo.png">
+    <img alt="VbenAdmin Logo" width="200" src="/anncwb/vue-vben-admin/raw/main/.github/res/imgs/logo.png">
   </a>
 </p>
 <h2 align="center">VUE VBEN ADMIN2.0</h2>
 
-**中文** | [English](./README.en-US.md)
-
-[更新日志](CHANGELOG.zh_CN.md)
-
-- [介绍](#介绍)
-- [gitHub 地址](#github-地址)
-  - [精简版地址](#精简版地址)
-- [预览地址](#预览地址)
-- [文档](#文档)
-- [预安装](#预安装)
-  - [环境要求](#环境要求)
-  - [UI 框架](#ui-框架)
-  - [图标](#图标)
-  - [插件](#插件)
-  - [建议开发环境](#建议开发环境)
-- [安装](#安装)
-- [使用](#使用)
-  - [开发环境](#开发环境)
-  - [打包](#打包)
-  - [格式化](#格式化)
-  - [其他](#其他)
-- [Git 提交规范](#git-提交规范)
-- [代码贡献](#代码贡献)
-- [已完成功能](#已完成功能)
-- [正在开发的功能](#正在开发的功能)
-- [浏览器支持](#浏览器支持)
-- [插件](#插件-1)
-- [加入我们](#加入我们)
-
-## 介绍
-
-项目基于`ant-design-vue`,`typescript`,`vue3.0`,`vite`,`tsx`实现的 vue3 风格的后台管理系统,
-
-## gitHub 地址
-
-[vue-vben-admin2.0](https://github.com/anncwb/vue-vben-admin) - `main` 分支
-
-### 精简版地址
+[Chinese](./README.zh-CN.md) | **English**
+
+[CHANGELOG](CHANGELOG.en_US.md)
+
+- [Introduction](#introduction)
+- [GitHub](#github)
+  - [Thin](#thin)
+- [Preview](#preview)
+- [Documentation](#documentation)
+- [Preinstallation](#preinstallation)
+  - [Environmental requirements](#environmental-requirements)
+  - [UI framework](#ui-framework)
+  - [Icon](#icon)
+  - [Plugin](#plugin)
+  - [Suggested development environment](#suggested-development-environment)
+- [Install](#install)
+- [Usage](#usage)
+  - [Development environment](#development-environment)
+  - [Build](#build)
+  - [Format](#format)
+  - [Other](#other)
+- [Git submit specifications](#git-submit-specifications)
+- [Code contribution](#code-contribution)
+- [Finished features](#finished-features)
+- [Developing features](#developing-features)
+- [Browser support](#browser-support)
+- [Plugins](#plugins)
+
+## Introduction
+
+The project is based on the vue3 style background management system implemented by ʻant-design-vue`, `typescript`,`vue3.0`,`vite`,`tsx`,
+
+## GitHub
+
+[vue-vben-admin2.0](https://github.com/anncwb/vue-vben-admin) - `main` branch
+
+### Thin
 
 [vue-vben-admin-thin-next](https://github.com/anncwb/vben-admin-thin-next)
 
-## 预览地址
+## Preview
 
-- [2.0 在线预览](https://vvbin.cn/next/)
+- [2.0 preview](https://vvbin.cn/next/)
 
-- [2.0 精简版 在线预览](https://vvbin.cn/thin/next/)
+- [2.0 Thin Preview](https://vvbin.cn/thin/next/)
 
-测试账号: vben/123456
+Account for test: vben/123456
 
 <p align="center">
     <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview1.png">
@@ -60,209 +59,199 @@
     <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview3.png">
 </p>
 
-## 文档
+## Documentation
 
-[文档地址,持续更新中。。,](https://vvbin.cn/doc-next/)
+The documentation for 2.0 hasn't started yet, it will be provided later.
 
-## 预安装
+## Preinstallation
 
-### 环境要求
+### Environmental requirements
 
-- `Node.js`: - 版本最好大于 `12.0.0`
-- `yarn` : - 包管理工具.
+- `Node.js`: - Version>`12.0.0` is better.
+- `yarn` > `npm` > `cnpm`: - Package management tool.
 
-### UI 框架
+### UI framework
 
-- [Tailwind CSS](https://tailwindcss.com/) - 2.0.0-beta.5 已删除
+- [Tailwind CSS](https://tailwindcss.com/) - 2.0.0-beta.5 has deleted.
 - [Ant Design Vue 2.0](https://2x.antdv.com/docs/vue/introduce-cn/)
 
-### 图标
+### Icon
 
-- [Ant Design Vue Icon Component](https://2x.antdv.com/components/icon-cn/) - 按需引入所需图标.
-- [Iconify](https://iconify.design) - 使用任何图标集中的图标 [Icônes](https://icones.netlify.app/)
-- [PurgeIcons](https://github.com/antfu/purge-icons) - 仅打包所使用到的图标.
+- [Ant Design Vue Icon Component](https://2x.antdv.com/components/icon-cn/) - Icon which is imported on demand.
+- [Iconify](https://iconify.design) - Icon can be used [Icônes](https://icones.netlify.app/)
+- [PurgeIcons](https://github.com/antfu/purge-icons) - Icon which is used by build.
 
-### 插件
+### Plugin
 
 - [Vue Router Next](https://github.com/vuejs/vue-router-next)
 - [Vuex Next](https://github.com/vuejs/vuex)
-- [vuex-module-decorators](https://github.com/championswimmer/vuex-module-decorators) - vuex 模块化
-- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 基于 vite 的 mock 插件.
-- [vue-i18n](https://github.com/intlify/vue-i18n-next) - 国际化
-- [lodash-es](https://github.com/lodash/lodash) - JavaScript 实用程序库
-- [axios](https://github.com/axios/axios) - Http 数据交互
+- [vuex-module-decorators](https://github.com/championswimmer/vuex-module-decorators) - vuex modular
+- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Mock plugin base on vite
+- [vue-i18n](https://github.com/intlify/vue-i18n-next) - Internationalization
+- [lodash-es](https://github.com/lodash/lodash) - JavaScript utility library
+- [axios](https://github.com/axios/axios) - Http data interaction
 - [TypeScript](https://www.typescriptlang.org/)
 
-### 建议开发环境
+### Suggested development environment
 
-- `Git`: - 版本管理工具
-- `Visual Studio Code` - (VSCode): 最新版本
+- `Git`: - Tool of version management
+- `Visual Studio Code` - (VSCode): Latest version
   - [VS Code Extensions](./.vscode/extensions.json)
     - [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify)
-    - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) - Tailwind Css 样式联想
-    - [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) - vue 开发必备
-    - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - 脚本代码检查
-    - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - 代码格式化
-    - [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) - css 格式化
+    - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) - Tailwind css style association
+    - [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) - Essential for vue development
+    - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - Checking script code
+    - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Code formatting
+    - [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) - Css formatting
 
-## 安装
+## Install
 
-```js
-//  使git对文件名大小写敏感
+```bash
+#  Make git case sensitive to file names
 git config core.ignorecase false
 
-// 拉取项目代码
-
+# Pull code of the project
 git clone https://github.com/anncwb/vue-vben-admin.git vue-vben-admin-2.0
 
 cd vue-vben-admin-2.0
 
-// 如果使用别的包管理工具,可以自行安装
-// 如果未安装yarn,请运行:npm install -g yarn
+# If you use other package management tool, you can install it by yourself
+#  if you hasn't install yarn, please run: npm install -g yarn
 yarn install
 
 ```
 
-## 使用
+## Usage
 
-### 开发环境
+### Development environment
 
 ```bash
 yarn serve
 ```
 
-### 打包
+### Build
 
 ```bash
 
-yarn build # 打包
+yarn build # build
 
-yarn build:no-cache # 打包,执行之前会先删除缓存
+yarn build:no-cache # build, cache will be removed before build
 
-yarn report # 生成构建包报表预览
+yarn report # Generate build package report preview
 ```
 
-### 格式化
+### Format
 
 ```bash
-yarn lint:stylelint # 样式格式化
+yarn lint:stylelint # css formatting
 
-yarn lint:prettier # js/ts代码格式化
+yarn lint:prettier # js/ts code formatting
 ```
 
-### 其他
+### Other
 
 ```bash
-yarn reinstall # 删除依赖重新装,兼容window
+yarn reinstall # Remove dependencies and reinstall, supported window
 
-yarn preview # 本地进行打包预览
+yarn preview # Build and preview in local
 
-yarn log # 生成CHANGELOG
+yarn log # Generate CHANGELOG
 
-yarn clean:cache # 删除缓存
+yarn clean:cache # Delete cache
 
-yarn clean:lib # 删除node_modules,兼容window系统
+yarn clean:lib # Delete node_modules, supported window
 ```
 
-## Git 提交规范
-
-- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
-
-  - `feat` 增加新功能
-  - `fix` 修复问题/BUG
-  - `style` 代码风格相关无影响运行结果的
-  - `perf` 优化/性能提升
-  - `refactor` 重构
-  - `revert` 撤销修改
-  - `test` 测试相关
-  - `docs` 文档/注释
-  - `chore` 依赖更新/脚手架配置修改等
-  - `workflow` 工作流改进
-  - `ci` 持续集成
-  - `types` 类型定义文件更改
-  - `wip` 开发中
-
-## 代码贡献
-
-1. Fork 代码!
-2. 创建自己的分支: `git checkout -b feat/xxxx`
-3. 提交你的修改: `git commit -am 'feat(function): add xxxxx'`
-4. 推送您的分支: `git push origin feat/xxxx`
-5. 提交`pull request`
-
-## 已完成功能
-
-- [x] 项目搭建(基于 vite)
-- [x] 登录和注销
-- [x] 菜单(可以搜索及拖拽以及菜单布局)
-- [x] 多标签页/面包屑
-- [x] 基于角色的权限管理
-- [x] 基于后台的权限管理
-- [x] 分离的路由和菜单设置
-- [x] 可折叠侧边栏
-- [x] 可拖拽侧边栏
-- [x] 多标签页模式/全局控制
-- [x] 菜单搜索
-- [x] 页面加载 loading
-- [x] 滚动条组件
-- [x] 弹窗扩展(可拖拽,全屏,自适应高度)
-- [x] 模拟数据
-- [x] hook 封装
-- [x] 表单组件
-- [x] 右键菜单
-- [x] 水印插件
-- [x] 动画组件
-- [x] 二维码插件
-- [x] 国际化插件
-- [x] 详情组件
-- [x] 验证组件
-- [x] 树组件
-- [x] 图片预览组件
-- [x] 表格组件
-- [x] 图表库
-- [x] 数字动画
-- [x] 首屏加载等待动画
-- [x] 抽取生产环境配置文件
-- [x] 打包 Gzip
-- [x] 数据导入导出
-- [x] 系统性能优化
-- [x] 全局错误处理
-- [x] 富文本组件
-- [x] 上传组件
-
-## 正在开发的功能
-
-- [ ] 新分支全局国家化
-- [ ] 示例 page 页面
-- [ ] 主题配置
-- [ ] 黑暗主题
-- [ ] 打包 CDN
-
-更多组件/功能/建议/bug/欢迎提交 pr 或者 issue
-
-## 浏览器支持
-
-本地开发推荐使用`Chrome`浏览器,在火狐浏览器进行开发相对卡顿。
-
-支持现代浏览器, IE 暂不支持,后续考虑支持 ie11
+## Git submit specifications
+
+- Refer to [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) specifications ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
+
+  - `feat` Add new features
+  - `fix` Fix problem/BUG
+  - `style` Code style related and doesn't affect the running result
+  - `perf` Optimization/performance improvement
+  - `refactor` Refactor
+  - `revert` Undo edit
+  - `test` Test related
+  - `docs` Documentation/notes
+  - `chore` Dependent update/scaffolding configuration modification etc
+  - `workflow` Workflow improvements
+  - `ci` Continuous integration
+  - `types` Update file of type definition
+  - `wip` Developing
+
+## Code contribution
+
+1. Fork code!
+2. Create your own branch: `git checkout -b feat/xxxx`
+3. Submit your changes: `git commit -am 'feat(function): add xxxxx'`
+4. Push your branch: `git push origin feat/xxxx`
+5. submit`pull request`
+
+## Finished features
+
+- [x] Project construction (based on vite))
+- [x] Login and exit
+- [x] Menu (can search, drag and drop and menu layout)
+- [x] Multiple tabs/breadcrumbs
+- [x] Permission management base on role
+- [x] Permission management base on background
+- [x] The separation of routing and menu settings
+- [x] Collapsible sidebar
+- [x] Draggable sidebar
+- [x] Multi-tab mode/global control
+- [x] Menu search
+- [x] Page loading
+- [x] Scroll bar component
+- [x] Pop-up window expansion (dragable, full screen, adaptive height)
+- [x] Mock data
+- [x] hook Package
+- [x] Form component
+- [x] Right-click menu
+- [x] Watermark plugin
+- [x] Animation component
+- [x] QR code plugin
+- [x] Internationalization plugin
+- [x] Details component
+- [x] Validation component
+- [x] Tree component
+- [x] Picture preview component
+- [x] Table component
+- [x] Chart library
+- [x] Digital animation
+- [x] First screen loading waiting animation
+- [x] Extract the production environment profile
+- [x] Build Gzip
+- [x] System performance optimization
+- [x] Data import and export
+- [x] Global error handling
+- [x] Rich text component
+- [x] Upload component
+
+## Developing features
+
+- [ ] Theme configuration
+- [ ] Dark theme
+- [ ] Build CDN
+
+If you have more components/functions/suggestions/bugs/, welcome to submit pr or issue.
+
+## Browser support
+
+It is recommended to use the `Chrome` browser for local development. Development in the Firefox browser is relatively slow.
+
+Support modern browsers, Not currently supported ie11,Follow-up consideration support ie11
 
 | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
 | :-: | :-: | :-: | :-: | :-: |
 | not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
 
-更多浏览器可以查看 [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
-
-## 插件
-
-如果这些插件对你有帮助,可以给一个 star 支持下
-
-- [vite-plugin-mock](https://github.com/vbenjs/vite-plugin-mock)
-- [vite-plugin-html](https://github.com/vbenjs/vite-plugin-html)
-
-## 加入我们
+More browsers can view [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
 
-`Vue-Vben-Aadmin` 是完全开源免费的项目,在帮助开发者更方便地进行中大型管理系统开发,同时也提供 QQ 交流群(项目刚起步,人数较少,有兴趣的可以加群一起讨论),使用问题欢迎在群内提问。
+## Plugins
 
-- QQ 群 `569291866`
+If these plugins are helpful to you, you can give a star
 
- <img alt="VbenAdmin Logo" width="100" src="./.github/res/imgs/qq.jpeg">
+- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock)
+- [vite-plugin-html](https://github.com/anncwb/vite-plugin-html)
+- [vite-plugin-style-import](https://github.com/vbenjs/vite-plugin-style-import)

+ 268 - 0
README.zh-CN.md

@@ -0,0 +1,268 @@
+<p align="center">
+  <a href="https://github.com/anncwb/vue-vben-admin" target="_blank">
+    <img alt="VbenAdmin Logo" width="200" src="./.github/res/imgs/logo.png">
+  </a>
+</p>
+<h2 align="center">VUE VBEN ADMIN2.0</h2>
+
+**中文** | [English](./README.md)
+
+[更新日志](CHANGELOG.zh_CN.md)
+
+- [介绍](#介绍)
+- [gitHub 地址](#github-地址)
+  - [精简版地址](#精简版地址)
+- [预览地址](#预览地址)
+- [文档](#文档)
+- [预安装](#预安装)
+  - [环境要求](#环境要求)
+  - [UI 框架](#ui-框架)
+  - [图标](#图标)
+  - [插件](#插件)
+  - [建议开发环境](#建议开发环境)
+- [安装](#安装)
+- [使用](#使用)
+  - [开发环境](#开发环境)
+  - [打包](#打包)
+  - [格式化](#格式化)
+  - [其他](#其他)
+- [Git 提交规范](#git-提交规范)
+- [代码贡献](#代码贡献)
+- [已完成功能](#已完成功能)
+- [正在开发的功能](#正在开发的功能)
+- [浏览器支持](#浏览器支持)
+- [插件](#插件-1)
+- [加入我们](#加入我们)
+
+## 介绍
+
+项目基于`ant-design-vue`,`typescript`,`vue3.0`,`vite`,`tsx`实现的 vue3 风格的后台管理系统,
+
+## gitHub 地址
+
+[vue-vben-admin2.0](https://github.com/anncwb/vue-vben-admin) - `main` 分支
+
+### 精简版地址
+
+[vue-vben-admin-thin-next](https://github.com/anncwb/vben-admin-thin-next)
+
+## 预览地址
+
+- [2.0 在线预览](https://vvbin.cn/next/)
+
+- [2.0 精简版 在线预览](https://vvbin.cn/thin/next/)
+
+测试账号: vben/123456
+
+<p align="center">
+    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview1.png">
+    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview2.png">
+    <img alt="VbenAdmin Logo" width="100%" src="./.github/res/imgs/preview3.png">
+</p>
+
+## 文档
+
+[文档地址,持续更新中。。,](https://vvbin.cn/doc-next/)
+
+## 预安装
+
+### 环境要求
+
+- `Node.js`: - 版本最好大于 `12.0.0`
+- `yarn` : - 包管理工具.
+
+### UI 框架
+
+- [Tailwind CSS](https://tailwindcss.com/) - 2.0.0-beta.5 已删除
+- [Ant Design Vue 2.0](https://2x.antdv.com/docs/vue/introduce-cn/)
+
+### 图标
+
+- [Ant Design Vue Icon Component](https://2x.antdv.com/components/icon-cn/) - 按需引入所需图标.
+- [Iconify](https://iconify.design) - 使用任何图标集中的图标 [Icônes](https://icones.netlify.app/)
+- [PurgeIcons](https://github.com/antfu/purge-icons) - 仅打包所使用到的图标.
+
+### 插件
+
+- [Vue Router Next](https://github.com/vuejs/vue-router-next)
+- [Vuex Next](https://github.com/vuejs/vuex)
+- [vuex-module-decorators](https://github.com/championswimmer/vuex-module-decorators) - vuex 模块化
+- [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 基于 vite 的 mock 插件.
+- [vue-i18n](https://github.com/intlify/vue-i18n-next) - 国际化
+- [lodash-es](https://github.com/lodash/lodash) - JavaScript 实用程序库
+- [axios](https://github.com/axios/axios) - Http 数据交互
+- [TypeScript](https://www.typescriptlang.org/)
+
+### 建议开发环境
+
+- `Git`: - 版本管理工具
+- `Visual Studio Code` - (VSCode): 最新版本
+  - [VS Code Extensions](./.vscode/extensions.json)
+    - [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify)
+    - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) - Tailwind Css 样式联想
+    - [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) - vue 开发必备
+    - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - 脚本代码检查
+    - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - 代码格式化
+    - [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) - css 格式化
+
+## 安装
+
+```js
+//  使git对文件名大小写敏感
+git config core.ignorecase false
+
+// 拉取项目代码
+
+git clone https://github.com/anncwb/vue-vben-admin.git vue-vben-admin-2.0
+
+cd vue-vben-admin-2.0
+
+// 如果使用别的包管理工具,可以自行安装
+// 如果未安装yarn,请运行:npm install -g yarn
+yarn install
+
+```
+
+## 使用
+
+### 开发环境
+
+```bash
+yarn serve
+```
+
+### 打包
+
+```bash
+
+yarn build # 打包
+
+yarn build:no-cache # 打包,执行之前会先删除缓存
+
+yarn report # 生成构建包报表预览
+```
+
+### 格式化
+
+```bash
+yarn lint:stylelint # 样式格式化
+
+yarn lint:prettier # js/ts代码格式化
+```
+
+### 其他
+
+```bash
+yarn reinstall # 删除依赖重新装,兼容window
+
+yarn preview # 本地进行打包预览
+
+yarn log # 生成CHANGELOG
+
+yarn clean:cache # 删除缓存
+
+yarn clean:lib # 删除node_modules,兼容window系统
+```
+
+## Git 提交规范
+
+- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular))
+
+  - `feat` 增加新功能
+  - `fix` 修复问题/BUG
+  - `style` 代码风格相关无影响运行结果的
+  - `perf` 优化/性能提升
+  - `refactor` 重构
+  - `revert` 撤销修改
+  - `test` 测试相关
+  - `docs` 文档/注释
+  - `chore` 依赖更新/脚手架配置修改等
+  - `workflow` 工作流改进
+  - `ci` 持续集成
+  - `types` 类型定义文件更改
+  - `wip` 开发中
+
+## 代码贡献
+
+1. Fork 代码!
+2. 创建自己的分支: `git checkout -b feat/xxxx`
+3. 提交你的修改: `git commit -am 'feat(function): add xxxxx'`
+4. 推送您的分支: `git push origin feat/xxxx`
+5. 提交`pull request`
+
+## 已完成功能
+
+- [x] 项目搭建(基于 vite)
+- [x] 登录和注销
+- [x] 菜单(可以搜索及拖拽以及菜单布局)
+- [x] 多标签页/面包屑
+- [x] 基于角色的权限管理
+- [x] 基于后台的权限管理
+- [x] 分离的路由和菜单设置
+- [x] 可折叠侧边栏
+- [x] 可拖拽侧边栏
+- [x] 多标签页模式/全局控制
+- [x] 菜单搜索
+- [x] 页面加载 loading
+- [x] 滚动条组件
+- [x] 弹窗扩展(可拖拽,全屏,自适应高度)
+- [x] 模拟数据
+- [x] hook 封装
+- [x] 表单组件
+- [x] 右键菜单
+- [x] 水印插件
+- [x] 动画组件
+- [x] 二维码插件
+- [x] 国际化插件
+- [x] 详情组件
+- [x] 验证组件
+- [x] 树组件
+- [x] 图片预览组件
+- [x] 表格组件
+- [x] 图表库
+- [x] 数字动画
+- [x] 首屏加载等待动画
+- [x] 抽取生产环境配置文件
+- [x] 打包 Gzip
+- [x] 数据导入导出
+- [x] 系统性能优化
+- [x] 全局错误处理
+- [x] 富文本组件
+- [x] 上传组件
+- [x] 多语言支持
+
+## 正在开发的功能
+
+- [ ] 主题配置
+- [ ] 黑暗主题
+- [ ] 打包 CDN
+
+更多组件/功能/建议/bug/欢迎提交 pr 或者 issue
+
+## 浏览器支持
+
+本地开发推荐使用`Chrome`浏览器,在火狐浏览器进行开发相对卡顿。
+
+支持现代浏览器, IE 暂不支持,后续考虑支持 ie11
+
+| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt=" Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
+| :-: | :-: | :-: | :-: | :-: |
+| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
+
+更多浏览器可以查看 [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
+
+## 插件
+
+如果这些插件对你有帮助,可以给一个 star 支持下
+
+- [vite-plugin-mock](https://github.com/vbenjs/vite-plugin-mock)
+- [vite-plugin-html](https://github.com/vbenjs/vite-plugin-html)
+- [vite-plugin-style-import](https://github.com/vbenjs/vite-plugin-style-import)
+
+## 加入我们
+
+`Vue-Vben-Aadmin` 是完全开源免费的项目,在帮助开发者更方便地进行中大型管理系统开发,同时也提供 QQ 交流群(项目刚起步,人数较少,有兴趣的可以加群一起讨论),使用问题欢迎在群内提问。
+
+- QQ 群 `569291866`
+
+ <img alt="VbenAdmin Logo" width="100" src="./.github/res/imgs/qq.jpeg">

+ 1 - 0
package.json

@@ -82,6 +82,7 @@
     "esno": "^0.4.0",
     "fs-extra": "^9.0.1",
     "husky": "^4.3.8",
+    "koa": "^2.13.1",
     "koa-static": "^5.0.0",
     "less": "^4.1.0",
     "lint-staged": "^10.5.3",

+ 0 - 4
prettier.config.js

@@ -1,7 +1,3 @@
-/*
- * @Author: Vben
- * @Description:
- */
 module.exports = {
   printWidth: 100,
   tabWidth: 2,

+ 1 - 1
src/components/SimpleMenu/src/SimpleSubMenu.vue

@@ -10,7 +10,7 @@
       {{ getI18nName }}
     </div>
     <template #title>
-      <span :class="['ml-2']">
+      <span :class="['ml-2', `${prefixCls}-sub-title`]">
         {{ getI18nName }}
       </span>
       <SimpleMenuTag :item="item" :collapseParent="getIsCollapseParent" />

+ 0 - 1
src/components/SimpleMenu/src/components/Menu.vue

@@ -22,7 +22,6 @@
   import { propTypes } from '/@/utils/propTypes';
   import { createSimpleRootMenuContext } from './useSimpleMenuContext';
   import Mitt from '/@/utils/mitt';
-  import { isString } from '/@/utils/is';
   export default defineComponent({
     name: 'Menu',
     props: {

+ 1 - 2
src/components/SimpleMenu/src/components/menu.less

@@ -2,8 +2,6 @@
 @menu-popup-prefix-cls: ~'@{namespace}-menu-popup';
 @submenu-popup-prefix-cls: ~'@{namespace}-menu-submenu-popup';
 
-// @menu-dark: #191a23;
-// @menu-dark-active-bg: #101117;
 @transition-time: 0.2s;
 @menu-dark-subsidiary-color: rgba(255, 255, 255, 0.7);
 
@@ -167,6 +165,7 @@
       z-index: 1;
       padding: 12px 24px;
       cursor: pointer;
+      .text-truncate();
       // transition: all @transition-time @ease-in-out;
 
       &:hover {

+ 6 - 0
src/components/SimpleMenu/src/index.less

@@ -19,10 +19,16 @@
 
   .collapse-title {
     font-size: 12px;
+    .text-truncate();
   }
 }
 
 .@{simple-prefix-cls} {
+  &-sub-title {
+    transition: all 0.3s;
+    .text-truncate();
+  }
+
   &-tag {
     position: absolute;
     top: calc(50% - 10px);

+ 1 - 1
tsconfig.json

@@ -1,6 +1,6 @@
 {
   "compilerOptions": {
-    "target": "es2016",
+    "target": "esnext",
     "module": "esnext",
     "moduleResolution": "node",
     "strict": true,

+ 6 - 1
vite.config.ts

@@ -55,7 +55,12 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
         },
       },
       commonjsOptions: {
-        ignore: ['fs', 'crypto', 'stream'],
+        ignore: [
+          // xlsx
+          'fs',
+          'crypto',
+          'stream',
+        ],
       },
     },
     define: {

+ 199 - 14
yarn.lock

@@ -2128,6 +2128,14 @@ JSONStream@^1.0.4:
     jsonparse "^1.2.0"
     through ">=2.2.7 <3"
 
+accepts@^1.3.5:
+  version "1.3.7"
+  resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+  dependencies:
+    mime-types "~2.1.24"
+    negotiator "0.6.2"
+
 acorn-jsx@^5.2.0, acorn-jsx@^5.3.1:
   version "5.3.1"
   resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
@@ -2245,7 +2253,7 @@ ant-design-vue@^2.0.0-rc.8:
     vue-types "^3.0.0"
     warning "^4.0.0"
 
-any-promise@^1.0.0:
+any-promise@^1.0.0, any-promise@^1.1.0:
   version "1.3.0"
   resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
   integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
@@ -2571,6 +2579,14 @@ cache-base@^1.0.1:
     union-value "^1.0.0"
     unset-value "^1.0.0"
 
+cache-content-type@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c"
+  integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==
+  dependencies:
+    mime-types "^2.1.18"
+    ylru "^1.2.0"
+
 cachedir@2.2.0:
   version "2.2.0"
   resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz#19afa4305e05d79e417566882e0c8f960f62ff0e"
@@ -2841,6 +2857,11 @@ clone-regexp@^2.1.0:
   dependencies:
     is-regexp "^2.0.0"
 
+co@^4.6.0:
+  version "4.6.0"
+  resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+  integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
+
 codepage@~1.14.0:
   version "1.14.0"
   resolved "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99"
@@ -3015,7 +3036,14 @@ constant-case@^3.0.4:
     tslib "^2.0.3"
     upper-case "^2.0.2"
 
-content-type@~1.0.4:
+content-disposition@~0.5.2:
+  version "0.5.3"
+  resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+  integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+  dependencies:
+    safe-buffer "5.1.2"
+
+content-type@^1.0.4, content-type@~1.0.4:
   version "1.0.4"
   resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
   integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
@@ -3200,6 +3228,14 @@ cookie@^0.4.1:
   resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
   integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
 
+cookies@~0.8.0:
+  version "0.8.0"
+  resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"
+  integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==
+  dependencies:
+    depd "~2.0.0"
+    keygrip "~1.1.0"
+
 copy-anything@^2.0.1:
   version "2.0.1"
   resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz#2afbce6da684bdfcbec93752fa762819cb480d9a"
@@ -3392,6 +3428,13 @@ debug@^4.3.2:
   dependencies:
     ms "2.1.2"
 
+debug@~3.1.0:
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+  integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+  dependencies:
+    ms "2.0.0"
+
 decamelize-keys@^1.0.0, decamelize-keys@^1.1.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"
@@ -3415,6 +3458,11 @@ dedent@0.7.0, dedent@^0.7.0:
   resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
   integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
 
+deep-equal@~1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
+  integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=
+
 deep-is@^0.1.3:
   version "0.1.3"
   resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -3454,11 +3502,26 @@ define-property@^2.0.2:
     is-descriptor "^1.0.2"
     isobject "^3.0.1"
 
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+depd@^2.0.0, depd@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
 depd@~1.1.2:
   version "1.1.2"
   resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
   integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
 
+destroy@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
 detect-file@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
@@ -3610,7 +3673,7 @@ emojis-list@^3.0.0:
   resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
   integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
 
-encodeurl@~1.0.2:
+encodeurl@^1.0.2, encodeurl@~1.0.2:
   version "1.0.2"
   resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
   integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
@@ -3678,7 +3741,7 @@ escalade@^3.1.1:
   resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
   integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
 
-escape-html@~1.0.3:
+escape-html@^1.0.3, escape-html@~1.0.3:
   version "1.0.3"
   resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
   integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
@@ -4153,6 +4216,11 @@ fragment-cache@^0.2.1:
   dependencies:
     map-cache "^0.2.2"
 
+fresh@~0.5.2:
+  version "0.5.2"
+  resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+  integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
 fs-extra@8.1.0:
   version "8.1.0"
   resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
@@ -4558,6 +4626,14 @@ htmlparser2@^3.10.0:
     inherits "^2.0.1"
     readable-stream "^3.1.1"
 
+http-assert@^1.3.0:
+  version "1.4.1"
+  resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"
+  integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==
+  dependencies:
+    deep-equal "~1.0.1"
+    http-errors "~1.7.2"
+
 http-errors@1.7.2:
   version "1.7.2"
   resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
@@ -4569,7 +4645,7 @@ http-errors@1.7.2:
     statuses ">= 1.5.0 < 2"
     toidentifier "1.0.0"
 
-http-errors@^1.7.3:
+http-errors@^1.6.3, http-errors@^1.7.3:
   version "1.8.0"
   resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"
   integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==
@@ -4590,6 +4666,17 @@ http-errors@~1.6.2:
     setprototypeof "1.1.0"
     statuses ">= 1.4.0 < 2"
 
+http-errors@~1.7.2:
+  version "1.7.3"
+  resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+  integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+  dependencies:
+    depd "~1.1.2"
+    inherits "2.0.4"
+    setprototypeof "1.1.1"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.0"
+
 https-proxy-agent@^5.0.0:
   version "5.0.0"
   resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
@@ -4875,6 +4962,11 @@ is-fullwidth-code-point@^3.0.0:
   resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
   integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
 
+is-generator-function@^1.0.7:
+  version "1.0.8"
+  resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"
+  integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==
+
 is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
   version "4.0.1"
   resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
@@ -5124,6 +5216,13 @@ jsonparse@^1.2.0:
   resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
   integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
 
+keygrip@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"
+  integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==
+  dependencies:
+    tsscmp "1.0.6"
+
 kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
   version "3.2.2"
   resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
@@ -5153,6 +5252,26 @@ known-css-properties@^0.20.0:
   resolved "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.20.0.tgz#0570831661b47dd835293218381166090ff60e96"
   integrity sha512-URvsjaA9ypfreqJ2/ylDr5MUERhJZ+DhguoWRr2xgS5C7aGCalXo+ewL+GixgKBfhT2vuL02nbIgNGqVWgTOYw==
 
+koa-compose@^3.0.0:
+  version "3.2.1"
+  resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"
+  integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=
+  dependencies:
+    any-promise "^1.1.0"
+
+koa-compose@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"
+  integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==
+
+koa-convert@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"
+  integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=
+  dependencies:
+    co "^4.6.0"
+    koa-compose "^3.0.0"
+
 koa-send@^5.0.0:
   version "5.0.1"
   resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79"
@@ -5170,6 +5289,35 @@ koa-static@^5.0.0:
     debug "^3.1.0"
     koa-send "^5.0.0"
 
+koa@^2.13.1:
+  version "2.13.1"
+  resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051"
+  integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==
+  dependencies:
+    accepts "^1.3.5"
+    cache-content-type "^1.0.0"
+    content-disposition "~0.5.2"
+    content-type "^1.0.4"
+    cookies "~0.8.0"
+    debug "~3.1.0"
+    delegates "^1.0.0"
+    depd "^2.0.0"
+    destroy "^1.0.4"
+    encodeurl "^1.0.2"
+    escape-html "^1.0.3"
+    fresh "~0.5.2"
+    http-assert "^1.3.0"
+    http-errors "^1.6.3"
+    is-generator-function "^1.0.7"
+    koa-compose "^4.1.0"
+    koa-convert "^1.2.0"
+    on-finished "^2.3.0"
+    only "~0.0.2"
+    parseurl "^1.3.2"
+    statuses "^1.5.0"
+    type-is "^1.6.16"
+    vary "^1.1.2"
+
 less@^4.1.0:
   version "4.1.0"
   resolved "https://registry.npmjs.org/less/-/less-4.1.0.tgz#a12708d1951239db1c9d7eaa405f1ebac9a75b8d"
@@ -5608,6 +5756,18 @@ mime-db@1.44.0:
   resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
   integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
 
+mime-db@1.45.0:
+  version "1.45.0"
+  resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
+  integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
+
+mime-types@^2.1.18:
+  version "2.1.28"
+  resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
+  integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
+  dependencies:
+    mime-db "1.45.0"
+
 mime-types@~2.1.24:
   version "2.1.27"
   resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
@@ -5766,6 +5926,11 @@ needle@^2.5.2:
     iconv-lite "^0.4.4"
     sax "^1.2.4"
 
+negotiator@0.6.2:
+  version "0.6.2"
+  resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
 neo-async@^2.6.0:
   version "2.6.2"
   resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
@@ -5911,7 +6076,7 @@ omit.js@^2.0.0:
   resolved "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz#dd9b8436fab947a5f3ff214cb2538631e313ec2f"
   integrity sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==
 
-on-finished@~2.3.0:
+on-finished@^2.3.0, on-finished@~2.3.0:
   version "2.3.0"
   resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
   integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
@@ -5939,6 +6104,11 @@ onetime@^5.1.0:
   dependencies:
     mimic-fn "^2.1.0"
 
+only@~0.0.2:
+  version "0.0.2"
+  resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
+  integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=
+
 open@^7.0.3:
   version "7.3.0"
   resolved "https://registry.npmjs.org/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69"
@@ -6119,7 +6289,7 @@ parse5@^6.0.1:
   resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
   integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
 
-parseurl@~1.3.3:
+parseurl@^1.3.2, parseurl@~1.3.3:
   version "1.3.3"
   resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
   integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
@@ -6940,16 +7110,16 @@ rxjs@^6.4.0, rxjs@^6.6.3:
   dependencies:
     tslib "^1.9.0"
 
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+  version "5.1.2"
+  resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
 safe-buffer@^5.1.0, safe-buffer@~5.2.0:
   version "5.2.1"
   resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
-  version "5.1.2"
-  resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
 safe-regex@^1.1.0:
   version "1.1.0"
   resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -7270,7 +7440,7 @@ static-extend@^0.1.1:
     define-property "^0.2.5"
     object-copy "^0.1.0"
 
-"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0, statuses@~1.5.0:
   version "1.5.0"
   resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
@@ -7780,6 +7950,11 @@ tslib@^2.0.3:
   resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
   integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
 
+tsscmp@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
+  integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
+
 tsutils@^3.17.1:
   version "3.17.1"
   resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
@@ -7819,7 +7994,7 @@ type-fest@^0.8.1:
   resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
   integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
 
-type-is@~1.6.17:
+type-is@^1.6.16, type-is@~1.6.17:
   version "1.6.18"
   resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
   integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
@@ -8017,6 +8192,11 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
+vary@^1.1.2:
+  version "1.1.2"
+  resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
 vditor@^3.7.6:
   version "3.7.6"
   resolved "https://registry.npmjs.org/vditor/-/vditor-3.7.6.tgz#b6d9574a46836cffef05d030154526ee7113925e"
@@ -8551,6 +8731,11 @@ yargs@^16.0.3, yargs@^16.2.0:
     y18n "^5.0.5"
     yargs-parser "^20.2.2"
 
+ylru@^1.2.0:
+  version "1.2.1"
+  resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"
+  integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==
+
 yn@3.1.1:
   version "3.1.1"
   resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"