Commit 8a1bfdf13de966acc5eb41718ccb085d3efc4581

Authored by vben
1 parent aca07d4c

feat: auto import route

.env.development
@@ -4,11 +4,14 @@ VITE_USE_MOCK = true @@ -4,11 +4,14 @@ VITE_USE_MOCK = true
4 # public path 4 # public path
5 VITE_PUBLIC_PATH = / 5 VITE_PUBLIC_PATH = /
6 6
  7 +# Cross-domain proxy, you can configure multiple
  8 +VITE_PROXY=[["/api","http://localhost:3000"]]
  9 +
  10 +# Delete console
  11 +VITE_DROP_CONSOLE = false
  12 +
7 # Basic interface address SPA 13 # Basic interface address SPA
8 VITE_GLOB_API_URL=/api 14 VITE_GLOB_API_URL=/api
9 15
10 # Interface prefix 16 # Interface prefix
11 VITE_GLOB_API_URL_PREFIX= 17 VITE_GLOB_API_URL_PREFIX=
12 -  
13 -# Cross-domain proxy, you can configure multiple  
14 -VITE_PROXY=[["/api","http://localhost:3000"]]  
.env.production
@@ -4,12 +4,17 @@ VITE_USE_MOCK = true @@ -4,12 +4,17 @@ VITE_USE_MOCK = true
4 # public path 4 # public path
5 VITE_PUBLIC_PATH = ./ 5 VITE_PUBLIC_PATH = ./
6 6
  7 +# Delete console
  8 +VITE_DROP_CONSOLE = true
  9 +
  10 +# Delete console
  11 +VITE_BUILD_GZIP = false
  12 +
7 # Basic interface address SPA 13 # Basic interface address SPA
8 VITE_GLOB_API_URL=/api 14 VITE_GLOB_API_URL=/api
9 15
10 # Interface prefix 16 # Interface prefix
11 VITE_GLOB_API_URL_PREFIX= 17 VITE_GLOB_API_URL_PREFIX=
12 18
13 -  
14 # TODO use Cdn 19 # TODO use Cdn
15 VITE_USE_CDN = true 20 VITE_USE_CDN = true
CHANGELOG.zh_CN.md
  1 +# wip
  2 +
  3 +### ✨ Features
  4 +
  5 +- 打包可以配置输出`gizp`
  6 +- 打包可以配置删除`console`
  7 +- 路由及菜单不需要在手动引入,改为自动引入
  8 +
  9 +### 🎫 Chores
  10 +
  11 +- 升级 vue 到`3.0.1`
  12 +- 将`vite`版本改为每日构建版本
  13 +
  14 +### 🐛 Bug Fixes
  15 +
  16 +- 修复菜单报错
  17 +- 修复表格自适应高度问题
  18 +- 修复`window系统`执行 script 报错问题
  19 +
  20 +### ⚡ Performance Improvements
  21 +
  22 +- 删除菜单最小化背景
  23 +- 阻止页面刷新重新渲染菜单
  24 +- 其他一些细节优化
  25 +
