├── .eslintrc.json ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── README.zh-CN.md ├── examples ├── exports │ ├── index.html │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── exports.ts │ │ ├── main.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── react-ts │ ├── index.html │ ├── package.json │ ├── src │ │ ├── App.tsx │ │ ├── main.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── vite2.7 │ ├── index.html │ ├── package.json │ ├── src │ │ ├── App.vue │ │ ├── main.ts │ │ └── vant.ts │ └── vite.config.js └── vue │ ├── index.html │ ├── package.json │ ├── src │ ├── App.vue │ └── main.js │ └── vite.config.js ├── index.d.ts ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── constant.ts ├── index.ts ├── options.ts ├── transform.ts ├── types.ts └── utils.ts ├── test └── transform.spec.ts ├── tsconfig.json └── vitest.config.ts /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@crcong/eslint-config-typescript" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | yarn-error.log 3 | dist 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.codeActionsOnSave": { 3 | "source.fixAll.eslint": true 4 | }, 5 | "typescript.tsdk": "node_modules/typescript/lib" 6 | } 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ruicong 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-externals 2 | 3 |

4 | 5 | NPM package 6 | 7 | 8 | downloads 9 | 10 | 11 | Awesome 12 | 13 |

14 | 15 | English | [简体中文](README.zh-CN.md) 16 | 17 | use to external resources, like webpack externals, but only use in browser now. 18 | 19 | Can be used in `production` mode without other `rollup` configuration. 20 | 21 | but it will not take effect by default in `commonjs`, such as `ssr`. 22 | 23 | ## Usage 24 | 25 | ```bash 26 | npm i vite-plugin-externals -D 27 | ``` 28 | 29 | Add it to `vite.config.js` 30 | 31 | ```js 32 | // vite.config.js 33 | import { viteExternalsPlugin } from 'vite-plugin-externals' 34 | 35 | export default { 36 | plugins: [ 37 | viteExternalsPlugin({ 38 | vue: 'Vue', 39 | react: 'React', 40 | 'react-dom': 'ReactDOM', 41 | // value support chain, transform to window['React']['lazy'] 42 | lazy: ['React', 'lazy'] 43 | }), 44 | ] 45 | } 46 | ``` 47 | 48 | **Warning**: If you loaded `production` library in `vite dev mode` , may make `HMR` **fail**. 49 | 50 | You can use `disableInServe: true` option to avoid transform in serve mode. 51 | 52 | Eg. 53 | ```html 54 | 55 | 56 | 57 | 58 | 59 | ``` 60 | 61 | ## How to work 62 | 63 | transform source code of js file. 64 | 65 | ```js 66 | // configuration 67 | viteExternalsPlugin({ 68 | vue: 'Vue', 69 | }), 70 | // source code 71 | import Vue from 'vue' 72 | // transformed 73 | const Vue = window['Vue'] 74 | 75 | // source code 76 | import { reactive, ref as r } from 'vue' 77 | // transformed 78 | const reactive = window['Vue'].reactive 79 | const r = window['Vue'].ref 80 | 81 | // source code 82 | import * as vue from 'vue' 83 | // transformed 84 | const vue = window['Vue'] 85 | 86 | // source code 87 | export { useState as _useState } from 'react' 88 | // transformed 89 | export const _useState = window['React'].useState 90 | ``` 91 | 92 | **Warning**: please use the plugin after converting to JS code, because the plugin only transform JS code. Eg. 93 | 94 | ```js 95 | import vue from '@vitejs/plugin-vue' 96 | 97 | export default { 98 | plugins: [ 99 | vue(), // @vitejs/plugin-vue will transform SFC to JS code 100 | 101 | // It should be under @vitejs/plugin-vue 102 | viteExternalsPlugin({ 103 | vue: 'Vue', 104 | }), 105 | ] 106 | } 107 | ``` 108 | 109 | If an error occurs, you can check whether the error is caused by the plugin order. 110 | 111 | ## Configuration 112 | 113 | ### disableInServe 114 | 115 | disable transform in `serve mode` . 116 | 117 | ```js 118 | viteExternalsPlugin({ 119 | vue: 'Vue', 120 | }, { disableInServe: true }) 121 | ``` 122 | 123 | 124 | ### enforce 125 | 126 | vite plugin ordering. Resolve plugin ordering cause unexpected error. Such as [#21](https://github.com/crcong/vite-plugin-externals/issues/21). 127 | 128 | See [https://vitejs.dev/guide/api-plugin.html#plugin-ordering](https://vitejs.dev/guide/api-plugin.html#plugin-ordering). 129 | 130 | ### filter 131 | 132 | The files in `node_modules` are filtered by default, and only transform js/ts/vue/jsx/tsx file. 133 | 134 | You can specify the `filter` function. Return `true` will be transform to external. 135 | 136 | ```js 137 | viteExternalsPlugin({ 138 | vue: 'Vue', 139 | }, { 140 | filter(code, id, ssr) { 141 | // your code 142 | return false 143 | } 144 | }), 145 | ``` 146 | 147 | ### useWindow 148 | 149 | set `false`, the `window` prefix will not be added. 150 | 151 | **Warning**: If your module name has special characters, such as `/`, set useWindow option `false`, will throw error. 152 | 153 | ```js 154 | viteExternalsPlugin({ 155 | vue: 'Vue', 156 | }, { useWindow: false }), 157 | 158 | // source code 159 | import Vue from 'vue' 160 | // transformed, no `const Vue = window['Vue']` 161 | const Vue = Vue 162 | ``` 163 | 164 | ### sourceMapOptions 165 | 166 | The configuration item of the code sourcemap after code conversion. The library is `magic-string`. 167 | -------------------------------------------------------------------------------- /README.zh-CN.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-externals 2 | 3 |

4 | 5 | NPM package 6 | 7 | 8 | downloads 9 | 10 | 11 | Awesome 12 | 13 |

14 | 15 | [English](README.md) | 简体中文 16 | 17 | 使用外部库,类似webpack的externals,但现在只支持浏览器环境。 18 | 19 | 可以不另外配置 `rollup` 的选项,就可以使用在生产环境。 20 | 21 | 但是在默认配置下在 `commonjs` 环境中不生效,例如 `ssr`。 22 | 23 | ## 用法 24 | 25 | ```bash 26 | npm i vite-plugin-externals -D 27 | ``` 28 | 29 | 增加配置在 `vite.config.js` 30 | 31 | ```js 32 | // vite.config.js 33 | import { viteExternalsPlugin } from 'vite-plugin-externals' 34 | 35 | export default { 36 | plugins: [ 37 | viteExternalsPlugin({ 38 | vue: 'Vue', 39 | react: 'React', 40 | 'react-dom': 'ReactDOM', 41 | // 支持值链式取值,会转换成 window['React']['lazy'] 42 | lazy: ['React', 'lazy'] 43 | }), 44 | ] 45 | } 46 | ``` 47 | 48 | **警告**: 如果你在开发环境中,引入了生产环境的库, 可能会使得 `HMR` 失败。 49 | 50 | 你也可以使用 `disableInServe: true` 避免在 serve 模式中转换。 51 | 52 | 例如: 53 | ```html 54 | 55 | 56 | 57 | 58 | 59 | ``` 60 | 61 | ## 原理 62 | 63 | 转换js的源代码。 64 | 65 | ```js 66 | // 选项 67 | viteExternalsPlugin({ 68 | vue: 'Vue', 69 | }), 70 | // 源代码 71 | import Vue from 'vue' 72 | // 转换后 73 | const Vue = window['Vue'] 74 | 75 | // 源代码 76 | import { reactive, ref as r } from 'vue' 77 | // 转换后 78 | const reactive = window['Vue'].reactive 79 | const r = window['Vue'].ref 80 | 81 | // 源代码 82 | import * as vue from 'vue' 83 | // 转换后 84 | const vue = window['Vue'] 85 | 86 | // 源代码 87 | export { useState as _useState } from 'react' 88 | // 转换后 89 | export const _useState = window['React'].useState 90 | ``` 91 | 92 | **注意**: 请使用该插件前,需要把代码转换成js,因为此插件只能解析js代码,例如: 93 | 94 | ```js 95 | import vue from '@vitejs/plugin-vue' 96 | 97 | export default { 98 | plugins: [ 99 | vue(), // @vitejs/plugin-vue 将会把SFC的代码转换成js代码 100 | 101 | // 所以这插件要放在@vitejs/plugin-vue的下面 102 | viteExternalsPlugin({ 103 | vue: 'Vue', 104 | }), 105 | ] 106 | } 107 | ``` 108 | 109 | 如果出现异常报错,可以查看是否因为插件顺序引起的报错。 110 | 111 | ## 配置选项 112 | 113 | ### disableInServe 114 | 115 | 在 `serve` 模式中禁止转换 `external` 代码。 116 | 117 | ```js 118 | viteExternalsPlugin({ 119 | vue: 'Vue', 120 | }, { disableInServe: true }) 121 | ``` 122 | 123 | ### enforce 124 | 125 | vite 插件顺序。 解决由于 vite 插件顺序引起的异常。 例如 [#21](https://github.com/crcong/vite-plugin-externals/issues/21). 126 | 127 | 详细可以查看 [https://vitejs.dev/guide/api-plugin.html#plugin-ordering](https://vitejs.dev/guide/api-plugin.html#plugin-ordering) 。 128 | 129 | ### filter 130 | 131 | 此插件会默认过滤 `node_modules` 下的文件,只转换 js/ts/vue/jsx/tsx 文件。 132 | 133 | 你可以指定 `filter` 函数,返回 `true` 将会进行转换成外部变量。 134 | 135 | ```js 136 | viteExternalsPlugin({ 137 | vue: 'Vue', 138 | }, { 139 | filter(code, id, ssr) { 140 | // 你的代码 141 | return false 142 | } 143 | }), 144 | ``` 145 | 146 | ### useWindow 147 | 148 | 默认为 `true` , 设置 `false` , `window` 的作用域将不会加上。 149 | 150 | **注意**: 如果模块名有特殊字符,例如 `/`,设置useWindow选项 `false` 将引发错误。 151 | 152 | ```js 153 | viteExternalsPlugin({ 154 | vue: 'Vue', 155 | }, { useWindow: false }), 156 | 157 | // 源代码 158 | import Vue from 'vue' 159 | // 转换后, 不是 `const Vue = window['Vue']` 160 | const Vue = Vue 161 | ``` 162 | 163 | ### sourceMapOptions 164 | 165 | 转换后代码sourceMap的配置项,库是 `magic-string` 。 166 | -------------------------------------------------------------------------------- /examples/exports/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/exports/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "tsc && vite build", 6 | "serve": "vite preview" 7 | }, 8 | "dependencies": { 9 | "antd": "^4.16.11", 10 | "less": "^4.1.1", 11 | "react": "^17.0.2", 12 | "react-dom": "^17.0.2" 13 | }, 14 | "devDependencies": { 15 | "@types/react": "^17.0.0", 16 | "@types/react-dom": "^17.0.0", 17 | "@vitejs/plugin-react-refresh": "^1.3.1", 18 | "typescript": "^4.3.2", 19 | "vite": "^2.3.7", 20 | "vite-plugin-externals": "workspace:*" 21 | } 22 | } -------------------------------------------------------------------------------- /examples/exports/src/App.tsx: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-use-before-define 2 | import React, { useState2, useEffect, ReactDom } from './exports' 3 | import 'antd/dist/antd.less' 4 | import { Button } from 'antd' 5 | 6 | // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types 7 | function App() { 8 | const [count, setCount] = useState2(1) 9 | useEffect(() => { 10 | // eslint-disable-next-line no-console 11 | console.log('ReactDom', ReactDom) 12 | }) 13 | 14 | return ( 15 | 18 | ) 19 | } 20 | 21 | export default App 22 | -------------------------------------------------------------------------------- /examples/exports/src/exports.ts: -------------------------------------------------------------------------------- 1 | export { default as ReactDom } from 'react-dom' 2 | export { default, useState as useState2, useEffect } from 'react' 3 | -------------------------------------------------------------------------------- /examples/exports/src/main.tsx: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-use-before-define 2 | import React from 'react' 3 | import ReactDOM from 'react-dom' 4 | import App from './App' 5 | 6 | ReactDOM.render( 7 | 8 | 9 | , 10 | document.getElementById('root'), 11 | ) 12 | -------------------------------------------------------------------------------- /examples/exports/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/exports/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "allowJs": false, 6 | "skipLibCheck": false, 7 | "esModuleInterop": false, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "ESNext", 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "jsx": "react" 17 | }, 18 | "include": ["./src"] 19 | } 20 | -------------------------------------------------------------------------------- /examples/exports/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import reactRefresh from '@vitejs/plugin-react-refresh' 3 | import { viteExternalsPlugin } from 'vite-plugin-externals' 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [ 8 | reactRefresh(), 9 | viteExternalsPlugin({ 10 | react: 'React', 11 | 'react-dom': 'ReactDOM', 12 | }), 13 | ], 14 | css: { 15 | preprocessorOptions: { 16 | less: { 17 | // 允许链式调用的换行 18 | javascriptEnabled: true, 19 | }, 20 | }, 21 | }, 22 | }) 23 | -------------------------------------------------------------------------------- /examples/react-ts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/react-ts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "tsc && vite build", 6 | "serve": "vite preview" 7 | }, 8 | "dependencies": { 9 | "antd": "^4.16.11", 10 | "less": "^4.1.1", 11 | "react": "^17.0.2", 12 | "react-dom": "^17.0.2" 13 | }, 14 | "devDependencies": { 15 | "@types/react": "^17.0.0", 16 | "@types/react-dom": "^17.0.0", 17 | "@vitejs/plugin-react-refresh": "^1.3.1", 18 | "typescript": "^4.3.2", 19 | "vite": "^2.3.7", 20 | "vite-plugin-externals": "workspace:*" 21 | } 22 | } -------------------------------------------------------------------------------- /examples/react-ts/src/App.tsx: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-use-before-define 2 | import React from 'react' 3 | import 'antd/dist/antd.less' 4 | import { Button } from 'antd' 5 | 6 | // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types 7 | function App() { 8 | return ( 9 | 12 | ) 13 | } 14 | 15 | export default App 16 | -------------------------------------------------------------------------------- /examples/react-ts/src/main.tsx: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line no-use-before-define 2 | import React from 'react' 3 | import ReactDOM from 'react-dom' 4 | import App from './App' 5 | 6 | ReactDOM.render( 7 | 8 | 9 | , 10 | document.getElementById('root'), 11 | ) 12 | -------------------------------------------------------------------------------- /examples/react-ts/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /examples/react-ts/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "allowJs": false, 6 | "skipLibCheck": false, 7 | "esModuleInterop": false, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "ESNext", 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "jsx": "react" 17 | }, 18 | "include": ["./src"] 19 | } 20 | -------------------------------------------------------------------------------- /examples/react-ts/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import reactRefresh from '@vitejs/plugin-react-refresh' 3 | import { viteExternalsPlugin } from 'vite-plugin-externals' 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [ 8 | reactRefresh(), 9 | viteExternalsPlugin({ 10 | react: 'React', 11 | 'react-dom': 'ReactDOM', 12 | }), 13 | ], 14 | css: { 15 | preprocessorOptions: { 16 | less: { 17 | // 允许链式调用的换行 18 | javascriptEnabled: true, 19 | }, 20 | }, 21 | }, 22 | }) 23 | -------------------------------------------------------------------------------- /examples/vite2.7/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/vite2.7/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "vite build", 6 | "serve": "vite preview" 7 | }, 8 | "dependencies": { 9 | "vant": "^3.4.6", 10 | "vue": "^3.2.24" 11 | }, 12 | "devDependencies": { 13 | "@vitejs/plugin-vue": "^1.10.2", 14 | "vite": "^2.7.1", 15 | "vite-plugin-externals": "workspace:*" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /examples/vite2.7/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 21 | -------------------------------------------------------------------------------- /examples/vite2.7/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | import { Vant } from './vant' 4 | 5 | const app = createApp(App) 6 | 7 | app.use(Vant).mount('#app') 8 | -------------------------------------------------------------------------------- /examples/vite2.7/src/vant.ts: -------------------------------------------------------------------------------- 1 | import Vant from 'vant' 2 | export { Vant } 3 | -------------------------------------------------------------------------------- /examples/vite2.7/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import { viteExternalsPlugin } from 'vite-plugin-externals' 4 | 5 | export default defineConfig(async() => { 6 | return { 7 | plugins: [ 8 | vue(), 9 | viteExternalsPlugin({ 10 | vue: 'Vue', 11 | vant: 'vant', 12 | }, { 13 | disableInServe: true, 14 | }), 15 | ], 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /examples/vue/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /examples/vue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "scripts": { 4 | "dev": "vite", 5 | "build": "vite build", 6 | "serve": "vite preview" 7 | }, 8 | "dependencies": { 9 | "element-plus": "^1.0.2-beta.70", 10 | "vue": "^3.0.5" 11 | }, 12 | "devDependencies": { 13 | "@vitejs/plugin-vue": "^1.2.3", 14 | "@vue/compiler-sfc": "^3.0.5", 15 | "sass": "^1.38.0", 16 | "vite": "^2.3.7", 17 | "vite-plugin-externals": "workspace:*", 18 | "vite-plugin-style-import": "^1.1.1" 19 | } 20 | } -------------------------------------------------------------------------------- /examples/vue/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 10 | 11 | 21 | -------------------------------------------------------------------------------- /examples/vue/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import { ElButton } from 'element-plus' 3 | import App from '@/App.vue' 4 | import 'element-plus/packages/theme-chalk/src/base.scss' 5 | 6 | const app = createApp(App) 7 | 8 | app.component(ElButton.name, ElButton) 9 | 10 | app.mount('#app') 11 | -------------------------------------------------------------------------------- /examples/vue/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import { viteExternalsPlugin } from 'vite-plugin-externals' 4 | import path from 'path' 5 | import styleImport from 'vite-plugin-style-import' 6 | 7 | // https://vitejs.dev/config/ 8 | export default defineConfig({ 9 | plugins: [ 10 | vue(), 11 | styleImport({ 12 | libs: [{ 13 | libraryName: 'element-plus', 14 | esModule: true, 15 | ensureStyleFile: true, 16 | resolveStyle: (name) => { 17 | name = name.slice(3) 18 | return `element-plus/packages/theme-chalk/src/${name}.scss` 19 | }, 20 | resolveComponent: (name) => { 21 | return `element-plus/lib/${name}` 22 | }, 23 | }], 24 | }), 25 | viteExternalsPlugin({ 26 | vue: 'Vue', 27 | }), 28 | ], 29 | resolve: { 30 | alias: { 31 | '@': path.resolve(__dirname, 'src'), 32 | }, 33 | }, 34 | }) 35 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './dist/src' 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-externals", 3 | "version": "0.6.2", 4 | "description": "externals plugin for vite", 5 | "author": "crcong", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/crcong/vite-plugin-externals" 9 | }, 10 | "homepage": "https://github.com/crcong/vite-plugin-externals", 11 | "bugs": "https://github.com/crcong/vite-plugin-externals/issues", 12 | "license": "MIT", 13 | "scripts": { 14 | "dev": "tsc -w", 15 | "build": "pnpm lint:fix && rimraf dist && tsc && pnpm build:es", 16 | "build:es": "tsc --module ESNEXT --outDir dist/es", 17 | "lint:fix": "eslint --fix ./src/**/*.ts", 18 | "test": "vitest", 19 | "release": "pnpm build && bumpp --push --tag --commit && npm publish" 20 | }, 21 | "files": [ 22 | "dist", 23 | "index.d.ts" 24 | ], 25 | "keywords": [ 26 | "vite-plugin", 27 | "external", 28 | "externals" 29 | ], 30 | "types": "index.d.ts", 31 | "main": "dist/src/index.js", 32 | "module": "dist/es/src/index.js", 33 | "peerDependencies": { 34 | "vite": ">=2.0.0" 35 | }, 36 | "engines": { 37 | "node": "^14.18.0 || >=16.0.0" 38 | }, 39 | "devDependencies": { 40 | "@crcong/eslint-config-typescript": "^0.3.0", 41 | "@types/estree": "^0.0.48", 42 | "@types/fs-extra": "^9.0.12", 43 | "@types/node": "^17.0.45", 44 | "@types/ws": "^8.2.2", 45 | "bumpp": "^7.1.1", 46 | "eslint": "^8.0.1", 47 | "rimraf": "^3.0.2", 48 | "rollup": "^2.51.2", 49 | "typescript": "^4.8.3", 50 | "vite": "^2.7.1", 51 | "vitest": "^0.22.1" 52 | }, 53 | "dependencies": { 54 | "acorn": "^8.4.0", 55 | "es-module-lexer": "^0.4.1", 56 | "fs-extra": "^10.0.0", 57 | "magic-string": "^0.25.7" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | importers: 4 | 5 | .: 6 | specifiers: 7 | '@crcong/eslint-config-typescript': ^0.3.0 8 | '@types/estree': ^0.0.48 9 | '@types/fs-extra': ^9.0.12 10 | '@types/node': ^17.0.45 11 | '@types/ws': ^8.2.2 12 | acorn: ^8.4.0 13 | bumpp: ^7.1.1 14 | es-module-lexer: ^0.4.1 15 | eslint: ^8.0.1 16 | fs-extra: ^10.0.0 17 | magic-string: ^0.25.7 18 | rimraf: ^3.0.2 19 | rollup: ^2.51.2 20 | typescript: ^4.8.3 21 | vite: ^2.7.1 22 | vitest: ^0.22.1 23 | dependencies: 24 | acorn: 8.4.0 25 | es-module-lexer: 0.4.1 26 | fs-extra: 10.0.0 27 | magic-string: 0.25.7 28 | devDependencies: 29 | '@crcong/eslint-config-typescript': 0.3.0_5d257b54dulvjvnqbhxbfq6jda 30 | '@types/estree': 0.0.48 31 | '@types/fs-extra': 9.0.12 32 | '@types/node': 17.0.45 33 | '@types/ws': 8.2.2 34 | bumpp: 7.1.1 35 | eslint: 8.14.0 36 | rimraf: 3.0.2 37 | rollup: 2.51.2 38 | typescript: 4.8.3 39 | vite: 2.7.1 40 | vitest: 0.22.1 41 | 42 | examples/exports: 43 | specifiers: 44 | '@types/react': ^17.0.0 45 | '@types/react-dom': ^17.0.0 46 | '@vitejs/plugin-react-refresh': ^1.3.1 47 | antd: ^4.16.11 48 | less: ^4.1.1 49 | react: ^17.0.2 50 | react-dom: ^17.0.2 51 | typescript: ^4.3.2 52 | vite: ^2.3.7 53 | vite-plugin-externals: workspace:* 54 | dependencies: 55 | antd: 4.16.11_react-dom@17.0.2+react@17.0.2 56 | less: 4.1.1 57 | react: 17.0.2 58 | react-dom: 17.0.2_react@17.0.2 59 | devDependencies: 60 | '@types/react': 17.0.11 61 | '@types/react-dom': 17.0.7 62 | '@vitejs/plugin-react-refresh': 1.3.3 63 | typescript: 4.3.2 64 | vite: 2.3.7 65 | vite-plugin-externals: link:../.. 66 | 67 | examples/react-ts: 68 | specifiers: 69 | '@types/react': ^17.0.0 70 | '@types/react-dom': ^17.0.0 71 | '@vitejs/plugin-react-refresh': ^1.3.1 72 | antd: ^4.16.11 73 | less: ^4.1.1 74 | react: ^17.0.2 75 | react-dom: ^17.0.2 76 | typescript: ^4.3.2 77 | vite: ^2.3.7 78 | vite-plugin-externals: workspace:* 79 | dependencies: 80 | antd: 4.16.11_react-dom@17.0.2+react@17.0.2 81 | less: 4.1.1 82 | react: 17.0.2 83 | react-dom: 17.0.2_react@17.0.2 84 | devDependencies: 85 | '@types/react': 17.0.11 86 | '@types/react-dom': 17.0.7 87 | '@vitejs/plugin-react-refresh': 1.3.3 88 | typescript: 4.3.2 89 | vite: 2.3.7 90 | vite-plugin-externals: link:../.. 91 | 92 | examples/vite2.7: 93 | specifiers: 94 | '@vitejs/plugin-vue': ^1.10.2 95 | vant: ^3.4.6 96 | vite: ^2.7.1 97 | vite-plugin-externals: workspace:* 98 | vue: ^3.2.24 99 | dependencies: 100 | vant: 3.4.6_vue@3.2.24 101 | vue: 3.2.24 102 | devDependencies: 103 | '@vitejs/plugin-vue': 1.10.2_vite@2.7.1 104 | vite: 2.7.1 105 | vite-plugin-externals: link:../.. 106 | 107 | examples/vue: 108 | specifiers: 109 | '@vitejs/plugin-vue': ^1.2.3 110 | '@vue/compiler-sfc': ^3.0.5 111 | element-plus: ^1.0.2-beta.70 112 | sass: ^1.38.0 113 | vite: ^2.3.7 114 | vite-plugin-externals: workspace:* 115 | vite-plugin-style-import: ^1.1.1 116 | vue: ^3.0.5 117 | dependencies: 118 | element-plus: 1.0.2-beta.70_vue@3.1.1 119 | vue: 3.1.1 120 | devDependencies: 121 | '@vitejs/plugin-vue': 1.2.3_@vue+compiler-sfc@3.1.1 122 | '@vue/compiler-sfc': 3.1.1_vue@3.1.1 123 | sass: 1.38.0 124 | vite: 2.3.7 125 | vite-plugin-externals: link:../.. 126 | vite-plugin-style-import: 1.1.1_vite@2.3.7 127 | 128 | packages: 129 | 130 | /@ant-design/colors/6.0.0: 131 | resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} 132 | dependencies: 133 | '@ctrl/tinycolor': 3.4.0 134 | dev: false 135 | 136 | /@ant-design/icons-svg/4.1.0: 137 | resolution: {integrity: sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ==} 138 | dev: false 139 | 140 | /@ant-design/icons/4.6.2_react-dom@17.0.2+react@17.0.2: 141 | resolution: {integrity: sha512-QsBG2BxBYU/rxr2eb8b2cZ4rPKAPBpzAR+0v6rrZLp/lnyvflLH3tw1vregK+M7aJauGWjIGNdFmUfpAOtw25A==} 142 | engines: {node: '>=8'} 143 | peerDependencies: 144 | react: '>=16.0.0' 145 | dependencies: 146 | '@ant-design/colors': 6.0.0 147 | '@ant-design/icons-svg': 4.1.0 148 | '@babel/runtime': 7.15.3 149 | classnames: 2.3.1 150 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 151 | react: 17.0.2 152 | transitivePeerDependencies: 153 | - react-dom 154 | dev: false 155 | 156 | /@ant-design/react-slick/0.28.3: 157 | resolution: {integrity: sha512-u3onF2VevGRbkGbgpldVX/nzd7LFtLeZJE0x2xIFT2qYHKkJZ6QT/jQ7KqYK4UpeTndoyrbMqLN4DiJza4BVBg==} 158 | dependencies: 159 | '@babel/runtime': 7.15.3 160 | classnames: 2.3.1 161 | json2mq: 0.2.0 162 | lodash: 4.17.21 163 | resize-observer-polyfill: 1.5.1 164 | dev: false 165 | 166 | /@babel/code-frame/7.14.5: 167 | resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==} 168 | engines: {node: '>=6.9.0'} 169 | dependencies: 170 | '@babel/highlight': 7.14.5 171 | dev: true 172 | 173 | /@babel/compat-data/7.14.5: 174 | resolution: {integrity: sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==} 175 | engines: {node: '>=6.9.0'} 176 | dev: true 177 | 178 | /@babel/core/7.14.5: 179 | resolution: {integrity: sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==} 180 | engines: {node: '>=6.9.0'} 181 | dependencies: 182 | '@babel/code-frame': 7.14.5 183 | '@babel/generator': 7.14.5 184 | '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.5 185 | '@babel/helper-module-transforms': 7.14.5 186 | '@babel/helpers': 7.14.5 187 | '@babel/parser': 7.14.5 188 | '@babel/template': 7.14.5 189 | '@babel/traverse': 7.14.5 190 | '@babel/types': 7.14.5 191 | convert-source-map: 1.7.0 192 | debug: 4.3.1 193 | gensync: 1.0.0-beta.2 194 | json5: 2.2.0 195 | semver: 6.3.0 196 | source-map: 0.5.7 197 | transitivePeerDependencies: 198 | - supports-color 199 | dev: true 200 | 201 | /@babel/generator/7.14.5: 202 | resolution: {integrity: sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==} 203 | engines: {node: '>=6.9.0'} 204 | dependencies: 205 | '@babel/types': 7.14.5 206 | jsesc: 2.5.2 207 | source-map: 0.5.7 208 | dev: true 209 | 210 | /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.5: 211 | resolution: {integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==} 212 | engines: {node: '>=6.9.0'} 213 | peerDependencies: 214 | '@babel/core': ^7.0.0 215 | dependencies: 216 | '@babel/compat-data': 7.14.5 217 | '@babel/core': 7.14.5 218 | '@babel/helper-validator-option': 7.14.5 219 | browserslist: 4.16.6 220 | semver: 6.3.0 221 | dev: true 222 | 223 | /@babel/helper-function-name/7.14.5: 224 | resolution: {integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==} 225 | engines: {node: '>=6.9.0'} 226 | dependencies: 227 | '@babel/helper-get-function-arity': 7.14.5 228 | '@babel/template': 7.14.5 229 | '@babel/types': 7.14.5 230 | dev: true 231 | 232 | /@babel/helper-get-function-arity/7.14.5: 233 | resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==} 234 | engines: {node: '>=6.9.0'} 235 | dependencies: 236 | '@babel/types': 7.14.5 237 | dev: true 238 | 239 | /@babel/helper-hoist-variables/7.14.5: 240 | resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==} 241 | engines: {node: '>=6.9.0'} 242 | dependencies: 243 | '@babel/types': 7.14.5 244 | dev: true 245 | 246 | /@babel/helper-member-expression-to-functions/7.14.5: 247 | resolution: {integrity: sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==} 248 | engines: {node: '>=6.9.0'} 249 | dependencies: 250 | '@babel/types': 7.14.5 251 | dev: true 252 | 253 | /@babel/helper-module-imports/7.14.5: 254 | resolution: {integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==} 255 | engines: {node: '>=6.9.0'} 256 | dependencies: 257 | '@babel/types': 7.14.5 258 | dev: true 259 | 260 | /@babel/helper-module-transforms/7.14.5: 261 | resolution: {integrity: sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==} 262 | engines: {node: '>=6.9.0'} 263 | dependencies: 264 | '@babel/helper-module-imports': 7.14.5 265 | '@babel/helper-replace-supers': 7.14.5 266 | '@babel/helper-simple-access': 7.14.5 267 | '@babel/helper-split-export-declaration': 7.14.5 268 | '@babel/helper-validator-identifier': 7.14.5 269 | '@babel/template': 7.14.5 270 | '@babel/traverse': 7.14.5 271 | '@babel/types': 7.14.5 272 | transitivePeerDependencies: 273 | - supports-color 274 | dev: true 275 | 276 | /@babel/helper-optimise-call-expression/7.14.5: 277 | resolution: {integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==} 278 | engines: {node: '>=6.9.0'} 279 | dependencies: 280 | '@babel/types': 7.14.5 281 | dev: true 282 | 283 | /@babel/helper-plugin-utils/7.14.5: 284 | resolution: {integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==} 285 | engines: {node: '>=6.9.0'} 286 | dev: true 287 | 288 | /@babel/helper-replace-supers/7.14.5: 289 | resolution: {integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==} 290 | engines: {node: '>=6.9.0'} 291 | dependencies: 292 | '@babel/helper-member-expression-to-functions': 7.14.5 293 | '@babel/helper-optimise-call-expression': 7.14.5 294 | '@babel/traverse': 7.14.5 295 | '@babel/types': 7.14.5 296 | transitivePeerDependencies: 297 | - supports-color 298 | dev: true 299 | 300 | /@babel/helper-simple-access/7.14.5: 301 | resolution: {integrity: sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==} 302 | engines: {node: '>=6.9.0'} 303 | dependencies: 304 | '@babel/types': 7.14.5 305 | dev: true 306 | 307 | /@babel/helper-split-export-declaration/7.14.5: 308 | resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==} 309 | engines: {node: '>=6.9.0'} 310 | dependencies: 311 | '@babel/types': 7.14.5 312 | dev: true 313 | 314 | /@babel/helper-validator-identifier/7.14.5: 315 | resolution: {integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==} 316 | engines: {node: '>=6.9.0'} 317 | 318 | /@babel/helper-validator-option/7.14.5: 319 | resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} 320 | engines: {node: '>=6.9.0'} 321 | dev: true 322 | 323 | /@babel/helpers/7.14.5: 324 | resolution: {integrity: sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==} 325 | engines: {node: '>=6.9.0'} 326 | dependencies: 327 | '@babel/template': 7.14.5 328 | '@babel/traverse': 7.14.5 329 | '@babel/types': 7.14.5 330 | transitivePeerDependencies: 331 | - supports-color 332 | dev: true 333 | 334 | /@babel/highlight/7.14.5: 335 | resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} 336 | engines: {node: '>=6.9.0'} 337 | dependencies: 338 | '@babel/helper-validator-identifier': 7.14.5 339 | chalk: 2.4.2 340 | js-tokens: 4.0.0 341 | dev: true 342 | 343 | /@babel/parser/7.14.5: 344 | resolution: {integrity: sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==} 345 | engines: {node: '>=6.0.0'} 346 | hasBin: true 347 | 348 | /@babel/parser/7.16.4: 349 | resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} 350 | engines: {node: '>=6.0.0'} 351 | hasBin: true 352 | dev: false 353 | 354 | /@babel/plugin-transform-react-jsx-self/7.14.5_@babel+core@7.14.5: 355 | resolution: {integrity: sha512-M/fmDX6n0cfHK/NLTcPmrfVAORKDhK8tyjDhyxlUjYyPYYO8FRWwuxBA3WBx8kWN/uBUuwGa3s/0+hQ9JIN3Tg==} 356 | engines: {node: '>=6.9.0'} 357 | peerDependencies: 358 | '@babel/core': ^7.0.0-0 359 | dependencies: 360 | '@babel/core': 7.14.5 361 | '@babel/helper-plugin-utils': 7.14.5 362 | dev: true 363 | 364 | /@babel/plugin-transform-react-jsx-source/7.14.5_@babel+core@7.14.5: 365 | resolution: {integrity: sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==} 366 | engines: {node: '>=6.9.0'} 367 | peerDependencies: 368 | '@babel/core': ^7.0.0-0 369 | dependencies: 370 | '@babel/core': 7.14.5 371 | '@babel/helper-plugin-utils': 7.14.5 372 | dev: true 373 | 374 | /@babel/runtime/7.15.3: 375 | resolution: {integrity: sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==} 376 | engines: {node: '>=6.9.0'} 377 | dependencies: 378 | regenerator-runtime: 0.13.9 379 | dev: false 380 | 381 | /@babel/template/7.14.5: 382 | resolution: {integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==} 383 | engines: {node: '>=6.9.0'} 384 | dependencies: 385 | '@babel/code-frame': 7.14.5 386 | '@babel/parser': 7.14.5 387 | '@babel/types': 7.14.5 388 | dev: true 389 | 390 | /@babel/traverse/7.14.5: 391 | resolution: {integrity: sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==} 392 | engines: {node: '>=6.9.0'} 393 | dependencies: 394 | '@babel/code-frame': 7.14.5 395 | '@babel/generator': 7.14.5 396 | '@babel/helper-function-name': 7.14.5 397 | '@babel/helper-hoist-variables': 7.14.5 398 | '@babel/helper-split-export-declaration': 7.14.5 399 | '@babel/parser': 7.14.5 400 | '@babel/types': 7.14.5 401 | debug: 4.3.1 402 | globals: 11.12.0 403 | transitivePeerDependencies: 404 | - supports-color 405 | dev: true 406 | 407 | /@babel/types/7.14.5: 408 | resolution: {integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==} 409 | engines: {node: '>=6.9.0'} 410 | dependencies: 411 | '@babel/helper-validator-identifier': 7.14.5 412 | to-fast-properties: 2.0.0 413 | 414 | /@crcong/eslint-config-basic/0.3.0_as7czvxgrvaa35lzxztolpnp5a: 415 | resolution: {integrity: sha512-WCliafIu9xVcFeHXOnwGzZzQvFi0DSiCX1BhM18GkM3CqkRsvVHYV+wgtmJrkn35jfwkOTNuzU6HImuaDyVpTg==} 416 | peerDependencies: 417 | eslint: '>=7.4.0' 418 | dependencies: 419 | eslint: 8.14.0 420 | eslint-config-standard: 17.0.0_csxqpghp2u36zpehgl7g6fmctq 421 | eslint-plugin-import: 2.26.0_as7czvxgrvaa35lzxztolpnp5a 422 | eslint-plugin-n: 15.2.0_eslint@8.14.0 423 | eslint-plugin-promise: 6.0.0_eslint@8.14.0 424 | transitivePeerDependencies: 425 | - '@typescript-eslint/parser' 426 | - eslint-import-resolver-typescript 427 | - eslint-import-resolver-webpack 428 | - supports-color 429 | dev: true 430 | 431 | /@crcong/eslint-config-typescript/0.3.0_5d257b54dulvjvnqbhxbfq6jda: 432 | resolution: {integrity: sha512-E18nivebliDwpAX6VVCYoPRJqJEn8e3aeo1eWa8UogfXMaTluebYH4ylBXcKBl1P5p77vNYxNhsWxNVsc0XE1A==} 433 | peerDependencies: 434 | eslint: '>=7.4.0' 435 | typescript: '>=3.9' 436 | dependencies: 437 | '@crcong/eslint-config-basic': 0.3.0_as7czvxgrvaa35lzxztolpnp5a 438 | '@typescript-eslint/eslint-plugin': 5.22.0_vrm7frhv24kuly52dl7etpmxty 439 | '@typescript-eslint/parser': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 440 | eslint: 8.14.0 441 | typescript: 4.8.3 442 | transitivePeerDependencies: 443 | - eslint-import-resolver-typescript 444 | - eslint-import-resolver-webpack 445 | - supports-color 446 | dev: true 447 | 448 | /@ctrl/tinycolor/3.4.0: 449 | resolution: {integrity: sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ==} 450 | engines: {node: '>=10'} 451 | dev: false 452 | 453 | /@element-plus/icons/0.0.11: 454 | resolution: {integrity: sha512-iKQXSxXu131Ai+I9Ymtcof9WId7kaXvB1+WRfAfpQCW7UiAMYgdNDqb/u0hgTo2Yq3MwC4MWJnNuTBEpG8r7+A==} 455 | dev: false 456 | 457 | /@esbuild/linux-loong64/0.14.54: 458 | resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} 459 | engines: {node: '>=12'} 460 | cpu: [loong64] 461 | os: [linux] 462 | requiresBuild: true 463 | dev: true 464 | optional: true 465 | 466 | /@eslint/eslintrc/1.2.2: 467 | resolution: {integrity: sha512-lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==} 468 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 469 | dependencies: 470 | ajv: 6.12.6 471 | debug: 4.3.2 472 | espree: 9.3.1 473 | globals: 13.9.0 474 | ignore: 5.2.0 475 | import-fresh: 3.3.0 476 | js-yaml: 4.1.0 477 | minimatch: 3.1.2 478 | strip-json-comments: 3.1.1 479 | transitivePeerDependencies: 480 | - supports-color 481 | dev: true 482 | 483 | /@humanwhocodes/config-array/0.9.5: 484 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 485 | engines: {node: '>=10.10.0'} 486 | dependencies: 487 | '@humanwhocodes/object-schema': 1.2.1 488 | debug: 4.3.2 489 | minimatch: 3.1.2 490 | transitivePeerDependencies: 491 | - supports-color 492 | dev: true 493 | 494 | /@humanwhocodes/object-schema/1.2.1: 495 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 496 | dev: true 497 | 498 | /@jsdevtools/ez-spawn/3.0.4: 499 | resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} 500 | engines: {node: '>=10'} 501 | dependencies: 502 | call-me-maybe: 1.0.1 503 | cross-spawn: 7.0.3 504 | string-argv: 0.3.1 505 | type-detect: 4.0.8 506 | dev: true 507 | 508 | /@nodelib/fs.scandir/2.1.5: 509 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 510 | engines: {node: '>= 8'} 511 | dependencies: 512 | '@nodelib/fs.stat': 2.0.5 513 | run-parallel: 1.2.0 514 | dev: true 515 | 516 | /@nodelib/fs.stat/2.0.5: 517 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 518 | engines: {node: '>= 8'} 519 | dev: true 520 | 521 | /@nodelib/fs.walk/1.2.8: 522 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 523 | engines: {node: '>= 8'} 524 | dependencies: 525 | '@nodelib/fs.scandir': 2.1.5 526 | fastq: 1.13.0 527 | dev: true 528 | 529 | /@popperjs/core/2.9.3: 530 | resolution: {integrity: sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==} 531 | dev: false 532 | 533 | /@rollup/pluginutils/4.1.1: 534 | resolution: {integrity: sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==} 535 | engines: {node: '>= 8.0.0'} 536 | dependencies: 537 | estree-walker: 2.0.2 538 | picomatch: 2.3.0 539 | dev: true 540 | 541 | /@types/chai-subset/1.3.3: 542 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 543 | dependencies: 544 | '@types/chai': 4.3.3 545 | dev: true 546 | 547 | /@types/chai/4.3.3: 548 | resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==} 549 | dev: true 550 | 551 | /@types/estree/0.0.48: 552 | resolution: {integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==} 553 | dev: true 554 | 555 | /@types/fs-extra/9.0.12: 556 | resolution: {integrity: sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==} 557 | dependencies: 558 | '@types/node': 17.0.45 559 | dev: true 560 | 561 | /@types/json-schema/7.0.11: 562 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 563 | dev: true 564 | 565 | /@types/json5/0.0.29: 566 | resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} 567 | dev: true 568 | 569 | /@types/node/17.0.45: 570 | resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} 571 | dev: true 572 | 573 | /@types/prop-types/15.7.3: 574 | resolution: {integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==} 575 | dev: true 576 | 577 | /@types/react-dom/17.0.7: 578 | resolution: {integrity: sha512-Wd5xvZRlccOrCTej8jZkoFZuZRKHzanDDv1xglI33oBNFMWrqOSzrvWFw7ngSiZjrpJAzPKFtX7JvuXpkNmQHA==} 579 | dependencies: 580 | '@types/react': 17.0.11 581 | dev: true 582 | 583 | /@types/react/17.0.11: 584 | resolution: {integrity: sha512-yFRQbD+whVonItSk7ZzP/L+gPTJVBkL/7shLEF+i9GC/1cV3JmUxEQz6+9ylhUpWSDuqo1N9qEvqS6vTj4USUA==} 585 | dependencies: 586 | '@types/prop-types': 15.7.3 587 | '@types/scheduler': 0.16.1 588 | csstype: 3.0.8 589 | dev: true 590 | 591 | /@types/scheduler/0.16.1: 592 | resolution: {integrity: sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==} 593 | dev: true 594 | 595 | /@types/ws/8.2.2: 596 | resolution: {integrity: sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==} 597 | dependencies: 598 | '@types/node': 17.0.45 599 | dev: true 600 | 601 | /@typescript-eslint/eslint-plugin/5.22.0_vrm7frhv24kuly52dl7etpmxty: 602 | resolution: {integrity: sha512-YCiy5PUzpAeOPGQ7VSGDEY2NeYUV1B0swde2e0HzokRsHBYjSdF6DZ51OuRZxVPHx0032lXGLvOMls91D8FXlg==} 603 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 604 | peerDependencies: 605 | '@typescript-eslint/parser': ^5.0.0 606 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 607 | typescript: '*' 608 | peerDependenciesMeta: 609 | typescript: 610 | optional: true 611 | dependencies: 612 | '@typescript-eslint/parser': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 613 | '@typescript-eslint/scope-manager': 5.22.0 614 | '@typescript-eslint/type-utils': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 615 | '@typescript-eslint/utils': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 616 | debug: 4.3.2 617 | eslint: 8.14.0 618 | functional-red-black-tree: 1.0.1 619 | ignore: 5.1.8 620 | regexpp: 3.2.0 621 | semver: 7.3.5 622 | tsutils: 3.21.0_typescript@4.8.3 623 | typescript: 4.8.3 624 | transitivePeerDependencies: 625 | - supports-color 626 | dev: true 627 | 628 | /@typescript-eslint/parser/5.22.0_5d257b54dulvjvnqbhxbfq6jda: 629 | resolution: {integrity: sha512-piwC4krUpRDqPaPbFaycN70KCP87+PC5WZmrWs+DlVOxxmF+zI6b6hETv7Quy4s9wbkV16ikMeZgXsvzwI3icQ==} 630 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 631 | peerDependencies: 632 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 633 | typescript: '*' 634 | peerDependenciesMeta: 635 | typescript: 636 | optional: true 637 | dependencies: 638 | '@typescript-eslint/scope-manager': 5.22.0 639 | '@typescript-eslint/types': 5.22.0 640 | '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.8.3 641 | debug: 4.3.2 642 | eslint: 8.14.0 643 | typescript: 4.8.3 644 | transitivePeerDependencies: 645 | - supports-color 646 | dev: true 647 | 648 | /@typescript-eslint/scope-manager/5.22.0: 649 | resolution: {integrity: sha512-yA9G5NJgV5esANJCO0oF15MkBO20mIskbZ8ijfmlKIvQKg0ynVKfHZ15/nhAJN5m8Jn3X5qkwriQCiUntC9AbA==} 650 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 651 | dependencies: 652 | '@typescript-eslint/types': 5.22.0 653 | '@typescript-eslint/visitor-keys': 5.22.0 654 | dev: true 655 | 656 | /@typescript-eslint/type-utils/5.22.0_5d257b54dulvjvnqbhxbfq6jda: 657 | resolution: {integrity: sha512-iqfLZIsZhK2OEJ4cQ01xOq3NaCuG5FQRKyHicA3xhZxMgaxQazLUHbH/B2k9y5i7l3+o+B5ND9Mf1AWETeMISA==} 658 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 659 | peerDependencies: 660 | eslint: '*' 661 | typescript: '*' 662 | peerDependenciesMeta: 663 | typescript: 664 | optional: true 665 | dependencies: 666 | '@typescript-eslint/utils': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 667 | debug: 4.3.2 668 | eslint: 8.14.0 669 | tsutils: 3.21.0_typescript@4.8.3 670 | typescript: 4.8.3 671 | transitivePeerDependencies: 672 | - supports-color 673 | dev: true 674 | 675 | /@typescript-eslint/types/5.22.0: 676 | resolution: {integrity: sha512-T7owcXW4l0v7NTijmjGWwWf/1JqdlWiBzPqzAWhobxft0SiEvMJB56QXmeCQjrPuM8zEfGUKyPQr/L8+cFUBLw==} 677 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 678 | dev: true 679 | 680 | /@typescript-eslint/typescript-estree/5.22.0_typescript@4.8.3: 681 | resolution: {integrity: sha512-EyBEQxvNjg80yinGE2xdhpDYm41so/1kOItl0qrjIiJ1kX/L/L8WWGmJg8ni6eG3DwqmOzDqOhe6763bF92nOw==} 682 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 683 | peerDependencies: 684 | typescript: '*' 685 | peerDependenciesMeta: 686 | typescript: 687 | optional: true 688 | dependencies: 689 | '@typescript-eslint/types': 5.22.0 690 | '@typescript-eslint/visitor-keys': 5.22.0 691 | debug: 4.3.2 692 | globby: 11.0.4 693 | is-glob: 4.0.3 694 | semver: 7.3.5 695 | tsutils: 3.21.0_typescript@4.8.3 696 | typescript: 4.8.3 697 | transitivePeerDependencies: 698 | - supports-color 699 | dev: true 700 | 701 | /@typescript-eslint/utils/5.22.0_5d257b54dulvjvnqbhxbfq6jda: 702 | resolution: {integrity: sha512-HodsGb037iobrWSUMS7QH6Hl1kppikjA1ELiJlNSTYf/UdMEwzgj0WIp+lBNb6WZ3zTwb0tEz51j0Wee3iJ3wQ==} 703 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 704 | peerDependencies: 705 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 706 | dependencies: 707 | '@types/json-schema': 7.0.11 708 | '@typescript-eslint/scope-manager': 5.22.0 709 | '@typescript-eslint/types': 5.22.0 710 | '@typescript-eslint/typescript-estree': 5.22.0_typescript@4.8.3 711 | eslint: 8.14.0 712 | eslint-scope: 5.1.1 713 | eslint-utils: 3.0.0_eslint@8.14.0 714 | transitivePeerDependencies: 715 | - supports-color 716 | - typescript 717 | dev: true 718 | 719 | /@typescript-eslint/visitor-keys/5.22.0: 720 | resolution: {integrity: sha512-DbgTqn2Dv5RFWluG88tn0pP6Ex0ROF+dpDO1TNNZdRtLjUr6bdznjA6f/qNqJLjd2PgguAES2Zgxh/JzwzETDg==} 721 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 722 | dependencies: 723 | '@typescript-eslint/types': 5.22.0 724 | eslint-visitor-keys: 3.3.0 725 | dev: true 726 | 727 | /@vant/icons/1.7.3: 728 | resolution: {integrity: sha512-tW4EqzxN4kXw1rnlnQJQHofEifPbt/gECOWiibomht8QLyvoGuE4iUmDFS288dJ07ZjuTy0bhdABj0SENo2fmQ==} 729 | dev: false 730 | 731 | /@vant/popperjs/1.1.0: 732 | resolution: {integrity: sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==} 733 | dependencies: 734 | '@popperjs/core': 2.9.3 735 | dev: false 736 | 737 | /@vant/use/1.3.6: 738 | resolution: {integrity: sha512-3z+nywPaV2F5BdJO7RQxWlgfzJeEOmViD2yHMb7Tg+R4NR/7iQskqW8v2Cnv9FWSJgTOSHlcr7UzeLpiTAP4HA==} 739 | dev: false 740 | 741 | /@vitejs/plugin-react-refresh/1.3.3: 742 | resolution: {integrity: sha512-J3KFwSQKrEK7fgOwTx0PMTlsolZORUch6BswjsM50q+Y7zSvX1ROIRn+tK2VE8SCvbYRHtzEKFlYW3vsWyTosQ==} 743 | engines: {node: '>=12.0.0'} 744 | dependencies: 745 | '@babel/core': 7.14.5 746 | '@babel/plugin-transform-react-jsx-self': 7.14.5_@babel+core@7.14.5 747 | '@babel/plugin-transform-react-jsx-source': 7.14.5_@babel+core@7.14.5 748 | react-refresh: 0.9.0 749 | transitivePeerDependencies: 750 | - supports-color 751 | dev: true 752 | 753 | /@vitejs/plugin-vue/1.10.2_vite@2.7.1: 754 | resolution: {integrity: sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==} 755 | engines: {node: '>=12.0.0'} 756 | peerDependencies: 757 | vite: ^2.5.10 758 | dependencies: 759 | vite: 2.7.1 760 | dev: true 761 | 762 | /@vitejs/plugin-vue/1.2.3_@vue+compiler-sfc@3.1.1: 763 | resolution: {integrity: sha512-LlnLpObkGKZ+b7dcpL4T24l13nPSHLjo+6Oc7MbZiKz5PMAUzADfNJ3EKfYIQ0l0969nxf2jp/9vsfnuJ7h6fw==} 764 | engines: {node: '>=12.0.0'} 765 | peerDependencies: 766 | '@vue/compiler-sfc': ^3.0.8 767 | dependencies: 768 | '@vue/compiler-sfc': 3.1.1_vue@3.1.1 769 | dev: true 770 | 771 | /@vue/compiler-core/3.1.1: 772 | resolution: {integrity: sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==} 773 | dependencies: 774 | '@babel/parser': 7.14.5 775 | '@babel/types': 7.14.5 776 | '@vue/shared': 3.1.1 777 | estree-walker: 2.0.2 778 | source-map: 0.6.1 779 | 780 | /@vue/compiler-core/3.2.24: 781 | resolution: {integrity: sha512-A0SxB2HAggKzP57LDin5gfgWOTwFyGCtQ5MTMNBADnfQYALWnYuC8kMI0DhRSplGTWRvn9Z2DAnG8f35BnojuA==} 782 | dependencies: 783 | '@babel/parser': 7.16.4 784 | '@vue/shared': 3.2.24 785 | estree-walker: 2.0.2 786 | source-map: 0.6.1 787 | dev: false 788 | 789 | /@vue/compiler-dom/3.1.1: 790 | resolution: {integrity: sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==} 791 | dependencies: 792 | '@vue/compiler-core': 3.1.1 793 | '@vue/shared': 3.1.1 794 | 795 | /@vue/compiler-dom/3.2.24: 796 | resolution: {integrity: sha512-KQEm8r0JFsrNNIfbD28pcwMvHpcJcwjVR1XWFcD0yyQ8eREd7IXhT7J6j7iNCSE/TIo78NOvkwbyX+lnIm836w==} 797 | dependencies: 798 | '@vue/compiler-core': 3.2.24 799 | '@vue/shared': 3.2.24 800 | dev: false 801 | 802 | /@vue/compiler-sfc/3.1.1_vue@3.1.1: 803 | resolution: {integrity: sha512-lSgMsZaYHF+bAgryq5aUqpvyfhu52GJI2/4LoiJCE5uaxc6FCZfxfgqgw/d9ltiZghv+HiISFtmQVAVvlsk+/w==} 804 | peerDependencies: 805 | vue: 3.1.1 806 | dependencies: 807 | '@babel/parser': 7.14.5 808 | '@babel/types': 7.14.5 809 | '@vue/compiler-core': 3.1.1 810 | '@vue/compiler-dom': 3.1.1 811 | '@vue/compiler-ssr': 3.1.1 812 | '@vue/shared': 3.1.1 813 | consolidate: 0.16.0 814 | estree-walker: 2.0.2 815 | hash-sum: 2.0.0 816 | lru-cache: 5.1.1 817 | magic-string: 0.25.7 818 | merge-source-map: 1.1.0 819 | postcss: 8.3.3 820 | postcss-modules: 4.1.3_postcss@8.3.3 821 | postcss-selector-parser: 6.0.6 822 | source-map: 0.6.1 823 | vue: 3.1.1 824 | dev: true 825 | 826 | /@vue/compiler-sfc/3.2.24: 827 | resolution: {integrity: sha512-YGPcIvVJp2qTPkuT6kT43Eo1xjstyY4bmuiSV31my4bQMBFVR26ANmifUSt759Blok71gK0WzfIZHbcOKYOeKA==} 828 | dependencies: 829 | '@babel/parser': 7.16.4 830 | '@vue/compiler-core': 3.2.24 831 | '@vue/compiler-dom': 3.2.24 832 | '@vue/compiler-ssr': 3.2.24 833 | '@vue/ref-transform': 3.2.24 834 | '@vue/shared': 3.2.24 835 | estree-walker: 2.0.2 836 | magic-string: 0.25.7 837 | postcss: 8.4.4 838 | source-map: 0.6.1 839 | dev: false 840 | 841 | /@vue/compiler-ssr/3.1.1: 842 | resolution: {integrity: sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==} 843 | dependencies: 844 | '@vue/compiler-dom': 3.1.1 845 | '@vue/shared': 3.1.1 846 | dev: true 847 | 848 | /@vue/compiler-ssr/3.2.24: 849 | resolution: {integrity: sha512-E1HHShNsGVWXxs68LDOUuI+Bzak9W/Ier/366aKDBFuwvfwgruwq6abhMfj6pSDZpwZ/PXnfliyl/m7qBSq6gw==} 850 | dependencies: 851 | '@vue/compiler-dom': 3.2.24 852 | '@vue/shared': 3.2.24 853 | dev: false 854 | 855 | /@vue/reactivity/3.1.1: 856 | resolution: {integrity: sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==} 857 | dependencies: 858 | '@vue/shared': 3.1.1 859 | 860 | /@vue/reactivity/3.2.24: 861 | resolution: {integrity: sha512-5eVsO9wfQ5erCMSRBjpqLkkI+LglJS7E0oLZJs2gsChpvOjH2Uwt3Hk1nVv0ywStnWg71Ykn3SyQwtnl7PknOQ==} 862 | dependencies: 863 | '@vue/shared': 3.2.24 864 | dev: false 865 | 866 | /@vue/ref-transform/3.2.24: 867 | resolution: {integrity: sha512-j6oNbsGLvea2rF8GQB9w6q7UFL1So7J+t6ducaMeWPSyjYZ+slWpwPVK6mmyghg5oGqC41R+HC5BV036Y0KhXQ==} 868 | dependencies: 869 | '@babel/parser': 7.16.4 870 | '@vue/compiler-core': 3.2.24 871 | '@vue/shared': 3.2.24 872 | estree-walker: 2.0.2 873 | magic-string: 0.25.7 874 | dev: false 875 | 876 | /@vue/runtime-core/3.1.1: 877 | resolution: {integrity: sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==} 878 | dependencies: 879 | '@vue/reactivity': 3.1.1 880 | '@vue/shared': 3.1.1 881 | 882 | /@vue/runtime-core/3.2.24: 883 | resolution: {integrity: sha512-ReI06vGgYuW0G8FlOcAOzMklVDJSxKuRhYzT8j+a8BTfs1945kxo1Th28BPvasyYx8J+LMeZ0HqpPH9yGXvWvg==} 884 | dependencies: 885 | '@vue/reactivity': 3.2.24 886 | '@vue/shared': 3.2.24 887 | dev: false 888 | 889 | /@vue/runtime-dom/3.1.1: 890 | resolution: {integrity: sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==} 891 | dependencies: 892 | '@vue/runtime-core': 3.1.1 893 | '@vue/shared': 3.1.1 894 | csstype: 2.6.17 895 | 896 | /@vue/runtime-dom/3.2.24: 897 | resolution: {integrity: sha512-piqsabtIEUKkMGSJlOyKUonZEDtdwOpR6teQ8EKbH8PX9sxfAt9snLnFJldUhhyYrLIyDtnjwajfJ7/XtpD4JA==} 898 | dependencies: 899 | '@vue/runtime-core': 3.2.24 900 | '@vue/shared': 3.2.24 901 | csstype: 2.6.19 902 | dev: false 903 | 904 | /@vue/server-renderer/3.2.24_vue@3.2.24: 905 | resolution: {integrity: sha512-DqiCRDxTbv67Hw5ImiqnLIQbPGtIwWLLfEcVHoEnu1f21EMTB6LfoS69EQddd8VyfN5kfX3Fmz27/hrFPpRaMQ==} 906 | peerDependencies: 907 | vue: 3.2.24 908 | dependencies: 909 | '@vue/compiler-ssr': 3.2.24 910 | '@vue/shared': 3.2.24 911 | vue: 3.2.24 912 | dev: false 913 | 914 | /@vue/shared/3.1.1: 915 | resolution: {integrity: sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA==} 916 | 917 | /@vue/shared/3.2.24: 918 | resolution: {integrity: sha512-BUgRiZCkCrqDps5aQ9av05xcge3rn092ztKIh17tHkeEFgP4zfXMQWBA2zfdoCdCEdBL26xtOv+FZYiOp9RUDA==} 919 | dev: false 920 | 921 | /acorn-jsx/5.3.1_acorn@8.7.1: 922 | resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} 923 | peerDependencies: 924 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 925 | dependencies: 926 | acorn: 8.7.1 927 | dev: true 928 | 929 | /acorn/8.4.0: 930 | resolution: {integrity: sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==} 931 | engines: {node: '>=0.4.0'} 932 | hasBin: true 933 | dev: false 934 | 935 | /acorn/8.7.1: 936 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} 937 | engines: {node: '>=0.4.0'} 938 | hasBin: true 939 | dev: true 940 | 941 | /ajv/6.12.6: 942 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 943 | dependencies: 944 | fast-deep-equal: 3.1.3 945 | fast-json-stable-stringify: 2.1.0 946 | json-schema-traverse: 0.4.1 947 | uri-js: 4.4.1 948 | dev: true 949 | 950 | /ansi-regex/5.0.1: 951 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 952 | engines: {node: '>=8'} 953 | dev: true 954 | 955 | /ansi-styles/3.2.1: 956 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 957 | engines: {node: '>=4'} 958 | dependencies: 959 | color-convert: 1.9.3 960 | dev: true 961 | 962 | /ansi-styles/4.3.0: 963 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 964 | engines: {node: '>=8'} 965 | dependencies: 966 | color-convert: 2.0.1 967 | dev: true 968 | 969 | /antd/4.16.11_react-dom@17.0.2+react@17.0.2: 970 | resolution: {integrity: sha512-7Tsx0sTjpSpgRqnXIRbuerqf4pu8+V1OPY4oZXXqTzuYPwKHdnbfXMg/L35IfeLtK1QcwgF4lfTR7bChJIcWSw==} 971 | peerDependencies: 972 | react: '>=16.9.0' 973 | react-dom: '>=16.9.0' 974 | dependencies: 975 | '@ant-design/colors': 6.0.0 976 | '@ant-design/icons': 4.6.2_react-dom@17.0.2+react@17.0.2 977 | '@ant-design/react-slick': 0.28.3 978 | '@babel/runtime': 7.15.3 979 | array-tree-filter: 2.1.0 980 | classnames: 2.3.1 981 | copy-to-clipboard: 3.3.1 982 | lodash: 4.17.21 983 | moment: 2.29.1 984 | rc-cascader: 1.4.3_react-dom@17.0.2+react@17.0.2 985 | rc-checkbox: 2.3.2_react-dom@17.0.2+react@17.0.2 986 | rc-collapse: 3.1.1_react-dom@17.0.2+react@17.0.2 987 | rc-dialog: 8.6.0_react-dom@17.0.2+react@17.0.2 988 | rc-drawer: 4.3.1_react-dom@17.0.2+react@17.0.2 989 | rc-dropdown: 3.2.0_react-dom@17.0.2+react@17.0.2 990 | rc-field-form: 1.20.1_react-dom@17.0.2+react@17.0.2 991 | rc-image: 5.2.5_react-dom@17.0.2+react@17.0.2 992 | rc-input-number: 7.1.4_react-dom@17.0.2+react@17.0.2 993 | rc-mentions: 1.6.1_react-dom@17.0.2+react@17.0.2 994 | rc-menu: 9.0.12_react-dom@17.0.2+react@17.0.2 995 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 996 | rc-notification: 4.5.7_react-dom@17.0.2+react@17.0.2 997 | rc-pagination: 3.1.9_react-dom@17.0.2+react@17.0.2 998 | rc-picker: 2.5.15_react-dom@17.0.2+react@17.0.2 999 | rc-progress: 3.1.4_react-dom@17.0.2+react@17.0.2 1000 | rc-rate: 2.9.1_react-dom@17.0.2+react@17.0.2 1001 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 1002 | rc-select: 12.1.13_react-dom@17.0.2+react@17.0.2 1003 | rc-slider: 9.7.2_react-dom@17.0.2+react@17.0.2 1004 | rc-steps: 4.1.3_react-dom@17.0.2+react@17.0.2 1005 | rc-switch: 3.2.2_react-dom@17.0.2+react@17.0.2 1006 | rc-table: 7.15.2_react-dom@17.0.2+react@17.0.2 1007 | rc-tabs: 11.10.1_react-dom@17.0.2+react@17.0.2 1008 | rc-textarea: 0.3.4_react-dom@17.0.2+react@17.0.2 1009 | rc-tooltip: 5.1.1_react-dom@17.0.2+react@17.0.2 1010 | rc-tree: 4.2.2_react-dom@17.0.2+react@17.0.2 1011 | rc-tree-select: 4.3.3_react-dom@17.0.2+react@17.0.2 1012 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 1013 | rc-upload: 4.3.1_react-dom@17.0.2+react@17.0.2 1014 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 1015 | react: 17.0.2 1016 | react-dom: 17.0.2_react@17.0.2 1017 | scroll-into-view-if-needed: 2.2.28 1018 | dev: false 1019 | 1020 | /anymatch/3.1.2: 1021 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 1022 | engines: {node: '>= 8'} 1023 | dependencies: 1024 | normalize-path: 3.0.0 1025 | picomatch: 2.3.0 1026 | dev: true 1027 | 1028 | /argparse/2.0.1: 1029 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1030 | dev: true 1031 | 1032 | /array-back/3.1.0: 1033 | resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} 1034 | engines: {node: '>=6'} 1035 | dev: true 1036 | 1037 | /array-includes/3.1.5: 1038 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 1039 | engines: {node: '>= 0.4'} 1040 | dependencies: 1041 | call-bind: 1.0.2 1042 | define-properties: 1.1.4 1043 | es-abstract: 1.19.5 1044 | get-intrinsic: 1.1.1 1045 | is-string: 1.0.7 1046 | dev: true 1047 | 1048 | /array-tree-filter/2.1.0: 1049 | resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} 1050 | dev: false 1051 | 1052 | /array-union/2.1.0: 1053 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1054 | engines: {node: '>=8'} 1055 | dev: true 1056 | 1057 | /array.prototype.flat/1.3.0: 1058 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 1059 | engines: {node: '>= 0.4'} 1060 | dependencies: 1061 | call-bind: 1.0.2 1062 | define-properties: 1.1.3 1063 | es-abstract: 1.19.5 1064 | es-shim-unscopables: 1.0.0 1065 | dev: true 1066 | 1067 | /assertion-error/1.1.0: 1068 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 1069 | dev: true 1070 | 1071 | /async-validator/3.5.2: 1072 | resolution: {integrity: sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ==} 1073 | dev: false 1074 | 1075 | /balanced-match/1.0.2: 1076 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1077 | dev: true 1078 | 1079 | /big.js/5.2.2: 1080 | resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} 1081 | dev: true 1082 | 1083 | /binary-extensions/2.2.0: 1084 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1085 | engines: {node: '>=8'} 1086 | dev: true 1087 | 1088 | /bluebird/3.7.2: 1089 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} 1090 | dev: true 1091 | 1092 | /brace-expansion/1.1.11: 1093 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1094 | dependencies: 1095 | balanced-match: 1.0.2 1096 | concat-map: 0.0.1 1097 | dev: true 1098 | 1099 | /braces/3.0.2: 1100 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1101 | engines: {node: '>=8'} 1102 | dependencies: 1103 | fill-range: 7.0.1 1104 | dev: true 1105 | 1106 | /browserslist/4.16.6: 1107 | resolution: {integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==} 1108 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1109 | hasBin: true 1110 | dependencies: 1111 | caniuse-lite: 1.0.30001237 1112 | colorette: 1.2.2 1113 | electron-to-chromium: 1.3.752 1114 | escalade: 3.1.1 1115 | node-releases: 1.1.73 1116 | dev: true 1117 | 1118 | /builtins/4.1.0: 1119 | resolution: {integrity: sha512-1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==} 1120 | dependencies: 1121 | semver: 7.3.5 1122 | dev: true 1123 | 1124 | /bumpp/7.1.1: 1125 | resolution: {integrity: sha512-pAGjraw9T4I4dnkiQHrKUVQb55dOM5Nj72SVtVlkjFjWjFtg0aSgipQuxDWZ0cqm8WoqtaiBPk+7jHfnZxr7lA==} 1126 | engines: {node: '>=10'} 1127 | hasBin: true 1128 | dependencies: 1129 | '@jsdevtools/ez-spawn': 3.0.4 1130 | chalk: 4.1.2 1131 | command-line-args: 5.2.0 1132 | globby: 11.0.4 1133 | prompts: 2.4.1 1134 | semver: 7.3.5 1135 | dev: true 1136 | 1137 | /call-bind/1.0.2: 1138 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 1139 | dependencies: 1140 | function-bind: 1.1.1 1141 | get-intrinsic: 1.1.1 1142 | dev: true 1143 | 1144 | /call-me-maybe/1.0.1: 1145 | resolution: {integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms=} 1146 | dev: true 1147 | 1148 | /callsites/3.1.0: 1149 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1150 | engines: {node: '>=6'} 1151 | dev: true 1152 | 1153 | /camel-case/4.1.2: 1154 | resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} 1155 | dependencies: 1156 | pascal-case: 3.1.2 1157 | tslib: 2.3.1 1158 | dev: true 1159 | 1160 | /caniuse-lite/1.0.30001237: 1161 | resolution: {integrity: sha512-pDHgRndit6p1NR2GhzMbQ6CkRrp4VKuSsqbcLeOQppYPKOYkKT/6ZvZDvKJUqcmtyWIAHuZq3SVS2vc1egCZzw==} 1162 | dev: true 1163 | 1164 | /capital-case/1.0.4: 1165 | resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} 1166 | dependencies: 1167 | no-case: 3.0.4 1168 | tslib: 2.3.1 1169 | upper-case-first: 2.0.2 1170 | dev: true 1171 | 1172 | /chai/4.3.6: 1173 | resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} 1174 | engines: {node: '>=4'} 1175 | dependencies: 1176 | assertion-error: 1.1.0 1177 | check-error: 1.0.2 1178 | deep-eql: 3.0.1 1179 | get-func-name: 2.0.0 1180 | loupe: 2.3.4 1181 | pathval: 1.1.1 1182 | type-detect: 4.0.8 1183 | dev: true 1184 | 1185 | /chalk/2.4.2: 1186 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1187 | engines: {node: '>=4'} 1188 | dependencies: 1189 | ansi-styles: 3.2.1 1190 | escape-string-regexp: 1.0.5 1191 | supports-color: 5.5.0 1192 | dev: true 1193 | 1194 | /chalk/4.1.2: 1195 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1196 | engines: {node: '>=10'} 1197 | dependencies: 1198 | ansi-styles: 4.3.0 1199 | supports-color: 7.2.0 1200 | dev: true 1201 | 1202 | /change-case/4.1.2: 1203 | resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} 1204 | dependencies: 1205 | camel-case: 4.1.2 1206 | capital-case: 1.0.4 1207 | constant-case: 3.0.4 1208 | dot-case: 3.0.4 1209 | header-case: 2.0.4 1210 | no-case: 3.0.4 1211 | param-case: 3.0.4 1212 | pascal-case: 3.1.2 1213 | path-case: 3.0.4 1214 | sentence-case: 3.0.4 1215 | snake-case: 3.0.4 1216 | tslib: 2.3.1 1217 | dev: true 1218 | 1219 | /check-error/1.0.2: 1220 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 1221 | dev: true 1222 | 1223 | /chokidar/3.5.2: 1224 | resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} 1225 | engines: {node: '>= 8.10.0'} 1226 | dependencies: 1227 | anymatch: 3.1.2 1228 | braces: 3.0.2 1229 | glob-parent: 5.1.2 1230 | is-binary-path: 2.1.0 1231 | is-glob: 4.0.1 1232 | normalize-path: 3.0.0 1233 | readdirp: 3.6.0 1234 | optionalDependencies: 1235 | fsevents: 2.3.2 1236 | dev: true 1237 | 1238 | /classnames/2.3.1: 1239 | resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==} 1240 | dev: false 1241 | 1242 | /color-convert/1.9.3: 1243 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1244 | dependencies: 1245 | color-name: 1.1.3 1246 | dev: true 1247 | 1248 | /color-convert/2.0.1: 1249 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1250 | engines: {node: '>=7.0.0'} 1251 | dependencies: 1252 | color-name: 1.1.4 1253 | dev: true 1254 | 1255 | /color-name/1.1.3: 1256 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 1257 | dev: true 1258 | 1259 | /color-name/1.1.4: 1260 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1261 | dev: true 1262 | 1263 | /colorette/1.2.2: 1264 | resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==} 1265 | dev: true 1266 | 1267 | /command-line-args/5.2.0: 1268 | resolution: {integrity: sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==} 1269 | engines: {node: '>=4.0.0'} 1270 | dependencies: 1271 | array-back: 3.1.0 1272 | find-replace: 3.0.0 1273 | lodash.camelcase: 4.3.0 1274 | typical: 4.0.0 1275 | dev: true 1276 | 1277 | /compute-scroll-into-view/1.0.17: 1278 | resolution: {integrity: sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==} 1279 | dev: false 1280 | 1281 | /concat-map/0.0.1: 1282 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 1283 | dev: true 1284 | 1285 | /consolidate/0.16.0: 1286 | resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==} 1287 | engines: {node: '>= 0.10.0'} 1288 | dependencies: 1289 | bluebird: 3.7.2 1290 | dev: true 1291 | 1292 | /constant-case/3.0.4: 1293 | resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} 1294 | dependencies: 1295 | no-case: 3.0.4 1296 | tslib: 2.3.1 1297 | upper-case: 2.0.2 1298 | dev: true 1299 | 1300 | /convert-source-map/1.7.0: 1301 | resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} 1302 | dependencies: 1303 | safe-buffer: 5.1.2 1304 | dev: true 1305 | 1306 | /copy-anything/2.0.3: 1307 | resolution: {integrity: sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==} 1308 | dependencies: 1309 | is-what: 3.14.1 1310 | dev: false 1311 | 1312 | /copy-to-clipboard/3.3.1: 1313 | resolution: {integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==} 1314 | dependencies: 1315 | toggle-selection: 1.0.6 1316 | dev: false 1317 | 1318 | /cross-spawn/7.0.3: 1319 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1320 | engines: {node: '>= 8'} 1321 | dependencies: 1322 | path-key: 3.1.1 1323 | shebang-command: 2.0.0 1324 | which: 2.0.2 1325 | dev: true 1326 | 1327 | /cssesc/3.0.0: 1328 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1329 | engines: {node: '>=4'} 1330 | hasBin: true 1331 | dev: true 1332 | 1333 | /csstype/2.6.17: 1334 | resolution: {integrity: sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==} 1335 | 1336 | /csstype/2.6.19: 1337 | resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==} 1338 | dev: false 1339 | 1340 | /csstype/3.0.8: 1341 | resolution: {integrity: sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==} 1342 | dev: true 1343 | 1344 | /date-fns/2.23.0: 1345 | resolution: {integrity: sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==} 1346 | engines: {node: '>=0.11'} 1347 | dev: false 1348 | 1349 | /dayjs/1.10.6: 1350 | resolution: {integrity: sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw==} 1351 | dev: false 1352 | 1353 | /debug/2.6.9: 1354 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 1355 | peerDependencies: 1356 | supports-color: '*' 1357 | peerDependenciesMeta: 1358 | supports-color: 1359 | optional: true 1360 | dependencies: 1361 | ms: 2.0.0 1362 | dev: true 1363 | 1364 | /debug/3.2.7: 1365 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1366 | peerDependencies: 1367 | supports-color: '*' 1368 | peerDependenciesMeta: 1369 | supports-color: 1370 | optional: true 1371 | dependencies: 1372 | ms: 2.1.3 1373 | 1374 | /debug/4.3.1: 1375 | resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} 1376 | engines: {node: '>=6.0'} 1377 | peerDependencies: 1378 | supports-color: '*' 1379 | peerDependenciesMeta: 1380 | supports-color: 1381 | optional: true 1382 | dependencies: 1383 | ms: 2.1.2 1384 | dev: true 1385 | 1386 | /debug/4.3.2: 1387 | resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} 1388 | engines: {node: '>=6.0'} 1389 | peerDependencies: 1390 | supports-color: '*' 1391 | peerDependenciesMeta: 1392 | supports-color: 1393 | optional: true 1394 | dependencies: 1395 | ms: 2.1.2 1396 | dev: true 1397 | 1398 | /debug/4.3.4: 1399 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1400 | engines: {node: '>=6.0'} 1401 | peerDependencies: 1402 | supports-color: '*' 1403 | peerDependenciesMeta: 1404 | supports-color: 1405 | optional: true 1406 | dependencies: 1407 | ms: 2.1.2 1408 | dev: true 1409 | 1410 | /deep-eql/3.0.1: 1411 | resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} 1412 | engines: {node: '>=0.12'} 1413 | dependencies: 1414 | type-detect: 4.0.8 1415 | dev: true 1416 | 1417 | /deep-is/0.1.3: 1418 | resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=} 1419 | dev: true 1420 | 1421 | /define-properties/1.1.3: 1422 | resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} 1423 | engines: {node: '>= 0.4'} 1424 | dependencies: 1425 | object-keys: 1.1.1 1426 | dev: true 1427 | 1428 | /define-properties/1.1.4: 1429 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1430 | engines: {node: '>= 0.4'} 1431 | dependencies: 1432 | has-property-descriptors: 1.0.0 1433 | object-keys: 1.1.1 1434 | dev: true 1435 | 1436 | /dir-glob/3.0.1: 1437 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1438 | engines: {node: '>=8'} 1439 | dependencies: 1440 | path-type: 4.0.0 1441 | dev: true 1442 | 1443 | /doctrine/2.1.0: 1444 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1445 | engines: {node: '>=0.10.0'} 1446 | dependencies: 1447 | esutils: 2.0.3 1448 | dev: true 1449 | 1450 | /doctrine/3.0.0: 1451 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1452 | engines: {node: '>=6.0.0'} 1453 | dependencies: 1454 | esutils: 2.0.3 1455 | dev: true 1456 | 1457 | /dom-align/1.12.2: 1458 | resolution: {integrity: sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==} 1459 | dev: false 1460 | 1461 | /dot-case/3.0.4: 1462 | resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} 1463 | dependencies: 1464 | no-case: 3.0.4 1465 | tslib: 2.3.1 1466 | dev: true 1467 | 1468 | /electron-to-chromium/1.3.752: 1469 | resolution: {integrity: sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==} 1470 | dev: true 1471 | 1472 | /element-plus/1.0.2-beta.70_vue@3.1.1: 1473 | resolution: {integrity: sha512-q9nqxELedLTFMCff5M5CsFbjWQYa6FvcLr1p7QZI64stZ7oEx1EcFnLEeP7dTg0g6iZf1fnaL5df1fVKWY0Dcg==} 1474 | peerDependencies: 1475 | vue: 3.1.x 1476 | dependencies: 1477 | '@element-plus/icons': 0.0.11 1478 | '@popperjs/core': 2.9.3 1479 | async-validator: 3.5.2 1480 | dayjs: 1.10.6 1481 | lodash: 4.17.21 1482 | mitt: 2.1.0 1483 | normalize-wheel: 1.0.1 1484 | resize-observer-polyfill: 1.5.1 1485 | vue: 3.1.1 1486 | dev: false 1487 | 1488 | /emojis-list/3.0.0: 1489 | resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} 1490 | engines: {node: '>= 4'} 1491 | dev: true 1492 | 1493 | /errno/0.1.8: 1494 | resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} 1495 | hasBin: true 1496 | dependencies: 1497 | prr: 1.0.1 1498 | dev: false 1499 | optional: true 1500 | 1501 | /es-abstract/1.19.5: 1502 | resolution: {integrity: sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==} 1503 | engines: {node: '>= 0.4'} 1504 | dependencies: 1505 | call-bind: 1.0.2 1506 | es-to-primitive: 1.2.1 1507 | function-bind: 1.1.1 1508 | get-intrinsic: 1.1.1 1509 | get-symbol-description: 1.0.0 1510 | has: 1.0.3 1511 | has-symbols: 1.0.3 1512 | internal-slot: 1.0.3 1513 | is-callable: 1.2.4 1514 | is-negative-zero: 2.0.2 1515 | is-regex: 1.1.4 1516 | is-shared-array-buffer: 1.0.2 1517 | is-string: 1.0.7 1518 | is-weakref: 1.0.2 1519 | object-inspect: 1.12.0 1520 | object-keys: 1.1.1 1521 | object.assign: 4.1.2 1522 | string.prototype.trimend: 1.0.4 1523 | string.prototype.trimstart: 1.0.4 1524 | unbox-primitive: 1.0.1 1525 | dev: true 1526 | 1527 | /es-module-lexer/0.4.1: 1528 | resolution: {integrity: sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==} 1529 | dev: false 1530 | 1531 | /es-module-lexer/0.7.1: 1532 | resolution: {integrity: sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==} 1533 | dev: true 1534 | 1535 | /es-shim-unscopables/1.0.0: 1536 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1537 | dependencies: 1538 | has: 1.0.3 1539 | dev: true 1540 | 1541 | /es-to-primitive/1.2.1: 1542 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1543 | engines: {node: '>= 0.4'} 1544 | dependencies: 1545 | is-callable: 1.2.4 1546 | is-date-object: 1.0.4 1547 | is-symbol: 1.0.4 1548 | dev: true 1549 | 1550 | /esbuild-android-64/0.14.54: 1551 | resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} 1552 | engines: {node: '>=12'} 1553 | cpu: [x64] 1554 | os: [android] 1555 | requiresBuild: true 1556 | dev: true 1557 | optional: true 1558 | 1559 | /esbuild-android-arm64/0.13.15: 1560 | resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} 1561 | cpu: [arm64] 1562 | os: [android] 1563 | requiresBuild: true 1564 | dev: true 1565 | optional: true 1566 | 1567 | /esbuild-android-arm64/0.14.54: 1568 | resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} 1569 | engines: {node: '>=12'} 1570 | cpu: [arm64] 1571 | os: [android] 1572 | requiresBuild: true 1573 | dev: true 1574 | optional: true 1575 | 1576 | /esbuild-darwin-64/0.13.15: 1577 | resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} 1578 | cpu: [x64] 1579 | os: [darwin] 1580 | requiresBuild: true 1581 | dev: true 1582 | optional: true 1583 | 1584 | /esbuild-darwin-64/0.14.54: 1585 | resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} 1586 | engines: {node: '>=12'} 1587 | cpu: [x64] 1588 | os: [darwin] 1589 | requiresBuild: true 1590 | dev: true 1591 | optional: true 1592 | 1593 | /esbuild-darwin-arm64/0.13.15: 1594 | resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} 1595 | cpu: [arm64] 1596 | os: [darwin] 1597 | requiresBuild: true 1598 | dev: true 1599 | optional: true 1600 | 1601 | /esbuild-darwin-arm64/0.14.54: 1602 | resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} 1603 | engines: {node: '>=12'} 1604 | cpu: [arm64] 1605 | os: [darwin] 1606 | requiresBuild: true 1607 | dev: true 1608 | optional: true 1609 | 1610 | /esbuild-freebsd-64/0.13.15: 1611 | resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} 1612 | cpu: [x64] 1613 | os: [freebsd] 1614 | requiresBuild: true 1615 | dev: true 1616 | optional: true 1617 | 1618 | /esbuild-freebsd-64/0.14.54: 1619 | resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} 1620 | engines: {node: '>=12'} 1621 | cpu: [x64] 1622 | os: [freebsd] 1623 | requiresBuild: true 1624 | dev: true 1625 | optional: true 1626 | 1627 | /esbuild-freebsd-arm64/0.13.15: 1628 | resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} 1629 | cpu: [arm64] 1630 | os: [freebsd] 1631 | requiresBuild: true 1632 | dev: true 1633 | optional: true 1634 | 1635 | /esbuild-freebsd-arm64/0.14.54: 1636 | resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} 1637 | engines: {node: '>=12'} 1638 | cpu: [arm64] 1639 | os: [freebsd] 1640 | requiresBuild: true 1641 | dev: true 1642 | optional: true 1643 | 1644 | /esbuild-linux-32/0.13.15: 1645 | resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} 1646 | cpu: [ia32] 1647 | os: [linux] 1648 | requiresBuild: true 1649 | dev: true 1650 | optional: true 1651 | 1652 | /esbuild-linux-32/0.14.54: 1653 | resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} 1654 | engines: {node: '>=12'} 1655 | cpu: [ia32] 1656 | os: [linux] 1657 | requiresBuild: true 1658 | dev: true 1659 | optional: true 1660 | 1661 | /esbuild-linux-64/0.13.15: 1662 | resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} 1663 | cpu: [x64] 1664 | os: [linux] 1665 | requiresBuild: true 1666 | dev: true 1667 | optional: true 1668 | 1669 | /esbuild-linux-64/0.14.54: 1670 | resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} 1671 | engines: {node: '>=12'} 1672 | cpu: [x64] 1673 | os: [linux] 1674 | requiresBuild: true 1675 | dev: true 1676 | optional: true 1677 | 1678 | /esbuild-linux-arm/0.13.15: 1679 | resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} 1680 | cpu: [arm] 1681 | os: [linux] 1682 | requiresBuild: true 1683 | dev: true 1684 | optional: true 1685 | 1686 | /esbuild-linux-arm/0.14.54: 1687 | resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} 1688 | engines: {node: '>=12'} 1689 | cpu: [arm] 1690 | os: [linux] 1691 | requiresBuild: true 1692 | dev: true 1693 | optional: true 1694 | 1695 | /esbuild-linux-arm64/0.13.15: 1696 | resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} 1697 | cpu: [arm64] 1698 | os: [linux] 1699 | requiresBuild: true 1700 | dev: true 1701 | optional: true 1702 | 1703 | /esbuild-linux-arm64/0.14.54: 1704 | resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} 1705 | engines: {node: '>=12'} 1706 | cpu: [arm64] 1707 | os: [linux] 1708 | requiresBuild: true 1709 | dev: true 1710 | optional: true 1711 | 1712 | /esbuild-linux-mips64le/0.13.15: 1713 | resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} 1714 | cpu: [mips64el] 1715 | os: [linux] 1716 | requiresBuild: true 1717 | dev: true 1718 | optional: true 1719 | 1720 | /esbuild-linux-mips64le/0.14.54: 1721 | resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} 1722 | engines: {node: '>=12'} 1723 | cpu: [mips64el] 1724 | os: [linux] 1725 | requiresBuild: true 1726 | dev: true 1727 | optional: true 1728 | 1729 | /esbuild-linux-ppc64le/0.13.15: 1730 | resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} 1731 | cpu: [ppc64] 1732 | os: [linux] 1733 | requiresBuild: true 1734 | dev: true 1735 | optional: true 1736 | 1737 | /esbuild-linux-ppc64le/0.14.54: 1738 | resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} 1739 | engines: {node: '>=12'} 1740 | cpu: [ppc64] 1741 | os: [linux] 1742 | requiresBuild: true 1743 | dev: true 1744 | optional: true 1745 | 1746 | /esbuild-linux-riscv64/0.14.54: 1747 | resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} 1748 | engines: {node: '>=12'} 1749 | cpu: [riscv64] 1750 | os: [linux] 1751 | requiresBuild: true 1752 | dev: true 1753 | optional: true 1754 | 1755 | /esbuild-linux-s390x/0.14.54: 1756 | resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} 1757 | engines: {node: '>=12'} 1758 | cpu: [s390x] 1759 | os: [linux] 1760 | requiresBuild: true 1761 | dev: true 1762 | optional: true 1763 | 1764 | /esbuild-netbsd-64/0.13.15: 1765 | resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} 1766 | cpu: [x64] 1767 | os: [netbsd] 1768 | requiresBuild: true 1769 | dev: true 1770 | optional: true 1771 | 1772 | /esbuild-netbsd-64/0.14.54: 1773 | resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} 1774 | engines: {node: '>=12'} 1775 | cpu: [x64] 1776 | os: [netbsd] 1777 | requiresBuild: true 1778 | dev: true 1779 | optional: true 1780 | 1781 | /esbuild-openbsd-64/0.13.15: 1782 | resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} 1783 | cpu: [x64] 1784 | os: [openbsd] 1785 | requiresBuild: true 1786 | dev: true 1787 | optional: true 1788 | 1789 | /esbuild-openbsd-64/0.14.54: 1790 | resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} 1791 | engines: {node: '>=12'} 1792 | cpu: [x64] 1793 | os: [openbsd] 1794 | requiresBuild: true 1795 | dev: true 1796 | optional: true 1797 | 1798 | /esbuild-sunos-64/0.13.15: 1799 | resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} 1800 | cpu: [x64] 1801 | os: [sunos] 1802 | requiresBuild: true 1803 | dev: true 1804 | optional: true 1805 | 1806 | /esbuild-sunos-64/0.14.54: 1807 | resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} 1808 | engines: {node: '>=12'} 1809 | cpu: [x64] 1810 | os: [sunos] 1811 | requiresBuild: true 1812 | dev: true 1813 | optional: true 1814 | 1815 | /esbuild-windows-32/0.13.15: 1816 | resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} 1817 | cpu: [ia32] 1818 | os: [win32] 1819 | requiresBuild: true 1820 | dev: true 1821 | optional: true 1822 | 1823 | /esbuild-windows-32/0.14.54: 1824 | resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} 1825 | engines: {node: '>=12'} 1826 | cpu: [ia32] 1827 | os: [win32] 1828 | requiresBuild: true 1829 | dev: true 1830 | optional: true 1831 | 1832 | /esbuild-windows-64/0.13.15: 1833 | resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} 1834 | cpu: [x64] 1835 | os: [win32] 1836 | requiresBuild: true 1837 | dev: true 1838 | optional: true 1839 | 1840 | /esbuild-windows-64/0.14.54: 1841 | resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} 1842 | engines: {node: '>=12'} 1843 | cpu: [x64] 1844 | os: [win32] 1845 | requiresBuild: true 1846 | dev: true 1847 | optional: true 1848 | 1849 | /esbuild-windows-arm64/0.13.15: 1850 | resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} 1851 | cpu: [arm64] 1852 | os: [win32] 1853 | requiresBuild: true 1854 | dev: true 1855 | optional: true 1856 | 1857 | /esbuild-windows-arm64/0.14.54: 1858 | resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} 1859 | engines: {node: '>=12'} 1860 | cpu: [arm64] 1861 | os: [win32] 1862 | requiresBuild: true 1863 | dev: true 1864 | optional: true 1865 | 1866 | /esbuild/0.12.8: 1867 | resolution: {integrity: sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==} 1868 | hasBin: true 1869 | requiresBuild: true 1870 | dev: true 1871 | 1872 | /esbuild/0.13.15: 1873 | resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} 1874 | hasBin: true 1875 | requiresBuild: true 1876 | optionalDependencies: 1877 | esbuild-android-arm64: 0.13.15 1878 | esbuild-darwin-64: 0.13.15 1879 | esbuild-darwin-arm64: 0.13.15 1880 | esbuild-freebsd-64: 0.13.15 1881 | esbuild-freebsd-arm64: 0.13.15 1882 | esbuild-linux-32: 0.13.15 1883 | esbuild-linux-64: 0.13.15 1884 | esbuild-linux-arm: 0.13.15 1885 | esbuild-linux-arm64: 0.13.15 1886 | esbuild-linux-mips64le: 0.13.15 1887 | esbuild-linux-ppc64le: 0.13.15 1888 | esbuild-netbsd-64: 0.13.15 1889 | esbuild-openbsd-64: 0.13.15 1890 | esbuild-sunos-64: 0.13.15 1891 | esbuild-windows-32: 0.13.15 1892 | esbuild-windows-64: 0.13.15 1893 | esbuild-windows-arm64: 0.13.15 1894 | dev: true 1895 | 1896 | /esbuild/0.14.54: 1897 | resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} 1898 | engines: {node: '>=12'} 1899 | hasBin: true 1900 | requiresBuild: true 1901 | optionalDependencies: 1902 | '@esbuild/linux-loong64': 0.14.54 1903 | esbuild-android-64: 0.14.54 1904 | esbuild-android-arm64: 0.14.54 1905 | esbuild-darwin-64: 0.14.54 1906 | esbuild-darwin-arm64: 0.14.54 1907 | esbuild-freebsd-64: 0.14.54 1908 | esbuild-freebsd-arm64: 0.14.54 1909 | esbuild-linux-32: 0.14.54 1910 | esbuild-linux-64: 0.14.54 1911 | esbuild-linux-arm: 0.14.54 1912 | esbuild-linux-arm64: 0.14.54 1913 | esbuild-linux-mips64le: 0.14.54 1914 | esbuild-linux-ppc64le: 0.14.54 1915 | esbuild-linux-riscv64: 0.14.54 1916 | esbuild-linux-s390x: 0.14.54 1917 | esbuild-netbsd-64: 0.14.54 1918 | esbuild-openbsd-64: 0.14.54 1919 | esbuild-sunos-64: 0.14.54 1920 | esbuild-windows-32: 0.14.54 1921 | esbuild-windows-64: 0.14.54 1922 | esbuild-windows-arm64: 0.14.54 1923 | dev: true 1924 | 1925 | /escalade/3.1.1: 1926 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1927 | engines: {node: '>=6'} 1928 | dev: true 1929 | 1930 | /escape-string-regexp/1.0.5: 1931 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 1932 | engines: {node: '>=0.8.0'} 1933 | dev: true 1934 | 1935 | /escape-string-regexp/4.0.0: 1936 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1937 | engines: {node: '>=10'} 1938 | dev: true 1939 | 1940 | /eslint-config-standard/17.0.0_csxqpghp2u36zpehgl7g6fmctq: 1941 | resolution: {integrity: sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==} 1942 | peerDependencies: 1943 | eslint: ^8.0.1 1944 | eslint-plugin-import: ^2.25.2 1945 | eslint-plugin-n: ^15.0.0 1946 | eslint-plugin-promise: ^6.0.0 1947 | dependencies: 1948 | eslint: 8.14.0 1949 | eslint-plugin-import: 2.26.0_as7czvxgrvaa35lzxztolpnp5a 1950 | eslint-plugin-n: 15.2.0_eslint@8.14.0 1951 | eslint-plugin-promise: 6.0.0_eslint@8.14.0 1952 | dev: true 1953 | 1954 | /eslint-import-resolver-node/0.3.6: 1955 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1956 | dependencies: 1957 | debug: 3.2.7 1958 | resolve: 1.22.0 1959 | transitivePeerDependencies: 1960 | - supports-color 1961 | dev: true 1962 | 1963 | /eslint-module-utils/2.7.3_wex3ustmkv4ospy3s77r6ihlwq: 1964 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 1965 | engines: {node: '>=4'} 1966 | peerDependencies: 1967 | '@typescript-eslint/parser': '*' 1968 | eslint-import-resolver-node: '*' 1969 | eslint-import-resolver-typescript: '*' 1970 | eslint-import-resolver-webpack: '*' 1971 | peerDependenciesMeta: 1972 | '@typescript-eslint/parser': 1973 | optional: true 1974 | eslint-import-resolver-node: 1975 | optional: true 1976 | eslint-import-resolver-typescript: 1977 | optional: true 1978 | eslint-import-resolver-webpack: 1979 | optional: true 1980 | dependencies: 1981 | '@typescript-eslint/parser': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 1982 | debug: 3.2.7 1983 | eslint-import-resolver-node: 0.3.6 1984 | find-up: 2.1.0 1985 | transitivePeerDependencies: 1986 | - supports-color 1987 | dev: true 1988 | 1989 | /eslint-plugin-es/4.1.0_eslint@8.14.0: 1990 | resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} 1991 | engines: {node: '>=8.10.0'} 1992 | peerDependencies: 1993 | eslint: '>=4.19.1' 1994 | dependencies: 1995 | eslint: 8.14.0 1996 | eslint-utils: 2.1.0 1997 | regexpp: 3.2.0 1998 | dev: true 1999 | 2000 | /eslint-plugin-import/2.26.0_as7czvxgrvaa35lzxztolpnp5a: 2001 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 2002 | engines: {node: '>=4'} 2003 | peerDependencies: 2004 | '@typescript-eslint/parser': '*' 2005 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 2006 | peerDependenciesMeta: 2007 | '@typescript-eslint/parser': 2008 | optional: true 2009 | dependencies: 2010 | '@typescript-eslint/parser': 5.22.0_5d257b54dulvjvnqbhxbfq6jda 2011 | array-includes: 3.1.5 2012 | array.prototype.flat: 1.3.0 2013 | debug: 2.6.9 2014 | doctrine: 2.1.0 2015 | eslint: 8.14.0 2016 | eslint-import-resolver-node: 0.3.6 2017 | eslint-module-utils: 2.7.3_wex3ustmkv4ospy3s77r6ihlwq 2018 | has: 1.0.3 2019 | is-core-module: 2.9.0 2020 | is-glob: 4.0.3 2021 | minimatch: 3.1.2 2022 | object.values: 1.1.5 2023 | resolve: 1.22.0 2024 | tsconfig-paths: 3.14.1 2025 | transitivePeerDependencies: 2026 | - eslint-import-resolver-typescript 2027 | - eslint-import-resolver-webpack 2028 | - supports-color 2029 | dev: true 2030 | 2031 | /eslint-plugin-n/15.2.0_eslint@8.14.0: 2032 | resolution: {integrity: sha512-lWLg++jGwC88GDGGBX3CMkk0GIWq0y41aH51lavWApOKcMQcYoL3Ayd0lEdtD3SnQtR+3qBvWQS3qGbR2BxRWg==} 2033 | engines: {node: '>=12.22.0'} 2034 | peerDependencies: 2035 | eslint: '>=7.0.0' 2036 | dependencies: 2037 | builtins: 4.1.0 2038 | eslint: 8.14.0 2039 | eslint-plugin-es: 4.1.0_eslint@8.14.0 2040 | eslint-utils: 3.0.0_eslint@8.14.0 2041 | ignore: 5.1.8 2042 | is-core-module: 2.8.0 2043 | minimatch: 3.0.4 2044 | resolve: 1.20.0 2045 | semver: 6.3.0 2046 | dev: true 2047 | 2048 | /eslint-plugin-promise/6.0.0_eslint@8.14.0: 2049 | resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} 2050 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2051 | peerDependencies: 2052 | eslint: ^7.0.0 || ^8.0.0 2053 | dependencies: 2054 | eslint: 8.14.0 2055 | dev: true 2056 | 2057 | /eslint-scope/5.1.1: 2058 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 2059 | engines: {node: '>=8.0.0'} 2060 | dependencies: 2061 | esrecurse: 4.3.0 2062 | estraverse: 4.3.0 2063 | dev: true 2064 | 2065 | /eslint-scope/7.1.1: 2066 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 2067 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2068 | dependencies: 2069 | esrecurse: 4.3.0 2070 | estraverse: 5.2.0 2071 | dev: true 2072 | 2073 | /eslint-utils/2.1.0: 2074 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 2075 | engines: {node: '>=6'} 2076 | dependencies: 2077 | eslint-visitor-keys: 1.3.0 2078 | dev: true 2079 | 2080 | /eslint-utils/3.0.0_eslint@8.14.0: 2081 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 2082 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 2083 | peerDependencies: 2084 | eslint: '>=5' 2085 | dependencies: 2086 | eslint: 8.14.0 2087 | eslint-visitor-keys: 2.1.0 2088 | dev: true 2089 | 2090 | /eslint-visitor-keys/1.3.0: 2091 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 2092 | engines: {node: '>=4'} 2093 | dev: true 2094 | 2095 | /eslint-visitor-keys/2.1.0: 2096 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 2097 | engines: {node: '>=10'} 2098 | dev: true 2099 | 2100 | /eslint-visitor-keys/3.3.0: 2101 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 2102 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2103 | dev: true 2104 | 2105 | /eslint/8.14.0: 2106 | resolution: {integrity: sha512-3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==} 2107 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2108 | hasBin: true 2109 | dependencies: 2110 | '@eslint/eslintrc': 1.2.2 2111 | '@humanwhocodes/config-array': 0.9.5 2112 | ajv: 6.12.6 2113 | chalk: 4.1.2 2114 | cross-spawn: 7.0.3 2115 | debug: 4.3.2 2116 | doctrine: 3.0.0 2117 | escape-string-regexp: 4.0.0 2118 | eslint-scope: 7.1.1 2119 | eslint-utils: 3.0.0_eslint@8.14.0 2120 | eslint-visitor-keys: 3.3.0 2121 | espree: 9.3.1 2122 | esquery: 1.4.0 2123 | esutils: 2.0.3 2124 | fast-deep-equal: 3.1.3 2125 | file-entry-cache: 6.0.1 2126 | functional-red-black-tree: 1.0.1 2127 | glob-parent: 6.0.2 2128 | globals: 13.9.0 2129 | ignore: 5.2.0 2130 | import-fresh: 3.3.0 2131 | imurmurhash: 0.1.4 2132 | is-glob: 4.0.3 2133 | js-yaml: 4.1.0 2134 | json-stable-stringify-without-jsonify: 1.0.1 2135 | levn: 0.4.1 2136 | lodash.merge: 4.6.2 2137 | minimatch: 3.1.2 2138 | natural-compare: 1.4.0 2139 | optionator: 0.9.1 2140 | regexpp: 3.2.0 2141 | strip-ansi: 6.0.1 2142 | strip-json-comments: 3.1.1 2143 | text-table: 0.2.0 2144 | v8-compile-cache: 2.3.0 2145 | transitivePeerDependencies: 2146 | - supports-color 2147 | dev: true 2148 | 2149 | /espree/9.3.1: 2150 | resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} 2151 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2152 | dependencies: 2153 | acorn: 8.7.1 2154 | acorn-jsx: 5.3.1_acorn@8.7.1 2155 | eslint-visitor-keys: 3.3.0 2156 | dev: true 2157 | 2158 | /esquery/1.4.0: 2159 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 2160 | engines: {node: '>=0.10'} 2161 | dependencies: 2162 | estraverse: 5.2.0 2163 | dev: true 2164 | 2165 | /esrecurse/4.3.0: 2166 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 2167 | engines: {node: '>=4.0'} 2168 | dependencies: 2169 | estraverse: 5.2.0 2170 | dev: true 2171 | 2172 | /estraverse/4.3.0: 2173 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 2174 | engines: {node: '>=4.0'} 2175 | dev: true 2176 | 2177 | /estraverse/5.2.0: 2178 | resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==} 2179 | engines: {node: '>=4.0'} 2180 | dev: true 2181 | 2182 | /estree-walker/2.0.2: 2183 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 2184 | 2185 | /esutils/2.0.3: 2186 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 2187 | engines: {node: '>=0.10.0'} 2188 | dev: true 2189 | 2190 | /fast-deep-equal/3.1.3: 2191 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 2192 | dev: true 2193 | 2194 | /fast-glob/3.2.7: 2195 | resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} 2196 | engines: {node: '>=8'} 2197 | dependencies: 2198 | '@nodelib/fs.stat': 2.0.5 2199 | '@nodelib/fs.walk': 1.2.8 2200 | glob-parent: 5.1.2 2201 | merge2: 1.4.1 2202 | micromatch: 4.0.4 2203 | dev: true 2204 | 2205 | /fast-json-stable-stringify/2.1.0: 2206 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 2207 | dev: true 2208 | 2209 | /fast-levenshtein/2.0.6: 2210 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 2211 | dev: true 2212 | 2213 | /fastq/1.13.0: 2214 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 2215 | dependencies: 2216 | reusify: 1.0.4 2217 | dev: true 2218 | 2219 | /file-entry-cache/6.0.1: 2220 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 2221 | engines: {node: ^10.12.0 || >=12.0.0} 2222 | dependencies: 2223 | flat-cache: 3.0.4 2224 | dev: true 2225 | 2226 | /fill-range/7.0.1: 2227 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 2228 | engines: {node: '>=8'} 2229 | dependencies: 2230 | to-regex-range: 5.0.1 2231 | dev: true 2232 | 2233 | /find-replace/3.0.0: 2234 | resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} 2235 | engines: {node: '>=4.0.0'} 2236 | dependencies: 2237 | array-back: 3.1.0 2238 | dev: true 2239 | 2240 | /find-up/2.1.0: 2241 | resolution: {integrity: sha1-RdG35QbHF93UgndaK3eSCjwMV6c=} 2242 | engines: {node: '>=4'} 2243 | dependencies: 2244 | locate-path: 2.0.0 2245 | dev: true 2246 | 2247 | /flat-cache/3.0.4: 2248 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 2249 | engines: {node: ^10.12.0 || >=12.0.0} 2250 | dependencies: 2251 | flatted: 3.1.1 2252 | rimraf: 3.0.2 2253 | dev: true 2254 | 2255 | /flatted/3.1.1: 2256 | resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} 2257 | dev: true 2258 | 2259 | /fs-extra/10.0.0: 2260 | resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} 2261 | engines: {node: '>=12'} 2262 | dependencies: 2263 | graceful-fs: 4.2.8 2264 | jsonfile: 6.1.0 2265 | universalify: 2.0.0 2266 | dev: false 2267 | 2268 | /fs.realpath/1.0.0: 2269 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 2270 | dev: true 2271 | 2272 | /fsevents/2.3.2: 2273 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 2274 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2275 | os: [darwin] 2276 | requiresBuild: true 2277 | dev: true 2278 | optional: true 2279 | 2280 | /function-bind/1.1.1: 2281 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 2282 | dev: true 2283 | 2284 | /functional-red-black-tree/1.0.1: 2285 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} 2286 | dev: true 2287 | 2288 | /generic-names/2.0.1: 2289 | resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==} 2290 | dependencies: 2291 | loader-utils: 1.4.0 2292 | dev: true 2293 | 2294 | /gensync/1.0.0-beta.2: 2295 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2296 | engines: {node: '>=6.9.0'} 2297 | dev: true 2298 | 2299 | /get-func-name/2.0.0: 2300 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 2301 | dev: true 2302 | 2303 | /get-intrinsic/1.1.1: 2304 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} 2305 | dependencies: 2306 | function-bind: 1.1.1 2307 | has: 1.0.3 2308 | has-symbols: 1.0.2 2309 | dev: true 2310 | 2311 | /get-symbol-description/1.0.0: 2312 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 2313 | engines: {node: '>= 0.4'} 2314 | dependencies: 2315 | call-bind: 1.0.2 2316 | get-intrinsic: 1.1.1 2317 | dev: true 2318 | 2319 | /glob-parent/5.1.2: 2320 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2321 | engines: {node: '>= 6'} 2322 | dependencies: 2323 | is-glob: 4.0.1 2324 | dev: true 2325 | 2326 | /glob-parent/6.0.2: 2327 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2328 | engines: {node: '>=10.13.0'} 2329 | dependencies: 2330 | is-glob: 4.0.3 2331 | dev: true 2332 | 2333 | /glob/7.1.7: 2334 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} 2335 | dependencies: 2336 | fs.realpath: 1.0.0 2337 | inflight: 1.0.6 2338 | inherits: 2.0.4 2339 | minimatch: 3.0.4 2340 | once: 1.4.0 2341 | path-is-absolute: 1.0.1 2342 | dev: true 2343 | 2344 | /globals/11.12.0: 2345 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2346 | engines: {node: '>=4'} 2347 | dev: true 2348 | 2349 | /globals/13.9.0: 2350 | resolution: {integrity: sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==} 2351 | engines: {node: '>=8'} 2352 | dependencies: 2353 | type-fest: 0.20.2 2354 | dev: true 2355 | 2356 | /globby/11.0.4: 2357 | resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} 2358 | engines: {node: '>=10'} 2359 | dependencies: 2360 | array-union: 2.1.0 2361 | dir-glob: 3.0.1 2362 | fast-glob: 3.2.7 2363 | ignore: 5.1.8 2364 | merge2: 1.4.1 2365 | slash: 3.0.0 2366 | dev: true 2367 | 2368 | /graceful-fs/4.2.8: 2369 | resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} 2370 | dev: false 2371 | 2372 | /has-bigints/1.0.1: 2373 | resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} 2374 | dev: true 2375 | 2376 | /has-flag/3.0.0: 2377 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 2378 | engines: {node: '>=4'} 2379 | dev: true 2380 | 2381 | /has-flag/4.0.0: 2382 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2383 | engines: {node: '>=8'} 2384 | dev: true 2385 | 2386 | /has-property-descriptors/1.0.0: 2387 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2388 | dependencies: 2389 | get-intrinsic: 1.1.1 2390 | dev: true 2391 | 2392 | /has-symbols/1.0.2: 2393 | resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} 2394 | engines: {node: '>= 0.4'} 2395 | dev: true 2396 | 2397 | /has-symbols/1.0.3: 2398 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2399 | engines: {node: '>= 0.4'} 2400 | dev: true 2401 | 2402 | /has-tostringtag/1.0.0: 2403 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 2404 | engines: {node: '>= 0.4'} 2405 | dependencies: 2406 | has-symbols: 1.0.3 2407 | dev: true 2408 | 2409 | /has/1.0.3: 2410 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2411 | engines: {node: '>= 0.4.0'} 2412 | dependencies: 2413 | function-bind: 1.1.1 2414 | dev: true 2415 | 2416 | /hash-sum/2.0.0: 2417 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} 2418 | dev: true 2419 | 2420 | /header-case/2.0.4: 2421 | resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} 2422 | dependencies: 2423 | capital-case: 1.0.4 2424 | tslib: 2.3.1 2425 | dev: true 2426 | 2427 | /iconv-lite/0.4.24: 2428 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 2429 | engines: {node: '>=0.10.0'} 2430 | dependencies: 2431 | safer-buffer: 2.1.2 2432 | dev: false 2433 | optional: true 2434 | 2435 | /icss-replace-symbols/1.1.0: 2436 | resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=} 2437 | dev: true 2438 | 2439 | /icss-utils/5.1.0_postcss@8.3.3: 2440 | resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} 2441 | engines: {node: ^10 || ^12 || >= 14} 2442 | peerDependencies: 2443 | postcss: ^8.1.0 2444 | dependencies: 2445 | postcss: 8.3.3 2446 | dev: true 2447 | 2448 | /ignore/5.1.8: 2449 | resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==} 2450 | engines: {node: '>= 4'} 2451 | dev: true 2452 | 2453 | /ignore/5.2.0: 2454 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 2455 | engines: {node: '>= 4'} 2456 | dev: true 2457 | 2458 | /image-size/0.5.5: 2459 | resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=} 2460 | engines: {node: '>=0.10.0'} 2461 | hasBin: true 2462 | dev: false 2463 | optional: true 2464 | 2465 | /import-fresh/3.3.0: 2466 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2467 | engines: {node: '>=6'} 2468 | dependencies: 2469 | parent-module: 1.0.1 2470 | resolve-from: 4.0.0 2471 | dev: true 2472 | 2473 | /imurmurhash/0.1.4: 2474 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 2475 | engines: {node: '>=0.8.19'} 2476 | dev: true 2477 | 2478 | /inflight/1.0.6: 2479 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 2480 | dependencies: 2481 | once: 1.4.0 2482 | wrappy: 1.0.2 2483 | dev: true 2484 | 2485 | /inherits/2.0.4: 2486 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2487 | dev: true 2488 | 2489 | /internal-slot/1.0.3: 2490 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 2491 | engines: {node: '>= 0.4'} 2492 | dependencies: 2493 | get-intrinsic: 1.1.1 2494 | has: 1.0.3 2495 | side-channel: 1.0.4 2496 | dev: true 2497 | 2498 | /is-bigint/1.0.2: 2499 | resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} 2500 | dev: true 2501 | 2502 | /is-binary-path/2.1.0: 2503 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2504 | engines: {node: '>=8'} 2505 | dependencies: 2506 | binary-extensions: 2.2.0 2507 | dev: true 2508 | 2509 | /is-boolean-object/1.1.1: 2510 | resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} 2511 | engines: {node: '>= 0.4'} 2512 | dependencies: 2513 | call-bind: 1.0.2 2514 | dev: true 2515 | 2516 | /is-callable/1.2.4: 2517 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 2518 | engines: {node: '>= 0.4'} 2519 | dev: true 2520 | 2521 | /is-core-module/2.8.0: 2522 | resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} 2523 | dependencies: 2524 | has: 1.0.3 2525 | dev: true 2526 | 2527 | /is-core-module/2.9.0: 2528 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 2529 | dependencies: 2530 | has: 1.0.3 2531 | dev: true 2532 | 2533 | /is-date-object/1.0.4: 2534 | resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==} 2535 | engines: {node: '>= 0.4'} 2536 | dev: true 2537 | 2538 | /is-extglob/2.1.1: 2539 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 2540 | engines: {node: '>=0.10.0'} 2541 | dev: true 2542 | 2543 | /is-glob/4.0.1: 2544 | resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} 2545 | engines: {node: '>=0.10.0'} 2546 | dependencies: 2547 | is-extglob: 2.1.1 2548 | dev: true 2549 | 2550 | /is-glob/4.0.3: 2551 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2552 | engines: {node: '>=0.10.0'} 2553 | dependencies: 2554 | is-extglob: 2.1.1 2555 | dev: true 2556 | 2557 | /is-negative-zero/2.0.2: 2558 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2559 | engines: {node: '>= 0.4'} 2560 | dev: true 2561 | 2562 | /is-number-object/1.0.5: 2563 | resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} 2564 | engines: {node: '>= 0.4'} 2565 | dev: true 2566 | 2567 | /is-number/7.0.0: 2568 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2569 | engines: {node: '>=0.12.0'} 2570 | dev: true 2571 | 2572 | /is-regex/1.1.4: 2573 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2574 | engines: {node: '>= 0.4'} 2575 | dependencies: 2576 | call-bind: 1.0.2 2577 | has-tostringtag: 1.0.0 2578 | dev: true 2579 | 2580 | /is-shared-array-buffer/1.0.2: 2581 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2582 | dependencies: 2583 | call-bind: 1.0.2 2584 | dev: true 2585 | 2586 | /is-string/1.0.7: 2587 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2588 | engines: {node: '>= 0.4'} 2589 | dependencies: 2590 | has-tostringtag: 1.0.0 2591 | dev: true 2592 | 2593 | /is-symbol/1.0.4: 2594 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2595 | engines: {node: '>= 0.4'} 2596 | dependencies: 2597 | has-symbols: 1.0.3 2598 | dev: true 2599 | 2600 | /is-weakref/1.0.2: 2601 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2602 | dependencies: 2603 | call-bind: 1.0.2 2604 | dev: true 2605 | 2606 | /is-what/3.14.1: 2607 | resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} 2608 | dev: false 2609 | 2610 | /isexe/2.0.0: 2611 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 2612 | dev: true 2613 | 2614 | /js-tokens/4.0.0: 2615 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2616 | 2617 | /js-yaml/4.1.0: 2618 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2619 | hasBin: true 2620 | dependencies: 2621 | argparse: 2.0.1 2622 | dev: true 2623 | 2624 | /jsesc/2.5.2: 2625 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2626 | engines: {node: '>=4'} 2627 | hasBin: true 2628 | dev: true 2629 | 2630 | /json-schema-traverse/0.4.1: 2631 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2632 | dev: true 2633 | 2634 | /json-stable-stringify-without-jsonify/1.0.1: 2635 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} 2636 | dev: true 2637 | 2638 | /json2mq/0.2.0: 2639 | resolution: {integrity: sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=} 2640 | dependencies: 2641 | string-convert: 0.2.1 2642 | dev: false 2643 | 2644 | /json5/1.0.1: 2645 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2646 | hasBin: true 2647 | dependencies: 2648 | minimist: 1.2.6 2649 | dev: true 2650 | 2651 | /json5/2.2.0: 2652 | resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} 2653 | engines: {node: '>=6'} 2654 | hasBin: true 2655 | dependencies: 2656 | minimist: 1.2.5 2657 | dev: true 2658 | 2659 | /jsonfile/6.1.0: 2660 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2661 | dependencies: 2662 | universalify: 2.0.0 2663 | optionalDependencies: 2664 | graceful-fs: 4.2.8 2665 | dev: false 2666 | 2667 | /kleur/3.0.3: 2668 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 2669 | engines: {node: '>=6'} 2670 | dev: true 2671 | 2672 | /less/4.1.1: 2673 | resolution: {integrity: sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==} 2674 | engines: {node: '>=6'} 2675 | hasBin: true 2676 | dependencies: 2677 | copy-anything: 2.0.3 2678 | parse-node-version: 1.0.1 2679 | tslib: 1.14.1 2680 | optionalDependencies: 2681 | errno: 0.1.8 2682 | graceful-fs: 4.2.8 2683 | image-size: 0.5.5 2684 | make-dir: 2.1.0 2685 | mime: 1.6.0 2686 | needle: 2.8.0 2687 | source-map: 0.6.1 2688 | dev: false 2689 | 2690 | /levn/0.4.1: 2691 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2692 | engines: {node: '>= 0.8.0'} 2693 | dependencies: 2694 | prelude-ls: 1.2.1 2695 | type-check: 0.4.0 2696 | dev: true 2697 | 2698 | /loader-utils/1.4.0: 2699 | resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} 2700 | engines: {node: '>=4.0.0'} 2701 | dependencies: 2702 | big.js: 5.2.2 2703 | emojis-list: 3.0.0 2704 | json5: 1.0.1 2705 | dev: true 2706 | 2707 | /local-pkg/0.4.2: 2708 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} 2709 | engines: {node: '>=14'} 2710 | dev: true 2711 | 2712 | /locate-path/2.0.0: 2713 | resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} 2714 | engines: {node: '>=4'} 2715 | dependencies: 2716 | p-locate: 2.0.0 2717 | path-exists: 3.0.0 2718 | dev: true 2719 | 2720 | /lodash.camelcase/4.3.0: 2721 | resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=} 2722 | dev: true 2723 | 2724 | /lodash.merge/4.6.2: 2725 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2726 | dev: true 2727 | 2728 | /lodash/4.17.21: 2729 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2730 | dev: false 2731 | 2732 | /loose-envify/1.4.0: 2733 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2734 | hasBin: true 2735 | dependencies: 2736 | js-tokens: 4.0.0 2737 | dev: false 2738 | 2739 | /loupe/2.3.4: 2740 | resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} 2741 | dependencies: 2742 | get-func-name: 2.0.0 2743 | dev: true 2744 | 2745 | /lower-case/2.0.2: 2746 | resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} 2747 | dependencies: 2748 | tslib: 2.3.1 2749 | dev: true 2750 | 2751 | /lru-cache/5.1.1: 2752 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 2753 | dependencies: 2754 | yallist: 3.1.1 2755 | dev: true 2756 | 2757 | /lru-cache/6.0.0: 2758 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2759 | engines: {node: '>=10'} 2760 | dependencies: 2761 | yallist: 4.0.0 2762 | dev: true 2763 | 2764 | /magic-string/0.25.7: 2765 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} 2766 | dependencies: 2767 | sourcemap-codec: 1.4.8 2768 | 2769 | /make-dir/2.1.0: 2770 | resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} 2771 | engines: {node: '>=6'} 2772 | dependencies: 2773 | pify: 4.0.1 2774 | semver: 5.7.1 2775 | dev: false 2776 | optional: true 2777 | 2778 | /merge-source-map/1.1.0: 2779 | resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} 2780 | dependencies: 2781 | source-map: 0.6.1 2782 | dev: true 2783 | 2784 | /merge2/1.4.1: 2785 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2786 | engines: {node: '>= 8'} 2787 | dev: true 2788 | 2789 | /micromatch/4.0.4: 2790 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 2791 | engines: {node: '>=8.6'} 2792 | dependencies: 2793 | braces: 3.0.2 2794 | picomatch: 2.3.0 2795 | dev: true 2796 | 2797 | /mime/1.6.0: 2798 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 2799 | engines: {node: '>=4'} 2800 | hasBin: true 2801 | dev: false 2802 | optional: true 2803 | 2804 | /minimatch/3.0.4: 2805 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} 2806 | dependencies: 2807 | brace-expansion: 1.1.11 2808 | dev: true 2809 | 2810 | /minimatch/3.1.2: 2811 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2812 | dependencies: 2813 | brace-expansion: 1.1.11 2814 | dev: true 2815 | 2816 | /minimist/1.2.5: 2817 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} 2818 | dev: true 2819 | 2820 | /minimist/1.2.6: 2821 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2822 | dev: true 2823 | 2824 | /mitt/2.1.0: 2825 | resolution: {integrity: sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg==} 2826 | dev: false 2827 | 2828 | /moment/2.29.1: 2829 | resolution: {integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==} 2830 | dev: false 2831 | 2832 | /ms/2.0.0: 2833 | resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} 2834 | dev: true 2835 | 2836 | /ms/2.1.2: 2837 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2838 | dev: true 2839 | 2840 | /ms/2.1.3: 2841 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2842 | 2843 | /nanoid/3.1.23: 2844 | resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==} 2845 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2846 | hasBin: true 2847 | dev: true 2848 | 2849 | /nanoid/3.1.30: 2850 | resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} 2851 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2852 | hasBin: true 2853 | 2854 | /nanoid/3.3.4: 2855 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2856 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2857 | hasBin: true 2858 | dev: true 2859 | 2860 | /natural-compare/1.4.0: 2861 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 2862 | dev: true 2863 | 2864 | /needle/2.8.0: 2865 | resolution: {integrity: sha512-ZTq6WYkN/3782H1393me3utVYdq2XyqNUFBsprEE3VMAT0+hP/cItpnITpqsY6ep2yeFE4Tqtqwc74VqUlUYtw==} 2866 | engines: {node: '>= 4.4.x'} 2867 | hasBin: true 2868 | dependencies: 2869 | debug: 3.2.7 2870 | iconv-lite: 0.4.24 2871 | sax: 1.2.4 2872 | dev: false 2873 | optional: true 2874 | 2875 | /no-case/3.0.4: 2876 | resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} 2877 | dependencies: 2878 | lower-case: 2.0.2 2879 | tslib: 2.3.1 2880 | dev: true 2881 | 2882 | /node-releases/1.1.73: 2883 | resolution: {integrity: sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==} 2884 | dev: true 2885 | 2886 | /normalize-path/3.0.0: 2887 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2888 | engines: {node: '>=0.10.0'} 2889 | dev: true 2890 | 2891 | /normalize-wheel/1.0.1: 2892 | resolution: {integrity: sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=} 2893 | dev: false 2894 | 2895 | /object-assign/4.1.1: 2896 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=} 2897 | engines: {node: '>=0.10.0'} 2898 | dev: false 2899 | 2900 | /object-inspect/1.12.0: 2901 | resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} 2902 | dev: true 2903 | 2904 | /object-keys/1.1.1: 2905 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2906 | engines: {node: '>= 0.4'} 2907 | dev: true 2908 | 2909 | /object.assign/4.1.2: 2910 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2911 | engines: {node: '>= 0.4'} 2912 | dependencies: 2913 | call-bind: 1.0.2 2914 | define-properties: 1.1.4 2915 | has-symbols: 1.0.3 2916 | object-keys: 1.1.1 2917 | dev: true 2918 | 2919 | /object.values/1.1.5: 2920 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2921 | engines: {node: '>= 0.4'} 2922 | dependencies: 2923 | call-bind: 1.0.2 2924 | define-properties: 1.1.3 2925 | es-abstract: 1.19.5 2926 | dev: true 2927 | 2928 | /once/1.4.0: 2929 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 2930 | dependencies: 2931 | wrappy: 1.0.2 2932 | dev: true 2933 | 2934 | /optionator/0.9.1: 2935 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2936 | engines: {node: '>= 0.8.0'} 2937 | dependencies: 2938 | deep-is: 0.1.3 2939 | fast-levenshtein: 2.0.6 2940 | levn: 0.4.1 2941 | prelude-ls: 1.2.1 2942 | type-check: 0.4.0 2943 | word-wrap: 1.2.3 2944 | dev: true 2945 | 2946 | /p-limit/1.3.0: 2947 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2948 | engines: {node: '>=4'} 2949 | dependencies: 2950 | p-try: 1.0.0 2951 | dev: true 2952 | 2953 | /p-locate/2.0.0: 2954 | resolution: {integrity: sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=} 2955 | engines: {node: '>=4'} 2956 | dependencies: 2957 | p-limit: 1.3.0 2958 | dev: true 2959 | 2960 | /p-try/1.0.0: 2961 | resolution: {integrity: sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=} 2962 | engines: {node: '>=4'} 2963 | dev: true 2964 | 2965 | /param-case/3.0.4: 2966 | resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} 2967 | dependencies: 2968 | dot-case: 3.0.4 2969 | tslib: 2.3.1 2970 | dev: true 2971 | 2972 | /parent-module/1.0.1: 2973 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2974 | engines: {node: '>=6'} 2975 | dependencies: 2976 | callsites: 3.1.0 2977 | dev: true 2978 | 2979 | /parse-node-version/1.0.1: 2980 | resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} 2981 | engines: {node: '>= 0.10'} 2982 | dev: false 2983 | 2984 | /pascal-case/3.1.2: 2985 | resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} 2986 | dependencies: 2987 | no-case: 3.0.4 2988 | tslib: 2.3.1 2989 | dev: true 2990 | 2991 | /path-case/3.0.4: 2992 | resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} 2993 | dependencies: 2994 | dot-case: 3.0.4 2995 | tslib: 2.3.1 2996 | dev: true 2997 | 2998 | /path-exists/3.0.0: 2999 | resolution: {integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=} 3000 | engines: {node: '>=4'} 3001 | dev: true 3002 | 3003 | /path-is-absolute/1.0.1: 3004 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 3005 | engines: {node: '>=0.10.0'} 3006 | dev: true 3007 | 3008 | /path-key/3.1.1: 3009 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3010 | engines: {node: '>=8'} 3011 | dev: true 3012 | 3013 | /path-parse/1.0.7: 3014 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 3015 | dev: true 3016 | 3017 | /path-type/4.0.0: 3018 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 3019 | engines: {node: '>=8'} 3020 | dev: true 3021 | 3022 | /pathval/1.1.1: 3023 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 3024 | dev: true 3025 | 3026 | /picocolors/1.0.0: 3027 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 3028 | 3029 | /picomatch/2.3.0: 3030 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} 3031 | engines: {node: '>=8.6'} 3032 | dev: true 3033 | 3034 | /pify/4.0.1: 3035 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 3036 | engines: {node: '>=6'} 3037 | dev: false 3038 | optional: true 3039 | 3040 | /postcss-modules-extract-imports/3.0.0_postcss@8.3.3: 3041 | resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} 3042 | engines: {node: ^10 || ^12 || >= 14} 3043 | peerDependencies: 3044 | postcss: ^8.1.0 3045 | dependencies: 3046 | postcss: 8.3.3 3047 | dev: true 3048 | 3049 | /postcss-modules-local-by-default/4.0.0_postcss@8.3.3: 3050 | resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} 3051 | engines: {node: ^10 || ^12 || >= 14} 3052 | peerDependencies: 3053 | postcss: ^8.1.0 3054 | dependencies: 3055 | icss-utils: 5.1.0_postcss@8.3.3 3056 | postcss: 8.3.3 3057 | postcss-selector-parser: 6.0.6 3058 | postcss-value-parser: 4.1.0 3059 | dev: true 3060 | 3061 | /postcss-modules-scope/3.0.0_postcss@8.3.3: 3062 | resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} 3063 | engines: {node: ^10 || ^12 || >= 14} 3064 | peerDependencies: 3065 | postcss: ^8.1.0 3066 | dependencies: 3067 | postcss: 8.3.3 3068 | postcss-selector-parser: 6.0.6 3069 | dev: true 3070 | 3071 | /postcss-modules-values/4.0.0_postcss@8.3.3: 3072 | resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} 3073 | engines: {node: ^10 || ^12 || >= 14} 3074 | peerDependencies: 3075 | postcss: ^8.1.0 3076 | dependencies: 3077 | icss-utils: 5.1.0_postcss@8.3.3 3078 | postcss: 8.3.3 3079 | dev: true 3080 | 3081 | /postcss-modules/4.1.3_postcss@8.3.3: 3082 | resolution: {integrity: sha512-dBT39hrXe4OAVYJe/2ZuIZ9BzYhOe7t+IhedYeQ2OxKwDpAGlkEN/fR0fGnrbx4BvgbMReRX4hCubYK9cE/pJQ==} 3083 | peerDependencies: 3084 | postcss: ^8.0.0 3085 | dependencies: 3086 | generic-names: 2.0.1 3087 | icss-replace-symbols: 1.1.0 3088 | lodash.camelcase: 4.3.0 3089 | postcss: 8.3.3 3090 | postcss-modules-extract-imports: 3.0.0_postcss@8.3.3 3091 | postcss-modules-local-by-default: 4.0.0_postcss@8.3.3 3092 | postcss-modules-scope: 3.0.0_postcss@8.3.3 3093 | postcss-modules-values: 4.0.0_postcss@8.3.3 3094 | string-hash: 1.1.3 3095 | dev: true 3096 | 3097 | /postcss-selector-parser/6.0.6: 3098 | resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} 3099 | engines: {node: '>=4'} 3100 | dependencies: 3101 | cssesc: 3.0.0 3102 | util-deprecate: 1.0.2 3103 | dev: true 3104 | 3105 | /postcss-value-parser/4.1.0: 3106 | resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} 3107 | dev: true 3108 | 3109 | /postcss/8.3.3: 3110 | resolution: {integrity: sha512-gnXd9C4bGKevvlNFd80I8WfxHX+g6MR+W2h19PlDNHUuT9248rHTvCIDeZI3Hvs5mB3gzXiNDwVK3S153WJbZA==} 3111 | engines: {node: ^10 || ^12 || >=14} 3112 | dependencies: 3113 | colorette: 1.2.2 3114 | nanoid: 3.1.23 3115 | source-map-js: 0.6.2 3116 | dev: true 3117 | 3118 | /postcss/8.4.16: 3119 | resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} 3120 | engines: {node: ^10 || ^12 || >=14} 3121 | dependencies: 3122 | nanoid: 3.3.4 3123 | picocolors: 1.0.0 3124 | source-map-js: 1.0.2 3125 | dev: true 3126 | 3127 | /postcss/8.4.4: 3128 | resolution: {integrity: sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==} 3129 | engines: {node: ^10 || ^12 || >=14} 3130 | dependencies: 3131 | nanoid: 3.1.30 3132 | picocolors: 1.0.0 3133 | source-map-js: 1.0.1 3134 | 3135 | /prelude-ls/1.2.1: 3136 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 3137 | engines: {node: '>= 0.8.0'} 3138 | dev: true 3139 | 3140 | /prompts/2.4.1: 3141 | resolution: {integrity: sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==} 3142 | engines: {node: '>= 6'} 3143 | dependencies: 3144 | kleur: 3.0.3 3145 | sisteransi: 1.0.5 3146 | dev: true 3147 | 3148 | /prr/1.0.1: 3149 | resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=} 3150 | dev: false 3151 | optional: true 3152 | 3153 | /punycode/2.1.1: 3154 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 3155 | engines: {node: '>=6'} 3156 | dev: true 3157 | 3158 | /queue-microtask/1.2.3: 3159 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3160 | dev: true 3161 | 3162 | /rc-align/4.0.11_react-dom@17.0.2+react@17.0.2: 3163 | resolution: {integrity: sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==} 3164 | peerDependencies: 3165 | react: '>=16.9.0' 3166 | react-dom: '>=16.9.0' 3167 | dependencies: 3168 | '@babel/runtime': 7.15.3 3169 | classnames: 2.3.1 3170 | dom-align: 1.12.2 3171 | lodash: 4.17.21 3172 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3173 | react: 17.0.2 3174 | react-dom: 17.0.2_react@17.0.2 3175 | resize-observer-polyfill: 1.5.1 3176 | dev: false 3177 | 3178 | /rc-cascader/1.4.3_react-dom@17.0.2+react@17.0.2: 3179 | resolution: {integrity: sha512-Q4l9Mv8aaISJ+giVnM9IaXxDeMqHUGLvi4F+LksS6pHlaKlN4awop/L+IMjIXpL+ug/ojaCyv/ixcVopJYYCVA==} 3180 | peerDependencies: 3181 | react: '>=16.9.0' 3182 | react-dom: '>=16.9.0' 3183 | dependencies: 3184 | '@babel/runtime': 7.15.3 3185 | array-tree-filter: 2.1.0 3186 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3187 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3188 | react: 17.0.2 3189 | react-dom: 17.0.2_react@17.0.2 3190 | warning: 4.0.3 3191 | dev: false 3192 | 3193 | /rc-checkbox/2.3.2_react-dom@17.0.2+react@17.0.2: 3194 | resolution: {integrity: sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==} 3195 | peerDependencies: 3196 | react: '>=16.9.0' 3197 | react-dom: '>=16.9.0' 3198 | dependencies: 3199 | '@babel/runtime': 7.15.3 3200 | classnames: 2.3.1 3201 | react: 17.0.2 3202 | react-dom: 17.0.2_react@17.0.2 3203 | dev: false 3204 | 3205 | /rc-collapse/3.1.1_react-dom@17.0.2+react@17.0.2: 3206 | resolution: {integrity: sha512-/oetKApTHzGGeR8Q8vD168EXkCs2MpEIrURGyy2D+LrrJd29LY/huuIMvOiJoSV6W3bcGhJqIdgHtg1Dxn1smA==} 3207 | peerDependencies: 3208 | react: '>=16.9.0' 3209 | react-dom: '>=16.9.0' 3210 | dependencies: 3211 | '@babel/runtime': 7.15.3 3212 | classnames: 2.3.1 3213 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3214 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3215 | react: 17.0.2 3216 | react-dom: 17.0.2_react@17.0.2 3217 | shallowequal: 1.1.0 3218 | dev: false 3219 | 3220 | /rc-dialog/8.6.0_react-dom@17.0.2+react@17.0.2: 3221 | resolution: {integrity: sha512-GSbkfqjqxpZC5/zc+8H332+q5l/DKUhpQr0vdX2uDsxo5K0PhvaMEVjyoJUTkZ3+JstEADQji1PVLVb/2bJeOQ==} 3222 | peerDependencies: 3223 | react: '>=16.9.0' 3224 | react-dom: '>=16.9.0' 3225 | dependencies: 3226 | '@babel/runtime': 7.15.3 3227 | classnames: 2.3.1 3228 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3229 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3230 | react: 17.0.2 3231 | react-dom: 17.0.2_react@17.0.2 3232 | dev: false 3233 | 3234 | /rc-drawer/4.3.1_react-dom@17.0.2+react@17.0.2: 3235 | resolution: {integrity: sha512-GMfFy4maqxS9faYXEhQ+0cA1xtkddEQzraf6SAdzWbn444DrrLogwYPk1NXSpdXjLCLxgxOj9MYtyYG42JsfXg==} 3236 | peerDependencies: 3237 | react: '>=16.9.0' 3238 | react-dom: '>=16.9.0' 3239 | dependencies: 3240 | '@babel/runtime': 7.15.3 3241 | classnames: 2.3.1 3242 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3243 | react: 17.0.2 3244 | react-dom: 17.0.2_react@17.0.2 3245 | dev: false 3246 | 3247 | /rc-dropdown/3.2.0_react-dom@17.0.2+react@17.0.2: 3248 | resolution: {integrity: sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw==} 3249 | peerDependencies: 3250 | react: '*' 3251 | react-dom: '*' 3252 | dependencies: 3253 | '@babel/runtime': 7.15.3 3254 | classnames: 2.3.1 3255 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3256 | react: 17.0.2 3257 | react-dom: 17.0.2_react@17.0.2 3258 | dev: false 3259 | 3260 | /rc-field-form/1.20.1_react-dom@17.0.2+react@17.0.2: 3261 | resolution: {integrity: sha512-f64KEZop7zSlrG4ef/PLlH12SLn6iHDQ3sTG+RfKBM45hikwV1i8qMf53xoX12NvXXWg1VwchggX/FSso4bWaA==} 3262 | engines: {node: '>=8.x'} 3263 | peerDependencies: 3264 | react: '>= 16.9.0' 3265 | react-dom: '>= 16.9.0' 3266 | dependencies: 3267 | '@babel/runtime': 7.15.3 3268 | async-validator: 3.5.2 3269 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3270 | react: 17.0.2 3271 | react-dom: 17.0.2_react@17.0.2 3272 | dev: false 3273 | 3274 | /rc-image/5.2.5_react-dom@17.0.2+react@17.0.2: 3275 | resolution: {integrity: sha512-qUfZjYIODxO0c8a8P5GeuclYXZjzW4hV/5hyo27XqSFo1DmTCs2HkVeQObkcIk5kNsJtgsj1KoPThVsSc/PXOw==} 3276 | peerDependencies: 3277 | react: '>=16.9.0' 3278 | react-dom: '>=16.9.0' 3279 | dependencies: 3280 | '@babel/runtime': 7.15.3 3281 | classnames: 2.3.1 3282 | rc-dialog: 8.6.0_react-dom@17.0.2+react@17.0.2 3283 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3284 | react: 17.0.2 3285 | react-dom: 17.0.2_react@17.0.2 3286 | dev: false 3287 | 3288 | /rc-input-number/7.1.4_react-dom@17.0.2+react@17.0.2: 3289 | resolution: {integrity: sha512-EG4iqkqyqzLRu/Dq+fw2od7nlgvXLEatE+J6uhi3HXE1qlM3C7L6a7o/hL9Ly9nimkES2IeQoj3Qda3I0izj3Q==} 3290 | peerDependencies: 3291 | react: '>=16.9.0' 3292 | react-dom: '>=16.9.0' 3293 | dependencies: 3294 | '@babel/runtime': 7.15.3 3295 | classnames: 2.3.1 3296 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3297 | react: 17.0.2 3298 | react-dom: 17.0.2_react@17.0.2 3299 | dev: false 3300 | 3301 | /rc-mentions/1.6.1_react-dom@17.0.2+react@17.0.2: 3302 | resolution: {integrity: sha512-LDzGI8jJVGnkhpTZxZuYBhMz3avcZZqPGejikchh97xPni/g4ht714Flh7DVvuzHQ+BoKHhIjobHnw1rcP8erg==} 3303 | peerDependencies: 3304 | react: '>=16.9.0' 3305 | react-dom: '>=16.9.0' 3306 | dependencies: 3307 | '@babel/runtime': 7.15.3 3308 | classnames: 2.3.1 3309 | rc-menu: 9.0.12_react-dom@17.0.2+react@17.0.2 3310 | rc-textarea: 0.3.4_react-dom@17.0.2+react@17.0.2 3311 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3312 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3313 | react: 17.0.2 3314 | react-dom: 17.0.2_react@17.0.2 3315 | dev: false 3316 | 3317 | /rc-menu/9.0.12_react-dom@17.0.2+react@17.0.2: 3318 | resolution: {integrity: sha512-8uy47DL36iDEwVZdUO/fjhhW5+4j0tYlrCsOzw6iy8MJqKL7/HC2pj7sL/S9ayp2+hk9fYQYB9Tu+UN+N2OOOQ==} 3319 | peerDependencies: 3320 | react: '>=16.9.0' 3321 | react-dom: '>=16.9.0' 3322 | dependencies: 3323 | '@babel/runtime': 7.15.3 3324 | classnames: 2.3.1 3325 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3326 | rc-overflow: 1.2.2_react-dom@17.0.2+react@17.0.2 3327 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3328 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3329 | react: 17.0.2 3330 | react-dom: 17.0.2_react@17.0.2 3331 | shallowequal: 1.1.0 3332 | dev: false 3333 | 3334 | /rc-motion/2.4.4_react-dom@17.0.2+react@17.0.2: 3335 | resolution: {integrity: sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ==} 3336 | peerDependencies: 3337 | react: '>=16.9.0' 3338 | react-dom: '>=16.9.0' 3339 | dependencies: 3340 | '@babel/runtime': 7.15.3 3341 | classnames: 2.3.1 3342 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3343 | react: 17.0.2 3344 | react-dom: 17.0.2_react@17.0.2 3345 | dev: false 3346 | 3347 | /rc-notification/4.5.7_react-dom@17.0.2+react@17.0.2: 3348 | resolution: {integrity: sha512-zhTGUjBIItbx96SiRu3KVURcLOydLUHZCPpYEn1zvh+re//Tnq/wSxN4FKgp38n4HOgHSVxcLEeSxBMTeBBDdw==} 3349 | engines: {node: '>=8.x'} 3350 | peerDependencies: 3351 | react: '>=16.9.0' 3352 | react-dom: '>=16.9.0' 3353 | dependencies: 3354 | '@babel/runtime': 7.15.3 3355 | classnames: 2.3.1 3356 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3357 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3358 | react: 17.0.2 3359 | react-dom: 17.0.2_react@17.0.2 3360 | dev: false 3361 | 3362 | /rc-overflow/1.2.2_react-dom@17.0.2+react@17.0.2: 3363 | resolution: {integrity: sha512-X5kj9LDU1ue5wHkqvCprJWLKC+ZLs3p4He/oxjZ1Q4NKaqKBaYf5OdSzRSgh3WH8kSdrfU8LjvlbWnHgJOEkNQ==} 3364 | peerDependencies: 3365 | react: '>=16.9.0' 3366 | react-dom: '>=16.9.0' 3367 | dependencies: 3368 | '@babel/runtime': 7.15.3 3369 | classnames: 2.3.1 3370 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 3371 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3372 | react: 17.0.2 3373 | react-dom: 17.0.2_react@17.0.2 3374 | dev: false 3375 | 3376 | /rc-pagination/3.1.9_react-dom@17.0.2+react@17.0.2: 3377 | resolution: {integrity: sha512-IKBKaJ4icVPeEk9qRHrFBJmHxBUrCp3+nENBYob4Ofqsu3RXjBOy4N36zONO7oubgLyiG3PxVmyAuVlTkoc7Jg==} 3378 | peerDependencies: 3379 | react: '>=16.9.0' 3380 | react-dom: '>=16.9.0' 3381 | dependencies: 3382 | '@babel/runtime': 7.15.3 3383 | classnames: 2.3.1 3384 | react: 17.0.2 3385 | react-dom: 17.0.2_react@17.0.2 3386 | dev: false 3387 | 3388 | /rc-picker/2.5.15_react-dom@17.0.2+react@17.0.2: 3389 | resolution: {integrity: sha512-txKEj20LJuxKFlRKT727Qju7Xsek0WnB6xDaCrmSCiuEBGO5DlG57Wy8zhKgQgMY3+afVrQAzyg13mYonGuXyg==} 3390 | engines: {node: '>=8.x'} 3391 | peerDependencies: 3392 | react: '>=16.9.0' 3393 | react-dom: '>=16.9.0' 3394 | dependencies: 3395 | '@babel/runtime': 7.15.3 3396 | classnames: 2.3.1 3397 | date-fns: 2.23.0 3398 | dayjs: 1.10.6 3399 | moment: 2.29.1 3400 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3401 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3402 | react: 17.0.2 3403 | react-dom: 17.0.2_react@17.0.2 3404 | shallowequal: 1.1.0 3405 | dev: false 3406 | 3407 | /rc-progress/3.1.4_react-dom@17.0.2+react@17.0.2: 3408 | resolution: {integrity: sha512-XBAif08eunHssGeIdxMXOmRQRULdHaDdIFENQ578CMb4dyewahmmfJRyab+hw4KH4XssEzzYOkAInTLS7JJG+Q==} 3409 | peerDependencies: 3410 | react: '>=16.9.0' 3411 | react-dom: '>=16.9.0' 3412 | dependencies: 3413 | '@babel/runtime': 7.15.3 3414 | classnames: 2.3.1 3415 | react: 17.0.2 3416 | react-dom: 17.0.2_react@17.0.2 3417 | dev: false 3418 | 3419 | /rc-rate/2.9.1_react-dom@17.0.2+react@17.0.2: 3420 | resolution: {integrity: sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA==} 3421 | engines: {node: '>=8.x'} 3422 | peerDependencies: 3423 | react: '>=16.9.0' 3424 | react-dom: '>=16.9.0' 3425 | dependencies: 3426 | '@babel/runtime': 7.15.3 3427 | classnames: 2.3.1 3428 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3429 | react: 17.0.2 3430 | react-dom: 17.0.2_react@17.0.2 3431 | dev: false 3432 | 3433 | /rc-resize-observer/1.0.0_react-dom@17.0.2+react@17.0.2: 3434 | resolution: {integrity: sha512-RgKGukg1mlzyGdvzF7o/LGFC8AeoMH9aGzXTUdp6m+OApvmRdUuOscq/Y2O45cJA+rXt1ApWlpFoOIioXL3AGg==} 3435 | peerDependencies: 3436 | react: '>=16.9.0' 3437 | react-dom: '>=16.9.0' 3438 | dependencies: 3439 | '@babel/runtime': 7.15.3 3440 | classnames: 2.3.1 3441 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3442 | react: 17.0.2 3443 | react-dom: 17.0.2_react@17.0.2 3444 | resize-observer-polyfill: 1.5.1 3445 | dev: false 3446 | 3447 | /rc-select/12.1.13_react-dom@17.0.2+react@17.0.2: 3448 | resolution: {integrity: sha512-cPI+aesP6dgCAaey4t4upDbEukJe+XN0DK6oO/6flcCX5o28o7KNZD7JAiVtC/6fCwqwI/kSs7S/43dvHmBl+A==} 3449 | engines: {node: '>=8.x'} 3450 | peerDependencies: 3451 | react: '*' 3452 | react-dom: '*' 3453 | dependencies: 3454 | '@babel/runtime': 7.15.3 3455 | classnames: 2.3.1 3456 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3457 | rc-overflow: 1.2.2_react-dom@17.0.2+react@17.0.2 3458 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3459 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3460 | rc-virtual-list: 3.3.0_react-dom@17.0.2+react@17.0.2 3461 | react: 17.0.2 3462 | react-dom: 17.0.2_react@17.0.2 3463 | dev: false 3464 | 3465 | /rc-slider/9.7.2_react-dom@17.0.2+react@17.0.2: 3466 | resolution: {integrity: sha512-mVaLRpDo6otasBs6yVnG02ykI3K6hIrLTNfT5eyaqduFv95UODI9PDS6fWuVVehVpdS4ENgOSwsTjrPVun+k9g==} 3467 | engines: {node: '>=8.x'} 3468 | peerDependencies: 3469 | react: '>=16.9.0' 3470 | react-dom: '>=16.9.0' 3471 | dependencies: 3472 | '@babel/runtime': 7.15.3 3473 | classnames: 2.3.1 3474 | rc-tooltip: 5.1.1_react-dom@17.0.2+react@17.0.2 3475 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3476 | react: 17.0.2 3477 | react-dom: 17.0.2_react@17.0.2 3478 | shallowequal: 1.1.0 3479 | dev: false 3480 | 3481 | /rc-steps/4.1.3_react-dom@17.0.2+react@17.0.2: 3482 | resolution: {integrity: sha512-GXrMfWQOhN3sVze3JnzNboHpQdNHcdFubOETUHyDpa/U3HEKBZC3xJ8XK4paBgF4OJ3bdUVLC+uBPc6dCxvDYA==} 3483 | engines: {node: '>=8.x'} 3484 | peerDependencies: 3485 | react: '>=16.9.0' 3486 | react-dom: '>=16.9.0' 3487 | dependencies: 3488 | '@babel/runtime': 7.15.3 3489 | classnames: 2.3.1 3490 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3491 | react: 17.0.2 3492 | react-dom: 17.0.2_react@17.0.2 3493 | dev: false 3494 | 3495 | /rc-switch/3.2.2_react-dom@17.0.2+react@17.0.2: 3496 | resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==} 3497 | peerDependencies: 3498 | react: '>=16.9.0' 3499 | react-dom: '>=16.9.0' 3500 | dependencies: 3501 | '@babel/runtime': 7.15.3 3502 | classnames: 2.3.1 3503 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3504 | react: 17.0.2 3505 | react-dom: 17.0.2_react@17.0.2 3506 | dev: false 3507 | 3508 | /rc-table/7.15.2_react-dom@17.0.2+react@17.0.2: 3509 | resolution: {integrity: sha512-TAs7kCpIZwc2mtvD8CMrXSM6TqJDUsy0rUEV1YgRru33T8bjtAtc+9xW/KC1VWROJlHSpU0R0kXjFs9h/6+IzQ==} 3510 | engines: {node: '>=8.x'} 3511 | peerDependencies: 3512 | react: '>=16.9.0' 3513 | react-dom: '>=16.9.0' 3514 | dependencies: 3515 | '@babel/runtime': 7.15.3 3516 | classnames: 2.3.1 3517 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 3518 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3519 | react: 17.0.2 3520 | react-dom: 17.0.2_react@17.0.2 3521 | shallowequal: 1.1.0 3522 | dev: false 3523 | 3524 | /rc-tabs/11.10.1_react-dom@17.0.2+react@17.0.2: 3525 | resolution: {integrity: sha512-ey1i2uMyfnRNYbViLcUYGH+Y7hueJbdCVSLaXnXki9hxBcGqxJMPy9t5xR0n/3QFQspj7Tf6+2VTXVtmO7Yaug==} 3526 | engines: {node: '>=8.x'} 3527 | peerDependencies: 3528 | react: '>=16.9.0' 3529 | react-dom: '>=16.9.0' 3530 | dependencies: 3531 | '@babel/runtime': 7.15.3 3532 | classnames: 2.3.1 3533 | rc-dropdown: 3.2.0_react-dom@17.0.2+react@17.0.2 3534 | rc-menu: 9.0.12_react-dom@17.0.2+react@17.0.2 3535 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 3536 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3537 | react: 17.0.2 3538 | react-dom: 17.0.2_react@17.0.2 3539 | dev: false 3540 | 3541 | /rc-textarea/0.3.4_react-dom@17.0.2+react@17.0.2: 3542 | resolution: {integrity: sha512-ILUYx831ZukQPv3m7R4RGRtVVWmL1LV4ME03L22mvT56US0DGCJJaRTHs4vmpcSjFHItph5OTmhodY4BOwy81A==} 3543 | peerDependencies: 3544 | react: '>=16.9.0' 3545 | react-dom: '>=16.9.0' 3546 | dependencies: 3547 | '@babel/runtime': 7.15.3 3548 | classnames: 2.3.1 3549 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 3550 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3551 | react: 17.0.2 3552 | react-dom: 17.0.2_react@17.0.2 3553 | dev: false 3554 | 3555 | /rc-tooltip/5.1.1_react-dom@17.0.2+react@17.0.2: 3556 | resolution: {integrity: sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==} 3557 | peerDependencies: 3558 | react: '>=16.9.0' 3559 | react-dom: '>=16.9.0' 3560 | dependencies: 3561 | '@babel/runtime': 7.15.3 3562 | rc-trigger: 5.2.10_react-dom@17.0.2+react@17.0.2 3563 | react: 17.0.2 3564 | react-dom: 17.0.2_react@17.0.2 3565 | dev: false 3566 | 3567 | /rc-tree-select/4.3.3_react-dom@17.0.2+react@17.0.2: 3568 | resolution: {integrity: sha512-0tilOHLJA6p+TNg4kD559XnDX3PTEYuoSF7m7ryzFLAYvdEEPtjn0QZc5z6L0sMKBiBlj8a2kf0auw8XyHU3lA==} 3569 | peerDependencies: 3570 | react: '*' 3571 | react-dom: '*' 3572 | dependencies: 3573 | '@babel/runtime': 7.15.3 3574 | classnames: 2.3.1 3575 | rc-select: 12.1.13_react-dom@17.0.2+react@17.0.2 3576 | rc-tree: 4.2.2_react-dom@17.0.2+react@17.0.2 3577 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3578 | react: 17.0.2 3579 | react-dom: 17.0.2_react@17.0.2 3580 | dev: false 3581 | 3582 | /rc-tree/4.2.2_react-dom@17.0.2+react@17.0.2: 3583 | resolution: {integrity: sha512-V1hkJt092VrOVjNyfj5IYbZKRMHxWihZarvA5hPL/eqm7o2+0SNkeidFYm7LVVBrAKBpOpa0l8xt04uiqOd+6w==} 3584 | engines: {node: '>=10.x'} 3585 | peerDependencies: 3586 | react: '*' 3587 | react-dom: '*' 3588 | dependencies: 3589 | '@babel/runtime': 7.15.3 3590 | classnames: 2.3.1 3591 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3592 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3593 | rc-virtual-list: 3.3.0_react-dom@17.0.2+react@17.0.2 3594 | react: 17.0.2 3595 | react-dom: 17.0.2_react@17.0.2 3596 | dev: false 3597 | 3598 | /rc-trigger/5.2.10_react-dom@17.0.2+react@17.0.2: 3599 | resolution: {integrity: sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA==} 3600 | engines: {node: '>=8.x'} 3601 | peerDependencies: 3602 | react: '>=16.9.0' 3603 | react-dom: '>=16.9.0' 3604 | dependencies: 3605 | '@babel/runtime': 7.15.3 3606 | classnames: 2.3.1 3607 | rc-align: 4.0.11_react-dom@17.0.2+react@17.0.2 3608 | rc-motion: 2.4.4_react-dom@17.0.2+react@17.0.2 3609 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3610 | react: 17.0.2 3611 | react-dom: 17.0.2_react@17.0.2 3612 | dev: false 3613 | 3614 | /rc-upload/4.3.1_react-dom@17.0.2+react@17.0.2: 3615 | resolution: {integrity: sha512-W8Iyv0LRyEnFEzpv90ET/i1XG2jlPzPxKkkOVtDfgh9c3f4lZV770vgpUfiyQza+iLtQLVco3qIvgue8aDiOsQ==} 3616 | peerDependencies: 3617 | react: '>=16.9.0' 3618 | react-dom: '>=16.9.0' 3619 | dependencies: 3620 | '@babel/runtime': 7.15.3 3621 | classnames: 2.3.1 3622 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3623 | react: 17.0.2 3624 | react-dom: 17.0.2_react@17.0.2 3625 | dev: false 3626 | 3627 | /rc-util/5.13.2_react-dom@17.0.2+react@17.0.2: 3628 | resolution: {integrity: sha512-eYc71XXGlp96RMzg01Mhq/T3BL6OOVTDSS0urFEuvpi+e7slhJRhaHGCKy2hqJm18m9ff7VoRoptplKu60dYog==} 3629 | peerDependencies: 3630 | react: '>=16.9.0' 3631 | react-dom: '>=16.9.0' 3632 | dependencies: 3633 | '@babel/runtime': 7.15.3 3634 | react: 17.0.2 3635 | react-dom: 17.0.2_react@17.0.2 3636 | react-is: 16.13.1 3637 | shallowequal: 1.1.0 3638 | dev: false 3639 | 3640 | /rc-virtual-list/3.3.0_react-dom@17.0.2+react@17.0.2: 3641 | resolution: {integrity: sha512-lVXpGWC6yMdwV2SHo6kc63WlqjCnb3eO72V726KA2/wh9KA6wi/swcdR3zAowuA8hJxG/lRANmY5kpLZ+Pz3iQ==} 3642 | engines: {node: '>=8.x'} 3643 | peerDependencies: 3644 | react: '*' 3645 | react-dom: '*' 3646 | dependencies: 3647 | classnames: 2.3.1 3648 | rc-resize-observer: 1.0.0_react-dom@17.0.2+react@17.0.2 3649 | rc-util: 5.13.2_react-dom@17.0.2+react@17.0.2 3650 | react: 17.0.2 3651 | react-dom: 17.0.2_react@17.0.2 3652 | dev: false 3653 | 3654 | /react-dom/17.0.2_react@17.0.2: 3655 | resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==} 3656 | peerDependencies: 3657 | react: 17.0.2 3658 | dependencies: 3659 | loose-envify: 1.4.0 3660 | object-assign: 4.1.1 3661 | react: 17.0.2 3662 | scheduler: 0.20.2 3663 | dev: false 3664 | 3665 | /react-is/16.13.1: 3666 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 3667 | dev: false 3668 | 3669 | /react-refresh/0.9.0: 3670 | resolution: {integrity: sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==} 3671 | engines: {node: '>=0.10.0'} 3672 | dev: true 3673 | 3674 | /react/17.0.2: 3675 | resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} 3676 | engines: {node: '>=0.10.0'} 3677 | dependencies: 3678 | loose-envify: 1.4.0 3679 | object-assign: 4.1.1 3680 | dev: false 3681 | 3682 | /readdirp/3.6.0: 3683 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 3684 | engines: {node: '>=8.10.0'} 3685 | dependencies: 3686 | picomatch: 2.3.0 3687 | dev: true 3688 | 3689 | /regenerator-runtime/0.13.9: 3690 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 3691 | dev: false 3692 | 3693 | /regexpp/3.2.0: 3694 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 3695 | engines: {node: '>=8'} 3696 | dev: true 3697 | 3698 | /resize-observer-polyfill/1.5.1: 3699 | resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} 3700 | dev: false 3701 | 3702 | /resolve-from/4.0.0: 3703 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3704 | engines: {node: '>=4'} 3705 | dev: true 3706 | 3707 | /resolve/1.20.0: 3708 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} 3709 | dependencies: 3710 | is-core-module: 2.8.0 3711 | path-parse: 1.0.7 3712 | dev: true 3713 | 3714 | /resolve/1.22.0: 3715 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 3716 | hasBin: true 3717 | dependencies: 3718 | is-core-module: 2.9.0 3719 | path-parse: 1.0.7 3720 | supports-preserve-symlinks-flag: 1.0.0 3721 | dev: true 3722 | 3723 | /resolve/1.22.1: 3724 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 3725 | hasBin: true 3726 | dependencies: 3727 | is-core-module: 2.9.0 3728 | path-parse: 1.0.7 3729 | supports-preserve-symlinks-flag: 1.0.0 3730 | dev: true 3731 | 3732 | /reusify/1.0.4: 3733 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3734 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3735 | dev: true 3736 | 3737 | /rimraf/3.0.2: 3738 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3739 | hasBin: true 3740 | dependencies: 3741 | glob: 7.1.7 3742 | dev: true 3743 | 3744 | /rollup/2.51.2: 3745 | resolution: {integrity: sha512-ReV2eGEadA7hmXSzjxdDKs10neqH2QURf2RxJ6ayAlq93ugy6qIvXMmbc5cWMGCDh1h5T4thuWO1e2VNbMq8FA==} 3746 | engines: {node: '>=10.0.0'} 3747 | hasBin: true 3748 | optionalDependencies: 3749 | fsevents: 2.3.2 3750 | dev: true 3751 | 3752 | /rollup/2.61.0: 3753 | resolution: {integrity: sha512-teQ+T1mUYbyvGyUavCodiyA9hD4DxwYZJwr/qehZGhs1Z49vsmzelMVYMxGU4ZhGRKxYPupHuz5yzm/wj7VpWA==} 3754 | engines: {node: '>=10.0.0'} 3755 | hasBin: true 3756 | optionalDependencies: 3757 | fsevents: 2.3.2 3758 | dev: true 3759 | 3760 | /rollup/2.77.3: 3761 | resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} 3762 | engines: {node: '>=10.0.0'} 3763 | hasBin: true 3764 | optionalDependencies: 3765 | fsevents: 2.3.2 3766 | dev: true 3767 | 3768 | /run-parallel/1.2.0: 3769 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3770 | dependencies: 3771 | queue-microtask: 1.2.3 3772 | dev: true 3773 | 3774 | /safe-buffer/5.1.2: 3775 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 3776 | dev: true 3777 | 3778 | /safer-buffer/2.1.2: 3779 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 3780 | dev: false 3781 | optional: true 3782 | 3783 | /sass/1.38.0: 3784 | resolution: {integrity: sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==} 3785 | engines: {node: '>=8.9.0'} 3786 | hasBin: true 3787 | dependencies: 3788 | chokidar: 3.5.2 3789 | dev: true 3790 | 3791 | /sax/1.2.4: 3792 | resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} 3793 | dev: false 3794 | optional: true 3795 | 3796 | /scheduler/0.20.2: 3797 | resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} 3798 | dependencies: 3799 | loose-envify: 1.4.0 3800 | object-assign: 4.1.1 3801 | dev: false 3802 | 3803 | /scroll-into-view-if-needed/2.2.28: 3804 | resolution: {integrity: sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w==} 3805 | dependencies: 3806 | compute-scroll-into-view: 1.0.17 3807 | dev: false 3808 | 3809 | /semver/5.7.1: 3810 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 3811 | hasBin: true 3812 | dev: false 3813 | optional: true 3814 | 3815 | /semver/6.3.0: 3816 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3817 | hasBin: true 3818 | dev: true 3819 | 3820 | /semver/7.3.5: 3821 | resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} 3822 | engines: {node: '>=10'} 3823 | hasBin: true 3824 | dependencies: 3825 | lru-cache: 6.0.0 3826 | dev: true 3827 | 3828 | /sentence-case/3.0.4: 3829 | resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} 3830 | dependencies: 3831 | no-case: 3.0.4 3832 | tslib: 2.3.1 3833 | upper-case-first: 2.0.2 3834 | dev: true 3835 | 3836 | /shallowequal/1.1.0: 3837 | resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} 3838 | dev: false 3839 | 3840 | /shebang-command/2.0.0: 3841 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3842 | engines: {node: '>=8'} 3843 | dependencies: 3844 | shebang-regex: 3.0.0 3845 | dev: true 3846 | 3847 | /shebang-regex/3.0.0: 3848 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3849 | engines: {node: '>=8'} 3850 | dev: true 3851 | 3852 | /side-channel/1.0.4: 3853 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 3854 | dependencies: 3855 | call-bind: 1.0.2 3856 | get-intrinsic: 1.1.1 3857 | object-inspect: 1.12.0 3858 | dev: true 3859 | 3860 | /sisteransi/1.0.5: 3861 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3862 | dev: true 3863 | 3864 | /slash/3.0.0: 3865 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3866 | engines: {node: '>=8'} 3867 | dev: true 3868 | 3869 | /snake-case/3.0.4: 3870 | resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} 3871 | dependencies: 3872 | dot-case: 3.0.4 3873 | tslib: 2.3.1 3874 | dev: true 3875 | 3876 | /source-map-js/0.6.2: 3877 | resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} 3878 | engines: {node: '>=0.10.0'} 3879 | dev: true 3880 | 3881 | /source-map-js/1.0.1: 3882 | resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} 3883 | engines: {node: '>=0.10.0'} 3884 | 3885 | /source-map-js/1.0.2: 3886 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 3887 | engines: {node: '>=0.10.0'} 3888 | dev: true 3889 | 3890 | /source-map/0.5.7: 3891 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} 3892 | engines: {node: '>=0.10.0'} 3893 | dev: true 3894 | 3895 | /source-map/0.6.1: 3896 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3897 | engines: {node: '>=0.10.0'} 3898 | 3899 | /sourcemap-codec/1.4.8: 3900 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 3901 | 3902 | /string-argv/0.3.1: 3903 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 3904 | engines: {node: '>=0.6.19'} 3905 | dev: true 3906 | 3907 | /string-convert/0.2.1: 3908 | resolution: {integrity: sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=} 3909 | dev: false 3910 | 3911 | /string-hash/1.1.3: 3912 | resolution: {integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=} 3913 | dev: true 3914 | 3915 | /string.prototype.trimend/1.0.4: 3916 | resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} 3917 | dependencies: 3918 | call-bind: 1.0.2 3919 | define-properties: 1.1.4 3920 | dev: true 3921 | 3922 | /string.prototype.trimstart/1.0.4: 3923 | resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} 3924 | dependencies: 3925 | call-bind: 1.0.2 3926 | define-properties: 1.1.4 3927 | dev: true 3928 | 3929 | /strip-ansi/6.0.1: 3930 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3931 | engines: {node: '>=8'} 3932 | dependencies: 3933 | ansi-regex: 5.0.1 3934 | dev: true 3935 | 3936 | /strip-bom/3.0.0: 3937 | resolution: {integrity: sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=} 3938 | engines: {node: '>=4'} 3939 | dev: true 3940 | 3941 | /strip-json-comments/3.1.1: 3942 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3943 | engines: {node: '>=8'} 3944 | dev: true 3945 | 3946 | /supports-color/5.5.0: 3947 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3948 | engines: {node: '>=4'} 3949 | dependencies: 3950 | has-flag: 3.0.0 3951 | dev: true 3952 | 3953 | /supports-color/7.2.0: 3954 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3955 | engines: {node: '>=8'} 3956 | dependencies: 3957 | has-flag: 4.0.0 3958 | dev: true 3959 | 3960 | /supports-preserve-symlinks-flag/1.0.0: 3961 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3962 | engines: {node: '>= 0.4'} 3963 | dev: true 3964 | 3965 | /text-table/0.2.0: 3966 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} 3967 | dev: true 3968 | 3969 | /tinypool/0.2.4: 3970 | resolution: {integrity: sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ==} 3971 | engines: {node: '>=14.0.0'} 3972 | dev: true 3973 | 3974 | /tinyspy/1.0.2: 3975 | resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==} 3976 | engines: {node: '>=14.0.0'} 3977 | dev: true 3978 | 3979 | /to-fast-properties/2.0.0: 3980 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} 3981 | engines: {node: '>=4'} 3982 | 3983 | /to-regex-range/5.0.1: 3984 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3985 | engines: {node: '>=8.0'} 3986 | dependencies: 3987 | is-number: 7.0.0 3988 | dev: true 3989 | 3990 | /toggle-selection/1.0.6: 3991 | resolution: {integrity: sha1-bkWxJj8gF/oKzH2J14sVuL932jI=} 3992 | dev: false 3993 | 3994 | /tsconfig-paths/3.14.1: 3995 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3996 | dependencies: 3997 | '@types/json5': 0.0.29 3998 | json5: 1.0.1 3999 | minimist: 1.2.6 4000 | strip-bom: 3.0.0 4001 | dev: true 4002 | 4003 | /tslib/1.14.1: 4004 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 4005 | 4006 | /tslib/2.3.1: 4007 | resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} 4008 | dev: true 4009 | 4010 | /tsutils/3.21.0_typescript@4.8.3: 4011 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 4012 | engines: {node: '>= 6'} 4013 | peerDependencies: 4014 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 4015 | dependencies: 4016 | tslib: 1.14.1 4017 | typescript: 4.8.3 4018 | dev: true 4019 | 4020 | /type-check/0.4.0: 4021 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 4022 | engines: {node: '>= 0.8.0'} 4023 | dependencies: 4024 | prelude-ls: 1.2.1 4025 | dev: true 4026 | 4027 | /type-detect/4.0.8: 4028 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 4029 | engines: {node: '>=4'} 4030 | dev: true 4031 | 4032 | /type-fest/0.20.2: 4033 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 4034 | engines: {node: '>=10'} 4035 | dev: true 4036 | 4037 | /typescript/4.3.2: 4038 | resolution: {integrity: sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==} 4039 | engines: {node: '>=4.2.0'} 4040 | hasBin: true 4041 | dev: true 4042 | 4043 | /typescript/4.8.3: 4044 | resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==} 4045 | engines: {node: '>=4.2.0'} 4046 | hasBin: true 4047 | dev: true 4048 | 4049 | /typical/4.0.0: 4050 | resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} 4051 | engines: {node: '>=8'} 4052 | dev: true 4053 | 4054 | /unbox-primitive/1.0.1: 4055 | resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} 4056 | dependencies: 4057 | function-bind: 1.1.1 4058 | has-bigints: 1.0.1 4059 | has-symbols: 1.0.3 4060 | which-boxed-primitive: 1.0.2 4061 | dev: true 4062 | 4063 | /universalify/2.0.0: 4064 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 4065 | engines: {node: '>= 10.0.0'} 4066 | dev: false 4067 | 4068 | /upper-case-first/2.0.2: 4069 | resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} 4070 | dependencies: 4071 | tslib: 2.3.1 4072 | dev: true 4073 | 4074 | /upper-case/2.0.2: 4075 | resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} 4076 | dependencies: 4077 | tslib: 2.3.1 4078 | dev: true 4079 | 4080 | /uri-js/4.4.1: 4081 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 4082 | dependencies: 4083 | punycode: 2.1.1 4084 | dev: true 4085 | 4086 | /util-deprecate/1.0.2: 4087 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} 4088 | dev: true 4089 | 4090 | /v8-compile-cache/2.3.0: 4091 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 4092 | dev: true 4093 | 4094 | /vant/3.4.6_vue@3.2.24: 4095 | resolution: {integrity: sha512-Ol1xhEXn2wjBAWqCyr4/0EKTCQEYbAzKyOP+bKYIWl+fbJXme8Aza5soeKvWA2KD9ZBU0qS7yBVGpr+76xUEXQ==} 4096 | peerDependencies: 4097 | vue: ^3.0.0 4098 | dependencies: 4099 | '@vant/icons': 1.7.3 4100 | '@vant/popperjs': 1.1.0 4101 | '@vant/use': 1.3.6 4102 | vue: 3.2.24 4103 | dev: false 4104 | 4105 | /vite-plugin-style-import/1.1.1_vite@2.3.7: 4106 | resolution: {integrity: sha512-29NnvfAwCqS5zSg+bComXSmCgx3MmKJ/dPxWC/wa/yjG1gm7i/BDKrshiaGRXpIbMSyQco5KGRKhrUIW3Tr+nw==} 4107 | peerDependencies: 4108 | vite: '>=2.0.0' 4109 | dependencies: 4110 | '@rollup/pluginutils': 4.1.1 4111 | change-case: 4.1.2 4112 | debug: 4.3.2 4113 | es-module-lexer: 0.7.1 4114 | magic-string: 0.25.7 4115 | vite: 2.3.7 4116 | transitivePeerDependencies: 4117 | - supports-color 4118 | dev: true 4119 | 4120 | /vite/2.3.7: 4121 | resolution: {integrity: sha512-Y0xRz11MPYu/EAvzN94+FsOZHbSvO6FUvHv127CyG7mV6oDoay2bw+g5y9wW3Blf8OY3chaz3nc/DcRe1IQ3Nw==} 4122 | engines: {node: '>=12.0.0'} 4123 | hasBin: true 4124 | dependencies: 4125 | esbuild: 0.12.8 4126 | postcss: 8.3.3 4127 | resolve: 1.20.0 4128 | rollup: 2.51.2 4129 | optionalDependencies: 4130 | fsevents: 2.3.2 4131 | dev: true 4132 | 4133 | /vite/2.7.1: 4134 | resolution: {integrity: sha512-TDXXhcu5lyQ6uosK4ZWaOyB4VzOiizk0biitRzDzaEtgSUi8rVYPc4k1xgOjLSf0OuceDJmojFKXHOX9DB1WuQ==} 4135 | engines: {node: '>=12.2.0'} 4136 | hasBin: true 4137 | peerDependencies: 4138 | less: '*' 4139 | sass: '*' 4140 | stylus: '*' 4141 | peerDependenciesMeta: 4142 | less: 4143 | optional: true 4144 | sass: 4145 | optional: true 4146 | stylus: 4147 | optional: true 4148 | dependencies: 4149 | esbuild: 0.13.15 4150 | postcss: 8.4.4 4151 | resolve: 1.20.0 4152 | rollup: 2.61.0 4153 | optionalDependencies: 4154 | fsevents: 2.3.2 4155 | dev: true 4156 | 4157 | /vite/3.0.9: 4158 | resolution: {integrity: sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==} 4159 | engines: {node: ^14.18.0 || >=16.0.0} 4160 | hasBin: true 4161 | peerDependencies: 4162 | less: '*' 4163 | sass: '*' 4164 | stylus: '*' 4165 | terser: ^5.4.0 4166 | peerDependenciesMeta: 4167 | less: 4168 | optional: true 4169 | sass: 4170 | optional: true 4171 | stylus: 4172 | optional: true 4173 | terser: 4174 | optional: true 4175 | dependencies: 4176 | esbuild: 0.14.54 4177 | postcss: 8.4.16 4178 | resolve: 1.22.1 4179 | rollup: 2.77.3 4180 | optionalDependencies: 4181 | fsevents: 2.3.2 4182 | dev: true 4183 | 4184 | /vitest/0.22.1: 4185 | resolution: {integrity: sha512-+x28YTnSLth4KbXg7MCzoDAzPJlJex7YgiZbUh6YLp0/4PqVZ7q7/zyfdL0OaPtKTpNiQFPpMC8Y2MSzk8F7dw==} 4186 | engines: {node: '>=v14.16.0'} 4187 | hasBin: true 4188 | peerDependencies: 4189 | '@edge-runtime/vm': '*' 4190 | '@vitest/browser': '*' 4191 | '@vitest/ui': '*' 4192 | happy-dom: '*' 4193 | jsdom: '*' 4194 | peerDependenciesMeta: 4195 | '@edge-runtime/vm': 4196 | optional: true 4197 | '@vitest/browser': 4198 | optional: true 4199 | '@vitest/ui': 4200 | optional: true 4201 | happy-dom: 4202 | optional: true 4203 | jsdom: 4204 | optional: true 4205 | dependencies: 4206 | '@types/chai': 4.3.3 4207 | '@types/chai-subset': 1.3.3 4208 | '@types/node': 17.0.45 4209 | chai: 4.3.6 4210 | debug: 4.3.4 4211 | local-pkg: 0.4.2 4212 | tinypool: 0.2.4 4213 | tinyspy: 1.0.2 4214 | vite: 3.0.9 4215 | transitivePeerDependencies: 4216 | - less 4217 | - sass 4218 | - stylus 4219 | - supports-color 4220 | - terser 4221 | dev: true 4222 | 4223 | /vue/3.1.1: 4224 | resolution: {integrity: sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==} 4225 | dependencies: 4226 | '@vue/compiler-dom': 3.1.1 4227 | '@vue/runtime-dom': 3.1.1 4228 | '@vue/shared': 3.1.1 4229 | 4230 | /vue/3.2.24: 4231 | resolution: {integrity: sha512-PvCklXNfcUMyeP/a9nME27C32IipwUDoS45rDyKn5+RQrWyjL+0JAJtf98HL6y9bfqQRTlYjSowWEB1nXxvG5Q==} 4232 | dependencies: 4233 | '@vue/compiler-dom': 3.2.24 4234 | '@vue/compiler-sfc': 3.2.24 4235 | '@vue/runtime-dom': 3.2.24 4236 | '@vue/server-renderer': 3.2.24_vue@3.2.24 4237 | '@vue/shared': 3.2.24 4238 | dev: false 4239 | 4240 | /warning/4.0.3: 4241 | resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} 4242 | dependencies: 4243 | loose-envify: 1.4.0 4244 | dev: false 4245 | 4246 | /which-boxed-primitive/1.0.2: 4247 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 4248 | dependencies: 4249 | is-bigint: 1.0.2 4250 | is-boolean-object: 1.1.1 4251 | is-number-object: 1.0.5 4252 | is-string: 1.0.7 4253 | is-symbol: 1.0.4 4254 | dev: true 4255 | 4256 | /which/2.0.2: 4257 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 4258 | engines: {node: '>= 8'} 4259 | hasBin: true 4260 | dependencies: 4261 | isexe: 2.0.0 4262 | dev: true 4263 | 4264 | /word-wrap/1.2.3: 4265 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 4266 | engines: {node: '>=0.10.0'} 4267 | dev: true 4268 | 4269 | /wrappy/1.0.2: 4270 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 4271 | dev: true 4272 | 4273 | /yallist/3.1.1: 4274 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 4275 | dev: true 4276 | 4277 | /yallist/4.0.0: 4278 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 4279 | dev: true 4280 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - examples/* 3 | -------------------------------------------------------------------------------- /src/constant.ts: -------------------------------------------------------------------------------- 1 | export const ID_FILTER_REG = /\.(mjs|js|ts|vue|jsx|tsx)(\?.*|)$/ 2 | export const NODE_MODULES_FLAG = 'node_modules' 3 | export const CACHE_DIR = '.vite-plugin-externals' 4 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { TransformPluginContext } from 'rollup' 2 | import type { Alias, Plugin } from 'vite' 3 | import MagicString from 'magic-string' 4 | import { init, parse } from 'es-module-lexer' 5 | import { Externals, Options, TransformModuleNameFn, UserOptions } from './types' 6 | import { isObject } from './utils' 7 | import { emptyDirSync, ensureDir, ensureFile, writeFile } from 'fs-extra' 8 | import path from 'path' 9 | import { resolveOptions } from './options' 10 | import { CACHE_DIR, NODE_MODULES_FLAG } from './constant' 11 | import { transformImports, transformRequires } from './transform' 12 | 13 | export const createTransformModuleName = (options: Options) => { 14 | const transformModuleName: TransformModuleNameFn = (externalValue) => { 15 | const { useWindow } = options 16 | if (useWindow === false) { 17 | return typeof externalValue === 'string' ? externalValue : externalValue.join('.') 18 | } 19 | if (typeof externalValue === 'string') { 20 | return `window['${externalValue}']` 21 | } 22 | const values = externalValue.map((val) => `['${val}']`).join('') 23 | return `window${values}` 24 | } 25 | return transformModuleName 26 | } 27 | 28 | export function viteExternalsPlugin(externals: Externals = {}, userOptions: UserOptions = {}): Plugin { 29 | let isBuild = false 30 | let isServe = false 31 | 32 | const options = resolveOptions(userOptions) 33 | const externalsKeys = Object.keys(externals) 34 | const isExternalEmpty = externalsKeys.length === 0 35 | 36 | const transformModuleName = createTransformModuleName(options) 37 | 38 | return { 39 | name: 'vite-plugin-externals', 40 | ...(userOptions.enforce ? { enforce: userOptions.enforce } : {}), 41 | async config(config, { command }) { 42 | isBuild = command === 'build' 43 | isServe = command === 'serve' 44 | 45 | if (!isServe) { 46 | return 47 | } 48 | if (options.disableInServe) { 49 | return 50 | } 51 | if (isExternalEmpty) { 52 | return 53 | } 54 | const newAlias: Alias[] = [] 55 | const alias = config.resolve?.alias ?? {} 56 | if (isObject(alias)) { 57 | Object.keys(alias).forEach((aliasKey) => { 58 | newAlias.push({ find: aliasKey, replacement: (alias as Record)[aliasKey] }) 59 | }) 60 | } else if (Array.isArray(alias)) { 61 | newAlias.push(...alias) 62 | } 63 | 64 | const cachePath = path.join(process.cwd(), NODE_MODULES_FLAG, CACHE_DIR) 65 | await ensureDir(cachePath) 66 | await emptyDirSync(cachePath) 67 | 68 | for await (const externalKey of externalsKeys) { 69 | const externalCachePath = path.join(cachePath, `${externalKey}.js`) 70 | newAlias.push({ find: new RegExp(`^${externalKey}$`), replacement: externalCachePath }) 71 | await ensureFile(externalCachePath) 72 | await writeFile( 73 | externalCachePath, 74 | `module.exports = ${transformModuleName(externals[externalKey])};`, 75 | ) 76 | } 77 | 78 | return { 79 | resolve: { 80 | alias: newAlias, 81 | }, 82 | } 83 | }, 84 | async transform(code, id, _options) { 85 | const ssr = compatSsrInOptions(_options) 86 | 87 | if (isServe && options.disableInServe) { 88 | return 89 | } 90 | if (!isNeedExternal.call(this, options, code, id, isBuild, ssr)) { 91 | return 92 | } 93 | let s: undefined | MagicString 94 | let hasError = false 95 | try { 96 | if (isBuild && id.includes(NODE_MODULES_FLAG)) { 97 | code = transformRequires(code, externals, transformModuleName) 98 | } 99 | await init 100 | const [imports] = parse(code) 101 | imports.forEach(({ 102 | d: dynamic, 103 | n: dependence, 104 | ss: statementStart, 105 | se: statementEnd, 106 | }) => { 107 | // filter dynamic import 108 | if (dynamic !== -1) { 109 | return 110 | } 111 | 112 | if (!dependence) { 113 | return 114 | } 115 | 116 | const externalValue = externals[dependence] 117 | if (!externalValue) { 118 | return 119 | } 120 | 121 | s = s || (s = new MagicString(code)) 122 | 123 | const raw = code.substring(statementStart, statementEnd) 124 | const newImportStr = transformImports(raw, externalValue, transformModuleName) 125 | s.overwrite(statementStart, statementEnd, newImportStr) 126 | }) 127 | } catch (error) { 128 | hasError = true 129 | if (userOptions.debug) { 130 | console.error(error) 131 | } 132 | } 133 | if (hasError || !s) { 134 | return { code, map: null } 135 | } 136 | return { 137 | code: s.toString(), 138 | map: s.generateMap(Object.assign({}, { 139 | source: id, 140 | includeContent: true, 141 | hires: true, 142 | }, userOptions.sourceMapOptions)), 143 | } 144 | }, 145 | } 146 | } 147 | 148 | export function isNeedExternal( 149 | this: TransformPluginContext, 150 | options: Options, 151 | code: string, 152 | id: string, 153 | isBuild: boolean, 154 | ssr?: boolean, 155 | ): boolean { 156 | const { 157 | disableSsr = true, 158 | filter, 159 | } = options 160 | // filter ssr env 161 | if (disableSsr && ssr) { 162 | return false 163 | } 164 | 165 | return filter.call(this, code, id, ssr ?? false, isBuild) 166 | } 167 | 168 | function compatSsrInOptions(options: { ssr?: boolean } | undefined): boolean { 169 | if (typeof options === 'boolean') { 170 | return options 171 | } 172 | return options?.ssr ?? false 173 | } 174 | -------------------------------------------------------------------------------- /src/options.ts: -------------------------------------------------------------------------------- 1 | import { Options, UserOptions } from './types' 2 | import { ID_FILTER_REG, NODE_MODULES_FLAG } from './constant' 3 | 4 | export const defaultOptions: Options = { 5 | disableInServe: false, 6 | disableSsr: true, 7 | filter(_, id, __, isBuild) { 8 | if ( 9 | !ID_FILTER_REG.test(id) || 10 | (id.includes(NODE_MODULES_FLAG) && !isBuild) 11 | ) { 12 | return false 13 | } 14 | return true 15 | }, 16 | useWindow: true, 17 | sourceMapOptions: {}, 18 | debug: false, 19 | } 20 | 21 | export function resolveOptions(userOptions: UserOptions): Options { 22 | return Object.assign({}, defaultOptions, userOptions) 23 | } 24 | -------------------------------------------------------------------------------- /src/transform.ts: -------------------------------------------------------------------------------- 1 | import { Parser } from 'acorn' 2 | import * as ESTree from 'estree' 3 | import { ExternalValue, Externals, TransformModuleNameFn } from './types' 4 | 5 | type Specifiers = (ESTree.ImportSpecifier | ESTree.ImportDefaultSpecifier | ESTree.ImportNamespaceSpecifier | ESTree.ExportSpecifier)[] 6 | 7 | export const transformImports = ( 8 | raw: string, 9 | externalValue: ExternalValue, 10 | transformModuleName: TransformModuleNameFn, 11 | ): string => { 12 | const ast = Parser.parse(raw, { 13 | ecmaVersion: 'latest', 14 | sourceType: 'module', 15 | }) as unknown as ESTree.Program 16 | const specifiers = (ast.body[0] as (ESTree.ImportDeclaration))?.specifiers as Specifiers 17 | if (!specifiers) { 18 | return '' 19 | } 20 | return specifiers.reduce((s, specifier) => { 21 | const { local } = specifier 22 | if (specifier.type === 'ImportDefaultSpecifier') { 23 | /** 24 | * source code: import Vue from 'vue' 25 | * transformed: const Vue = window['Vue'] 26 | */ 27 | s += `const ${local.name} = ${transformModuleName(externalValue)}\n` 28 | } else if (specifier.type === 'ImportSpecifier') { 29 | /** 30 | * source code: 31 | * import { reactive, ref as r } from 'vue' 32 | * transformed: 33 | * const reactive = window['Vue'].reactive 34 | * const r = window['Vue'].ref 35 | */ 36 | const { imported } = specifier 37 | s += `const ${local.name} = ${transformModuleName(externalValue)}.${imported.name}\n` 38 | } else if (specifier.type === 'ImportNamespaceSpecifier') { 39 | /** 40 | * source code: import * as vue from 'vue' 41 | * transformed: const vue = window['Vue'] 42 | */ 43 | s += `const ${local.name} = ${transformModuleName(externalValue)}\n` 44 | } else if (specifier.type === 'ExportSpecifier') { 45 | /** 46 | * Re-export default import as named export 47 | * source code: export { default as React } from 'react' 48 | * transformed: export const React = window['React'] 49 | * 50 | * Re-export default import as default export 51 | * source code: export { default } from 'react' 52 | * transformed: export default window['React'] 53 | * 54 | * Re-export named import 55 | * source code: export { useState } from 'react' 56 | * transformed: export const useState = window['React'].useState 57 | * 58 | * Re-export named import as renamed export 59 | * source code: export { useState as useState2 } from 'react' 60 | * transformed: export const useState2 = window['React'].useState 61 | */ 62 | const { exported } = specifier 63 | const value = `${transformModuleName(externalValue)}${local.name !== 'default' ? `.${local.name}` : ''}` 64 | if (exported.name === 'default') { 65 | s += `export default ${value}\n` 66 | } else { 67 | s += `export const ${exported.name} = ${value}\n` 68 | } 69 | } 70 | return s 71 | }, '') 72 | } 73 | 74 | export function transformRequires( 75 | code: string, 76 | externals: Externals, 77 | transformModuleName: TransformModuleNameFn, 78 | ) { 79 | // It's not a good method, but I feel it can cover most scenes 80 | return Object.keys(externals).reduce((code, externalKey) => { 81 | const r = new RegExp(`require\\((["'\`])\\s*${externalKey}\\s*(\\1)\\)`, 'g') 82 | return code.replace(r, transformModuleName(externals[externalKey])) 83 | }, code) 84 | } 85 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | 2 | import { TransformPluginContext } from 'rollup' 3 | import { SourceMapOptions } from 'magic-string' 4 | import type { Plugin } from 'vite' 5 | 6 | export type ExternalValue = string | string[] 7 | 8 | export type Externals = Record 9 | 10 | export interface Options { 11 | /** 12 | * disable externals in serve 13 | * @default false 14 | */ 15 | disableInServe: boolean 16 | /** 17 | * disable externals in ssr 18 | * @default true 19 | */ 20 | disableSsr: boolean 21 | /** 22 | * filter does not require external function 23 | * return false is not external 24 | */ 25 | filter: (this: TransformPluginContext, code: string, id: string, ssr: boolean, isBuild: boolean) => boolean 26 | /** 27 | * eg. externals: { vue: 'Vue' } 28 | * set `true`: import Vue from 'vue' => const Vue = window.Vue; 29 | * set `false`: eg. import Vue from 'vue' => const Vue = Vue; 30 | * @default true 31 | */ 32 | useWindow: boolean 33 | /** 34 | * vite plugin ordering 35 | * @see https://vitejs.dev/guide/api-plugin.html#plugin-ordering 36 | */ 37 | enforce?: Plugin['enforce'] 38 | /** 39 | * magic-string generateMap options 40 | */ 41 | sourceMapOptions: Partial 42 | /** 43 | * debug console 44 | */ 45 | debug: boolean 46 | } 47 | 48 | export type UserOptions = Partial 49 | 50 | export type TransformModuleNameFn = (externalValue: ExternalValue) => string 51 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | export function isObject(o: unknown):boolean { 2 | return Object.prototype.toString.call(o) === '[object Object]' 3 | } 4 | -------------------------------------------------------------------------------- /test/transform.spec.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable quotes */ 2 | import { transformImports, transformRequires } from '../src/transform' 3 | import { createTransformModuleName } from '../src/index' 4 | import { defaultOptions } from '../src/options' 5 | 6 | const transformModuleName = createTransformModuleName(defaultOptions) 7 | 8 | describe('transformImports', () => { 9 | test('transform ImportDefaultSpecifier', () => { 10 | expect( 11 | transformImports(`import Vue from 'vue'`, 'Vue', transformModuleName), 12 | ) 13 | .toBe(`const Vue = window['Vue']\n`) 14 | }) 15 | 16 | test('transform ImportSpecifier', () => { 17 | expect( 18 | transformImports(`import { reactive, ref as r } from 'vue'`, 'Vue', transformModuleName), 19 | ) 20 | .toBe(`const reactive = window['Vue'].reactive\nconst r = window['Vue'].ref\n`) 21 | }) 22 | 23 | test('transform ImportNamespaceSpecifier', () => { 24 | expect( 25 | transformImports(`import * as vue from 'vue'`, 'Vue', transformModuleName), 26 | ) 27 | .toBe(`const vue = window['Vue']\n`) 28 | }) 29 | 30 | test('transform ExportSpecifier', () => { 31 | expect( 32 | transformImports(`export { default as Vue } from 'Vue'`, 'Vue', transformModuleName), 33 | ) 34 | .toBe(`export const Vue = window['Vue']\n`) 35 | 36 | expect( 37 | transformImports(`export { default } from 'vue'`, 'Vue', transformModuleName), 38 | ) 39 | .toBe(`export default window['Vue']\n`) 40 | 41 | expect( 42 | transformImports(`export { useState } from 'react'`, 'React', transformModuleName), 43 | ) 44 | .toBe(`export const useState = window['React'].useState\n`) 45 | expect( 46 | transformImports(`export { useState as useState2 } from 'react'`, 'React', transformModuleName), 47 | ) 48 | .toBe(`export const useState2 = window['React'].useState\n`) 49 | }) 50 | }) 51 | 52 | describe('transformRequire', () => { 53 | test('test transformRequires', () => { 54 | expect( 55 | transformRequires(`const Vue = require('vue');`, { vue: 'Vue' }, transformModuleName), 56 | ) 57 | .toBe(`const Vue = window['Vue'];`) 58 | 59 | expect( 60 | transformRequires(`const { reactive, ref } = require('vue');`, { vue: 'Vue' }, transformModuleName), 61 | ) 62 | .toBe(`const { reactive, ref } = window['Vue'];`) 63 | }) 64 | }) 65 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "module": "CommonJS", 5 | "noImplicitAny": true, 6 | "preserveConstEnums": true, 7 | "removeComments": true, 8 | "outDir": "./dist/", 9 | "declaration": true, 10 | "strict": true, 11 | "moduleResolution": "Node", 12 | "esModuleInterop": true, 13 | "types": ["node", "vitest/globals"] 14 | }, 15 | "files": [ 16 | "./src/index.ts" 17 | ], 18 | "exclude": [ 19 | "dist", 20 | "node_modules" 21 | ], 22 | "include": [ 23 | "test/**/*.ts", 24 | "src/**/*.ts" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | globals: true, 6 | }, 7 | }) 8 | --------------------------------------------------------------------------------