1 # 2.0.0-rc.1 (2020-10-14) 26 # 2.0.0-rc.1 (2020-10-14)
2 27
3 ### ✨ Features 28 ### ✨ Features
README.en-US.md
@@ -92,7 +92,6 @@ The documentation for 2.0 hasn't started yet, it will be provided later. @@ -92,7 +92,6 @@ The documentation for 2.0 hasn't started yet, it will be provided later.
92 - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Mock plugin base on vite 92 - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - Mock plugin base on vite
93 - [vue-i18n](https://github.com/intlify/vue-i18n-next) - Internationalization 93 - [vue-i18n](https://github.com/intlify/vue-i18n-next) - Internationalization
94 - [lodash-es](https://github.com/lodash/lodash) - JavaScript utility library 94 - [lodash-es](https://github.com/lodash/lodash) - JavaScript utility library
95 -- [moment](https://github.com/moment/moment) - Time operation library  
96 - [axios](https://github.com/axios/axios) - Http data interaction 95 - [axios](https://github.com/axios/axios) - Http data interaction
97 - [TypeScript](https://www.typescriptlang.org/) 96 - [TypeScript](https://www.typescriptlang.org/)
98 97
@@ -225,6 +224,7 @@ yarn clean:lib # Delete node_modules, supported window @@ -225,6 +224,7 @@ yarn clean:lib # Delete node_modules, supported window
225 - [x] Digital animation 224 - [x] Digital animation
226 - [x] First screen loading waiting animation 225 - [x] First screen loading waiting animation
227 - [x] Extract the production environment profile 226 - [x] Extract the production environment profile
  227 +- [x] Build Gzip
228 228
229 ## Developing features 229 ## Developing features
230 230
@@ -234,7 +234,6 @@ yarn clean:lib # Delete node_modules, supported window @@ -234,7 +234,6 @@ yarn clean:lib # Delete node_modules, supported window
234 - [ ] Global error handling 234 - [ ] Global error handling
235 - [ ] Theme configuration 235 - [ ] Theme configuration
236 - [ ] Dark theme 236 - [ ] Dark theme
237 -- [ ] Build Gzip  
238 - [ ] Build CDN 237 - [ ] Build CDN
239 - [ ] System performance optimization 238 - [ ] System performance optimization
240 239
@@ -246,6 +245,8 @@ It is recommended to use the `Chrome` browser for local development. Development @@ -246,6 +245,8 @@ It is recommended to use the `Chrome` browser for local development. Development
246 245
247 Support modern browsers, Not currently supported ie11,Follow-up consideration support ie11 246 Support modern browsers, Not currently supported ie11,Follow-up consideration support ie11
248 247
249 -| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / 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 |  
250 -| :-: | :-: | :-: | :-: |  
251 -| Not currently supported | last 2 versions | last 2 versions | last 2 versions | 248 +| [<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 |
  249 +| :-: | :-: | :-: | :-: | :-: |
  250 +| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
  251 +
  252 +More browsers can view [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
README.md
@@ -35,10 +35,6 @@ @@ -35,10 +35,6 @@
35 35
36 ## 介绍 36 ## 介绍
37 37
38 -该分支为 2.0 新分支,使用 vue3 进行开发。  
39 -  
40 -1.0 分支请切换到`master`分支。1.0 采用`vue2.6`+`vue-composition-api`+`vue-cli`开发  
41 -  
42 项目基于`ant-design-vue`,`typescript`,`vue3.0`,`vite`,`tsx`实现的 vue3 风格的后台管理系统, 38 项目基于`ant-design-vue`,`typescript`,`vue3.0`,`vite`,`tsx`实现的 vue3 风格的后台管理系统,
43 39
44 ## gitHub 地址 40 ## gitHub 地址
@@ -65,7 +61,7 @@ @@ -65,7 +61,7 @@
65 61
66 ## 文档 62 ## 文档
67 63
68 -2.0 文档还没开始写。后续补上 64 +2.0 文档很快完成,请耐心等待
69 65
70 ## 预安装 66 ## 预安装
71 67
@@ -93,7 +89,6 @@ @@ -93,7 +89,6 @@
93 - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 基于 vite 的 mock 插件. 89 - [vite-plugin-mock](https://github.com/anncwb/vite-plugin-mock) - 基于 vite 的 mock 插件.
94 - [vue-i18n](https://github.com/intlify/vue-i18n-next) - 国际化 90 - [vue-i18n](https://github.com/intlify/vue-i18n-next) - 国际化
95 - [lodash-es](https://github.com/lodash/lodash) - JavaScript 实用程序库 91 - [lodash-es](https://github.com/lodash/lodash) - JavaScript 实用程序库
96 -- [moment](https://github.com/moment/moment) - 时间操作库  
97 - [axios](https://github.com/axios/axios) - Http 数据交互 92 - [axios](https://github.com/axios/axios) - Http 数据交互
98 - [TypeScript](https://www.typescriptlang.org/) 93 - [TypeScript](https://www.typescriptlang.org/)
99 94
@@ -227,6 +222,7 @@ yarn clean:lib # 删除node_modules,兼容window系统 @@ -227,6 +222,7 @@ yarn clean:lib # 删除node_modules,兼容window系统
227 - [x] 数字动画 222 - [x] 数字动画
228 - [x] 首屏加载等待动画 223 - [x] 首屏加载等待动画
229 - [x] 抽取生产环境配置文件 224 - [x] 抽取生产环境配置文件
  225 +- [x] 打包 Gzip
230 226
231 ## 正在开发的功能 227 ## 正在开发的功能
232 228
@@ -236,7 +232,6 @@ yarn clean:lib # 删除node_modules,兼容window系统 @@ -236,7 +232,6 @@ yarn clean:lib # 删除node_modules,兼容window系统
236 - [ ] 全局错误处理 232 - [ ] 全局错误处理
237 - [ ] 主题配置 233 - [ ] 主题配置
238 - [ ] 黑暗主题 234 - [ ] 黑暗主题
239 -- [ ] 打包 Gzip  
240 - [ ] 打包 CDN 235 - [ ] 打包 CDN
241 - [ ] 系统性能优化 236 - [ ] 系统性能优化
242 237
@@ -248,9 +243,11 @@ yarn clean:lib # 删除node_modules,兼容window系统 @@ -248,9 +243,11 @@ yarn clean:lib # 删除node_modules,兼容window系统
248 243
249 支持现代浏览器, IE 暂不支持,后续考虑支持 ie11 244 支持现代浏览器, IE 暂不支持,后续考虑支持 ie11
250 245
251 -| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / 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 |  
252 -| :-: | :-: | :-: | :-: |  
253 -| not support | last 2 versions | last 2 versions | last 2 versions | 246 +| [<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 |
  247 +| :-: | :-: | :-: | :-: | :-: |
  248 +| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
  249 +
  250 +更多浏览器可以查看 [Can I Use Es Module](https://caniuse.com/?search=ES%20Module)
254 251
255 ## 加入我们 252 ## 加入我们
256 253
build/gzip/index.ts deleted 100644 → 0
1 -// Build gzip after packaging  
2 -// import { readFile, writeFile } from 'fs';  
3 -import viteConfig from '../../vite.config';  
4 -import {  
5 - // basename,  
6 - join,  
7 -} from 'path';  
8 -// import { promisify } from 'util';  
9 -// import { gzip, ZlibOptions } from 'zlib';  
10 -import { readAllFile } from '../utils';  
11 -  
12 -// const readFilePromise = promisify(readFile);  
13 -// const writeFilePromise = promisify(writeFile);  
14 -  
15 -// function createGzip() {}  
16 -  
17 -const FILE_REG = /\.(js|mjs|json|css|html)$/;  
18 -  
19 -const OUT_DIR = viteConfig.outDir || 'dist';  
20 -  
21 -// TODO 待开发  
22 -const files = readAllFile(join(process.cwd(), OUT_DIR), FILE_REG);  
build/plugin/gzip/compress.ts 0 → 100644
  1 +import { gzip } from 'zlib';
  2 +import { readFileSync, writeFileSync } from 'fs';
  3 +import { GzipPluginOptions } from './types';
  4 +import viteConfig from '../../vite.config';
  5 +import { readAllFile, getCwdPath, isBuildGzip, isSiteMode } from '../utils';
  6 +
  7 +export function startGzip(
  8 + fileContent: string | Buffer,
  9 + options: GzipPluginOptions = {}
  10 +): Promise<Buffer> {
  11 + return new Promise((resolve, reject) => {
  12 + gzip(fileContent, options.gzipOptions || {}, (err, result) => {
  13 + if (err) {
  14 + reject(err);
  15 + } else {
  16 + resolve(result);
  17 + }
  18 + });
  19 + });
  20 +}
  21 +
  22 +// 手动压缩css
  23 +export async function startGzipStyle() {
  24 + if (isBuildGzip() || isSiteMode()) {
  25 + const outDir = viteConfig.outDir || 'dist';
  26 + const assets = viteConfig.assetsDir || '_assets';
  27 + const allCssFile = readAllFile(getCwdPath(outDir, assets), /\.(css)$/);
  28 + for (const path of allCssFile) {
  29 + const source = readFileSync(path);
  30 + const content = await startGzip(source);
  31 + const ds = path.split('/');
  32 + const fileName = ds[ds.length - 1];
  33 + writeFileSync(getCwdPath(outDir, assets, `${fileName}.gz`), content);
  34 + }
  35 + }
  36 +}
build/plugin/gzip/index.ts 0 → 100644
  1 +// 修改自https://github.com/kryops/rollup-plugin-gzip
  2 +// 因为rollup-plugin-gzip不支持vite
  3 +// vite对css打包独立的。所以不能在打包的时候顺带打包css
  4 +
  5 +import { readFile, writeFile } from 'fs';
  6 +import { basename } from 'path';
  7 +import { promisify } from 'util';
  8 +import { gzip } from 'zlib';
  9 +
  10 +import { OutputAsset, OutputChunk, OutputOptions, Plugin } from 'rollup';
  11 +import { GzipPluginOptions } from './types';
  12 +
  13 +const isFunction = (arg: unknown): arg is (...args: any[]) => any => typeof arg === 'function';
  14 +const isRegExp = (arg: unknown): arg is RegExp =>
  15 + Object.prototype.toString.call(arg) === '[object RegExp]';
  16 +
  17 +export type StringMappingOption = (originalString: string) => string;
  18 +export type CustomCompressionOption = (
  19 + content: string | Buffer
  20 +) => string | Buffer | Promise<string | Buffer>;
  21 +
  22 +const readFilePromise = promisify(readFile);
  23 +const writeFilePromise = promisify(writeFile);
  24 +
  25 +// functionality partially copied from rollup
  26 +
  27 +/**
  28 + * copied from https://github.com/rollup/rollup/blob/master/src/rollup/index.ts#L450
  29 + */
  30 +function isOutputChunk(file: OutputAsset | OutputChunk): file is OutputChunk {
  31 + return typeof (file as OutputChunk).code === 'string';
  32 +}
  33 +
  34 +/**
  35 + * Gets the string/buffer content from a file object.
  36 + * Important for adding source map comments
  37 + *
  38 + * Copied partially from rollup.writeOutputFile
  39 + * https://github.com/rollup/rollup/blob/master/src/rollup/index.ts#L454
  40 + */
  41 +function getOutputFileContent(
  42 + outputFileName: string,
  43 + outputFile: OutputAsset | OutputChunk,
  44 + outputOptions: OutputOptions
  45 +): string | Buffer {
  46 + if (isOutputChunk(outputFile)) {
  47 + let source: string | Buffer;
  48 + source = outputFile.code;
  49 + if (outputOptions.sourcemap && outputFile.map) {
  50 + const url =
  51 + outputOptions.sourcemap === 'inline'
  52 + ? outputFile.map.toUrl()
  53 + : `${basename(outputFileName)}.map`;
  54 +
  55 + // https://github.com/rollup/rollup/blob/master/src/utils/sourceMappingURL.ts#L1
  56 + source += `//# source` + `MappingURL=${url}\n`;
  57 + }
  58 + return source;
  59 + } else {
  60 + return typeof outputFile.source === 'string'
  61 + ? outputFile.source
  62 + : // just to be sure, as it is typed string | Uint8Array in rollup 2.0.0
  63 + Buffer.from(outputFile.source);
  64 + }
  65 +}
  66 +
  67 +// actual plugin code
  68 +
  69 +function gzipPlugin(options: GzipPluginOptions = {}): Plugin {
  70 + // check for old options
  71 + if ('algorithm' in options) {
  72 + console.warn(
  73 + '[rollup-plugin-gzip] The "algorithm" option is not supported any more! ' +
  74 + 'Use "customCompression" instead to specify a different compression algorithm.'
  75 + );
  76 + }
  77 + if ('options' in options) {
  78 + console.warn('[rollup-plugin-gzip] The "options" option was renamed to "gzipOptions"!');
  79 + }
  80 + if ('additional' in options) {
  81 + console.warn('[rollup-plugin-gzip] The "additional" option was renamed to "additionalFiles"!');
  82 + }
  83 + if ('delay' in options) {
  84 + console.warn('[rollup-plugin-gzip] The "delay" option was renamed to "additionalFilesDelay"!');
  85 + }
  86 +
  87 + const compressGzip: CustomCompressionOption = (fileContent) => {
  88 + return new Promise((resolve, reject) => {
  89 + gzip(fileContent, options.gzipOptions || {}, (err, result) => {
  90 + if (err) {
  91 + reject(err);
  92 + } else {
  93 + resolve(result);
  94 + }
  95 + });
  96 + });
  97 + };
  98 +
  99 + const doCompress = options.customCompression || compressGzip;
  100 +
  101 + const mapFileName: StringMappingOption = isFunction(options.fileName)
  102 + ? (options.fileName as StringMappingOption)
  103 + : (fileName: string) => fileName + (options.fileName || '.gz');
  104 +
  105 + const plugin: Plugin = {
  106 + name: 'gzip',
  107 +
  108 + generateBundle(outputOptions, bundle) {
  109 + return Promise.all(
  110 + Object.keys(bundle)
  111 + .map((fileName) => {
  112 + const fileEntry = bundle[fileName];
  113 +
  114 + // file name filter option check
  115 +
  116 + const fileNameFilter = options.filter || /\.(js|mjs|json|css|html)$/;
  117 +
  118 + if (isRegExp(fileNameFilter) && !fileName.match(fileNameFilter)) {
  119 + return Promise.resolve();
  120 + }
  121 +
  122 + if (
  123 + isFunction(fileNameFilter) &&
  124 + !(fileNameFilter as (x: string) => boolean)(fileName)
  125 + ) {
  126 + return Promise.resolve();
  127 + }
  128 +
  129 + const fileContent = getOutputFileContent(fileName, fileEntry, outputOptions);
  130 +
  131 + // minSize option check
  132 + if (options.minSize && options.minSize > fileContent.length) {
  133 + return Promise.resolve();
  134 + }
  135 +
  136 + return Promise.resolve(doCompress(fileContent))
  137 + .then((compressedContent) => {
  138 + const compressedFileName = mapFileName(fileName);
  139 + bundle[compressedFileName] = {
  140 + type: 'asset', // Rollup >= 1.21
  141 + name: compressedFileName,
  142 + fileName: compressedFileName,
  143 + isAsset: true, // Rollup < 1.21
  144 + source: compressedContent,
  145 + };
  146 + })
  147 + .catch((err: any) => {
  148 + console.error(err);
  149 + return Promise.reject('[rollup-plugin-gzip] Error compressing file ' + fileName);
  150 + });
  151 + })
  152 + .concat([
  153 + (() => {
  154 + if (!options.additionalFiles || !options.additionalFiles.length)
  155 + return Promise.resolve();
  156 +
  157 + const compressAdditionalFiles = () =>
  158 + Promise.all(
  159 + options.additionalFiles!.map((filePath) =>
  160 + readFilePromise(filePath)
  161 + .then((fileContent) => doCompress(fileContent))
  162 + .then((compressedContent) => {
  163 + return writeFilePromise(mapFileName(filePath), compressedContent);
  164 + })
  165 + .catch(() => {
  166 + return Promise.reject(
  167 + '[rollup-plugin-gzip] Error compressing additional file ' +
  168 + filePath +
  169 + '. Please check the spelling of your configured additionalFiles. ' +
  170 + 'You might also have to increase the value of the additionalFilesDelay option.'
  171 + );
  172 + })
  173 + )
  174 + ) as Promise<any>;
  175 +
  176 + // additional files can be processed outside of rollup after a delay
  177 + // for older plugins or plugins that write to disk (curcumventing rollup) without awaiting
  178 + const additionalFilesDelay = options.additionalFilesDelay || 0;
  179 +
  180 + if (additionalFilesDelay) {
  181 + setTimeout(compressAdditionalFiles, additionalFilesDelay);
  182 + return Promise.resolve();
  183 + } else {
  184 + return compressAdditionalFiles();
  185 + }
  186 + })(),
  187 + ])
  188 + ) as Promise<any>;
  189 + },
  190 + };
  191 +
  192 + return plugin;
  193 +}
  194 +
  195 +export default gzipPlugin;
build/gzip/types.ts renamed to build/plugin/gzip/types.ts
build/plugin/vite-plugin-context-plugin/transform.ts
@@ -49,8 +49,9 @@ const globbyTransform = function (config: SharedConfig): Transform { @@ -49,8 +49,9 @@ const globbyTransform = function (config: SharedConfig): Transform {
49 let result = cache.get(path); 49 let result = cache.get(path);
50 if (!result) { 50 if (!result) {
51 const reg = /import\s+([\w\s{}*]+)\s+from\s+(['"])globby(\?path)?!([^'"]+)\2/g; 51 const reg = /import\s+([\w\s{}*]+)\s+from\s+(['"])globby(\?path)?!([^'"]+)\2/g;
52 - const lastImport = urlMap.get(path);  
53 const match = code.match(reg); 52 const match = code.match(reg);
  53 + if (!match) return code;
  54 + const lastImport = urlMap.get(path);
54 if (lastImport && match) { 55 if (lastImport && match) {
55 code = code.replace(lastImport, match[0]); 56 code = code.replace(lastImport, match[0]);
56 } 57 }
build/script/build.ts
@@ -6,6 +6,7 @@ import { argv } from &#39;yargs&#39;; @@ -6,6 +6,7 @@ import { argv } from &#39;yargs&#39;;
6 import { runBuildConfig } from './buildConf'; 6 import { runBuildConfig } from './buildConf';
7 import { runUpdateHtml } from './updateHtml'; 7 import { runUpdateHtml } from './updateHtml';
8 import { errorConsole, successConsole } from '../utils'; 8 import { errorConsole, successConsole } from '../utils';
  9 +import { startGzipStyle } from '../plugin/gzip/compress';
9 10
10 export const runBuild = async () => { 11 export const runBuild = async () => {
11 try { 12 try {
@@ -22,6 +23,7 @@ export const runBuild = async () =&gt; { @@ -22,6 +23,7 @@ export const runBuild = async () =&gt; {
22 await runBuildConfig(); 23 await runBuildConfig();
23 } 24 }
24 await runUpdateHtml(); 25 await runUpdateHtml();
  26 + await startGzipStyle();
25 successConsole('Vite Build successfully!'); 27 successConsole('Vite Build successfully!');
26 } catch (error) { 28 } catch (error) {
27 errorConsole('Vite Build Error\n' + error); 29 errorConsole('Vite Build Error\n' + error);
build/script/preview.ts
1 import chalk from 'chalk'; 1 import chalk from 'chalk';
2 import Koa from 'koa'; 2 import Koa from 'koa';
3 import inquirer from 'inquirer'; 3 import inquirer from 'inquirer';
4 -import { sh } from 'tasksfile';  
5 import staticServer from 'koa-static'; 4 import staticServer from 'koa-static';
6 import portfinder from 'portfinder'; 5 import portfinder from 'portfinder';
7 import { resolve } from 'path'; 6 import { resolve } from 'path';
8 import viteConfig from '../../vite.config'; 7 import viteConfig from '../../vite.config';
9 import { getIPAddress } from '../utils'; 8 import { getIPAddress } from '../utils';
  9 +import { runBuild } from './build';
10 10
11 const BUILD = 1; 11 const BUILD = 1;
12 const NO_BUILD = 2; 12 const NO_BUILD = 2;
@@ -53,10 +53,7 @@ export const runPreview = async () =&gt; { @@ -53,10 +53,7 @@ export const runPreview = async () =&gt; {
53 }); 53 });
54 const { type } = await prompt; 54 const { type } = await prompt;
55 if (type === BUILD) { 55 if (type === BUILD) {
56 - await sh('npm run build', {  
57 - async: true,  
58 - nopipe: true,  
59 - }); 56 + runBuild();
60 } 57 }
61 startApp(); 58 startApp();
62 }; 59 };
build/utils.ts
@@ -70,6 +70,12 @@ export function isProdFn(): boolean { @@ -70,6 +70,12 @@ export function isProdFn(): boolean {
70 export function isReportMode(): boolean { 70 export function isReportMode(): boolean {
71 return process.env.REPORT === 'true'; 71 return process.env.REPORT === 'true';
72 } 72 }
  73 +export function isBuildGzip(): boolean {
  74 + return process.env.VITE_BUILD_GZIP === 'true';
  75 +}
  76 +export function isSiteMode(): boolean {
  77 + return process.env.SITE === 'true';
  78 +}
73 79
74 export interface ViteEnv { 80 export interface ViteEnv {
75 VITE_PORT: number; 81 VITE_PORT: number;
@@ -78,6 +84,8 @@ export interface ViteEnv { @@ -78,6 +84,8 @@ export interface ViteEnv {
78 VITE_PROXY: [string, string][]; 84 VITE_PROXY: [string, string][];
79 VITE_GLOB_APP_TITLE: string; 85 VITE_GLOB_APP_TITLE: string;
80 VITE_USE_CDN: boolean; 86 VITE_USE_CDN: boolean;
  87 + VITE_DROP_CONSOLE: boolean;
  88 + VITE_BUILD_GZIP: boolean;
81 } 89 }
82 90
83 export function loadEnv(): ViteEnv { 91 export function loadEnv(): ViteEnv {
package.json
@@ -91,7 +91,7 @@ @@ -91,7 +91,7 @@
91 "tasksfile": "^5.1.1", 91 "tasksfile": "^5.1.1",
92 "ts-node": "^9.0.0", 92 "ts-node": "^9.0.0",
93 "typescript": "^4.0.3", 93 "typescript": "^4.0.3",
94 - "vite": "^1.0.0-rc.4", 94 + "vite": "npm:@knightly/vite",
95 "vite-plugin-mock": "^1.0.2", 95 "vite-plugin-mock": "^1.0.2",
96 "vite-plugin-purge-icons": "^0.4.4", 96 "vite-plugin-purge-icons": "^0.4.4",
97 "vue-eslint-parser": "^7.1.1", 97 "vue-eslint-parser": "^7.1.1",
src/components/Menu/src/BasicMenu.tsx
@@ -91,7 +91,7 @@ export default defineComponent({ @@ -91,7 +91,7 @@ export default defineComponent({
91 }); 91 });
92 92
93 watch( 93 watch(
94 - () => currentRoute.value.path, 94 + () => currentRoute.value.name,
95 (name: string) => { 95 (name: string) => {
96 name !== 'Redirect' && handleMenuChange(); 96 name !== 'Redirect' && handleMenuChange();
97 getParentPath(); 97 getParentPath();
src/components/Transition/src/ExpandTransition.ts
@@ -48,7 +48,9 @@ export default function (expandedParentClass = &#39;&#39;, x = false) { @@ -48,7 +48,9 @@ export default function (expandedParentClass = &#39;&#39;, x = false) {
48 if (expandedParentClass && el._parent) { 48 if (expandedParentClass && el._parent) {
49 el._parent.classList.add(expandedParentClass); 49 el._parent.classList.add(expandedParentClass);
50 } 50 }
51 - 51 + console.log('======================');
  52 + console.log(sizeProperty, offset);
  53 + console.log('======================');
52 requestAnimationFrame(() => { 54 requestAnimationFrame(() => {
53 el.style[sizeProperty] = offset; 55 el.style[sizeProperty] = offset;
54 }); 56 });
src/router/menus/index.ts
1 -import type { Menu } from '/@/router/types'; 1 +import type { Menu, MenuModule } from '/@/router/types';
2 import type { RouteRecordNormalized } from 'vue-router'; 2 import type { RouteRecordNormalized } from 'vue-router';
3 import { appStore } from '/@/store/modules/app'; 3 import { appStore } from '/@/store/modules/app';
4 import { permissionStore } from '/@/store/modules/permission'; 4 import { permissionStore } from '/@/store/modules/permission';
@@ -7,35 +7,40 @@ import { filter } from &#39;/@/utils/helper/treeHelper&#39;; @@ -7,35 +7,40 @@ import { filter } from &#39;/@/utils/helper/treeHelper&#39;;
7 import router from '/@/router'; 7 import router from '/@/router';
8 import { PermissionModeEnum } from '/@/enums/appEnum'; 8 import { PermissionModeEnum } from '/@/enums/appEnum';
9 import { pathToRegexp } from 'path-to-regexp'; 9 import { pathToRegexp } from 'path-to-regexp';
  10 +import modules from 'globby!/@/router/menus/modules/**/*.@(ts)';
10 11
11 // =========================== 12 // ===========================
12 // ==========module import==== 13 // ==========module import====
13 // =========================== 14 // ===========================
14 -import dashboard from './modules/dashboard';  
15 -  
16 -import exceptionDemo from './modules/demo/exception';  
17 -import iframeDemo from './modules/demo/iframe';  
18 -import compDemo from './modules/demo/comp';  
19 -import permissionDemo from './modules/demo/permission';  
20 -import featDemo from './modules/demo/feat';  
21 -import chartsDemo from './modules/demo/charts';  
22 -import tableDemo from './modules/demo/table';  
23 -import formDemo from './modules/demo/form';  
24 -import treeDemo from './modules/demo/tree';  
25 -  
26 -const menuModules = [  
27 - dashboard,  
28 - featDemo,  
29 - exceptionDemo,  
30 - iframeDemo,  
31 - compDemo,  
32 - permissionDemo,  
33 - chartsDemo,  
34 - tableDemo,  
35 - formDemo,  
36 - treeDemo, 15 +// import dashboard from './modules/dashboard';
  16 +
  17 +// import exceptionDemo from './modules/demo/exception';
  18 +// import iframeDemo from './modules/demo/iframe';
  19 +// import compDemo from './modules/demo/comp';
  20 +// import permissionDemo from './modules/demo/permission';
  21 +// import featDemo from './modules/demo/feat';
  22 +// import chartsDemo from './modules/demo/charts';
  23 +// import tableDemo from './modules/demo/table';
  24 +// import formDemo from './modules/demo/form';
  25 +// import treeDemo from './modules/demo/tree';
  26 +
  27 +const menuModules: MenuModule[] = [
  28 + // dashboard,
  29 + // featDemo,
  30 + // exceptionDemo,
  31 + // iframeDemo,
  32 + // compDemo,
  33 + // permissionDemo,
  34 + // chartsDemo,
  35 + // tableDemo,
  36 + // formDemo,
  37 + // treeDemo,
37 ]; 38 ];
38 39
  40 +Object.keys(modules).forEach((key) => {
  41 + menuModules.push(modules[key]);
  42 +});
  43 +
39 // =========================== 44 // ===========================
40 // ==========Helper=========== 45 // ==========Helper===========
41 // =========================== 46 // ===========================
src/router/routes/index.ts
@@ -2,33 +2,37 @@ import type { AppRouteRecordRaw, AppRouteModule } from &#39;/@/router/types&#39;; @@ -2,33 +2,37 @@ import type { AppRouteRecordRaw, AppRouteModule } from &#39;/@/router/types&#39;;
2 2
3 import { DEFAULT_LAYOUT_COMPONENT, PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '../constant'; 3 import { DEFAULT_LAYOUT_COMPONENT, PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '../constant';
4 import { genRouteModule } from '/@/utils/helper/routeHelper'; 4 import { genRouteModule } from '/@/utils/helper/routeHelper';
  5 +import modules from 'globby!/@/router/routes/modules/**/*.@(ts)';
5 6
6 -import dashboard from './modules/dashboard';  
7 - 7 +// import dashboard from './modules/dashboard';
8 // demo 8 // demo
9 -import exceptionDemo from './modules/demo/exception';  
10 -import iframeDemo from './modules/demo/iframe';  
11 -import compDemo from './modules/demo/comp';  
12 -import permissionDemo from './modules/demo/permission';  
13 -import featDemo from './modules/demo/feat';  
14 -import chartsDemo from './modules/demo/charts';  
15 -import tableDemo from './modules/demo/table';  
16 -import formDemo from './modules/demo/form';  
17 -import treeDemo from './modules/demo/tree'; 9 +// import exceptionDemo from './modules/demo/exception';
  10 +// import iframeDemo from './modules/demo/iframe';
  11 +// import compDemo from './modules/demo/comp';
  12 +// import permissionDemo from './modules/demo/permission';
  13 +// import featDemo from './modules/demo/feat';
  14 +// import chartsDemo from './modules/demo/charts';
  15 +// import tableDemo from './modules/demo/table';
  16 +// import formDemo from './modules/demo/form';
  17 +// import treeDemo from './modules/demo/tree';
18 18
19 const routeModuleList: AppRouteModule[] = [ 19 const routeModuleList: AppRouteModule[] = [
20 - exceptionDemo,  
21 - dashboard,  
22 - iframeDemo,  
23 - compDemo,  
24 - featDemo,  
25 - permissionDemo,  
26 - chartsDemo,  
27 - tableDemo,  
28 - formDemo,  
29 - treeDemo, 20 + // exceptionDemo,
  21 + // dashboard,
  22 + // iframeDemo,
  23 + // compDemo,
  24 + // featDemo,
  25 + // permissionDemo,
  26 + // chartsDemo,
  27 + // tableDemo,
  28 + // formDemo,
  29 + // treeDemo,
30 ]; 30 ];
31 31
  32 +Object.keys(modules).forEach((key) => {
  33 + routeModuleList.push(modules[key]);
  34 +});
  35 +
32 export const asyncRoutes = [ 36 export const asyncRoutes = [
33 REDIRECT_ROUTE, 37 REDIRECT_ROUTE,
34 PAGE_NOT_FOUND_ROUTE, 38 PAGE_NOT_FOUND_ROUTE,
vite.config.ts
@@ -12,8 +12,10 @@ import { @@ -12,8 +12,10 @@ import {
12 import { createProxy } from './build/config/vite/proxy'; 12 import { createProxy } from './build/config/vite/proxy';
13 import { createMockServer } from 'vite-plugin-mock'; 13 import { createMockServer } from 'vite-plugin-mock';
14 import PurgeIcons from 'vite-plugin-purge-icons'; 14 import PurgeIcons from 'vite-plugin-purge-icons';
  15 +import gzipPlugin from './build/plugin/gzip/index';
  16 +import globbyTransform from './build/plugin/vite-plugin-context-plugin/transform';
15 17
16 -import { isDevFn, isReportMode, isProdFn, loadEnv } from './build/utils'; 18 +import { isDevFn, isReportMode, isProdFn, loadEnv, isBuildGzip, isSiteMode } from './build/utils';
17 const pkg = require('./package.json'); 19 const pkg = require('./package.json');
18 20
19 const { 21 const {
@@ -22,6 +24,7 @@ const { @@ -22,6 +24,7 @@ const {
22 VITE_PUBLIC_PATH, 24 VITE_PUBLIC_PATH,
23 VITE_PROXY, 25 VITE_PROXY,
24 VITE_GLOB_APP_TITLE, 26 VITE_GLOB_APP_TITLE,
  27 + VITE_DROP_CONSOLE,
25 // VITE_USE_CDN, 28 // VITE_USE_CDN,
26 } = loadEnv(); 29 } = loadEnv();
27 30
@@ -33,12 +36,18 @@ const rollupPlugins: any[] = []; @@ -33,12 +36,18 @@ const rollupPlugins: any[] = [];
33 const vitePlugins: VitePlugin[] = []; 36 const vitePlugins: VitePlugin[] = [];
34 37
35 (() => { 38 (() => {
36 - if (isReportMode() && isProdFn()) {  
37 - // report  
38 - rollupPlugins.push(  
39 - visualizer({ filename: './node_modules/.cache/stats.html', open: true }) as Plugin  
40 - ); 39 + if (isProdFn()) {
  40 + if (isReportMode()) {
  41 + // report
  42 + rollupPlugins.push(
  43 + visualizer({ filename: './node_modules/.cache/stats.html', open: true }) as Plugin
  44 + );
  45 + }
  46 + if (isBuildGzip() || isSiteMode()) {
  47 + rollupPlugins.push(gzipPlugin());
  48 + }
41 } 49 }
  50 +
42 if (isDevFn() && VITE_USE_MOCK) { 51 if (isDevFn() && VITE_USE_MOCK) {
43 // open mock 52 // open mock
44 vitePlugins.push( 53 vitePlugins.push(
@@ -99,14 +108,21 @@ const viteConfig: UserConfig = { @@ -99,14 +108,21 @@ const viteConfig: UserConfig = {
99 assetsInlineLimit: 4096, 108 assetsInlineLimit: 4096,
100 /** 109 /**
101 * esbuild转换目标。 110 * esbuild转换目标。
102 - * @default 'es2019' 111 + * @default 'es2020'
103 */ 112 */
104 - esbuildTarget: 'es2019', 113 + esbuildTarget: 'es2020',
105 silent: false, 114 silent: false,
106 // 别名 115 // 别名
107 alias: { 116 alias: {
108 '/@/': pathResolve('src'), 117 '/@/': pathResolve('src'),
109 }, 118 },
  119 + // terser配置
  120 + terserOption: {
  121 + compress: {
  122 + // 是否删除console
  123 + drop_console: VITE_DROP_CONSOLE,
  124 + },
  125 + },
110 define: { 126 define: {
111 __VERSION__: pkg.version, 127 __VERSION__: pkg.version,
112 }, 128 },
@@ -128,6 +144,7 @@ const viteConfig: UserConfig = { @@ -128,6 +144,7 @@ const viteConfig: UserConfig = {
128 'moment/locale/zh-cn', 144 'moment/locale/zh-cn',
129 ], 145 ],
130 }, 146 },
  147 +
131 // 本地跨域代理 148 // 本地跨域代理
132 proxy: createProxy(VITE_PROXY), 149 proxy: createProxy(VITE_PROXY),
133 150
@@ -140,8 +157,6 @@ const viteConfig: UserConfig = { @@ -140,8 +157,6 @@ const viteConfig: UserConfig = {
140 }, 157 },
141 }; 158 };
142 159
143 -// 用于打包部署站点使用。实际项目可以删除  
144 -const isSite = process.env.SITE === 'true';  
145 // 扩展配置, 往打包后的html注入内容 160 // 扩展配置, 往打包后的html注入内容
146 // 只针对生产环境 161 // 只针对生产环境
147 // TODO 目前只是简单手动注入实现,后续vite应该会提供配置项 162 // TODO 目前只是简单手动注入实现,后续vite应该会提供配置项
@@ -164,7 +179,8 @@ export const htmlConfig: { @@ -164,7 +179,8 @@ export const htmlConfig: {
164 // html title 179 // html title
165 title: VITE_GLOB_APP_TITLE, 180 title: VITE_GLOB_APP_TITLE,
166 // 百度统计,不需要可以删除 181 // 百度统计,不需要可以删除
167 - addHm: isSite, 182 + // 用于打包部署站点使用。实际项目可以删除
  183 + addHm: isSiteMode(),
168 // 使用cdn打包 184 // 使用cdn打包
169 // TODO Cdn esm使用方式需要只能支持google,暂时关闭,后续查询更好的方式 185 // TODO Cdn esm使用方式需要只能支持google,暂时关闭,后续查询更好的方式
170 useCdn: false, 186 useCdn: false,
@@ -179,4 +195,7 @@ export const htmlConfig: { @@ -179,4 +195,7 @@ export const htmlConfig: {
179 minifyCSS: true, 195 minifyCSS: true,
180 }, 196 },
181 }; 197 };
182 -export default viteConfig; 198 +export default {
  199 + ...viteConfig,
  200 + transforms: [globbyTransform(viteConfig)],
  201 +} as UserConfig;
yarn.lock
@@ -34,7 +34,7 @@ @@ -34,7 +34,7 @@
34 "@babel/runtime" "^7.10.4" 34 "@babel/runtime" "^7.10.4"
35 lodash "^4.17.15" 35 lodash "^4.17.15"
36 36
37 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5": 37 +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4":
38 version "7.10.4" 38 version "7.10.4"
39 resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" 39 resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
40 integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== 40 integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
@@ -170,7 +170,7 @@ @@ -170,7 +170,7 @@
170 chalk "^2.0.0" 170 chalk "^2.0.0"
171 js-tokens "^4.0.0" 171 js-tokens "^4.0.0"
172 172
173 -"@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.9.4": 173 +"@babel/parser@^7.10.4", "@babel/parser@^7.11.5":
174 version "7.11.5" 174 version "7.11.5"
175 resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" 175 resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037"
176 integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== 176 integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==
@@ -460,39 +460,26 @@ @@ -460,39 +460,26 @@
460 dependencies: 460 dependencies:
461 "@iconify/iconify" ">=2.0.0-rc.1" 461 "@iconify/iconify" ">=2.0.0-rc.1"
462 462
463 -"@rollup/plugin-commonjs@^14.0.0":  
464 - version "14.0.0"  
465 - resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz#4285f9ec2db686a31129e5a2b415c94aa1f836f0"  
466 - integrity sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw== 463 +"@rollup/plugin-commonjs@^15.0.0":
  464 + version "15.1.0"
  465 + resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238"
  466 + integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==
467 dependencies: 467 dependencies:
468 - "@rollup/pluginutils" "^3.0.8" 468 + "@rollup/pluginutils" "^3.1.0"
469 commondir "^1.0.1" 469 commondir "^1.0.1"
470 - estree-walker "^1.0.1"  
471 - glob "^7.1.2"  
472 - is-reference "^1.1.2"  
473 - magic-string "^0.25.2"  
474 - resolve "^1.11.0" 470 + estree-walker "^2.0.1"
  471 + glob "^7.1.6"
  472 + is-reference "^1.2.1"
  473 + magic-string "^0.25.7"
  474 + resolve "^1.17.0"
475 475
476 -"@rollup/plugin-json@^4.0.3": 476 +"@rollup/plugin-json@^4.1.0":
477 version "4.1.0" 477 version "4.1.0"
478 resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" 478 resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3"
479 integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== 479 integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==
480 dependencies: 480 dependencies:
481 "@rollup/pluginutils" "^3.0.8" 481 "@rollup/pluginutils" "^3.0.8"
482 482
483 -"@rollup/plugin-node-resolve@^8.4.0":  
484 - version "8.4.0"  
485 - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz#261d79a680e9dc3d86761c14462f24126ba83575"  
486 - integrity sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==  
487 - dependencies:  
488 - "@rollup/pluginutils" "^3.1.0"  
489 - "@types/resolve" "1.17.1"  
490 - builtin-modules "^3.1.0"  
491 - deep-freeze "^0.0.1"  
492 - deepmerge "^4.2.2"  
493 - is-module "^1.0.0"  
494 - resolve "^1.17.0"  
495 -  
496 "@rollup/plugin-node-resolve@^9.0.0": 483 "@rollup/plugin-node-resolve@^9.0.0":
497 version "9.0.0" 484 version "9.0.0"
498 resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" 485 resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6"
@@ -700,7 +687,7 @@ @@ -700,7 +687,7 @@
700 "@types/koa" "*" 687 "@types/koa" "*"
701 "@types/koa-send" "*" 688 "@types/koa-send" "*"
702 689
703 -"@types/koa@*", "@types/koa@^2.11.3": 690 +"@types/koa@*":
704 version "2.11.4" 691 version "2.11.4"
705 resolved "https://registry.npmjs.org/@types/koa/-/koa-2.11.4.tgz#8af02a069a9f8e08fa47b8da28d982e652f69cfb" 692 resolved "https://registry.npmjs.org/@types/koa/-/koa-2.11.4.tgz#8af02a069a9f8e08fa47b8da28d982e652f69cfb"
706 integrity sha512-Etqs0kdqbuAsNr5k6mlZQelpZKVwMu9WPRHVVTLnceZlhr0pYmblRNJbCgoCMzKWWePldydU0AYEOX4Q9fnGUQ== 693 integrity sha512-Etqs0kdqbuAsNr5k6mlZQelpZKVwMu9WPRHVVTLnceZlhr0pYmblRNJbCgoCMzKWWePldydU0AYEOX4Q9fnGUQ==
@@ -714,6 +701,20 @@ @@ -714,6 +701,20 @@
714 "@types/koa-compose" "*" 701 "@types/koa-compose" "*"
715 "@types/node" "*" 702 "@types/node" "*"
716 703
  704 +"@types/koa@^2.11.4":
  705 + version "2.11.5"
  706 + resolved "https://registry.npmjs.org/@types/koa/-/koa-2.11.5.tgz#a2b81382bf65d72bdc3bd906abdee259fefdebc2"
  707 + integrity sha512-egP+ceD3+v9PnFW+DLTFO8mt6wa5sDqfGOBIwOAZ61Wzsq4bGZc5kMpJgcCwq7ARGIBfHBY+KkK/1RsMftV/qQ==
  708 + dependencies:
  709 + "@types/accepts" "*"
  710 + "@types/content-disposition" "*"
  711 + "@types/cookies" "*"
  712 + "@types/http-assert" "*"
  713 + "@types/http-errors" "*"
  714 + "@types/keygrip" "*"
  715 + "@types/koa-compose" "*"
  716 + "@types/node" "*"
  717 +
717 "@types/lodash-es@^4.17.3": 718 "@types/lodash-es@^4.17.3":
718 version "4.17.3" 719 version "4.17.3"
719 resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.3.tgz#87eb0b3673b076b8ee655f1890260a136af09a2d" 720 resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.3.tgz#87eb0b3673b076b8ee655f1890260a136af09a2d"
@@ -935,17 +936,6 @@ @@ -935,17 +936,6 @@
935 "@typescript-eslint/types" "4.4.1" 936 "@typescript-eslint/types" "4.4.1"
936 eslint-visitor-keys "^2.0.0" 937 eslint-visitor-keys "^2.0.0"
937 938
938 -"@vue/compiler-core@3.0.0":  
939 - version "3.0.0"  
940 - resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.0.tgz#25e4f079cf6c39f83bad23700f814c619105a0f2"  
941 - integrity sha512-XqPC7vdv4rFE77S71oCHmT1K4Ks3WE2Gi6Lr4B5wn0Idmp+NyQQBUHsCNieMDRiEpgtJrw+yOHslrsV0AfAsfQ==  
942 - dependencies:  
943 - "@babel/parser" "^7.11.5"  
944 - "@babel/types" "^7.11.5"  
945 - "@vue/shared" "3.0.0"  
946 - estree-walker "^2.0.1"  
947 - source-map "^0.6.1"  
948 -  
949 "@vue/compiler-core@3.0.1": 939 "@vue/compiler-core@3.0.1":
950 version "3.0.1" 940 version "3.0.1"
951 resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.1.tgz#3ce57531078c6220be7ea458e41e4bab3522015b" 941 resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.1.tgz#3ce57531078c6220be7ea458e41e4bab3522015b"
@@ -957,15 +947,7 @@ @@ -957,15 +947,7 @@
957 estree-walker "^2.0.1" 947 estree-walker "^2.0.1"
958 source-map "^0.6.1" 948 source-map "^0.6.1"
959 949
960 -"@vue/compiler-dom@3.0.0", "@vue/compiler-dom@^3.0.0-rc.5":  
961 - version "3.0.0"  
962 - resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.0.tgz#4cbb48fcf1f852daef2babcf9953b681ac463526"  
963 - integrity sha512-ukDEGOP8P7lCPyStuM3F2iD5w2QPgUu2xwCW2XNeqPjFKIlR2xMsWjy4raI/cLjN6W16GtlMFaZdK8tLj5PRog==  
964 - dependencies:  
965 - "@vue/compiler-core" "3.0.0"  
966 - "@vue/shared" "3.0.0"  
967 -  
968 -"@vue/compiler-dom@3.0.1": 950 +"@vue/compiler-dom@3.0.1", "@vue/compiler-dom@^3.0.0-rc.10":
969 version "3.0.1" 951 version "3.0.1"
970 resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.1.tgz#00b12f2e4aa55e624e2a5257e4bed93cf7555f0b" 952 resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.1.tgz#00b12f2e4aa55e624e2a5257e4bed93cf7555f0b"
971 integrity sha512-8cjgswVU2YmV35H9ARZmSlDr1P9VZxUihRwefkrk6Vrsb7kui5C3d/WQ2/su34FSDpyMU1aacUOiL2CV/vdX6w== 953 integrity sha512-8cjgswVU2YmV35H9ARZmSlDr1P9VZxUihRwefkrk6Vrsb7kui5C3d/WQ2/su34FSDpyMU1aacUOiL2CV/vdX6w==
@@ -973,29 +955,7 @@ @@ -973,29 +955,7 @@
973 "@vue/compiler-core" "3.0.1" 955 "@vue/compiler-core" "3.0.1"
974 "@vue/shared" "3.0.1" 956 "@vue/shared" "3.0.1"
975 957
976 -"@vue/compiler-sfc@^3.0.0-rc.5":  
977 - version "3.0.0"  
978 - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.0.tgz#efa38037984bd64aae315828aa5c1248c6eadca9"  
979 - integrity sha512-1Bn4L5jNRm6tlb79YwqYUGGe+Yc9PRoRSJi67NJX6icdhf84+tRMtESbx1zCLL9QixQXu2+7aLkXHxvh4RpqAA==  
980 - dependencies:  
981 - "@babel/parser" "^7.11.5"  
982 - "@babel/types" "^7.11.5"  
983 - "@vue/compiler-core" "3.0.0"  
984 - "@vue/compiler-dom" "3.0.0"  
985 - "@vue/compiler-ssr" "3.0.0"  
986 - "@vue/shared" "3.0.0"  
987 - consolidate "^0.16.0"  
988 - estree-walker "^2.0.1"  
989 - hash-sum "^2.0.0"  
990 - lru-cache "^5.1.1"  
991 - magic-string "^0.25.7"  
992 - merge-source-map "^1.1.0"  
993 - postcss "^7.0.32"  
994 - postcss-modules "^3.2.2"  
995 - postcss-selector-parser "^6.0.2"  
996 - source-map "^0.6.1"  
997 -  
998 -"@vue/compiler-sfc@^3.0.1": 958 +"@vue/compiler-sfc@^3.0.0-rc.10", "@vue/compiler-sfc@^3.0.1":
999 version "3.0.1" 959 version "3.0.1"
1000 resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.1.tgz#f340f8f75b5c1c4509e0f3a12c79d1544899b663" 960 resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.1.tgz#f340f8f75b5c1c4509e0f3a12c79d1544899b663"
1001 integrity sha512-VO5gJ7SyHw0hf1rkKXRlxjXI9+Q4ngcuUWYnyjOSDch7Wtt2IdOEiC82KFWIkfWMpHqA5HPzL2nDmys3y9d19w== 961 integrity sha512-VO5gJ7SyHw0hf1rkKXRlxjXI9+Q4ngcuUWYnyjOSDch7Wtt2IdOEiC82KFWIkfWMpHqA5HPzL2nDmys3y9d19w==
@@ -1017,14 +977,6 @@ @@ -1017,14 +977,6 @@
1017 postcss-selector-parser "^6.0.4" 977 postcss-selector-parser "^6.0.4"
1018 source-map "^0.6.1" 978 source-map "^0.6.1"
1019 979
1020 -"@vue/compiler-ssr@3.0.0":  
1021 - version "3.0.0"  
1022 - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.0.tgz#d717abcd23a89fb38d1497228633a21bcf9a0e28"  
1023 - integrity sha512-Er41F9ZFyKB3YnNbE6JSTIGCVWve3NAQimgDOk4uP42OnckxBYKGBTutDeFNeqUZBMu/9vRHYrxlGFC9Z5jBVQ==  
1024 - dependencies:  
1025 - "@vue/compiler-dom" "3.0.0"  
1026 - "@vue/shared" "3.0.0"  
1027 -  
1028 "@vue/compiler-ssr@3.0.1": 980 "@vue/compiler-ssr@3.0.1":
1029 version "3.0.1" 981 version "3.0.1"
1030 resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.1.tgz#0455b011d72d4ed02faa93610f14981c3d44a079" 982 resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.1.tgz#0455b011d72d4ed02faa93610f14981c3d44a079"
@@ -1063,15 +1015,6 @@ @@ -1063,15 +1015,6 @@
1063 "@vue/reactivity" "3.0.1" 1015 "@vue/reactivity" "3.0.1"
1064 "@vue/shared" "3.0.1" 1016 "@vue/shared" "3.0.1"
1065 1017
1066 -"@vue/runtime-dom@3.0.0", "@vue/runtime-dom@^3.0.0-rc.1":  
1067 - version "3.0.0"  
1068 - resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.0.tgz#e0d1f7c7e22e1318696014cc3501e06b288c2e11"  
1069 - integrity sha512-f312n5w9gK6mVvkDSj6/Xnot1XjlKXzFBYybmoy6ahAVC8ExbQ+LOWti1IZM/adU8VMNdKaw7Q53Hxz3y5jX8g==  
1070 - dependencies:  
1071 - "@vue/runtime-core" "3.0.0"  
1072 - "@vue/shared" "3.0.0"  
1073 - csstype "^2.6.8"  
1074 -  
1075 "@vue/runtime-dom@3.0.1": 1018 "@vue/runtime-dom@3.0.1":
1076 version "3.0.1" 1019 version "3.0.1"
1077 resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.1.tgz#2cc74550a635f38eb5f61f35f374d5bdb55156b0" 1020 resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.1.tgz#2cc74550a635f38eb5f61f35f374d5bdb55156b0"
@@ -1081,6 +1024,15 @@ @@ -1081,6 +1024,15 @@
1081 "@vue/shared" "3.0.1" 1024 "@vue/shared" "3.0.1"
1082 csstype "^2.6.8" 1025 csstype "^2.6.8"
1083 1026
  1027 +"@vue/runtime-dom@^3.0.0-rc.1":
  1028 + version "3.0.0"
  1029 + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.0.tgz#e0d1f7c7e22e1318696014cc3501e06b288c2e11"
  1030 + integrity sha512-f312n5w9gK6mVvkDSj6/Xnot1XjlKXzFBYybmoy6ahAVC8ExbQ+LOWti1IZM/adU8VMNdKaw7Q53Hxz3y5jX8g==
  1031 + dependencies:
  1032 + "@vue/runtime-core" "3.0.0"
  1033 + "@vue/shared" "3.0.0"
  1034 + csstype "^2.6.8"
  1035 +
1084 "@vue/shared@3.0.0": 1036 "@vue/shared@3.0.0":
1085 version "3.0.0" 1037 version "3.0.0"
1086 resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.0.tgz#ec089236629ecc0f10346b92f101ff4339169f1a" 1038 resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.0.tgz#ec089236629ecc0f10346b92f101ff4339169f1a"
@@ -1226,7 +1178,7 @@ ant-design-vue@^2.0.0-beta.10: @@ -1226,7 +1178,7 @@ ant-design-vue@^2.0.0-beta.10:
1226 shallowequal "^1.0.2" 1178 shallowequal "^1.0.2"
1227 warning "^4.0.0" 1179 warning "^4.0.0"
1228 1180
1229 -any-promise@^1.0.0, any-promise@^1.1.0: 1181 +any-promise@^1.1.0:
1230 version "1.3.0" 1182 version "1.3.0"
1231 resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 1183 resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
1232 integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= 1184 integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
@@ -1644,14 +1596,6 @@ chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0: @@ -1644,14 +1596,6 @@ chalk@4.1.0, chalk@^4.0.0, chalk@^4.1.0:
1644 ansi-styles "^4.1.0" 1596 ansi-styles "^4.1.0"
1645 supports-color "^7.1.0" 1597 supports-color "^7.1.0"
1646 1598
1647 -chalk@^3.0.0:  
1648 - version "3.0.0"  
1649 - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"  
1650 - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==  
1651 - dependencies:  
1652 - ansi-styles "^4.1.0"  
1653 - supports-color "^7.1.0"  
1654 -  
1655 character-entities-html4@^1.0.0: 1599 character-entities-html4@^1.0.0:
1656 version "1.1.4" 1600 version "1.1.4"
1657 resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" 1601 resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125"
@@ -1677,7 +1621,7 @@ chardet@^0.7.0: @@ -1677,7 +1621,7 @@ chardet@^0.7.0:
1677 resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 1621 resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
1678 integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 1622 integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
1679 1623
1680 -chokidar@^3.3.1, chokidar@^3.4.2: 1624 +chokidar@^3.4.2:
1681 version "3.4.2" 1625 version "3.4.2"
1682 resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" 1626 resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
1683 integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== 1627 integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
@@ -1733,10 +1677,10 @@ cli-cursor@^3.1.0: @@ -1733,10 +1677,10 @@ cli-cursor@^3.1.0:
1733 dependencies: 1677 dependencies:
1734 restore-cursor "^3.1.0" 1678 restore-cursor "^3.1.0"
1735 1679
1736 -cli-spinners@^2.2.0:  
1737 - version "2.4.0"  
1738 - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz#c6256db216b878cfba4720e719cec7cf72685d7f"  
1739 - integrity sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA== 1680 +cli-spinners@^2.4.0:
  1681 + version "2.5.0"
  1682 + resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047"
  1683 + integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==
1740 1684
1741 cli-truncate@^2.1.0: 1685 cli-truncate@^2.1.0:
1742 version "2.1.0" 1686 version "2.1.0"
@@ -2290,11 +2234,6 @@ deep-equal@~1.0.1: @@ -2290,11 +2234,6 @@ deep-equal@~1.0.1:
2290 resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 2234 resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
2291 integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= 2235 integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=
2292 2236
2293 -deep-freeze@^0.0.1:  
2294 - version "0.0.1"  
2295 - resolved "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz#3a0b0005de18672819dfd38cd31f91179c893e84"  
2296 - integrity sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=  
2297 -  
2298 deep-is@^0.1.3: 2237 deep-is@^0.1.3:
2299 version "0.1.3" 2238 version "0.1.3"
2300 resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 2239 resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -2540,12 +2479,12 @@ error-ex@^1.2.0, error-ex@^1.3.1: @@ -2540,12 +2479,12 @@ error-ex@^1.2.0, error-ex@^1.3.1:
2540 dependencies: 2479 dependencies:
2541 is-arrayish "^0.2.1" 2480 is-arrayish "^0.2.1"
2542 2481
2543 -es-module-lexer@^0.3.18: 2482 +es-module-lexer@^0.3.25:
2544 version "0.3.25" 2483 version "0.3.25"
2545 resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.25.tgz#24a1abcb9c5dc96923a8e42be033b801f788de06" 2484 resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.25.tgz#24a1abcb9c5dc96923a8e42be033b801f788de06"
2546 integrity sha512-H9VoFD5H9zEfiOX2LeTWDwMvAbLqcAyA2PIb40TOAvGpScOjit02oTGWgIh+M0rx2eJOKyJVM9wtpKFVgnyC3A== 2485 integrity sha512-H9VoFD5H9zEfiOX2LeTWDwMvAbLqcAyA2PIb40TOAvGpScOjit02oTGWgIh+M0rx2eJOKyJVM9wtpKFVgnyC3A==
2547 2486
2548 -esbuild@^0.6.10: 2487 +esbuild@^0.6.33:
2549 version "0.6.34" 2488 version "0.6.34"
2550 resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.6.34.tgz#76565a60e006f45d5f273b6e59e61ed0816551f5" 2489 resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.6.34.tgz#76565a60e006f45d5f273b6e59e61ed0816551f5"
2551 integrity sha512-InRdL/Q96pUucPqovJzvuLhquZr6jOn81FDVwFjCKz1rYKIm9OdOC+7Fs4vr6x48vKBl5LzKgtjU39BUpO636A== 2490 integrity sha512-InRdL/Q96pUucPqovJzvuLhquZr6jOn81FDVwFjCKz1rYKIm9OdOC+7Fs4vr6x48vKBl5LzKgtjU39BUpO636A==
@@ -2734,7 +2673,7 @@ esutils@^2.0.2: @@ -2734,7 +2673,7 @@ esutils@^2.0.2:
2734 resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 2673 resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
2735 integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 2674 integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
2736 2675
2737 -etag@^1.3.0, etag@^1.8.1: 2676 +etag@^1.8.1:
2738 version "1.8.1" 2677 version "1.8.1"
2739 resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 2678 resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
2740 integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 2679 integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
@@ -2744,7 +2683,7 @@ eventemitter3@^4.0.0: @@ -2744,7 +2683,7 @@ eventemitter3@^4.0.0:
2744 resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" 2683 resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
2745 integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== 2684 integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
2746 2685
2747 -execa@^4.0.1, execa@^4.0.3: 2686 +execa@^4.0.3:
2748 version "4.0.3" 2687 version "4.0.3"
2749 resolved "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" 2688 resolved "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
2750 integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== 2689 integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
@@ -3173,7 +3112,7 @@ glob@7.1.4: @@ -3173,7 +3112,7 @@ glob@7.1.4:
3173 once "^1.3.0" 3112 once "^1.3.0"
3174 path-is-absolute "^1.0.0" 3113 path-is-absolute "^1.0.0"
3175 3114
3176 -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6: 3115 +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6:
3177 version "7.1.6" 3116 version "7.1.6"
3178 resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 3117 resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
3179 integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 3118 integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -3853,7 +3792,7 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: @@ -3853,7 +3792,7 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
3853 dependencies: 3792 dependencies:
3854 isobject "^3.0.1" 3793 isobject "^3.0.1"
3855 3794
3856 -is-reference@^1.1.2: 3795 +is-reference@^1.2.1:
3857 version "1.2.1" 3796 version "1.2.1"
3858 resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 3797 resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
3859 integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 3798 integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
@@ -3958,13 +3897,14 @@ isobject@^3.0.0, isobject@^3.0.1: @@ -3958,13 +3897,14 @@ isobject@^3.0.0, isobject@^3.0.1:
3958 resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 3897 resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
3959 integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 3898 integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
3960 3899
3961 -jest-worker@^24.9.0:  
3962 - version "24.9.0"  
3963 - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"  
3964 - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== 3900 +jest-worker@^26.2.1:
  3901 + version "26.5.0"
  3902 + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz#87deee86dbbc5f98d9919e0dadf2c40e3152fa30"
  3903 + integrity sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==
3965 dependencies: 3904 dependencies:
  3905 + "@types/node" "*"
3966 merge-stream "^2.0.0" 3906 merge-stream "^2.0.0"
3967 - supports-color "^6.1.0" 3907 + supports-color "^7.0.0"
3968 3908
3969 joycon@^2.2.5: 3909 joycon@^2.2.5:
3970 version "2.2.5" 3910 version "2.2.5"
@@ -4112,10 +4052,10 @@ koa-compose@^4.1.0: @@ -4112,10 +4052,10 @@ koa-compose@^4.1.0:
4112 resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" 4052 resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"
4113 integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== 4053 integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==
4114 4054
4115 -koa-conditional-get@^2.0.0:  
4116 - version "2.0.0"  
4117 - resolved "https://registry.npmjs.org/koa-conditional-get/-/koa-conditional-get-2.0.0.tgz#a43f3723c1d014b730a34ece8adf30b93c8233f2"  
4118 - integrity sha1-pD83I8HQFLcwo07Oit8wuTyCM/I= 4055 +koa-conditional-get@^3.0.0:
  4056 + version "3.0.0"
  4057 + resolved "https://registry.npmjs.org/koa-conditional-get/-/koa-conditional-get-3.0.0.tgz#552cb64a217dfb907e90b7c34f42009e441c4b8e"
  4058 + integrity sha512-VKyPS7SuNH26TjTV2IRz+oh0HV/jc2lYAo51PTQTkj0XFn8ebNZW9riczmrW7ZVBFSnls1Z88DPUYKnvVymruA==
4119 4059
4120 koa-convert@^1.2.0: 4060 koa-convert@^1.2.0:
4121 version "1.2.0" 4061 version "1.2.0"
@@ -4125,13 +4065,12 @@ koa-convert@^1.2.0: @@ -4125,13 +4065,12 @@ koa-convert@^1.2.0:
4125 co "^4.6.0" 4065 co "^4.6.0"
4126 koa-compose "^3.0.0" 4066 koa-compose "^3.0.0"
4127 4067
4128 -koa-etag@^3.0.0:  
4129 - version "3.0.0"  
4130 - resolved "https://registry.npmjs.org/koa-etag/-/koa-etag-3.0.0.tgz#9ef7382ddd5a82ab0deb153415c915836f771d3f"  
4131 - integrity sha1-nvc4Ld1agqsN6xU0FckVg293HT8= 4068 +koa-etag@^4.0.0:
  4069 + version "4.0.0"
  4070 + resolved "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz#2c2bb7ae69ca1ac6ced09ba28dcb78523c810414"
  4071 + integrity sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==
4132 dependencies: 4072 dependencies:
4133 - etag "^1.3.0"  
4134 - mz "^2.1.0" 4073 + etag "^1.8.1"
4135 4074
4136 koa-proxies@^0.11.0: 4075 koa-proxies@^0.11.0:
4137 version "0.11.0" 4076 version "0.11.0"
@@ -4141,7 +4080,7 @@ koa-proxies@^0.11.0: @@ -4141,7 +4080,7 @@ koa-proxies@^0.11.0:
4141 http-proxy "^1.16.2" 4080 http-proxy "^1.16.2"
4142 path-match "^1.2.4" 4081 path-match "^1.2.4"
4143 4082
4144 -koa-send@^5.0.0: 4083 +koa-send@^5.0.0, koa-send@^5.0.1:
4145 version "5.0.1" 4084 version "5.0.1"
4146 resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" 4085 resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79"
4147 integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== 4086 integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==
@@ -4158,7 +4097,7 @@ koa-static@^5.0.0: @@ -4158,7 +4097,7 @@ koa-static@^5.0.0:
4158 debug "^3.1.0" 4097 debug "^3.1.0"
4159 koa-send "^5.0.0" 4098 koa-send "^5.0.0"
4160 4099
4161 -koa@^2.11.0: 4100 +koa@^2.13.0:
4162 version "2.13.0" 4101 version "2.13.0"
4163 resolved "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz#25217e05efd3358a7e5ddec00f0a380c9b71b501" 4102 resolved "https://registry.npmjs.org/koa/-/koa-2.13.0.tgz#25217e05efd3358a7e5ddec00f0a380c9b71b501"
4164 integrity sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ== 4103 integrity sha512-i/XJVOfPw7npbMv67+bOeXr3gPqOAw6uh5wFyNs3QvJ47tUx3M3V9rIE0//WytY42MKz4l/MXKyGkQ2LQTfLUQ==
@@ -4365,13 +4304,6 @@ lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17 @@ -4365,13 +4304,6 @@ lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17
4365 resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" 4304 resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
4366 integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== 4305 integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
4367 4306
4368 -log-symbols@^3.0.0:  
4369 - version "3.0.0"  
4370 - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"  
4371 - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==  
4372 - dependencies:  
4373 - chalk "^2.4.2"  
4374 -  
4375 log-symbols@^4.0.0: 4307 log-symbols@^4.0.0:
4376 version "4.0.0" 4308 version "4.0.0"
4377 resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" 4309 resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
@@ -4426,7 +4358,14 @@ lru-cache@^5.1.1: @@ -4426,7 +4358,14 @@ lru-cache@^5.1.1:
4426 dependencies: 4358 dependencies:
4427 yallist "^3.0.2" 4359 yallist "^3.0.2"
4428 4360
4429 -magic-string@^0.25.2, magic-string@^0.25.7: 4361 +lru-cache@^6.0.0:
  4362 + version "6.0.0"
  4363 + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
  4364 + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
  4365 + dependencies:
  4366 + yallist "^4.0.0"
  4367 +
  4368 +magic-string@^0.25.7:
4430 version "0.25.7" 4369 version "0.25.7"
4431 resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 4370 resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
4432 integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 4371 integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
@@ -4712,15 +4651,6 @@ mute-stream@0.0.8: @@ -4712,15 +4651,6 @@ mute-stream@0.0.8:
4712 resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 4651 resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
4713 integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 4652 integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
4714 4653
4715 -mz@^2.1.0:  
4716 - version "2.7.0"  
4717 - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"  
4718 - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==  
4719 - dependencies:  
4720 - any-promise "^1.0.0"  
4721 - object-assign "^4.0.1"  
4722 - thenify-all "^1.0.0"  
4723 -  
4724 nanoid@^3.0.1: 4654 nanoid@^3.0.1:
4725 version "3.1.12" 4655 version "3.1.12"
4726 resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" 4656 resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654"
@@ -4905,7 +4835,7 @@ only@~0.0.2: @@ -4905,7 +4835,7 @@ only@~0.0.2:
4905 resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" 4835 resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"
4906 integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= 4836 integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=
4907 4837
4908 -open@^7.0.3: 4838 +open@^7.0.3, open@^7.2.1:
4909 version "7.3.0" 4839 version "7.3.0"
4910 resolved "https://registry.npmjs.org/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" 4840 resolved "https://registry.npmjs.org/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69"
4911 integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw== 4841 integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==
@@ -4930,16 +4860,16 @@ optionator@^0.9.1: @@ -4930,16 +4860,16 @@ optionator@^0.9.1:
4930 type-check "^0.4.0" 4860 type-check "^0.4.0"
4931 word-wrap "^1.2.3" 4861 word-wrap "^1.2.3"
4932 4862
4933 -ora@^4.0.4:  
4934 - version "4.1.1"  
4935 - resolved "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc"  
4936 - integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== 4863 +ora@^5.1.0:
  4864 + version "5.1.0"
  4865 + resolved "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz#b188cf8cd2d4d9b13fd25383bc3e5cba352c94f8"
  4866 + integrity sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==
4937 dependencies: 4867 dependencies:
4938 - chalk "^3.0.0" 4868 + chalk "^4.1.0"
4939 cli-cursor "^3.1.0" 4869 cli-cursor "^3.1.0"
4940 - cli-spinners "^2.2.0" 4870 + cli-spinners "^2.4.0"
4941 is-interactive "^1.0.0" 4871 is-interactive "^1.0.0"
4942 - log-symbols "^3.0.0" 4872 + log-symbols "^4.0.0"
4943 mute-stream "0.0.8" 4873 mute-stream "0.0.8"
4944 strip-ansi "^6.0.0" 4874 strip-ansi "^6.0.0"
4945 wcwidth "^1.0.1" 4875 wcwidth "^1.0.1"
@@ -5381,7 +5311,7 @@ postcss-value-parser@^4.1.0: @@ -5381,7 +5311,7 @@ postcss-value-parser@^4.1.0:
5381 resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" 5311 resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
5382 integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== 5312 integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
5383 5313
5384 -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.28, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: 5314 +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
5385 version "7.0.35" 5315 version "7.0.35"
5386 resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" 5316 resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
5387 integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== 5317 integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
@@ -5778,7 +5708,7 @@ resolve-url@^0.2.1: @@ -5778,7 +5708,7 @@ resolve-url@^0.2.1:
5778 resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 5708 resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
5779 integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 5709 integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
5780 5710
5781 -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.17.0, resolve@^1.3.2: 5711 +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2:
5782 version "1.17.0" 5712 version "1.17.0"
5783 resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" 5713 resolved "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
5784 integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== 5714 integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
@@ -5830,7 +5760,7 @@ rollup-plugin-analyzer@^3.3.0: @@ -5830,7 +5760,7 @@ rollup-plugin-analyzer@^3.3.0:
5830 resolved "https://registry.npmjs.org/rollup-plugin-analyzer/-/rollup-plugin-analyzer-3.3.0.tgz#52fb30465ae927d9c078b6ec90c578cfb9164fc2" 5760 resolved "https://registry.npmjs.org/rollup-plugin-analyzer/-/rollup-plugin-analyzer-3.3.0.tgz#52fb30465ae927d9c078b6ec90c578cfb9164fc2"
5831 integrity sha512-zUPGitW4usmZcVa0nKecRvw3odtXgnxdCben9Hx1kxVoR3demek8RU9tmRG/R35hnRPQTb7wEsYEe3GUcjxIMA== 5761 integrity sha512-zUPGitW4usmZcVa0nKecRvw3odtXgnxdCben9Hx1kxVoR3demek8RU9tmRG/R35hnRPQTb7wEsYEe3GUcjxIMA==
5832 5762
5833 -rollup-plugin-dynamic-import-variables@^1.0.1: 5763 +rollup-plugin-dynamic-import-variables@^1.1.0:
5834 version "1.1.0" 5764 version "1.1.0"
5835 resolved "https://registry.npmjs.org/rollup-plugin-dynamic-import-variables/-/rollup-plugin-dynamic-import-variables-1.1.0.tgz#4981d38907a471b35234398a09047bef47a2006a" 5765 resolved "https://registry.npmjs.org/rollup-plugin-dynamic-import-variables/-/rollup-plugin-dynamic-import-variables-1.1.0.tgz#4981d38907a471b35234398a09047bef47a2006a"
5836 integrity sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw== 5766 integrity sha512-C1avEmnXC8cC4aAQ5dB63O9oQf7IrhEHc98bQw9Qd6H36FxtZooLCvVfcO4SNYrqaNrzH3ErucQt/zdFSLPHNw==
@@ -5857,16 +5787,15 @@ rollup-plugin-purge-icons@^0.4.4: @@ -5857,16 +5787,15 @@ rollup-plugin-purge-icons@^0.4.4:
5857 "@purge-icons/core" "^0.4.4" 5787 "@purge-icons/core" "^0.4.4"
5858 "@purge-icons/generated" "^0.4.1" 5788 "@purge-icons/generated" "^0.4.1"
5859 5789
5860 -rollup-plugin-terser@^5.3.0:  
5861 - version "5.3.1"  
5862 - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413"  
5863 - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== 5790 +rollup-plugin-terser@^7.0.2:
  5791 + version "7.0.2"
  5792 + resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d"
  5793 + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==
5864 dependencies: 5794 dependencies:
5865 - "@babel/code-frame" "^7.5.5"  
5866 - jest-worker "^24.9.0"  
5867 - rollup-pluginutils "^2.8.2" 5795 + "@babel/code-frame" "^7.10.4"
  5796 + jest-worker "^26.2.1"
5868 serialize-javascript "^4.0.0" 5797 serialize-javascript "^4.0.0"
5869 - terser "^4.6.2" 5798 + terser "^5.0.0"
5870 5799
5871 rollup-plugin-visualizer@^4.1.1: 5800 rollup-plugin-visualizer@^4.1.1:
5872 version "4.1.1" 5801 version "4.1.1"
@@ -5888,7 +5817,7 @@ rollup-plugin-vue@^6.0.0-beta.10: @@ -5888,7 +5817,7 @@ rollup-plugin-vue@^6.0.0-beta.10:
5888 hash-sum "^2.0.0" 5817 hash-sum "^2.0.0"
5889 rollup-pluginutils "^2.8.2" 5818 rollup-pluginutils "^2.8.2"
5890 5819
5891 -rollup-plugin-web-worker-loader@^1.3.0: 5820 +rollup-plugin-web-worker-loader@^1.3.1:
5892 version "1.4.0" 5821 version "1.4.0"
5893 resolved "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.4.0.tgz#b4fd711118758c2111c30e794e2f2757b75a27b8" 5822 resolved "https://registry.npmjs.org/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.4.0.tgz#b4fd711118758c2111c30e794e2f2757b75a27b8"
5894 integrity sha512-jhlOwSkrXkAVFY2Fded0M1AS9iqZDNjUJxNz4BFjBlaKuUzTx8Ikey+b3LSegUJE4mzAAw2DqJD8pX12R0ZdDw== 5823 integrity sha512-jhlOwSkrXkAVFY2Fded0M1AS9iqZDNjUJxNz4BFjBlaKuUzTx8Ikey+b3LSegUJE4mzAAw2DqJD8pX12R0ZdDw==
@@ -5908,7 +5837,7 @@ rollup@^0.63.4: @@ -5908,7 +5837,7 @@ rollup@^0.63.4:
5908 "@types/estree" "0.0.39" 5837 "@types/estree" "0.0.39"
5909 "@types/node" "*" 5838 "@types/node" "*"
5910 5839
5911 -rollup@^2.20.0, rollup@^2.26.11: 5840 +rollup@^2.26.11:
5912 version "2.29.0" 5841 version "2.29.0"
5913 resolved "https://registry.npmjs.org/rollup/-/rollup-2.29.0.tgz#0c5c5968530b21ca0e32f8b94b7cd9346cfb0eec" 5842 resolved "https://registry.npmjs.org/rollup/-/rollup-2.29.0.tgz#0c5c5968530b21ca0e32f8b94b7cd9346cfb0eec"
5914 integrity sha512-gtU0sjxMpsVlpuAf4QXienPmUAhd6Kc7owQ4f5lypoxBW18fw2UNYZ4NssLGsri6WhUZkE/Ts3EMRebN+gNLiQ== 5843 integrity sha512-gtU0sjxMpsVlpuAf4QXienPmUAhd6Kc7owQ4f5lypoxBW18fw2UNYZ4NssLGsri6WhUZkE/Ts3EMRebN+gNLiQ==
@@ -6139,7 +6068,7 @@ source-map-resolve@^0.5.0: @@ -6139,7 +6068,7 @@ source-map-resolve@^0.5.0:
6139 source-map-url "^0.4.0" 6068 source-map-url "^0.4.0"
6140 urix "^0.1.0" 6069 urix "^0.1.0"
6141 6070
6142 -source-map-support@^0.5.17, source-map-support@~0.5.12: 6071 +source-map-support@^0.5.17, source-map-support@~0.5.19:
6143 version "0.5.19" 6072 version "0.5.19"
6144 resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 6073 resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
6145 integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 6074 integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
@@ -6157,12 +6086,12 @@ source-map@^0.5.0, source-map@^0.5.6: @@ -6157,12 +6086,12 @@ source-map@^0.5.0, source-map@^0.5.6:
6157 resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 6086 resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
6158 integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 6087 integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
6159 6088
6160 -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: 6089 +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
6161 version "0.6.1" 6090 version "0.6.1"
6162 resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 6091 resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
6163 integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 6092 integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
6164 6093
6165 -source-map@^0.7.3: 6094 +source-map@^0.7.3, source-map@~0.7.2:
6166 version "0.7.3" 6095 version "0.7.3"
6167 resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 6096 resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
6168 integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 6097 integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
@@ -6507,7 +6436,7 @@ supports-color@^6.1.0: @@ -6507,7 +6436,7 @@ supports-color@^6.1.0:
6507 dependencies: 6436 dependencies:
6508 has-flag "^3.0.0" 6437 has-flag "^3.0.0"
6509 6438
6510 -supports-color@^7.1.0: 6439 +supports-color@^7.0.0, supports-color@^7.1.0:
6511 version "7.2.0" 6440 version "7.2.0"
6512 resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 6441 resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
6513 integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 6442 integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
@@ -6616,14 +6545,14 @@ tempfile@^3.0.0: @@ -6616,14 +6545,14 @@ tempfile@^3.0.0:
6616 temp-dir "^2.0.0" 6545 temp-dir "^2.0.0"
6617 uuid "^3.3.2" 6546 uuid "^3.3.2"
6618 6547
6619 -terser@^4.6.2:  
6620 - version "4.8.0"  
6621 - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"  
6622 - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== 6548 +terser@^5.0.0:
  6549 + version "5.3.5"
  6550 + resolved "https://registry.npmjs.org/terser/-/terser-5.3.5.tgz#9e080baa0568f96654621b20eb9effa440b1484e"
  6551 + integrity sha512-Qw3CZAMmmfU824AoGKalx+riwocSI5Cs0PoGp9RdSLfmxkmJgyBxqLBP/isDNtFyhHnitikvRMZzyVgeq+U+Tg==
6623 dependencies: 6552 dependencies:
6624 commander "^2.20.0" 6553 commander "^2.20.0"
6625 - source-map "~0.6.1"  
6626 - source-map-support "~0.5.12" 6554 + source-map "~0.7.2"
  6555 + source-map-support "~0.5.19"
6627 6556
6628 text-extensions@^1.0.0: 6557 text-extensions@^1.0.0:
6629 version "1.9.0" 6558 version "1.9.0"
@@ -6635,20 +6564,6 @@ text-table@^0.2.0: @@ -6635,20 +6564,6 @@ text-table@^0.2.0:
6635 resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 6564 resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
6636 integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 6565 integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
6637 6566
6638 -thenify-all@^1.0.0:  
6639 - version "1.6.0"  
6640 - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"  
6641 - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=  
6642 - dependencies:  
6643 - thenify ">= 3.1.0 < 4"  
6644 -  
6645 -"thenify@>= 3.1.0 < 4":  
6646 - version "3.3.1"  
6647 - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"  
6648 - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==  
6649 - dependencies:  
6650 - any-promise "^1.0.0"  
6651 -  
6652 through2@^2.0.0, through2@^2.0.2: 6567 through2@^2.0.0, through2@^2.0.2:
6653 version "2.0.5" 6568 version "2.0.5"
6654 resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 6569 resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -7042,61 +6957,61 @@ vite-plugin-purge-icons@^0.4.4: @@ -7042,61 +6957,61 @@ vite-plugin-purge-icons@^0.4.4:
7042 "@purge-icons/generated" "^0.4.1" 6957 "@purge-icons/generated" "^0.4.1"
7043 rollup-plugin-purge-icons "^0.4.4" 6958 rollup-plugin-purge-icons "^0.4.4"
7044 6959
7045 -vite@^1.0.0-rc.4:  
7046 - version "1.0.0-rc.4"  
7047 - resolved "https://registry.npmjs.org/vite/-/vite-1.0.0-rc.4.tgz#210106136861b231704e6381ac9eb1bcd655d4f0"  
7048 - integrity sha512-D9gpKKaE2U0YpIxNrSn+nlFPBT0sfg68Y1EReYW8YHMhbNFcxwS7RZIa1W/8Pq6yDfVRAhbOZNijv1mLG5pCEg== 6960 +"vite@npm:@knightly/vite":
  6961 + version "1.0.0-knightly.202010140013"
  6962 + resolved "https://registry.npmjs.org/@knightly/vite/-/vite-1.0.0-knightly.202010140013.tgz#8feb5926fe056538384e35c91d356675df3c3504"
  6963 + integrity sha512-wsCJ7ISIpO2ek5/t5t8t+3EhDZu5y51tmf6P7yQKupaMw14CZ5YZY/VSeTWZfD5CIa2vaSCLf+x4fCv36Jw+kw==
7049 dependencies: 6964 dependencies:
7050 - "@babel/parser" "^7.9.4"  
7051 - "@rollup/plugin-commonjs" "^14.0.0"  
7052 - "@rollup/plugin-json" "^4.0.3"  
7053 - "@rollup/plugin-node-resolve" "^8.4.0"  
7054 - "@types/koa" "^2.11.3" 6965 + "@babel/parser" "^7.11.5"
  6966 + "@rollup/plugin-commonjs" "^15.0.0"
  6967 + "@rollup/plugin-json" "^4.1.0"
  6968 + "@rollup/plugin-node-resolve" "^9.0.0"
  6969 + "@rollup/pluginutils" "^4.0.0"
  6970 + "@types/koa" "^2.11.4"
7055 "@types/lru-cache" "^5.1.0" 6971 "@types/lru-cache" "^5.1.0"
7056 - "@vue/compiler-dom" "^3.0.0-rc.5"  
7057 - "@vue/compiler-sfc" "^3.0.0-rc.5" 6972 + "@vue/compiler-dom" "^3.0.0-rc.10"
  6973 + "@vue/compiler-sfc" "^3.0.0-rc.10"
7058 brotli-size "^4.0.0" 6974 brotli-size "^4.0.0"
7059 - chalk "^4.0.0"  
7060 - chokidar "^3.3.1" 6975 + chalk "^4.1.0"
  6976 + chokidar "^3.4.2"
7061 clean-css "^4.2.3" 6977 clean-css "^4.2.3"
7062 debug "^4.1.1" 6978 debug "^4.1.1"
7063 dotenv "^8.2.0" 6979 dotenv "^8.2.0"
7064 dotenv-expand "^5.1.0" 6980 dotenv-expand "^5.1.0"
7065 - es-module-lexer "^0.3.18"  
7066 - esbuild "^0.6.10" 6981 + es-module-lexer "^0.3.25"
  6982 + esbuild "^0.6.33"
7067 etag "^1.8.1" 6983 etag "^1.8.1"
7068 - execa "^4.0.1"  
7069 - fs-extra "^9.0.0" 6984 + execa "^4.0.3"
  6985 + fs-extra "^9.0.1"
7070 hash-sum "^2.0.0" 6986 hash-sum "^2.0.0"
7071 isbuiltin "^1.0.0" 6987 isbuiltin "^1.0.0"
7072 - koa "^2.11.0"  
7073 - koa-conditional-get "^2.0.0"  
7074 - koa-etag "^3.0.0" 6988 + koa "^2.13.0"
  6989 + koa-conditional-get "^3.0.0"
  6990 + koa-etag "^4.0.0"
7075 koa-proxies "^0.11.0" 6991 koa-proxies "^0.11.0"
7076 - koa-send "^5.0.0" 6992 + koa-send "^5.0.1"
7077 koa-static "^5.0.0" 6993 koa-static "^5.0.0"
7078 - lru-cache "^5.1.1" 6994 + lru-cache "^6.0.0"
7079 magic-string "^0.25.7" 6995 magic-string "^0.25.7"
7080 merge-source-map "^1.1.0" 6996 merge-source-map "^1.1.0"
7081 mime-types "^2.1.27" 6997 mime-types "^2.1.27"
7082 minimist "^1.2.5" 6998 minimist "^1.2.5"
7083 - open "^7.0.3"  
7084 - ora "^4.0.4"  
7085 - postcss "^7.0.28" 6999 + open "^7.2.1"
  7000 + ora "^5.1.0"
  7001 + postcss "^7.0.32"
7086 postcss-discard-comments "^4.0.2" 7002 postcss-discard-comments "^4.0.2"
7087 postcss-import "^12.0.1" 7003 postcss-import "^12.0.1"
7088 postcss-load-config "^2.1.0" 7004 postcss-load-config "^2.1.0"
7089 resolve "^1.17.0" 7005 resolve "^1.17.0"
7090 - rollup "^2.20.0"  
7091 - rollup-plugin-dynamic-import-variables "^1.0.1"  
7092 - rollup-plugin-terser "^5.3.0" 7006 + rollup "^2.26.11"
  7007 + rollup-plugin-dynamic-import-variables "^1.1.0"
  7008 + rollup-plugin-terser "^7.0.2"
7093 rollup-plugin-vue "^6.0.0-beta.10" 7009 rollup-plugin-vue "^6.0.0-beta.10"
7094 - rollup-plugin-web-worker-loader "^1.3.0"  
7095 - rollup-pluginutils "^2.8.2" 7010 + rollup-plugin-web-worker-loader "^1.3.1"
7096 selfsigned "^1.10.7" 7011 selfsigned "^1.10.7"
7097 slash "^3.0.0" 7012 slash "^3.0.0"
7098 - vue "^3.0.0-rc.5"  
7099 - ws "^7.2.3" 7013 + vue "^3.0.0-rc.10"
  7014 + ws "^7.3.1"
7100 7015
7101 vue-eslint-parser@^7.1.0: 7016 vue-eslint-parser@^7.1.0:
7102 version "7.1.0" 7017 version "7.1.0"
@@ -7132,16 +7047,7 @@ vue-router@^4.0.0-beta.13: @@ -7132,16 +7047,7 @@ vue-router@^4.0.0-beta.13:
7132 resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.0.0-beta.13.tgz#4611d09a9e44f231cc401ecc294a7f2dcb30e6a6" 7047 resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.0.0-beta.13.tgz#4611d09a9e44f231cc401ecc294a7f2dcb30e6a6"
7133 integrity sha512-dYv9qpHPaojQlfujViiTkPkf1Bf5RCFzkCkdVFc1cENzWJYAGJanpIHiyjyKoM4u7IDFBZMItci+U4ieaEWA8A== 7048 integrity sha512-dYv9qpHPaojQlfujViiTkPkf1Bf5RCFzkCkdVFc1cENzWJYAGJanpIHiyjyKoM4u7IDFBZMItci+U4ieaEWA8A==
7134 7049
7135 -vue@^3.0.0-rc.5:  
7136 - version "3.0.0"  
7137 - resolved "https://registry.npmjs.org/vue/-/vue-3.0.0.tgz#cfb5df5c34efce319b113a1667d12b74dcfd9c90"  
7138 - integrity sha512-ZMrAARZ32sGIaYKr7Fk2GZEBh/VhulSrGxcGBiAvbN4fhjl3tuJyNFbbbLFqGjndbLoBW66I2ECq8ICdvkKdJw==  
7139 - dependencies:  
7140 - "@vue/compiler-dom" "3.0.0"  
7141 - "@vue/runtime-dom" "3.0.0"  
7142 - "@vue/shared" "3.0.0"  
7143 -  
7144 -vue@^3.0.1: 7050 +vue@^3.0.0-rc.10, vue@^3.0.1:
7145 version "3.0.1" 7051 version "3.0.1"
7146 resolved "https://registry.npmjs.org/vue/-/vue-3.0.1.tgz#dcdabf07da37e655e23d7d22eacc18c2da5f5a16" 7052 resolved "https://registry.npmjs.org/vue/-/vue-3.0.1.tgz#dcdabf07da37e655e23d7d22eacc18c2da5f5a16"
7147 integrity sha512-WBTgaQMJIWQuhlzMV6C0qvVrxyQSpx3gKwflYC0sqGKEZSxMIOYRnrIlHUN4ivUVvP7mUMxcnFTt7P+akdOkQA== 7053 integrity sha512-WBTgaQMJIWQuhlzMV6C0qvVrxyQSpx3gKwflYC0sqGKEZSxMIOYRnrIlHUN4ivUVvP7mUMxcnFTt7P+akdOkQA==
@@ -7257,7 +7163,7 @@ write@1.0.3: @@ -7257,7 +7163,7 @@ write@1.0.3:
7257 dependencies: 7163 dependencies:
7258 mkdirp "^0.5.1" 7164 mkdirp "^0.5.1"
7259 7165
7260 -ws@^7.2.3: 7166 +ws@^7.3.1:
7261 version "7.3.1" 7167 version "7.3.1"
7262 resolved "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" 7168 resolved "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
7263 integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== 7169 integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
@@ -7282,6 +7188,11 @@ yallist@^3.0.2: @@ -7282,6 +7188,11 @@ yallist@^3.0.2:
7282 resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 7188 resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
7283 integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 7189 integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
7284 7190
  7191 +yallist@^4.0.0:
  7192 + version "4.0.0"
  7193 + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
  7194 + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
  7195 +
7285 yaml@^1.10.0: 7196 yaml@^1.10.0:
7286 version "1.10.0" 7197 version "1.10.0"
7287 resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" 7198 resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"