diff --git a/README.en.md b/README.en.md index bdc2588b054763e2d60f37d25ae246dfbef1a27a..4d6317063a50972b2e359355616b3e80e2caf264 100644 --- a/README.en.md +++ b/README.en.md @@ -4,7 +4,8 @@ Project | description | others :- | :- | :- -vue3-ts-starter | `vue3`+`ts`project template | `vue3`+`ts` +vue3-ts-starter | `vue3`+`ts` SPA project template | `vue3`+`ts` SPA +vue3-ts-mpa-starter | `vue3`+`ts` MPA project template | `vue3`+`ts` MPA #### Contribution diff --git a/README.md b/README.md index 2c07c8aa55fae997727c40a7dda527f8e7141dd5..0e6d328bd3e59f75760425dd3ff1d3a4548bbb96 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ 项目 | 描述 | 其他 :- | :- | :- -vue3-ts-starter | `vue3`+`ts`项目模板 | `vue3`+`ts` +vue3-ts-starter | `vue3`+`ts` 单页面项目模板 | `vue3`+`ts` SPA +vue3-ts-mpa-starter | `vue3`+`ts` 多页面项目模板 | `vue3`+`ts` MPA + ## 参与贡献 1. Fork 本仓库 diff --git a/packages/vue3-ts-mpa-starter/.eslintrc.js b/packages/vue3-ts-mpa-starter/.eslintrc.js new file mode 100644 index 0000000000000000000000000000000000000000..2ec1e8f41cce7ecb731eae4dd5dcb4e4c8c88662 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/.eslintrc.js @@ -0,0 +1,32 @@ +module.exports = { + parser: 'vue-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + ecmaVersion: 2020, + sourceType: 'module', + }, + extends: ['plugin:vue/vue3-recommended', '@vue/typescript/recommended', '@vue/prettier'], + plugins: ['@typescript-eslint'], + env: { + browser: true, + node: true, + es6: true, + 'vue/setup-compiler-macros': true, + }, + rules: { + 'no-multiple-empty-lines': 'error', + 'prefer-template': 'error', + 'spaced-comment': 'error', + 'no-var': 'error', + 'one-var-declaration-per-line': 'error', + 'no-multi-assign': 'error', + 'prefer-destructuring': 'error', + eqeqeq: 'error', + '@typescript-eslint/no-explicit-any': [ + 'warn', + { + ignoreRestArgs: false, + }, + ], + }, +}; diff --git a/vue3-ts-starter/.gitignore b/packages/vue3-ts-mpa-starter/.gitignore similarity index 100% rename from vue3-ts-starter/.gitignore rename to packages/vue3-ts-mpa-starter/.gitignore diff --git a/vue3-ts-starter/.prettierrc.js b/packages/vue3-ts-mpa-starter/.prettierrc.js similarity index 100% rename from vue3-ts-starter/.prettierrc.js rename to packages/vue3-ts-mpa-starter/.prettierrc.js diff --git a/vue3-ts-starter/LICENSE b/packages/vue3-ts-mpa-starter/LICENSE similarity index 100% rename from vue3-ts-starter/LICENSE rename to packages/vue3-ts-mpa-starter/LICENSE diff --git a/packages/vue3-ts-mpa-starter/README.en.md b/packages/vue3-ts-mpa-starter/README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..6f065af740b34948cff33407b3a0fd44c74aadda --- /dev/null +++ b/packages/vue3-ts-mpa-starter/README.en.md @@ -0,0 +1,20 @@ +# vue3-ts-starter + +### Description +vue3 MPA starter + +### Software Architecture +Vue 3 + TypeScript + Vite + Scss + Vue Router + Pinia + Axios + +### Installation + +1. recommend using [pnpm](https://pnpm.io/installation),you can also use ```npm```、```yarn``` +2. install: ```pnpm install``` +3. run project: ```pnpm dev``` + +### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request \ No newline at end of file diff --git a/packages/vue3-ts-mpa-starter/README.md b/packages/vue3-ts-mpa-starter/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9119cfdfcc86cb3b462bb7eaf3db6add05a952b5 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/README.md @@ -0,0 +1,90 @@ +# vue3-ts-mpa-starter + +### 介绍 +vue3多页面应用模板, 使用vite构建,并集成Scss + Vue Router + Pinia + Axios + +### 软件架构 +Vue 3 + TypeScript + Vite + Scss + Vue Router + Pinia + Axios + + +### 使用说明 +1. 在packages目录下新增子页面目录 +2. 在vite.config.ts中增加子页面配置 +``` +// vite.conifg.ts +export default defineConfig({ + ... + build: { + rollupOptions: { + input: { + demo: './packages/demo/index.html', // 新增子页面 + }, + }, + ... + }, + resolve: { + alias: { + ... + '@demo/': `${path.resolve(__dirname, './packages/demo/src')}/`, // 配置路径别名,方便快速引入项目文件 + }, + }, + ... +} +``` +``` +// tsconfig.json +{ + ... + "paths": { + "@demo/*": ["packages/demo/src/*"], // 增加编码时的路径提示 + } + ... +} +``` + +### 安装教程 +1. 推荐使用[pnpm](https://pnpm.io/installation)安装,当前你也可以使用npm、yarn +2. 安装依赖 ```pnpm install``` +3. 运行项目 ```pnpm dev``` + + +### 风格命名 +1. 文件夹名称建议使用kebab-case, 如: hello-world +2. vue文件建议使用PascalCase, 如: HelloWorld.vue + +### 目录说明 +``` +|-- packages // 多页面目录 + |-- shared 跨页面公共模块 + + |-- demo 单页面示例 + + --- index.html 入口html + + |-- src + |-- api API接口 + + |-- assets 资源目录,如图片、视频等 + |-- svg-icons svg 雪碧图图标 + + |-- components 跨页面公共组件 + + |-- pages 项目页面 + |-- course 页面 + |-- course-detail 子页面 + + |-- shared 公共工具及文件 + |-- axios axios封装 + |-- styles 公共样式 + + |-- stores 全局状态管理 + + --- main.ts 入口文件 + --- router.ts 路由文件 +``` + +### 参与贡献 +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 +4. 新建 Pull Request \ No newline at end of file diff --git a/packages/vue3-ts-mpa-starter/package.json b/packages/vue3-ts-mpa-starter/package.json new file mode 100644 index 0000000000000000000000000000000000000000..79dcaa29b4f4309db3fc5d00fc998b04eeb5572f --- /dev/null +++ b/packages/vue3-ts-mpa-starter/package.json @@ -0,0 +1,32 @@ +{ + "name": "vue3-ts-mpa-starter", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "build": "vue-tsc --noEmit && vite build", + "preview": "vite preview" + }, + "dependencies": { + "axios": "^0.26.0", + "normalize.css": "^8.0.1", + "pinia": "^2.0.11", + "vue": "^3.2.25", + "vue-router": "^4.0.13" + }, + "devDependencies": { + "@types/node": "^17.0.21", + "@typescript-eslint/eslint-plugin": "^5.13.0", + "@typescript-eslint/parser": "^5.13.0", + "@vitejs/plugin-vue": "^2.2.0", + "@vue/eslint-config-prettier": "^7.0.0", + "@vue/eslint-config-typescript": "^10.0.0", + "eslint": "^8.9.0", + "eslint-plugin-vue": "^8.5.0", + "prettier": "^2.5.1", + "sass": "^1.49.9", + "typescript": "^4.5.4", + "vite": "^2.8.0", + "vue-tsc": "^0.29.8" + } +} \ No newline at end of file diff --git a/vue3-ts-starter/public/favicon.ico b/packages/vue3-ts-mpa-starter/packages/demo/favicon.ico similarity index 100% rename from vue3-ts-starter/public/favicon.ico rename to packages/vue3-ts-mpa-starter/packages/demo/favicon.ico diff --git a/packages/vue3-ts-mpa-starter/packages/demo/index.html b/packages/vue3-ts-mpa-starter/packages/demo/index.html new file mode 100644 index 0000000000000000000000000000000000000000..b9405088d17eeb43cfd5eb9ba05c8675379e119d --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/index.html @@ -0,0 +1,13 @@ + + + + + + + openEuler starter + + +
+ + + diff --git a/vue3-ts-starter/src/App.vue b/packages/vue3-ts-mpa-starter/packages/demo/src/App.vue similarity index 100% rename from vue3-ts-starter/src/App.vue rename to packages/vue3-ts-mpa-starter/packages/demo/src/App.vue diff --git a/packages/vue3-ts-mpa-starter/packages/demo/src/api/demo.ts b/packages/vue3-ts-mpa-starter/packages/demo/src/api/demo.ts new file mode 100644 index 0000000000000000000000000000000000000000..ad0d5fc82b6e57c936a51667a797e3357995ce5b --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/src/api/demo.ts @@ -0,0 +1,11 @@ +import { request } from '@/shared/plugins/axios'; +import type { AxiosResponse } from '@/shared/plugins/axios'; + +/** + * 获取授权的相关回调链接 + */ +export function queryCourse() { + const url = '/courses/course-list.json'; + + return request.get(url, { global: true }).then((res: AxiosResponse) => res.data); +} diff --git a/vue3-ts-starter/src/assets/logo.png b/packages/vue3-ts-mpa-starter/packages/demo/src/assets/logo.png similarity index 100% rename from vue3-ts-starter/src/assets/logo.png rename to packages/vue3-ts-mpa-starter/packages/demo/src/assets/logo.png diff --git a/vue3-ts-starter/src/assets/svg-icons/alert-circle.svg b/packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/alert-circle.svg similarity index 100% rename from vue3-ts-starter/src/assets/svg-icons/alert-circle.svg rename to packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/alert-circle.svg diff --git a/vue3-ts-starter/src/assets/svg-icons/arrow-right.svg b/packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/arrow-right.svg similarity index 100% rename from vue3-ts-starter/src/assets/svg-icons/arrow-right.svg rename to packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/arrow-right.svg diff --git a/vue3-ts-starter/src/assets/svg-icons/plus.svg b/packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/plus.svg similarity index 100% rename from vue3-ts-starter/src/assets/svg-icons/plus.svg rename to packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/plus.svg diff --git a/vue3-ts-starter/src/assets/svg-icons/x.svg b/packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/x.svg similarity index 100% rename from vue3-ts-starter/src/assets/svg-icons/x.svg rename to packages/vue3-ts-mpa-starter/packages/demo/src/assets/svg-icons/x.svg diff --git a/vue3-ts-starter/src/components/AppHeader.vue b/packages/vue3-ts-mpa-starter/packages/demo/src/components/AppHeader.vue similarity index 100% rename from vue3-ts-starter/src/components/AppHeader.vue rename to packages/vue3-ts-mpa-starter/packages/demo/src/components/AppHeader.vue diff --git a/vue3-ts-starter/src/env.d.ts b/packages/vue3-ts-mpa-starter/packages/demo/src/env.d.ts similarity index 100% rename from vue3-ts-starter/src/env.d.ts rename to packages/vue3-ts-mpa-starter/packages/demo/src/env.d.ts diff --git a/packages/vue3-ts-mpa-starter/packages/demo/src/main.ts b/packages/vue3-ts-mpa-starter/packages/demo/src/main.ts new file mode 100644 index 0000000000000000000000000000000000000000..caffb9eda2a5bc0bed6852085b279a2fcafbb436 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/src/main.ts @@ -0,0 +1,16 @@ +import '@/shared/styles/base.scss'; + +import { createApp } from 'vue'; +import { createPinia } from 'pinia'; +import App from './App.vue'; +import { router } from './router'; +import SvgIcon from '@/shared/components/SvgIcon.vue'; + +const app = createApp(App); + +app.use(router); +app.use(createPinia()); + +app.component('SvgIcon', SvgIcon); + +app.mount('#app'); diff --git a/packages/vue3-ts-mpa-starter/packages/demo/src/router.ts b/packages/vue3-ts-mpa-starter/packages/demo/src/router.ts new file mode 100644 index 0000000000000000000000000000000000000000..106722fc8b4269a355423cfdc25496d57a5d0ed7 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/src/router.ts @@ -0,0 +1,30 @@ +import { createRouter, createWebHashHistory } from 'vue-router'; +import TheDemo from './views/demo/TheDemo.vue'; +export const routes = [ + { + path: '/', + redirect: '/demo', + }, + { + path: '/demo', + name: 'demo', + component: TheDemo, + }, + { + path: '/sub-demo', + name: 'sub-demo', + component: () => import('./views/demo/sub-demo/SubDemo.vue'), + }, +]; + +export const router = createRouter({ + history: createWebHashHistory(), + routes, +}); + +// 路由守卫,可在此处进行页面权限处理 +// router.beforeEach((to) => { +// if (!isLogined()) { +// return { name: "home" }; +// } +// }); diff --git a/vue3-ts-starter/src/stores/counter.ts b/packages/vue3-ts-mpa-starter/packages/demo/src/stores/counter.ts similarity index 100% rename from vue3-ts-starter/src/stores/counter.ts rename to packages/vue3-ts-mpa-starter/packages/demo/src/stores/counter.ts diff --git a/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/TheDemo.vue b/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/TheDemo.vue new file mode 100644 index 0000000000000000000000000000000000000000..7a90e7d8460cdebadb4477518794076c0c80631d --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/TheDemo.vue @@ -0,0 +1,108 @@ + + + diff --git a/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/sub-demo/SubDemo.vue b/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/sub-demo/SubDemo.vue new file mode 100644 index 0000000000000000000000000000000000000000..0151fe1b8dca223a002006e5ff7e84f69e127fcd --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/demo/src/views/demo/sub-demo/SubDemo.vue @@ -0,0 +1,30 @@ + + + diff --git a/vue3-ts-starter/src/components/SvgIcon.vue b/packages/vue3-ts-mpa-starter/packages/shared/components/SvgIcon.vue similarity index 100% rename from vue3-ts-starter/src/components/SvgIcon.vue rename to packages/vue3-ts-mpa-starter/packages/shared/components/SvgIcon.vue diff --git a/vue3-ts-starter/src/shared/axios/handleError.ts b/packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/handleError.ts similarity index 100% rename from vue3-ts-starter/src/shared/axios/handleError.ts rename to packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/handleError.ts diff --git a/vue3-ts-starter/src/shared/axios/handleResponse.ts b/packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/handleResponse.ts similarity index 100% rename from vue3-ts-starter/src/shared/axios/handleResponse.ts rename to packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/handleResponse.ts diff --git a/vue3-ts-starter/src/shared/axios/index.ts b/packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/index.ts similarity index 100% rename from vue3-ts-starter/src/shared/axios/index.ts rename to packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/index.ts diff --git a/vue3-ts-starter/src/shared/axios/setConfig.ts b/packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/setConfig.ts similarity index 100% rename from vue3-ts-starter/src/shared/axios/setConfig.ts rename to packages/vue3-ts-mpa-starter/packages/shared/plugins/axios/setConfig.ts diff --git a/vue3-ts-starter/src/shared/styles/base.scss b/packages/vue3-ts-mpa-starter/packages/shared/styles/base.scss similarity index 100% rename from vue3-ts-starter/src/shared/styles/base.scss rename to packages/vue3-ts-mpa-starter/packages/shared/styles/base.scss diff --git a/packages/vue3-ts-mpa-starter/packages/shared/utils/helper.ts b/packages/vue3-ts-mpa-starter/packages/shared/utils/helper.ts new file mode 100644 index 0000000000000000000000000000000000000000..62acf8363d4cb059ea54ae511a6db6e9a3712b22 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/packages/shared/utils/helper.ts @@ -0,0 +1,36 @@ +const cacheStringFn = string>(fn: T): T => { + const cache: Record = Object.create(null); + return ((str: string) => { + let rlt = cache[str]; + if (!rlt) { + cache[str] = rlt; + rlt = fn(str); + } + return rlt; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + }) as any; +}; + +const camelizeRegExp = /-(\w)/; +/** + * kebab-case to camelCase + */ +export const camelize = cacheStringFn((str: string): string => { + return str.replace(camelizeRegExp, (_, c) => (c ? c.toUpperCase() : '')); +}); + +/** + * kebab-case to PascalCase + */ +export const pascalize = cacheStringFn((str: string): string => { + const k = camelize(str); + return k.charAt(0).toUpperCase() + k.slice(1); +}); + +const kebablizeRegExp = /\B([A-Z])/; +/** + * to kebab-case + */ +export const kebablize = cacheStringFn((str: string): string => { + return str.replace(kebablizeRegExp, '-$1').toLowerCase(); +}); diff --git a/packages/vue3-ts-mpa-starter/pnpm-lock.yaml b/packages/vue3-ts-mpa-starter/pnpm-lock.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b1cff3139e750e61181ba9d6653d5bd7b46da7f4 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/pnpm-lock.yaml @@ -0,0 +1,2646 @@ +lockfileVersion: 5.3 + +specifiers: + '@types/node': ^17.0.21 + '@typescript-eslint/eslint-plugin': ^5.13.0 + '@typescript-eslint/parser': ^5.13.0 + '@vitejs/plugin-vue': ^2.2.0 + '@vue/eslint-config-prettier': ^7.0.0 + '@vue/eslint-config-typescript': ^10.0.0 + axios: ^0.26.0 + eslint: ^8.9.0 + eslint-plugin-vue: ^8.5.0 + normalize.css: ^8.0.1 + pinia: ^2.0.11 + prettier: ^2.5.1 + sass: ^1.49.9 + typescript: ^4.5.4 + vite: ^2.8.0 + vue: ^3.2.25 + vue-router: ^4.0.13 + vue-tsc: ^0.29.8 + +dependencies: + axios: registry.npmmirror.com/axios/0.26.0 + normalize.css: registry.npmmirror.com/normalize.css/8.0.1 + pinia: registry.npmmirror.com/pinia/2.0.11_typescript@4.5.5+vue@3.2.31 + vue: registry.npmmirror.com/vue/3.2.31 + vue-router: registry.npmmirror.com/vue-router/4.0.13_vue@3.2.31 + +devDependencies: + '@types/node': registry.npmmirror.com/@types/node/17.0.21 + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.13.0_c4bb744946c8ce39a7de38090b8f76bc + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.13.0_eslint@8.9.0+typescript@4.5.5 + '@vitejs/plugin-vue': registry.npmmirror.com/@vitejs/plugin-vue/2.2.2_vite@2.8.4+vue@3.2.31 + '@vue/eslint-config-prettier': registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.9.0+prettier@2.5.1 + '@vue/eslint-config-typescript': registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_73b0c10f706bc65f10d6ca86e0685696 + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.5.0_eslint@8.9.0 + prettier: registry.npmmirror.com/prettier/2.5.1 + sass: registry.npmmirror.com/sass/1.49.9 + typescript: registry.npmmirror.com/typescript/4.5.5 + vite: registry.npmmirror.com/vite/2.8.4_sass@1.49.9 + vue-tsc: registry.npmmirror.com/vue-tsc/0.29.8_typescript@4.5.5 + +packages: + + registry.nlark.com/concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz} + name: concat-map + version: 0.0.1 + dev: true + + registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz} + name: '@babel/helper-validator-identifier' + version: 7.16.7 + engines: {node: '>=6.9.0'} + dev: true + + registry.npmmirror.com/@babel/parser/7.17.3: + resolution: {integrity: sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/parser/-/parser-7.17.3.tgz} + name: '@babel/parser' + version: 7.17.3 + engines: {node: '>=6.0.0'} + hasBin: true + + registry.npmmirror.com/@babel/types/7.17.0: + resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.17.0.tgz} + name: '@babel/types' + version: 7.17.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.npmmirror.com/@babel/helper-validator-identifier/7.16.7 + to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0 + dev: true + + registry.npmmirror.com/@emmetio/abbreviation/2.2.3: + resolution: {integrity: sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz} + name: '@emmetio/abbreviation' + version: 2.2.3 + dependencies: + '@emmetio/scanner': registry.npmmirror.com/@emmetio/scanner/1.0.0 + dev: true + + registry.npmmirror.com/@emmetio/css-abbreviation/2.1.4: + resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz} + name: '@emmetio/css-abbreviation' + version: 2.1.4 + dependencies: + '@emmetio/scanner': registry.npmmirror.com/@emmetio/scanner/1.0.0 + dev: true + + registry.npmmirror.com/@emmetio/scanner/1.0.0: + resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@emmetio/scanner/-/scanner-1.0.0.tgz} + name: '@emmetio/scanner' + version: 1.0.0 + dev: true + + registry.npmmirror.com/@eslint/eslintrc/1.1.0: + resolution: {integrity: sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz} + name: '@eslint/eslintrc' + version: 1.1.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: registry.npmmirror.com/ajv/6.12.6 + debug: registry.npmmirror.com/debug/4.3.3 + espree: registry.npmmirror.com/espree/9.3.1 + globals: registry.npmmirror.com/globals/13.12.1 + ignore: registry.npmmirror.com/ignore/4.0.6 + import-fresh: registry.npmmirror.com/import-fresh/3.3.0 + js-yaml: registry.npmmirror.com/js-yaml/4.1.0 + minimatch: registry.npmmirror.com/minimatch/3.1.2 + strip-json-comments: registry.npmmirror.com/strip-json-comments/3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@humanwhocodes/config-array/0.9.5: + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz} + name: '@humanwhocodes/config-array' + version: 0.9.5 + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': registry.npmmirror.com/@humanwhocodes/object-schema/1.2.1 + debug: registry.npmmirror.com/debug/4.3.3 + minimatch: registry.npmmirror.com/minimatch/3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz} + name: '@humanwhocodes/object-schema' + version: 1.2.1 + dev: true + + registry.npmmirror.com/@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz} + name: '@nodelib/fs.scandir' + version: 2.1.5 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 + run-parallel: registry.npmmirror.com/run-parallel/1.2.0 + dev: true + + registry.npmmirror.com/@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz} + name: '@nodelib/fs.stat' + version: 2.0.5 + engines: {node: '>= 8'} + dev: true + + registry.npmmirror.com/@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz} + name: '@nodelib/fs.walk' + version: 1.2.8 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir/2.1.5 + fastq: registry.npmmirror.com/fastq/1.13.0 + dev: true + + registry.npmmirror.com/@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.9.tgz} + name: '@types/json-schema' + version: 7.0.9 + dev: true + + registry.npmmirror.com/@types/node/17.0.21: + resolution: {integrity: sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/node/-/node-17.0.21.tgz} + name: '@types/node' + version: 17.0.21 + dev: true + + registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.13.0_c4bb744946c8ce39a7de38090b8f76bc: + resolution: {integrity: sha512-vLktb2Uec81fxm/cfz2Hd6QaWOs8qdmVAZXLdOBX6JFJDhf6oDZpMzZ4/LZ6SFM/5DgDcxIMIvy3F+O9yZBuiQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.13.0.tgz} + id: registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.13.0 + name: '@typescript-eslint/eslint-plugin' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.13.0_eslint@8.9.0+typescript@4.5.5 + '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.13.0 + '@typescript-eslint/type-utils': registry.npmmirror.com/@typescript-eslint/type-utils/5.13.0_eslint@8.9.0+typescript@4.5.5 + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.13.0_eslint@8.9.0+typescript@4.5.5 + debug: registry.npmmirror.com/debug/4.3.3 + eslint: registry.npmmirror.com/eslint/8.9.0 + functional-red-black-tree: registry.npmmirror.com/functional-red-black-tree/1.0.1 + ignore: registry.npmmirror.com/ignore/5.2.0 + regexpp: registry.npmmirror.com/regexpp/3.2.0 + semver: registry.npmmirror.com/semver/7.3.5 + tsutils: registry.npmmirror.com/tsutils/3.21.0_typescript@4.5.5 + typescript: registry.npmmirror.com/typescript/4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@typescript-eslint/parser/5.13.0_eslint@8.9.0+typescript@4.5.5: + resolution: {integrity: sha512-GdrU4GvBE29tm2RqWOM0P5QfCtgCyN4hXICj/X9ibKED16136l9ZpoJvCL5pSKtmJzA+NRDzQ312wWMejCVVfg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.13.0.tgz} + id: registry.npmmirror.com/@typescript-eslint/parser/5.13.0 + name: '@typescript-eslint/parser' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.13.0 + '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.13.0 + '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree/5.13.0_typescript@4.5.5 + debug: registry.npmmirror.com/debug/4.3.3 + eslint: registry.npmmirror.com/eslint/8.9.0 + typescript: registry.npmmirror.com/typescript/4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@typescript-eslint/scope-manager/5.13.0: + resolution: {integrity: sha512-T4N8UvKYDSfVYdmJq7g2IPJYCRzwtp74KyDZytkR4OL3NRupvswvmJQJ4CX5tDSurW2cvCc1Ia1qM7d0jpa7IA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.13.0.tgz} + name: '@typescript-eslint/scope-manager' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.13.0 + '@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys/5.13.0 + dev: true + + registry.npmmirror.com/@typescript-eslint/type-utils/5.13.0_eslint@8.9.0+typescript@4.5.5: + resolution: {integrity: sha512-/nz7qFizaBM1SuqAKb7GLkcNn2buRdDgZraXlkhz+vUGiN1NZ9LzkA595tHHeduAiS2MsHqMNhE2zNzGdw43Yg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.13.0.tgz} + id: registry.npmmirror.com/@typescript-eslint/type-utils/5.13.0 + name: '@typescript-eslint/type-utils' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/utils': registry.npmmirror.com/@typescript-eslint/utils/5.13.0_eslint@8.9.0+typescript@4.5.5 + debug: registry.npmmirror.com/debug/4.3.3 + eslint: registry.npmmirror.com/eslint/8.9.0 + tsutils: registry.npmmirror.com/tsutils/3.21.0_typescript@4.5.5 + typescript: registry.npmmirror.com/typescript/4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@typescript-eslint/types/5.13.0: + resolution: {integrity: sha512-LmE/KO6DUy0nFY/OoQU0XelnmDt+V8lPQhh8MOVa7Y5k2gGRd6U9Kp3wAjhB4OHg57tUO0nOnwYQhRRyEAyOyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.13.0.tgz} + name: '@typescript-eslint/types' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + registry.npmmirror.com/@typescript-eslint/typescript-estree/5.13.0_typescript@4.5.5: + resolution: {integrity: sha512-Q9cQow0DeLjnp5DuEDjLZ6JIkwGx3oYZe+BfcNuw/POhtpcxMTy18Icl6BJqTSd+3ftsrfuVb7mNHRZf7xiaNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.13.0.tgz} + id: registry.npmmirror.com/@typescript-eslint/typescript-estree/5.13.0 + name: '@typescript-eslint/typescript-estree' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.13.0 + '@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys/5.13.0 + debug: registry.npmmirror.com/debug/4.3.3 + globby: registry.npmmirror.com/globby/11.1.0 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + semver: registry.npmmirror.com/semver/7.3.5 + tsutils: registry.npmmirror.com/tsutils/3.21.0_typescript@4.5.5 + typescript: registry.npmmirror.com/typescript/4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/@typescript-eslint/utils/5.13.0_eslint@8.9.0+typescript@4.5.5: + resolution: {integrity: sha512-+9oHlPWYNl6AwwoEt5TQryEHwiKRVjz7Vk6kaBeD3/kwHE5YqTGHtm/JZY8Bo9ITOeKutFaXnBlMgSATMJALUQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.13.0.tgz} + id: registry.npmmirror.com/@typescript-eslint/utils/5.13.0 + name: '@typescript-eslint/utils' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': registry.npmmirror.com/@types/json-schema/7.0.9 + '@typescript-eslint/scope-manager': registry.npmmirror.com/@typescript-eslint/scope-manager/5.13.0 + '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.13.0 + '@typescript-eslint/typescript-estree': registry.npmmirror.com/@typescript-eslint/typescript-estree/5.13.0_typescript@4.5.5 + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-scope: registry.npmmirror.com/eslint-scope/5.1.1 + eslint-utils: registry.npmmirror.com/eslint-utils/3.0.0_eslint@8.9.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + registry.npmmirror.com/@typescript-eslint/visitor-keys/5.13.0: + resolution: {integrity: sha512-HLKEAS/qA1V7d9EzcpLFykTePmOQqOFim8oCvhY3pZgQ8Hi38hYpHd9e5GN6nQBFQNecNhws5wkS9Y5XIO0s/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.13.0.tgz} + name: '@typescript-eslint/visitor-keys' + version: 5.13.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.13.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0 + dev: true + + registry.npmmirror.com/@vitejs/plugin-vue/2.2.2_vite@2.8.4+vue@3.2.31: + resolution: {integrity: sha512-3C0s45VOwIFEDU+2ownJOpb0zD5fnjXWaHVOLID2R1mYOlAx3doNBFnNbVjaZvpke/L7IdPJXjpyYpXZToDKig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.2.2.tgz} + id: registry.npmmirror.com/@vitejs/plugin-vue/2.2.2 + name: '@vitejs/plugin-vue' + version: 2.2.2 + engines: {node: '>=12.0.0'} + peerDependencies: + vite: ^2.5.10 + vue: ^3.2.25 + dependencies: + vite: registry.npmmirror.com/vite/2.8.4_sass@1.49.9 + vue: registry.npmmirror.com/vue/3.2.31 + dev: true + + registry.npmmirror.com/@volar/code-gen/0.29.8: + resolution: {integrity: sha512-eohLLUqPChHRPDFT5gXn4V6pr/CeTri7Ou5GI26lUvBRRAbP8p+oYfQRcbMPGeKmVkYjfVj0chsxQGx6T8PQ4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/code-gen/-/code-gen-0.29.8.tgz} + name: '@volar/code-gen' + version: 0.29.8 + dependencies: + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.29.8 + dev: true + + registry.npmmirror.com/@volar/html2pug/0.29.8: + resolution: {integrity: sha512-bhSNXg8A2aD3w0B+CwmHjqCAaKtj5rORbE5C/q/UdGqptJbC6STCmi30KuRTdfPhR++Xb18Hauf3s/WCmtNAPA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/html2pug/-/html2pug-0.29.8.tgz} + name: '@volar/html2pug' + version: 0.29.8 + dependencies: + domelementtype: registry.npmmirror.com/domelementtype/2.2.0 + domhandler: registry.npmmirror.com/domhandler/4.3.0 + htmlparser2: registry.npmmirror.com/htmlparser2/7.2.0 + pug: registry.npmmirror.com/pug/3.0.2 + dev: true + + registry.npmmirror.com/@volar/shared/0.29.8: + resolution: {integrity: sha512-Y1NN6irkIukD+T0wf4p/dHWYL90sacN2e2lYoDXxRlvoYxwANnHgw0J0Rcp+yw58ElWRScdG7/YntEIuZWeJsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/shared/-/shared-0.29.8.tgz} + name: '@volar/shared' + version: 0.29.8 + dependencies: + upath: registry.npmmirror.com/upath/2.0.1 + vscode-jsonrpc: registry.npmmirror.com/vscode-jsonrpc/8.0.0-next.6 + vscode-uri: registry.npmmirror.com/vscode-uri/3.0.3 + dev: true + + registry.npmmirror.com/@volar/source-map/0.29.8: + resolution: {integrity: sha512-7w+UoYtnc6UQu30CgMVvx0YN4dzDgP4TIsSmUaW62AGmxU9Lxwp3Kkn/4N8efi91z8ma5Z78v/HddyJPwAC3LA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/source-map/-/source-map-0.29.8.tgz} + name: '@volar/source-map' + version: 0.29.8 + dependencies: + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + dev: true + + registry.npmmirror.com/@volar/transforms/0.29.8: + resolution: {integrity: sha512-o2hRa8CoDwYTO1Mu5KA47+1elUnYUjDaVhCvbyKlRfd8qpHea2llotArq7B6OORSL2M9DVs1IRJ5NGURBFeZ3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/transforms/-/transforms-0.29.8.tgz} + name: '@volar/transforms' + version: 0.29.8 + dependencies: + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + vscode-languageserver: registry.npmmirror.com/vscode-languageserver/8.0.0-next.8 + dev: true + + registry.npmmirror.com/@volar/vue-code-gen/0.29.8: + resolution: {integrity: sha512-E1e7P2oktNC/DzgDBditfla4s8+HlUlluZ+BtcLvEdbkl3QEjujkB0x1wxguWzXmpWgLIDPtrS3Jzll5cCOkTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@volar/vue-code-gen/-/vue-code-gen-0.29.8.tgz} + name: '@volar/vue-code-gen' + version: 0.29.8 + dependencies: + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.29.8 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.29.8 + '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 + '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + upath: registry.npmmirror.com/upath/2.0.1 + dev: true + + registry.npmmirror.com/@vscode/emmet-helper/2.8.4: + resolution: {integrity: sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vscode/emmet-helper/-/emmet-helper-2.8.4.tgz} + name: '@vscode/emmet-helper' + version: 2.8.4 + dependencies: + emmet: registry.npmmirror.com/emmet/2.3.6 + jsonc-parser: registry.npmmirror.com/jsonc-parser/2.3.1 + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.16.0 + vscode-nls: registry.npmmirror.com/vscode-nls/5.0.0 + vscode-uri: registry.npmmirror.com/vscode-uri/2.1.2 + dev: true + + registry.npmmirror.com/@vue/compiler-core/3.2.31: + resolution: {integrity: sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.31.tgz} + name: '@vue/compiler-core' + version: 3.2.31 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.3 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + estree-walker: registry.npmmirror.com/estree-walker/2.0.2 + source-map: registry.npmmirror.com/source-map/0.6.1 + + registry.npmmirror.com/@vue/compiler-dom/3.2.31: + resolution: {integrity: sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz} + name: '@vue/compiler-dom' + version: 3.2.31 + dependencies: + '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + + registry.npmmirror.com/@vue/compiler-sfc/3.2.31: + resolution: {integrity: sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz} + name: '@vue/compiler-sfc' + version: 3.2.31 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.3 + '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 + '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 + '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.31 + '@vue/reactivity-transform': registry.npmmirror.com/@vue/reactivity-transform/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + estree-walker: registry.npmmirror.com/estree-walker/2.0.2 + magic-string: registry.npmmirror.com/magic-string/0.25.7 + postcss: registry.npmmirror.com/postcss/8.4.7 + source-map: registry.npmmirror.com/source-map/0.6.1 + dev: false + + registry.npmmirror.com/@vue/compiler-ssr/3.2.31: + resolution: {integrity: sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz} + name: '@vue/compiler-ssr' + version: 3.2.31 + dependencies: + '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + dev: false + + registry.npmmirror.com/@vue/devtools-api/6.0.12: + resolution: {integrity: sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.0.12.tgz} + name: '@vue/devtools-api' + version: 6.0.12 + dev: false + + registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0_eslint@8.9.0+prettier@2.5.1: + resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz} + id: registry.npmmirror.com/@vue/eslint-config-prettier/7.0.0 + name: '@vue/eslint-config-prettier' + version: 7.0.0 + peerDependencies: + eslint: '>= 7.28.0' + prettier: '>= 2.0.0' + dependencies: + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier/8.4.0_eslint@8.9.0 + eslint-plugin-prettier: registry.npmmirror.com/eslint-plugin-prettier/4.0.0_9f62b85ce3ce02949dbd2ccffcebe95f + prettier: registry.npmmirror.com/prettier/2.5.1 + dev: true + + registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0_73b0c10f706bc65f10d6ca86e0685696: + resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/eslint-config-typescript/-/eslint-config-typescript-10.0.0.tgz} + id: registry.npmmirror.com/@vue/eslint-config-typescript/10.0.0 + name: '@vue/eslint-config-typescript' + version: 10.0.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^8.0.1 + dependencies: + '@typescript-eslint/eslint-plugin': registry.npmmirror.com/@typescript-eslint/eslint-plugin/5.13.0_c4bb744946c8ce39a7de38090b8f76bc + '@typescript-eslint/parser': registry.npmmirror.com/@typescript-eslint/parser/5.13.0_eslint@8.9.0+typescript@4.5.5 + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-plugin-vue: registry.npmmirror.com/eslint-plugin-vue/8.5.0_eslint@8.9.0 + vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.3.0_eslint@8.9.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + registry.npmmirror.com/@vue/reactivity-transform/3.2.31: + resolution: {integrity: sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz} + name: '@vue/reactivity-transform' + version: 3.2.31 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.3 + '@vue/compiler-core': registry.npmmirror.com/@vue/compiler-core/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + estree-walker: registry.npmmirror.com/estree-walker/2.0.2 + magic-string: registry.npmmirror.com/magic-string/0.25.7 + dev: false + + registry.npmmirror.com/@vue/reactivity/3.2.31: + resolution: {integrity: sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.31.tgz} + name: '@vue/reactivity' + version: 3.2.31 + dependencies: + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + + registry.npmmirror.com/@vue/runtime-core/3.2.31: + resolution: {integrity: sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.31.tgz} + name: '@vue/runtime-core' + version: 3.2.31 + dependencies: + '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + dev: false + + registry.npmmirror.com/@vue/runtime-dom/3.2.31: + resolution: {integrity: sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz} + name: '@vue/runtime-dom' + version: 3.2.31 + dependencies: + '@vue/runtime-core': registry.npmmirror.com/@vue/runtime-core/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + csstype: registry.npmmirror.com/csstype/2.6.19 + dev: false + + registry.npmmirror.com/@vue/server-renderer/3.2.31_vue@3.2.31: + resolution: {integrity: sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.31.tgz} + id: registry.npmmirror.com/@vue/server-renderer/3.2.31 + name: '@vue/server-renderer' + version: 3.2.31 + peerDependencies: + vue: 3.2.31 + dependencies: + '@vue/compiler-ssr': registry.npmmirror.com/@vue/compiler-ssr/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + vue: registry.npmmirror.com/vue/3.2.31 + dev: false + + registry.npmmirror.com/@vue/shared/3.2.31: + resolution: {integrity: sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vue/shared/-/shared-3.2.31.tgz} + name: '@vue/shared' + version: 3.2.31 + + registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.7.0: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz} + id: registry.npmmirror.com/acorn-jsx/5.3.2 + name: acorn-jsx + version: 5.3.2 + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: registry.npmmirror.com/acorn/8.7.0 + dev: true + + registry.npmmirror.com/acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz} + name: acorn + version: 7.4.1 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.npmmirror.com/acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.7.0.tgz} + name: acorn + version: 8.7.0 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.npmmirror.com/ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz} + name: ajv + version: 6.12.6 + dependencies: + fast-deep-equal: registry.npmmirror.com/fast-deep-equal/3.1.3 + fast-json-stable-stringify: registry.npmmirror.com/fast-json-stable-stringify/2.1.0 + json-schema-traverse: registry.npmmirror.com/json-schema-traverse/0.4.1 + uri-js: registry.npmmirror.com/uri-js/4.4.1 + dev: true + + registry.npmmirror.com/ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz} + name: ansi-regex + version: 5.0.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz} + name: ansi-styles + version: 4.3.0 + engines: {node: '>=8'} + dependencies: + color-convert: registry.npmmirror.com/color-convert/2.0.1 + dev: true + + registry.npmmirror.com/anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz} + name: anymatch + version: 3.1.2 + engines: {node: '>= 8'} + dependencies: + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + picomatch: registry.npmmirror.com/picomatch/2.3.1 + dev: true + + registry.npmmirror.com/argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz} + name: argparse + version: 2.0.1 + dev: true + + registry.npmmirror.com/array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz} + name: array-union + version: 2.1.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/asap/2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz} + name: asap + version: 2.0.6 + dev: true + + registry.npmmirror.com/assert-never/1.2.1: + resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/assert-never/-/assert-never-1.2.1.tgz} + name: assert-never + version: 1.2.1 + dev: true + + registry.npmmirror.com/axios/0.26.0: + resolution: {integrity: sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-0.26.0.tgz} + name: axios + version: 0.26.0 + dependencies: + follow-redirects: registry.npmmirror.com/follow-redirects/1.14.9 + transitivePeerDependencies: + - debug + dev: false + + registry.npmmirror.com/babel-walk/3.0.0-canary-5: + resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz} + name: babel-walk + version: 3.0.0-canary-5 + engines: {node: '>= 10.0.0'} + dependencies: + '@babel/types': registry.npmmirror.com/@babel/types/7.17.0 + dev: true + + registry.npmmirror.com/balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz} + name: balanced-match + version: 1.0.2 + dev: true + + registry.npmmirror.com/binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz} + name: binary-extensions + version: 2.2.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz} + name: brace-expansion + version: 1.1.11 + dependencies: + balanced-match: registry.npmmirror.com/balanced-match/1.0.2 + concat-map: registry.nlark.com/concat-map/0.0.1 + dev: true + + registry.npmmirror.com/braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz} + name: braces + version: 3.0.2 + engines: {node: '>=8'} + dependencies: + fill-range: registry.npmmirror.com/fill-range/7.0.1 + dev: true + + registry.npmmirror.com/call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz} + name: call-bind + version: 1.0.2 + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + get-intrinsic: registry.npmmirror.com/get-intrinsic/1.1.1 + dev: true + + registry.npmmirror.com/callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz} + name: callsites + version: 3.1.0 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz} + name: chalk + version: 4.1.2 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0 + supports-color: registry.npmmirror.com/supports-color/7.2.0 + dev: true + + registry.npmmirror.com/character-parser/2.2.0: + resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-parser/-/character-parser-2.2.0.tgz} + name: character-parser + version: 2.2.0 + dependencies: + is-regex: registry.npmmirror.com/is-regex/1.1.4 + dev: true + + registry.npmmirror.com/chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz} + name: chokidar + version: 3.5.3 + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: registry.npmmirror.com/anymatch/3.1.2 + braces: registry.npmmirror.com/braces/3.0.2 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + is-binary-path: registry.npmmirror.com/is-binary-path/2.1.0 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + normalize-path: registry.npmmirror.com/normalize-path/3.0.0 + readdirp: registry.npmmirror.com/readdirp/3.6.0 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz} + name: color-convert + version: 2.0.1 + engines: {node: '>=7.0.0'} + dependencies: + color-name: registry.npmmirror.com/color-name/1.1.4 + dev: true + + registry.npmmirror.com/color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} + name: color-name + version: 1.1.4 + dev: true + + registry.npmmirror.com/constantinople/4.0.1: + resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/constantinople/-/constantinople-4.0.1.tgz} + name: constantinople + version: 4.0.1 + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.17.0 + dev: true + + registry.npmmirror.com/cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz} + name: cross-spawn + version: 7.0.3 + engines: {node: '>= 8'} + dependencies: + path-key: registry.npmmirror.com/path-key/3.1.1 + shebang-command: registry.npmmirror.com/shebang-command/2.0.0 + which: registry.npmmirror.com/which/2.0.2 + dev: true + + registry.npmmirror.com/csstype/2.6.19: + resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-2.6.19.tgz} + name: csstype + version: 2.6.19 + dev: false + + registry.npmmirror.com/debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz} + name: debug + version: 4.3.3 + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: registry.npmmirror.com/ms/2.1.2 + dev: true + + registry.npmmirror.com/deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz} + name: deep-is + version: 0.1.4 + dev: true + + registry.npmmirror.com/dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz} + name: dir-glob + version: 3.0.1 + engines: {node: '>=8'} + dependencies: + path-type: registry.npmmirror.com/path-type/4.0.0 + dev: true + + registry.npmmirror.com/doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz} + name: doctrine + version: 3.0.0 + engines: {node: '>=6.0.0'} + dependencies: + esutils: registry.npmmirror.com/esutils/2.0.3 + dev: true + + registry.npmmirror.com/doctypes/1.1.0: + resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/doctypes/-/doctypes-1.1.0.tgz} + name: doctypes + version: 1.1.0 + dev: true + + registry.npmmirror.com/dom-serializer/1.3.2: + resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.3.2.tgz} + name: dom-serializer + version: 1.3.2 + dependencies: + domelementtype: registry.npmmirror.com/domelementtype/2.2.0 + domhandler: registry.npmmirror.com/domhandler/4.3.0 + entities: registry.npmmirror.com/entities/2.2.0 + dev: true + + registry.npmmirror.com/domelementtype/2.2.0: + resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domelementtype/-/domelementtype-2.2.0.tgz} + name: domelementtype + version: 2.2.0 + dev: true + + registry.npmmirror.com/domhandler/4.3.0: + resolution: {integrity: sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domhandler/-/domhandler-4.3.0.tgz} + name: domhandler + version: 4.3.0 + engines: {node: '>= 4'} + dependencies: + domelementtype: registry.npmmirror.com/domelementtype/2.2.0 + dev: true + + registry.npmmirror.com/domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz} + name: domutils + version: 2.8.0 + dependencies: + dom-serializer: registry.npmmirror.com/dom-serializer/1.3.2 + domelementtype: registry.npmmirror.com/domelementtype/2.2.0 + domhandler: registry.npmmirror.com/domhandler/4.3.0 + dev: true + + registry.npmmirror.com/emmet/2.3.6: + resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emmet/-/emmet-2.3.6.tgz} + name: emmet + version: 2.3.6 + dependencies: + '@emmetio/abbreviation': registry.npmmirror.com/@emmetio/abbreviation/2.2.3 + '@emmetio/css-abbreviation': registry.npmmirror.com/@emmetio/css-abbreviation/2.1.4 + dev: true + + registry.npmmirror.com/entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz} + name: entities + version: 2.2.0 + dev: true + + registry.npmmirror.com/entities/3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz} + name: entities + version: 3.0.1 + engines: {node: '>=0.12'} + dev: true + + registry.npmmirror.com/esbuild-android-arm64/0.14.23: + resolution: {integrity: sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz} + name: esbuild-android-arm64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-darwin-64/0.14.23: + resolution: {integrity: sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz} + name: esbuild-darwin-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-darwin-arm64/0.14.23: + resolution: {integrity: sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz} + name: esbuild-darwin-arm64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-freebsd-64/0.14.23: + resolution: {integrity: sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz} + name: esbuild-freebsd-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-freebsd-arm64/0.14.23: + resolution: {integrity: sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz} + name: esbuild-freebsd-arm64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-32/0.14.23: + resolution: {integrity: sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz} + name: esbuild-linux-32 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-64/0.14.23: + resolution: {integrity: sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz} + name: esbuild-linux-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-arm/0.14.23: + resolution: {integrity: sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz} + name: esbuild-linux-arm + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-arm64/0.14.23: + resolution: {integrity: sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz} + name: esbuild-linux-arm64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-mips64le/0.14.23: + resolution: {integrity: sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz} + name: esbuild-linux-mips64le + version: 0.14.23 + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-ppc64le/0.14.23: + resolution: {integrity: sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz} + name: esbuild-linux-ppc64le + version: 0.14.23 + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-riscv64/0.14.23: + resolution: {integrity: sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz} + name: esbuild-linux-riscv64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-linux-s390x/0.14.23: + resolution: {integrity: sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz} + name: esbuild-linux-s390x + version: 0.14.23 + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-netbsd-64/0.14.23: + resolution: {integrity: sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz} + name: esbuild-netbsd-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-openbsd-64/0.14.23: + resolution: {integrity: sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz} + name: esbuild-openbsd-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-sunos-64/0.14.23: + resolution: {integrity: sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz} + name: esbuild-sunos-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-windows-32/0.14.23: + resolution: {integrity: sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz} + name: esbuild-windows-32 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-windows-64/0.14.23: + resolution: {integrity: sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz} + name: esbuild-windows-64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild-windows-arm64/0.14.23: + resolution: {integrity: sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz} + name: esbuild-windows-arm64 + version: 0.14.23 + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/esbuild/0.14.23: + resolution: {integrity: sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild/-/esbuild-0.14.23.tgz} + name: esbuild + version: 0.14.23 + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.14.23 + esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.14.23 + esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.14.23 + esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.14.23 + esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.14.23 + esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.14.23 + esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.14.23 + esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.14.23 + esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.14.23 + esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.14.23 + esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.14.23 + esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.14.23 + esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.14.23 + esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.14.23 + esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.14.23 + esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.14.23 + esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.14.23 + esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.14.23 + esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.14.23 + dev: true + + registry.npmmirror.com/escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz} + name: escape-string-regexp + version: 4.0.0 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/eslint-config-prettier/8.4.0_eslint@8.9.0: + resolution: {integrity: sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz} + id: registry.npmmirror.com/eslint-config-prettier/8.4.0 + name: eslint-config-prettier + version: 8.4.0 + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: registry.npmmirror.com/eslint/8.9.0 + dev: true + + registry.npmmirror.com/eslint-plugin-prettier/4.0.0_9f62b85ce3ce02949dbd2ccffcebe95f: + resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz} + id: registry.npmmirror.com/eslint-plugin-prettier/4.0.0 + name: eslint-plugin-prettier + version: 4.0.0 + engines: {node: '>=6.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-config-prettier: registry.npmmirror.com/eslint-config-prettier/8.4.0_eslint@8.9.0 + prettier: registry.npmmirror.com/prettier/2.5.1 + prettier-linter-helpers: registry.npmmirror.com/prettier-linter-helpers/1.0.0 + dev: true + + registry.npmmirror.com/eslint-plugin-vue/8.5.0_eslint@8.9.0: + resolution: {integrity: sha512-i1uHCTAKOoEj12RDvdtONWrGzjFm/djkzqfhmQ0d6M/W8KM81mhswd/z+iTZ0jCpdUedW3YRgcVfQ37/J4zoYQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.5.0.tgz} + id: registry.npmmirror.com/eslint-plugin-vue/8.5.0 + name: eslint-plugin-vue + version: 8.5.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-utils: registry.npmmirror.com/eslint-utils/3.0.0_eslint@8.9.0 + natural-compare: registry.npmmirror.com/natural-compare/1.4.0 + semver: registry.npmmirror.com/semver/7.3.5 + vue-eslint-parser: registry.npmmirror.com/vue-eslint-parser/8.3.0_eslint@8.9.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz} + name: eslint-scope + version: 5.1.1 + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: registry.npmmirror.com/esrecurse/4.3.0 + estraverse: registry.npmmirror.com/estraverse/4.3.0 + dev: true + + registry.npmmirror.com/eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz} + name: eslint-scope + version: 7.1.1 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: registry.npmmirror.com/esrecurse/4.3.0 + estraverse: registry.npmmirror.com/estraverse/5.3.0 + dev: true + + registry.npmmirror.com/eslint-utils/3.0.0_eslint@8.9.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz} + id: registry.npmmirror.com/eslint-utils/3.0.0 + name: eslint-utils + version: 3.0.0 + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/2.1.0 + dev: true + + registry.npmmirror.com/eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz} + name: eslint-visitor-keys + version: 2.1.0 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz} + name: eslint-visitor-keys + version: 3.3.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + registry.npmmirror.com/eslint/8.9.0: + resolution: {integrity: sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint/-/eslint-8.9.0.tgz} + name: eslint + version: 8.9.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': registry.npmmirror.com/@eslint/eslintrc/1.1.0 + '@humanwhocodes/config-array': registry.npmmirror.com/@humanwhocodes/config-array/0.9.5 + ajv: registry.npmmirror.com/ajv/6.12.6 + chalk: registry.npmmirror.com/chalk/4.1.2 + cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3 + debug: registry.npmmirror.com/debug/4.3.3 + doctrine: registry.npmmirror.com/doctrine/3.0.0 + escape-string-regexp: registry.npmmirror.com/escape-string-regexp/4.0.0 + eslint-scope: registry.npmmirror.com/eslint-scope/7.1.1 + eslint-utils: registry.npmmirror.com/eslint-utils/3.0.0_eslint@8.9.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0 + espree: registry.npmmirror.com/espree/9.3.1 + esquery: registry.npmmirror.com/esquery/1.4.0 + esutils: registry.npmmirror.com/esutils/2.0.3 + fast-deep-equal: registry.npmmirror.com/fast-deep-equal/3.1.3 + file-entry-cache: registry.npmmirror.com/file-entry-cache/6.0.1 + functional-red-black-tree: registry.npmmirror.com/functional-red-black-tree/1.0.1 + glob-parent: registry.npmmirror.com/glob-parent/6.0.2 + globals: registry.npmmirror.com/globals/13.12.1 + ignore: registry.npmmirror.com/ignore/5.2.0 + import-fresh: registry.npmmirror.com/import-fresh/3.3.0 + imurmurhash: registry.npmmirror.com/imurmurhash/0.1.4 + is-glob: registry.npmmirror.com/is-glob/4.0.3 + js-yaml: registry.npmmirror.com/js-yaml/4.1.0 + json-stable-stringify-without-jsonify: registry.npmmirror.com/json-stable-stringify-without-jsonify/1.0.1 + levn: registry.npmmirror.com/levn/0.4.1 + lodash.merge: registry.npmmirror.com/lodash.merge/4.6.2 + minimatch: registry.npmmirror.com/minimatch/3.1.2 + natural-compare: registry.npmmirror.com/natural-compare/1.4.0 + optionator: registry.npmmirror.com/optionator/0.9.1 + regexpp: registry.npmmirror.com/regexpp/3.2.0 + strip-ansi: registry.npmmirror.com/strip-ansi/6.0.1 + strip-json-comments: registry.npmmirror.com/strip-json-comments/3.1.1 + text-table: registry.npmmirror.com/text-table/0.2.0 + v8-compile-cache: registry.npmmirror.com/v8-compile-cache/2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/espree/9.3.1: + resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/espree/-/espree-9.3.1.tgz} + name: espree + version: 9.3.1 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: registry.npmmirror.com/acorn/8.7.0 + acorn-jsx: registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.7.0 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0 + dev: true + + registry.npmmirror.com/esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz} + name: esquery + version: 1.4.0 + engines: {node: '>=0.10'} + dependencies: + estraverse: registry.npmmirror.com/estraverse/5.3.0 + dev: true + + registry.npmmirror.com/esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz} + name: esrecurse + version: 4.3.0 + engines: {node: '>=4.0'} + dependencies: + estraverse: registry.npmmirror.com/estraverse/5.3.0 + dev: true + + registry.npmmirror.com/estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz} + name: estraverse + version: 4.3.0 + engines: {node: '>=4.0'} + dev: true + + registry.npmmirror.com/estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz} + name: estraverse + version: 5.3.0 + engines: {node: '>=4.0'} + dev: true + + registry.npmmirror.com/estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz} + name: estree-walker + version: 2.0.2 + + registry.npmmirror.com/esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz} + name: esutils + version: 2.0.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz} + name: fast-deep-equal + version: 3.1.3 + dev: true + + registry.npmmirror.com/fast-diff/1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz} + name: fast-diff + version: 1.2.0 + dev: true + + registry.npmmirror.com/fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.11.tgz} + name: fast-glob + version: 3.2.11 + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5 + '@nodelib/fs.walk': registry.npmmirror.com/@nodelib/fs.walk/1.2.8 + glob-parent: registry.npmmirror.com/glob-parent/5.1.2 + merge2: registry.npmmirror.com/merge2/1.4.1 + micromatch: registry.npmmirror.com/micromatch/4.0.4 + dev: true + + registry.npmmirror.com/fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz} + name: fast-json-stable-stringify + version: 2.1.0 + dev: true + + registry.npmmirror.com/fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz} + name: fast-levenshtein + version: 2.0.6 + dev: true + + registry.npmmirror.com/fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz} + name: fastq + version: 1.13.0 + dependencies: + reusify: registry.npmmirror.com/reusify/1.0.4 + dev: true + + registry.npmmirror.com/file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz} + name: file-entry-cache + version: 6.0.1 + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: registry.npmmirror.com/flat-cache/3.0.4 + dev: true + + registry.npmmirror.com/fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz} + name: fill-range + version: 7.0.1 + engines: {node: '>=8'} + dependencies: + to-regex-range: registry.npmmirror.com/to-regex-range/5.0.1 + dev: true + + registry.npmmirror.com/flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz} + name: flat-cache + version: 3.0.4 + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: registry.npmmirror.com/flatted/3.2.5 + rimraf: registry.npmmirror.com/rimraf/3.0.2 + dev: true + + registry.npmmirror.com/flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flatted/-/flatted-3.2.5.tgz} + name: flatted + version: 3.2.5 + dev: true + + registry.npmmirror.com/follow-redirects/1.14.9: + resolution: {integrity: sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.14.9.tgz} + name: follow-redirects + version: 1.14.9 + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + registry.npmmirror.com/fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz} + name: fs.realpath + version: 1.0.0 + dev: true + + registry.npmmirror.com/fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz} + name: fsevents + version: 2.3.2 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + registry.npmmirror.com/function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz} + name: function-bind + version: 1.1.1 + dev: true + + registry.npmmirror.com/functional-red-black-tree/1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz} + name: functional-red-black-tree + version: 1.0.1 + dev: true + + registry.npmmirror.com/get-intrinsic/1.1.1: + resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz} + name: get-intrinsic + version: 1.1.1 + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + has: registry.npmmirror.com/has/1.0.3 + has-symbols: registry.npmmirror.com/has-symbols/1.0.2 + dev: true + + registry.npmmirror.com/glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz} + name: glob-parent + version: 5.1.2 + engines: {node: '>= 6'} + dependencies: + is-glob: registry.npmmirror.com/is-glob/4.0.3 + dev: true + + registry.npmmirror.com/glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz} + name: glob-parent + version: 6.0.2 + engines: {node: '>=10.13.0'} + dependencies: + is-glob: registry.npmmirror.com/is-glob/4.0.3 + dev: true + + registry.npmmirror.com/glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz} + name: glob + version: 7.2.0 + dependencies: + fs.realpath: registry.npmmirror.com/fs.realpath/1.0.0 + inflight: registry.npmmirror.com/inflight/1.0.6 + inherits: registry.npmmirror.com/inherits/2.0.4 + minimatch: registry.npmmirror.com/minimatch/3.1.2 + once: registry.npmmirror.com/once/1.4.0 + path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1 + dev: true + + registry.npmmirror.com/globals/13.12.1: + resolution: {integrity: sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/-/globals-13.12.1.tgz} + name: globals + version: 13.12.1 + engines: {node: '>=8'} + dependencies: + type-fest: registry.npmmirror.com/type-fest/0.20.2 + dev: true + + registry.npmmirror.com/globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz} + name: globby + version: 11.1.0 + engines: {node: '>=10'} + dependencies: + array-union: registry.npmmirror.com/array-union/2.1.0 + dir-glob: registry.npmmirror.com/dir-glob/3.0.1 + fast-glob: registry.npmmirror.com/fast-glob/3.2.11 + ignore: registry.npmmirror.com/ignore/5.2.0 + merge2: registry.npmmirror.com/merge2/1.4.1 + slash: registry.npmmirror.com/slash/3.0.0 + dev: true + + registry.npmmirror.com/has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz} + name: has-flag + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/has-symbols/1.0.2: + resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.2.tgz} + name: has-symbols + version: 1.0.2 + engines: {node: '>= 0.4'} + dev: true + + registry.npmmirror.com/has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz} + name: has-tostringtag + version: 1.0.0 + engines: {node: '>= 0.4'} + dependencies: + has-symbols: registry.npmmirror.com/has-symbols/1.0.2 + dev: true + + registry.npmmirror.com/has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz} + name: has + version: 1.0.3 + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: registry.npmmirror.com/function-bind/1.1.1 + dev: true + + registry.npmmirror.com/htmlparser2/7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/htmlparser2/-/htmlparser2-7.2.0.tgz} + name: htmlparser2 + version: 7.2.0 + dependencies: + domelementtype: registry.npmmirror.com/domelementtype/2.2.0 + domhandler: registry.npmmirror.com/domhandler/4.3.0 + domutils: registry.npmmirror.com/domutils/2.8.0 + entities: registry.npmmirror.com/entities/3.0.1 + dev: true + + registry.npmmirror.com/ignore/4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz} + name: ignore + version: 4.0.6 + engines: {node: '>= 4'} + dev: true + + registry.npmmirror.com/ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ignore/-/ignore-5.2.0.tgz} + name: ignore + version: 5.2.0 + engines: {node: '>= 4'} + dev: true + + registry.npmmirror.com/immutable/4.0.0: + resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immutable/-/immutable-4.0.0.tgz} + name: immutable + version: 4.0.0 + dev: true + + registry.npmmirror.com/import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz} + name: import-fresh + version: 3.3.0 + engines: {node: '>=6'} + dependencies: + parent-module: registry.npmmirror.com/parent-module/1.0.1 + resolve-from: registry.npmmirror.com/resolve-from/4.0.0 + dev: true + + registry.npmmirror.com/imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz} + name: imurmurhash + version: 0.1.4 + engines: {node: '>=0.8.19'} + dev: true + + registry.npmmirror.com/inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz} + name: inflight + version: 1.0.6 + dependencies: + once: registry.npmmirror.com/once/1.4.0 + wrappy: registry.npmmirror.com/wrappy/1.0.2 + dev: true + + registry.npmmirror.com/inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz} + name: inherits + version: 2.0.4 + dev: true + + registry.npmmirror.com/is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz} + name: is-binary-path + version: 2.1.0 + engines: {node: '>=8'} + dependencies: + binary-extensions: registry.npmmirror.com/binary-extensions/2.2.0 + dev: true + + registry.npmmirror.com/is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.8.1.tgz} + name: is-core-module + version: 2.8.1 + dependencies: + has: registry.npmmirror.com/has/1.0.3 + dev: true + + registry.npmmirror.com/is-expression/4.0.0: + resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-expression/-/is-expression-4.0.0.tgz} + name: is-expression + version: 4.0.0 + dependencies: + acorn: registry.npmmirror.com/acorn/7.4.1 + object-assign: registry.npmmirror.com/object-assign/4.1.1 + dev: true + + registry.npmmirror.com/is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz} + name: is-extglob + version: 2.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz} + name: is-glob + version: 4.0.3 + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: registry.npmmirror.com/is-extglob/2.1.1 + dev: true + + registry.npmmirror.com/is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz} + name: is-number + version: 7.0.0 + engines: {node: '>=0.12.0'} + dev: true + + registry.npmmirror.com/is-promise/2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-promise/-/is-promise-2.2.2.tgz} + name: is-promise + version: 2.2.2 + dev: true + + registry.npmmirror.com/is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz} + name: is-regex + version: 1.1.4 + engines: {node: '>= 0.4'} + dependencies: + call-bind: registry.npmmirror.com/call-bind/1.0.2 + has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0 + dev: true + + registry.npmmirror.com/isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz} + name: isexe + version: 2.0.0 + dev: true + + registry.npmmirror.com/js-stringify/1.0.2: + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-stringify/-/js-stringify-1.0.2.tgz} + name: js-stringify + version: 1.0.2 + dev: true + + registry.npmmirror.com/js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz} + name: js-yaml + version: 4.1.0 + hasBin: true + dependencies: + argparse: registry.npmmirror.com/argparse/2.0.1 + dev: true + + registry.npmmirror.com/json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz} + name: json-schema-traverse + version: 0.4.1 + dev: true + + registry.npmmirror.com/json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz} + name: json-stable-stringify-without-jsonify + version: 1.0.1 + dev: true + + registry.npmmirror.com/jsonc-parser/2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz} + name: jsonc-parser + version: 2.3.1 + dev: true + + registry.npmmirror.com/jsonc-parser/3.0.0: + resolution: {integrity: sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz} + name: jsonc-parser + version: 3.0.0 + dev: true + + registry.npmmirror.com/jstransformer/1.0.0: + resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jstransformer/-/jstransformer-1.0.0.tgz} + name: jstransformer + version: 1.0.0 + dependencies: + is-promise: registry.npmmirror.com/is-promise/2.2.2 + promise: registry.npmmirror.com/promise/7.3.1 + dev: true + + registry.npmmirror.com/levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz} + name: levn + version: 0.4.1 + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1 + type-check: registry.npmmirror.com/type-check/0.4.0 + dev: true + + registry.npmmirror.com/lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz} + name: lodash.merge + version: 4.6.2 + dev: true + + registry.npmmirror.com/lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz} + name: lodash + version: 4.17.21 + dev: true + + registry.npmmirror.com/lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz} + name: lru-cache + version: 6.0.0 + engines: {node: '>=10'} + dependencies: + yallist: registry.npmmirror.com/yallist/4.0.0 + dev: true + + registry.npmmirror.com/magic-string/0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/magic-string/-/magic-string-0.25.7.tgz} + name: magic-string + version: 0.25.7 + dependencies: + sourcemap-codec: registry.npmmirror.com/sourcemap-codec/1.4.8 + dev: false + + registry.npmmirror.com/merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz} + name: merge2 + version: 1.4.1 + engines: {node: '>= 8'} + dev: true + + registry.npmmirror.com/micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromatch/-/micromatch-4.0.4.tgz} + name: micromatch + version: 4.0.4 + engines: {node: '>=8.6'} + dependencies: + braces: registry.npmmirror.com/braces/3.0.2 + picomatch: registry.npmmirror.com/picomatch/2.3.1 + dev: true + + registry.npmmirror.com/minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz} + name: minimatch + version: 3.1.2 + dependencies: + brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11 + dev: true + + registry.npmmirror.com/ms/2.1.2: + resolution: {integrity: sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz} + name: ms + version: 2.1.2 + dev: true + + registry.npmmirror.com/nanoid/3.3.1: + resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.1.tgz} + name: nanoid + version: 3.3.1 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + registry.npmmirror.com/natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz} + name: natural-compare + version: 1.4.0 + dev: true + + registry.npmmirror.com/normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz} + name: normalize-path + version: 3.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/normalize.css/8.0.1: + resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize.css/-/normalize.css-8.0.1.tgz} + name: normalize.css + version: 8.0.1 + dev: false + + registry.npmmirror.com/object-assign/4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz} + name: object-assign + version: 4.1.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz} + name: once + version: 1.4.0 + dependencies: + wrappy: registry.npmmirror.com/wrappy/1.0.2 + dev: true + + registry.npmmirror.com/optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz} + name: optionator + version: 0.9.1 + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: registry.npmmirror.com/deep-is/0.1.4 + fast-levenshtein: registry.npmmirror.com/fast-levenshtein/2.0.6 + levn: registry.npmmirror.com/levn/0.4.1 + prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1 + type-check: registry.npmmirror.com/type-check/0.4.0 + word-wrap: registry.npmmirror.com/word-wrap/1.2.3 + dev: true + + registry.npmmirror.com/parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz} + name: parent-module + version: 1.0.1 + engines: {node: '>=6'} + dependencies: + callsites: registry.npmmirror.com/callsites/3.1.0 + dev: true + + registry.npmmirror.com/path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz} + name: path-is-absolute + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz} + name: path-key + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz} + name: path-parse + version: 1.0.7 + dev: true + + registry.npmmirror.com/path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz} + name: path-type + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz} + name: picocolors + version: 1.0.0 + + registry.npmmirror.com/picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz} + name: picomatch + version: 2.3.1 + engines: {node: '>=8.6'} + dev: true + + registry.npmmirror.com/pinia/2.0.11_typescript@4.5.5+vue@3.2.31: + resolution: {integrity: sha512-JzcmnMqu28PNWOjDgEDK6fTrIzX8eQZKPPKvu/fpHdpXARUj1xeVdFi3YFIMOWswqaBd589cpmAMdSSTryI9iw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pinia/-/pinia-2.0.11.tgz} + id: registry.npmmirror.com/pinia/2.0.11 + name: pinia + version: 2.0.11 + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.0.12 + typescript: registry.npmmirror.com/typescript/4.5.5 + vue: registry.npmmirror.com/vue/3.2.31 + vue-demi: registry.npmmirror.com/vue-demi/0.12.1_vue@3.2.31 + dev: false + + registry.npmmirror.com/postcss/8.4.7: + resolution: {integrity: sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/postcss/-/postcss-8.4.7.tgz} + name: postcss + version: 8.4.7 + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: registry.npmmirror.com/nanoid/3.3.1 + picocolors: registry.npmmirror.com/picocolors/1.0.0 + source-map-js: registry.npmmirror.com/source-map-js/1.0.2 + + registry.npmmirror.com/prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz} + name: prelude-ls + version: 1.2.1 + engines: {node: '>= 0.8.0'} + dev: true + + registry.npmmirror.com/prettier-linter-helpers/1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz} + name: prettier-linter-helpers + version: 1.0.0 + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: registry.npmmirror.com/fast-diff/1.2.0 + dev: true + + registry.npmmirror.com/prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier/-/prettier-2.5.1.tgz} + name: prettier + version: 2.5.1 + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + registry.npmmirror.com/promise/7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/promise/-/promise-7.3.1.tgz} + name: promise + version: 7.3.1 + dependencies: + asap: registry.npmmirror.com/asap/2.0.6 + dev: true + + registry.npmmirror.com/pug-attrs/3.0.0: + resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-attrs/-/pug-attrs-3.0.0.tgz} + name: pug-attrs + version: 3.0.0 + dependencies: + constantinople: registry.npmmirror.com/constantinople/4.0.1 + js-stringify: registry.npmmirror.com/js-stringify/1.0.2 + pug-runtime: registry.npmmirror.com/pug-runtime/3.0.1 + dev: true + + registry.npmmirror.com/pug-code-gen/3.0.2: + resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz} + name: pug-code-gen + version: 3.0.2 + dependencies: + constantinople: registry.npmmirror.com/constantinople/4.0.1 + doctypes: registry.npmmirror.com/doctypes/1.1.0 + js-stringify: registry.npmmirror.com/js-stringify/1.0.2 + pug-attrs: registry.npmmirror.com/pug-attrs/3.0.0 + pug-error: registry.npmmirror.com/pug-error/2.0.0 + pug-runtime: registry.npmmirror.com/pug-runtime/3.0.1 + void-elements: registry.npmmirror.com/void-elements/3.1.0 + with: registry.npmmirror.com/with/7.0.2 + dev: true + + registry.npmmirror.com/pug-error/2.0.0: + resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-error/-/pug-error-2.0.0.tgz} + name: pug-error + version: 2.0.0 + dev: true + + registry.npmmirror.com/pug-filters/4.0.0: + resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-filters/-/pug-filters-4.0.0.tgz} + name: pug-filters + version: 4.0.0 + dependencies: + constantinople: registry.npmmirror.com/constantinople/4.0.1 + jstransformer: registry.npmmirror.com/jstransformer/1.0.0 + pug-error: registry.npmmirror.com/pug-error/2.0.0 + pug-walk: registry.npmmirror.com/pug-walk/2.0.0 + resolve: registry.npmmirror.com/resolve/1.22.0 + dev: true + + registry.npmmirror.com/pug-lexer/5.0.1: + resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-lexer/-/pug-lexer-5.0.1.tgz} + name: pug-lexer + version: 5.0.1 + dependencies: + character-parser: registry.npmmirror.com/character-parser/2.2.0 + is-expression: registry.npmmirror.com/is-expression/4.0.0 + pug-error: registry.npmmirror.com/pug-error/2.0.0 + dev: true + + registry.npmmirror.com/pug-linker/4.0.0: + resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-linker/-/pug-linker-4.0.0.tgz} + name: pug-linker + version: 4.0.0 + dependencies: + pug-error: registry.npmmirror.com/pug-error/2.0.0 + pug-walk: registry.npmmirror.com/pug-walk/2.0.0 + dev: true + + registry.npmmirror.com/pug-load/3.0.0: + resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-load/-/pug-load-3.0.0.tgz} + name: pug-load + version: 3.0.0 + dependencies: + object-assign: registry.npmmirror.com/object-assign/4.1.1 + pug-walk: registry.npmmirror.com/pug-walk/2.0.0 + dev: true + + registry.npmmirror.com/pug-parser/6.0.0: + resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-parser/-/pug-parser-6.0.0.tgz} + name: pug-parser + version: 6.0.0 + dependencies: + pug-error: registry.npmmirror.com/pug-error/2.0.0 + token-stream: registry.npmmirror.com/token-stream/1.0.0 + dev: true + + registry.npmmirror.com/pug-runtime/3.0.1: + resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-runtime/-/pug-runtime-3.0.1.tgz} + name: pug-runtime + version: 3.0.1 + dev: true + + registry.npmmirror.com/pug-strip-comments/2.0.0: + resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz} + name: pug-strip-comments + version: 2.0.0 + dependencies: + pug-error: registry.npmmirror.com/pug-error/2.0.0 + dev: true + + registry.npmmirror.com/pug-walk/2.0.0: + resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug-walk/-/pug-walk-2.0.0.tgz} + name: pug-walk + version: 2.0.0 + dev: true + + registry.npmmirror.com/pug/3.0.2: + resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pug/-/pug-3.0.2.tgz} + name: pug + version: 3.0.2 + dependencies: + pug-code-gen: registry.npmmirror.com/pug-code-gen/3.0.2 + pug-filters: registry.npmmirror.com/pug-filters/4.0.0 + pug-lexer: registry.npmmirror.com/pug-lexer/5.0.1 + pug-linker: registry.npmmirror.com/pug-linker/4.0.0 + pug-load: registry.npmmirror.com/pug-load/3.0.0 + pug-parser: registry.npmmirror.com/pug-parser/6.0.0 + pug-runtime: registry.npmmirror.com/pug-runtime/3.0.1 + pug-strip-comments: registry.npmmirror.com/pug-strip-comments/2.0.0 + dev: true + + registry.npmmirror.com/punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz} + name: punycode + version: 2.1.1 + engines: {node: '>=6'} + dev: true + + registry.npmmirror.com/queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz} + name: queue-microtask + version: 1.2.3 + dev: true + + registry.npmmirror.com/readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz} + name: readdirp + version: 3.6.0 + engines: {node: '>=8.10.0'} + dependencies: + picomatch: registry.npmmirror.com/picomatch/2.3.1 + dev: true + + registry.npmmirror.com/regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz} + name: regexpp + version: 3.2.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/request-light/0.5.7: + resolution: {integrity: sha512-i/wKzvcx7Er8tZnvqSxWuNO5ZGggu2UgZAqj/RyZ0si7lBTXL7kZiI/dWxzxnQjaY7s5HEy1qK21Do4Ncr6cVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/request-light/-/request-light-0.5.7.tgz} + name: request-light + version: 0.5.7 + dev: true + + registry.npmmirror.com/resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz} + name: resolve-from + version: 4.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz} + name: resolve + version: 1.22.0 + hasBin: true + dependencies: + is-core-module: registry.npmmirror.com/is-core-module/2.8.1 + path-parse: registry.npmmirror.com/path-parse/1.0.7 + supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0 + dev: true + + registry.npmmirror.com/reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz} + name: reusify + version: 1.0.4 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz} + name: rimraf + version: 3.0.2 + hasBin: true + dependencies: + glob: registry.npmmirror.com/glob/7.2.0 + dev: true + + registry.npmmirror.com/rollup/2.68.0: + resolution: {integrity: sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.68.0.tgz} + name: rollup + version: 2.68.0 + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz} + name: run-parallel + version: 1.2.0 + dependencies: + queue-microtask: registry.npmmirror.com/queue-microtask/1.2.3 + dev: true + + registry.npmmirror.com/sass/1.49.9: + resolution: {integrity: sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sass/-/sass-1.49.9.tgz} + name: sass + version: 1.49.9 + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: registry.npmmirror.com/chokidar/3.5.3 + immutable: registry.npmmirror.com/immutable/4.0.0 + source-map-js: registry.npmmirror.com/source-map-js/1.0.2 + dev: true + + registry.npmmirror.com/semver/7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.5.tgz} + name: semver + version: 7.3.5 + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: registry.npmmirror.com/lru-cache/6.0.0 + dev: true + + registry.npmmirror.com/shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz} + name: shebang-command + version: 2.0.0 + engines: {node: '>=8'} + dependencies: + shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0 + dev: true + + registry.npmmirror.com/shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz} + name: shebang-regex + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz} + name: slash + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz} + name: source-map-js + version: 1.0.2 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} + name: source-map + version: 0.6.1 + engines: {node: '>=0.10.0'} + + registry.npmmirror.com/sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz} + name: sourcemap-codec + version: 1.4.8 + dev: false + + registry.npmmirror.com/strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz} + name: strip-ansi + version: 6.0.1 + engines: {node: '>=8'} + dependencies: + ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1 + dev: true + + registry.npmmirror.com/strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz} + name: strip-json-comments + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.npmmirror.com/supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz} + name: supports-color + version: 7.2.0 + engines: {node: '>=8'} + dependencies: + has-flag: registry.npmmirror.com/has-flag/4.0.0 + dev: true + + registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz} + name: supports-preserve-symlinks-flag + version: 1.0.0 + engines: {node: '>= 0.4'} + dev: true + + registry.npmmirror.com/text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz} + name: text-table + version: 0.2.0 + dev: true + + registry.npmmirror.com/to-fast-properties/2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz} + name: to-fast-properties + version: 2.0.0 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz} + name: to-regex-range + version: 5.0.1 + engines: {node: '>=8.0'} + dependencies: + is-number: registry.npmmirror.com/is-number/7.0.0 + dev: true + + registry.npmmirror.com/token-stream/1.0.0: + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/token-stream/-/token-stream-1.0.0.tgz} + name: token-stream + version: 1.0.0 + dev: true + + registry.npmmirror.com/tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz} + name: tslib + version: 1.14.1 + dev: true + + registry.npmmirror.com/tsutils/3.21.0_typescript@4.5.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz} + id: registry.npmmirror.com/tsutils/3.21.0 + name: tsutils + version: 3.21.0 + engines: {node: '>= 6'} + peerDependencies: + 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' + dependencies: + tslib: registry.npmmirror.com/tslib/1.14.1 + typescript: registry.npmmirror.com/typescript/4.5.5 + dev: true + + registry.npmmirror.com/type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz} + name: type-check + version: 0.4.0 + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1 + dev: true + + registry.npmmirror.com/type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz} + name: type-fest + version: 0.20.2 + engines: {node: '>=10'} + dev: true + + registry.npmmirror.com/typescript/4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz} + name: typescript + version: 4.5.5 + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + registry.npmmirror.com/upath/2.0.1: + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/upath/-/upath-2.0.1.tgz} + name: upath + version: 2.0.1 + engines: {node: '>=4'} + dev: true + + registry.npmmirror.com/uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz} + name: uri-js + version: 4.4.1 + dependencies: + punycode: registry.npmmirror.com/punycode/2.1.1 + dev: true + + registry.npmmirror.com/v8-compile-cache/2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz} + name: v8-compile-cache + version: 2.3.0 + dev: true + + registry.npmmirror.com/vite/2.8.4_sass@1.49.9: + resolution: {integrity: sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-2.8.4.tgz} + id: registry.npmmirror.com/vite/2.8.4 + name: vite + version: 2.8.4 + engines: {node: '>=12.2.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + dependencies: + esbuild: registry.npmmirror.com/esbuild/0.14.23 + postcss: registry.npmmirror.com/postcss/8.4.7 + resolve: registry.npmmirror.com/resolve/1.22.0 + rollup: registry.npmmirror.com/rollup/2.68.0 + sass: registry.npmmirror.com/sass/1.49.9 + optionalDependencies: + fsevents: registry.npmmirror.com/fsevents/2.3.2 + dev: true + + registry.npmmirror.com/void-elements/3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz} + name: void-elements + version: 3.1.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/vscode-css-languageservice/5.1.13: + resolution: {integrity: sha512-FA0foqMzMmEoO0WJP+MjoD4dRERhKS+Ag+yBrtmWQDmw2OuZ1R/5FkvI/XdTkCpHmTD9VMczugpHRejQyTXCNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-css-languageservice/-/vscode-css-languageservice-5.1.13.tgz} + name: vscode-css-languageservice + version: 5.1.13 + dependencies: + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.16.0 + vscode-nls: registry.npmmirror.com/vscode-nls/5.0.0 + vscode-uri: registry.npmmirror.com/vscode-uri/3.0.3 + dev: true + + registry.npmmirror.com/vscode-html-languageservice/4.2.2: + resolution: {integrity: sha512-4ICwlpplGbiNQq6D/LZr4qLbPZuMmnSQeX/57UAYP7jD1LOvKeru4lVI+f6d6Eyd7uS46nLJ5DUY4AAlq35C0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-html-languageservice/-/vscode-html-languageservice-4.2.2.tgz} + name: vscode-html-languageservice + version: 4.2.2 + dependencies: + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.16.0 + vscode-nls: registry.npmmirror.com/vscode-nls/5.0.0 + vscode-uri: registry.npmmirror.com/vscode-uri/3.0.3 + dev: true + + registry.npmmirror.com/vscode-json-languageservice/4.2.0: + resolution: {integrity: sha512-XNawv0Vdy/sUK0S+hGf7cq/qsVAbIniGJr89TvZOqMCNJmpgKTy1e8PL1aWW0uy6BfWMG7vxa5lZb3ypuFtuGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.0.tgz} + name: vscode-json-languageservice + version: 4.2.0 + dependencies: + jsonc-parser: registry.npmmirror.com/jsonc-parser/3.0.0 + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.16.0 + vscode-nls: registry.npmmirror.com/vscode-nls/5.0.0 + vscode-uri: registry.npmmirror.com/vscode-uri/3.0.3 + dev: true + + registry.npmmirror.com/vscode-jsonrpc/8.0.0-next.6: + resolution: {integrity: sha512-6Ld3RYjygn5Ih7CkAtcAwiDQC+rakj2O+PnASfNyYv3sLmm44eJpEKzuPUN30Iy2UB09AZg8T6LBKWTJTEJDVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.6.tgz} + name: vscode-jsonrpc + version: 8.0.0-next.6 + engines: {node: '>=14.0.0'} + dev: true + + registry.npmmirror.com/vscode-languageserver-protocol/3.17.0-next.14: + resolution: {integrity: sha512-iangobY8dL6sFZkOx4OhRPJM9gN0I1caUsOVR+MnPozsqQUtwMXmbIcfaIf0Akp0pd3KhJDPf/tdwRX68QGeeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.14.tgz} + name: vscode-languageserver-protocol + version: 3.17.0-next.14 + dependencies: + vscode-jsonrpc: registry.npmmirror.com/vscode-jsonrpc/8.0.0-next.6 + vscode-languageserver-types: registry.npmmirror.com/vscode-languageserver-types/3.17.0-next.7 + dev: true + + registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4: + resolution: {integrity: sha512-/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz} + name: vscode-languageserver-textdocument + version: 1.0.4 + dev: true + + registry.npmmirror.com/vscode-languageserver-types/3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz} + name: vscode-languageserver-types + version: 3.16.0 + dev: true + + registry.npmmirror.com/vscode-languageserver-types/3.17.0-next.7: + resolution: {integrity: sha512-KH4zdG1qBXxoso61ChgpeoZYyHGJo8bV7Jv4I+fwQ1Ryy59JAxoZ9GAbhR5TeeafHctLcg6RFvY3m8Jqfu17cg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.7.tgz} + name: vscode-languageserver-types + version: 3.17.0-next.7 + dev: true + + registry.npmmirror.com/vscode-languageserver/8.0.0-next.8: + resolution: {integrity: sha512-Gq0uqKbOgw7YNwPxMoNCeh7mHKMhG5j6EuoSh+w5pnKd7Eu9a74cagqf9aZDVFWW6GRpqR/Z+1o6EXqDK+g2Tg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-languageserver/-/vscode-languageserver-8.0.0-next.8.tgz} + name: vscode-languageserver + version: 8.0.0-next.8 + hasBin: true + dependencies: + vscode-languageserver-protocol: registry.npmmirror.com/vscode-languageserver-protocol/3.17.0-next.14 + dev: true + + registry.npmmirror.com/vscode-nls/5.0.0: + resolution: {integrity: sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-nls/-/vscode-nls-5.0.0.tgz} + name: vscode-nls + version: 5.0.0 + dev: true + + registry.npmmirror.com/vscode-pug-languageservice/0.29.8: + resolution: {integrity: sha512-QHYAzDSJLg7GOLxCZ12qsM0dAM0dPeMSS1t4kKfzLsfpErmZpFzkAIXbidVrNMdMffGZMtTuIlcpEyWHbx96Iw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-pug-languageservice/-/vscode-pug-languageservice-0.29.8.tgz} + name: vscode-pug-languageservice + version: 0.29.8 + dependencies: + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.29.8 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.29.8 + '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.29.8 + pug-lexer: registry.npmmirror.com/pug-lexer/5.0.1 + pug-parser: registry.npmmirror.com/pug-parser/6.0.0 + vscode-languageserver: registry.npmmirror.com/vscode-languageserver/8.0.0-next.8 + dev: true + + registry.npmmirror.com/vscode-typescript-languageservice/0.29.8: + resolution: {integrity: sha512-eecDqHk4WjEvy6VHQ6teHczppQ9yJO2wExCy7yu7WiFj35qbw0h4G6Erv46MvP3ClL8FggFzD7s1qM6vdqJUfw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.29.8.tgz} + name: vscode-typescript-languageservice + version: 0.29.8 + dependencies: + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + semver: registry.npmmirror.com/semver/7.3.5 + upath: registry.npmmirror.com/upath/2.0.1 + vscode-languageserver: registry.npmmirror.com/vscode-languageserver/8.0.0-next.8 + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + dev: true + + registry.npmmirror.com/vscode-uri/2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-uri/-/vscode-uri-2.1.2.tgz} + name: vscode-uri + version: 2.1.2 + dev: true + + registry.npmmirror.com/vscode-uri/3.0.3: + resolution: {integrity: sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.3.tgz} + name: vscode-uri + version: 3.0.3 + dev: true + + registry.npmmirror.com/vscode-vue-languageservice/0.29.8: + resolution: {integrity: sha512-qSJdvW5ttyGUB/8uWDKgo8vnIoFnXYlBP4Z/cn54btsRn6ZMw7IJGJU1381e7p/yGvMTLeGbugD53SghbnSa6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vscode-vue-languageservice/-/vscode-vue-languageservice-0.29.8.tgz} + name: vscode-vue-languageservice + version: 0.29.8 + dependencies: + '@volar/code-gen': registry.npmmirror.com/@volar/code-gen/0.29.8 + '@volar/html2pug': registry.npmmirror.com/@volar/html2pug/0.29.8 + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + '@volar/source-map': registry.npmmirror.com/@volar/source-map/0.29.8 + '@volar/transforms': registry.npmmirror.com/@volar/transforms/0.29.8 + '@volar/vue-code-gen': registry.npmmirror.com/@volar/vue-code-gen/0.29.8 + '@vscode/emmet-helper': registry.npmmirror.com/@vscode/emmet-helper/2.8.4 + '@vue/reactivity': registry.npmmirror.com/@vue/reactivity/3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + request-light: registry.npmmirror.com/request-light/0.5.7 + upath: registry.npmmirror.com/upath/2.0.1 + vscode-css-languageservice: registry.npmmirror.com/vscode-css-languageservice/5.1.13 + vscode-html-languageservice: registry.npmmirror.com/vscode-html-languageservice/4.2.2 + vscode-json-languageservice: registry.npmmirror.com/vscode-json-languageservice/4.2.0 + vscode-languageserver: registry.npmmirror.com/vscode-languageserver/8.0.0-next.8 + vscode-languageserver-textdocument: registry.npmmirror.com/vscode-languageserver-textdocument/1.0.4 + vscode-pug-languageservice: registry.npmmirror.com/vscode-pug-languageservice/0.29.8 + vscode-typescript-languageservice: registry.npmmirror.com/vscode-typescript-languageservice/0.29.8 + dev: true + + registry.npmmirror.com/vue-demi/0.12.1_vue@3.2.31: + resolution: {integrity: sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.12.1.tgz} + id: registry.npmmirror.com/vue-demi/0.12.1 + name: vue-demi + version: 0.12.1 + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: registry.npmmirror.com/vue/3.2.31 + dev: false + + registry.npmmirror.com/vue-eslint-parser/8.3.0_eslint@8.9.0: + resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz} + id: registry.npmmirror.com/vue-eslint-parser/8.3.0 + name: vue-eslint-parser + version: 8.3.0 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: registry.npmmirror.com/debug/4.3.3 + eslint: registry.npmmirror.com/eslint/8.9.0 + eslint-scope: registry.npmmirror.com/eslint-scope/7.1.1 + eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0 + espree: registry.npmmirror.com/espree/9.3.1 + esquery: registry.npmmirror.com/esquery/1.4.0 + lodash: registry.npmmirror.com/lodash/4.17.21 + semver: registry.npmmirror.com/semver/7.3.5 + transitivePeerDependencies: + - supports-color + dev: true + + registry.npmmirror.com/vue-router/4.0.13_vue@3.2.31: + resolution: {integrity: sha512-LmXrC+BkDRLak+d5xTMgUYraT3Nj0H/vCbP+7usGvIl9Viqd1UP6AsP0i69pSbn9O0dXK/xCdp4yPw21HqV9Jw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-router/-/vue-router-4.0.13.tgz} + id: registry.npmmirror.com/vue-router/4.0.13 + name: vue-router + version: 4.0.13 + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': registry.npmmirror.com/@vue/devtools-api/6.0.12 + vue: registry.npmmirror.com/vue/3.2.31 + dev: false + + registry.npmmirror.com/vue-tsc/0.29.8_typescript@4.5.5: + resolution: {integrity: sha512-pT0wLRjvRuSmB+J4WJT6uuV9mO0KtSSXEAtaVXZQzyk5+DJdbLIQTbRce/TXSkfqt1l1WogO78RjtOJFiMCgfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.29.8.tgz} + id: registry.npmmirror.com/vue-tsc/0.29.8 + name: vue-tsc + version: 0.29.8 + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/shared': registry.npmmirror.com/@volar/shared/0.29.8 + typescript: registry.npmmirror.com/typescript/4.5.5 + vscode-vue-languageservice: registry.npmmirror.com/vscode-vue-languageservice/0.29.8 + dev: true + + registry.npmmirror.com/vue/3.2.31: + resolution: {integrity: sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue/-/vue-3.2.31.tgz} + name: vue + version: 3.2.31 + dependencies: + '@vue/compiler-dom': registry.npmmirror.com/@vue/compiler-dom/3.2.31 + '@vue/compiler-sfc': registry.npmmirror.com/@vue/compiler-sfc/3.2.31 + '@vue/runtime-dom': registry.npmmirror.com/@vue/runtime-dom/3.2.31 + '@vue/server-renderer': registry.npmmirror.com/@vue/server-renderer/3.2.31_vue@3.2.31 + '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.31 + dev: false + + registry.npmmirror.com/which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz} + name: which + version: 2.0.2 + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: registry.npmmirror.com/isexe/2.0.0 + dev: true + + registry.npmmirror.com/with/7.0.2: + resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/with/-/with-7.0.2.tgz} + name: with + version: 7.0.2 + engines: {node: '>= 10.0.0'} + dependencies: + '@babel/parser': registry.npmmirror.com/@babel/parser/7.17.3 + '@babel/types': registry.npmmirror.com/@babel/types/7.17.0 + assert-never: registry.npmmirror.com/assert-never/1.2.1 + babel-walk: registry.npmmirror.com/babel-walk/3.0.0-canary-5 + dev: true + + registry.npmmirror.com/word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz} + name: word-wrap + version: 1.2.3 + engines: {node: '>=0.10.0'} + dev: true + + registry.npmmirror.com/wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz} + name: wrappy + version: 1.0.2 + dev: true + + registry.npmmirror.com/yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz} + name: yallist + version: 4.0.0 + dev: true diff --git a/packages/vue3-ts-mpa-starter/pnpm-workspace.yaml b/packages/vue3-ts-mpa-starter/pnpm-workspace.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4340350e1930270896b893f39423c1680da82fcb --- /dev/null +++ b/packages/vue3-ts-mpa-starter/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/*' \ No newline at end of file diff --git a/packages/vue3-ts-mpa-starter/tsconfig.json b/packages/vue3-ts-mpa-starter/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..e45ff994b3067ae6a64d69b39c6eafa2e68c2481 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"], + "baseUrl": ".", + "paths": { + "@/*": ["packages/*"], + "@demo/*": ["packages/demo/src/*"], + } + }, + "include": [ + "packages/*/src/**/*.ts", + "packages/*/src/**/*.ts", + "packages/*/src/**/*.d.ts", + "packages/*/src/**/*.tsx", + "packages/*/src/**/*.vue" + ], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/vue3-ts-starter/tsconfig.node.json b/packages/vue3-ts-mpa-starter/tsconfig.node.json similarity index 100% rename from vue3-ts-starter/tsconfig.node.json rename to packages/vue3-ts-mpa-starter/tsconfig.node.json diff --git a/packages/vue3-ts-mpa-starter/vite.config.ts b/packages/vue3-ts-mpa-starter/vite.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..87a1c494ca2ed8278ec60f81cd4f92fa68b9d1b4 --- /dev/null +++ b/packages/vue3-ts-mpa-starter/vite.config.ts @@ -0,0 +1,32 @@ +import path from 'path'; +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; + +// https://vitejs.dev/config/ +export default defineConfig({ + base: './', + root: './packages', + build: { + rollupOptions: { + input: { + demo: './packages/demo/index.html', + }, + }, + outDir: '../dist', + }, + resolve: { + alias: { + '@/': `${path.resolve(__dirname, './packages')}/`, + '@demo/': `${path.resolve(__dirname, './packages/demo/src')}/`, + }, + }, + plugins: [vue()], + server: { + proxy: { + '/courses': { + target: 'https://api.test.osinfra.cn/metadata/v1/metadata/infrastructure/playground-meta/', + changeOrigin: true, + }, + }, + }, +}); diff --git a/vue3-ts-starter/.eslintrc.js b/packages/vue3-ts-starter/.eslintrc.js similarity index 100% rename from vue3-ts-starter/.eslintrc.js rename to packages/vue3-ts-starter/.eslintrc.js diff --git a/packages/vue3-ts-starter/.gitignore b/packages/vue3-ts-starter/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..91a98a316c313e3cb27b9673b08d02da6427d6a9 --- /dev/null +++ b/packages/vue3-ts-starter/.gitignore @@ -0,0 +1,119 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# mac +.DS_Store diff --git a/packages/vue3-ts-starter/.prettierrc.js b/packages/vue3-ts-starter/.prettierrc.js new file mode 100644 index 0000000000000000000000000000000000000000..68b61bd84f8ce26c59444a428810dc066808f1ab --- /dev/null +++ b/packages/vue3-ts-starter/.prettierrc.js @@ -0,0 +1,5 @@ +module.exports = { + singleQuote: true, + printWidth: 160, + trailingComma: 'es5', +}; diff --git a/packages/vue3-ts-starter/LICENSE b/packages/vue3-ts-starter/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..21b2a72f86c89d421e801589539dfe57fdfc6237 --- /dev/null +++ b/packages/vue3-ts-starter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 devin-cwd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vue3-ts-starter/README.en.md b/packages/vue3-ts-starter/README.en.md similarity index 100% rename from vue3-ts-starter/README.en.md rename to packages/vue3-ts-starter/README.en.md diff --git a/vue3-ts-starter/README.md b/packages/vue3-ts-starter/README.md similarity index 100% rename from vue3-ts-starter/README.md rename to packages/vue3-ts-starter/README.md diff --git a/vue3-ts-starter/index.html b/packages/vue3-ts-starter/index.html similarity index 100% rename from vue3-ts-starter/index.html rename to packages/vue3-ts-starter/index.html diff --git a/vue3-ts-starter/package.json b/packages/vue3-ts-starter/package.json similarity index 96% rename from vue3-ts-starter/package.json rename to packages/vue3-ts-starter/package.json index 8c26ac2d0e910a8ef7d3fef18c7a608cb73477a2..ecac3beab38b24c86601b076ff58e77eace0b732 100644 --- a/vue3-ts-starter/package.json +++ b/packages/vue3-ts-starter/package.json @@ -1,5 +1,5 @@ { - "name": "vue3-starter", + "name": "vue3-ts-starter", "private": true, "version": "0.0.0", "scripts": { diff --git a/vue3-ts-starter/pnpm-lock.yaml b/packages/vue3-ts-starter/pnpm-lock.yaml similarity index 100% rename from vue3-ts-starter/pnpm-lock.yaml rename to packages/vue3-ts-starter/pnpm-lock.yaml diff --git a/packages/vue3-ts-starter/public/favicon.ico b/packages/vue3-ts-starter/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..ba6134a0ab94b8dd83d098e059d3c4dd93dd1041 Binary files /dev/null and b/packages/vue3-ts-starter/public/favicon.ico differ diff --git a/packages/vue3-ts-starter/src/App.vue b/packages/vue3-ts-starter/src/App.vue new file mode 100644 index 0000000000000000000000000000000000000000..920e66cb91cdeff4a2949ea23ca69fc51f76e356 --- /dev/null +++ b/packages/vue3-ts-starter/src/App.vue @@ -0,0 +1,19 @@ + + + + + diff --git a/vue3-ts-starter/src/api/demo.ts b/packages/vue3-ts-starter/src/api/demo.ts similarity index 100% rename from vue3-ts-starter/src/api/demo.ts rename to packages/vue3-ts-starter/src/api/demo.ts diff --git a/packages/vue3-ts-starter/src/assets/logo.png b/packages/vue3-ts-starter/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b8af86025b8f27fa3b2539300b24a0487895f Binary files /dev/null and b/packages/vue3-ts-starter/src/assets/logo.png differ diff --git a/packages/vue3-ts-starter/src/assets/svg-icons/alert-circle.svg b/packages/vue3-ts-starter/src/assets/svg-icons/alert-circle.svg new file mode 100644 index 0000000000000000000000000000000000000000..8d02b7d16e3a27b674f4c9d5fb1d3e2cd5d8d216 --- /dev/null +++ b/packages/vue3-ts-starter/src/assets/svg-icons/alert-circle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/vue3-ts-starter/src/assets/svg-icons/arrow-right.svg b/packages/vue3-ts-starter/src/assets/svg-icons/arrow-right.svg new file mode 100644 index 0000000000000000000000000000000000000000..939b57c5b54ecebb4a34168643726e264846f71b --- /dev/null +++ b/packages/vue3-ts-starter/src/assets/svg-icons/arrow-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/vue3-ts-starter/src/assets/svg-icons/plus.svg b/packages/vue3-ts-starter/src/assets/svg-icons/plus.svg new file mode 100644 index 0000000000000000000000000000000000000000..703c5b7b238e48a62e16037db25c694c59435cb8 --- /dev/null +++ b/packages/vue3-ts-starter/src/assets/svg-icons/plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/vue3-ts-starter/src/assets/svg-icons/x.svg b/packages/vue3-ts-starter/src/assets/svg-icons/x.svg new file mode 100644 index 0000000000000000000000000000000000000000..7d5875ca8bc55cc694d351e16203eb462a08d3d0 --- /dev/null +++ b/packages/vue3-ts-starter/src/assets/svg-icons/x.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/vue3-ts-starter/src/components/AppHeader.vue b/packages/vue3-ts-starter/src/components/AppHeader.vue new file mode 100644 index 0000000000000000000000000000000000000000..66cf38160a33d5793e59545492af4e696025b81e --- /dev/null +++ b/packages/vue3-ts-starter/src/components/AppHeader.vue @@ -0,0 +1,61 @@ + + + diff --git a/packages/vue3-ts-starter/src/components/SvgIcon.vue b/packages/vue3-ts-starter/src/components/SvgIcon.vue new file mode 100644 index 0000000000000000000000000000000000000000..24f4789174fa0c6f43ffe53673994ce517c05601 --- /dev/null +++ b/packages/vue3-ts-starter/src/components/SvgIcon.vue @@ -0,0 +1,51 @@ + + + diff --git a/packages/vue3-ts-starter/src/env.d.ts b/packages/vue3-ts-starter/src/env.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..86f5534c7091e201a2712cd25eff2c21708809d0 --- /dev/null +++ b/packages/vue3-ts-starter/src/env.d.ts @@ -0,0 +1,8 @@ +// / + +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/vue3-ts-starter/src/main.ts b/packages/vue3-ts-starter/src/main.ts similarity index 100% rename from vue3-ts-starter/src/main.ts rename to packages/vue3-ts-starter/src/main.ts diff --git a/vue3-ts-starter/src/pages/demo/TheDemo.vue b/packages/vue3-ts-starter/src/pages/demo/TheDemo.vue similarity index 100% rename from vue3-ts-starter/src/pages/demo/TheDemo.vue rename to packages/vue3-ts-starter/src/pages/demo/TheDemo.vue diff --git a/vue3-ts-starter/src/pages/demo/sub-demo/SubDemo.vue b/packages/vue3-ts-starter/src/pages/demo/sub-demo/SubDemo.vue similarity index 100% rename from vue3-ts-starter/src/pages/demo/sub-demo/SubDemo.vue rename to packages/vue3-ts-starter/src/pages/demo/sub-demo/SubDemo.vue diff --git a/vue3-ts-starter/src/router.ts b/packages/vue3-ts-starter/src/router.ts similarity index 100% rename from vue3-ts-starter/src/router.ts rename to packages/vue3-ts-starter/src/router.ts diff --git a/packages/vue3-ts-starter/src/shared/axios/handleError.ts b/packages/vue3-ts-starter/src/shared/axios/handleError.ts new file mode 100644 index 0000000000000000000000000000000000000000..d7da71389f2be4de4335b80fb58ec7acd9317c23 --- /dev/null +++ b/packages/vue3-ts-starter/src/shared/axios/handleError.ts @@ -0,0 +1,54 @@ +import type { AxiosError } from 'axios'; + +export default (err: AxiosError) => { + const { response } = err; + if(response) { + if (!response.status) { + err.code = ''; + err.message = '有response但没有response.status的情况'; + } + err.code = String(response.status); + switch (response && response.status) { + case 200: + err.message = '错误响应也会有状态码为200的情况'; + break; + case 400: + err.message = '请求错误(400)'; + break; + case 401: + err.message = '未授权,请重新登录(401)'; + break; + case 403: + err.message = '拒绝访问(403)'; + break; + case 404: + err.message = '请求出错(404)'; + break; + case 408: + err.message = '请求超时(408)'; + break; + case 500: + err.message = '服务器错误(500)'; + break; + case 501: + err.message = '服务未实现(501)'; + break; + case 502: + err.message = '网络错误(502)'; + break; + case 503: + err.message = '服务不可用(503)'; + break; + case 504: + err.message = '网络超时(504)'; + break; + case 505: + err.message = 'HTTP版本不受支持(505)'; + break; + default: + err.message = `连接出错,状态码:(${response.status})!`; + } + } + + return err; +}; diff --git a/packages/vue3-ts-starter/src/shared/axios/handleResponse.ts b/packages/vue3-ts-starter/src/shared/axios/handleResponse.ts new file mode 100644 index 0000000000000000000000000000000000000000..693c2d5911cdb08551fd81299682498da36a42cf --- /dev/null +++ b/packages/vue3-ts-starter/src/shared/axios/handleResponse.ts @@ -0,0 +1,39 @@ +import type { AxiosResponse } from 'axios'; +// 处理响应错误码 +export default (response: AxiosResponse) => { + const { status } = response; + // 如果http响应状态码response.status正常,则直接返回数据 + if ((status >= 200 && status <= 300) || status === 304) { + return response; + } + // status不正常的话,根据与后端约定好的code,做出对应的提示与处理 + // 返回一个带有code和message属性的对象 + else { + const code = parseInt(response.data && response.data.code); + // msg为服务端返回的错误信息,字段名服务端自定义,此处以msg为例 + let message = (response.data || {}).msg; + + switch (code) { + case 400: + break; + case 4001: + message = message || '登录设备数量超出限制'; + break; + case 403: + message = message || '未登录'; + break; + case 404: + message = message || '请求地址错误'; + break; + case 412: + message = message || '未找到有效session'; + break; + default: + break; + } + return { + code, + message, + }; + } +}; diff --git a/packages/vue3-ts-starter/src/shared/axios/index.ts b/packages/vue3-ts-starter/src/shared/axios/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..870936a4eb2197bca85a3e9b4ffa5a36984c0c16 --- /dev/null +++ b/packages/vue3-ts-starter/src/shared/axios/index.ts @@ -0,0 +1,161 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import axios from 'axios'; +import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosStatic } from 'axios'; +import handleResponse from './handleResponse'; +import handleError from './handleError'; +import setConfig from './setConfig'; + +interface RequestConfig extends AxiosRequestConfig { + data?: D; + global?: boolean // 是否为全局请求, 全局请求在清除请求池时,不清除 +} + +interface RequestInstance extends AxiosInstance { + removeRequestInterceptor():void, + removeResponseInterceptor():void, + clearPendingPool(whiteList: Array): Array | null, + getUri(config?: RequestConfig): string; + request, D = any>(config: RequestConfig): Promise; + get, D = any>(url: string, config?: RequestConfig): Promise; + delete, D = any>(url: string, config?: RequestConfig): Promise; + head, D = any>(url: string, config?: RequestConfig): Promise; + options, D = any>(url: string, config?: RequestConfig): Promise; + post, D = any>(url: string, data?: D, config?: RequestConfig): Promise; + put, D = any>(url: string, data?: D, config?: RequestConfig): Promise; + patch, D = any>(url: string, data?: D, config?: RequestConfig): Promise; +} + +/** + * request是基于axios创建的实例,实例只有常见的数据请求方法,没有axios.isCancel/ axios.CancelToken等方法, + * 也就是没有**取消请求**和**批量请求**的方法。 + * 所以如果需要在实例中调用取消某个请求的方法(例如取消上传),请用intactRequest。 + */ +const intactRequest: AxiosStatic = setConfig(axios); +const request: RequestInstance = (intactRequest.create() as RequestInstance); + +// 请求中的api +const pendingPool: Map = new Map(); + +/** + * 请求拦截 + */ +const requestInterceptorId = request.interceptors.request.use( + (config: AxiosRequestConfig) => { + // 存储请求信息 + // request.config = Object.assign({}, config); + // 定义取消请求 + config.cancelToken = new axios.CancelToken((cancelFn) => { + if(!config.url) { + return; + } + // 如果已请求,则取消重复请求 + if(pendingPool.has(config.url)) { + cancelFn(`${config.url}请求重复`); + } else { + // 存储到请求池 + pendingPool.set(config.url, { + cancelFn, + global: (config as RequestConfig).global, + }); + } + }); + return config; + }, + (err: AxiosError) => { + Promise.reject(err); + }, +); + +/** + * 响应拦截 + */ +const responseInterceptorId = request.interceptors.response.use( + (response: AxiosResponse) => { + const { config } = response; + // 请求完成,移除请求池 + if(config.url) { + pendingPool.delete(config.url); + } + + return Promise.resolve(handleResponse(response)); + }, + (err: AxiosError) => { + const { config } = err; + + // 非取消请求发生异常,同样将请求移除请求池 + if (!axios.isCancel(err) && config.url) { + pendingPool.delete(config.url); + } + + if (err.response) { + err = handleError(err); + } + // 没有response(没有状态码)的情况 + // 如: 超时;断网;请求重复被取消;主动取消请求; + else { + // 被取消的请求 + if (axios.isCancel(err)) { + throw new axios.Cancel( + err.message || `请求'${config.url}'被取消`, + ); + } else if (err.stack && err.stack.includes('timeout')) { + err.message = '请求超时!'; + } else { + err.message = '连接服务器失败!'; + } + } + return Promise.reject(err); + }, +); +// 移除全局的请求拦截器 +function removeRequestInterceptor () { + request.interceptors.request.eject(requestInterceptorId); +} + +// 移除全局的响应拦截器 +function removeResponseInterceptor () { + request.interceptors.response.eject(responseInterceptorId); +} + +/** + * 清除所有pending状态的请求 + * @param {Array} whiteList 白名单,里面的请求不会被取消 + * 返回值 被取消了的api请求 + * 可以在路由变化时取消当前所有非全局的pending状态的请求 + */ +function clearPendingPool (whiteList: Array = []) { + if (!pendingPool.size) { + return null; + } + + const pendingUrlList: Array = Array.from(pendingPool.keys()).filter( + (url: string) => !whiteList.includes(url), + ); + if (!pendingUrlList.length) { + return null; + } + + pendingUrlList.forEach((pendingUrl) => { + // 清除掉所有非全局的pending状态下的请求 + if (!pendingPool.get(pendingUrl).global) { + pendingPool.get(pendingUrl).cancelFn(); + pendingPool.delete(pendingUrl); + } + }); + + return pendingUrlList; +} + +request.removeRequestInterceptor = removeRequestInterceptor; +request.removeResponseInterceptor = removeResponseInterceptor; +request.clearPendingPool = clearPendingPool; + + +export { + intactRequest, + request, + // interface + AxiosResponse, + RequestConfig, + RequestInstance, +}; diff --git a/packages/vue3-ts-starter/src/shared/axios/setConfig.ts b/packages/vue3-ts-starter/src/shared/axios/setConfig.ts new file mode 100644 index 0000000000000000000000000000000000000000..8072e351a1b72fd2bcdfac9ce54654fe16e9c2ab --- /dev/null +++ b/packages/vue3-ts-starter/src/shared/axios/setConfig.ts @@ -0,0 +1,17 @@ +import type { AxiosStatic } from 'axios'; + +/** + * @param {axios} axios实例 + * @param {config} 自定义配置对象,可覆盖掉默认的自定义配置 + */ +export default (axios: AxiosStatic, config = {}) => { + const defaultConfig = { + baseURL: '', + timeout: 20000, + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + }, + }; + Object.assign(axios.defaults, defaultConfig, config); + return axios; +}; diff --git a/packages/vue3-ts-starter/src/shared/styles/base.scss b/packages/vue3-ts-starter/src/shared/styles/base.scss new file mode 100644 index 0000000000000000000000000000000000000000..c518136db088e3d79a691e23e04c374c0e54f09a --- /dev/null +++ b/packages/vue3-ts-starter/src/shared/styles/base.scss @@ -0,0 +1,46 @@ +@import "normalize.css"; + +/* base */ +html, +body { + width: 100%; + height: 100%; + margin: 0; + padding: 0; + -webkit-text-size-adjust: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + + box-sizing: border-box; + font-family: "HarmonyOS Sans", "HarmonyOS Sans SC", "HarmonyOS Sans Web", + "HarmonyOS Sans SC Web", -apple-system, BlinkMacSystemFont, "Segoe UI", + Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* user-select: none; */ +} + +body { + overflow-x: hidden; + overflow-y: auto; +} + +*, +:after, +:before { + box-sizing: inherit; + margin: 0; + padding: 0; +} + +img { + vertical-align: top; +} + +[tabindex] { + outline: none; +} + +a { + text-decoration: none; +} diff --git a/packages/vue3-ts-starter/src/stores/counter.ts b/packages/vue3-ts-starter/src/stores/counter.ts new file mode 100644 index 0000000000000000000000000000000000000000..0ade93fce9322cbce2127dd084898695f77bdbfc --- /dev/null +++ b/packages/vue3-ts-starter/src/stores/counter.ts @@ -0,0 +1,11 @@ +import { defineStore } from 'pinia'; +import { ref } from 'vue'; + +export const useCounter = defineStore('counter', () => { + const count = ref(0); + const increment = () => { + count.value++; + }; + + return { count, increment }; +}); diff --git a/vue3-ts-starter/tsconfig.json b/packages/vue3-ts-starter/tsconfig.json similarity index 100% rename from vue3-ts-starter/tsconfig.json rename to packages/vue3-ts-starter/tsconfig.json diff --git a/packages/vue3-ts-starter/tsconfig.node.json b/packages/vue3-ts-starter/tsconfig.node.json new file mode 100644 index 0000000000000000000000000000000000000000..a0c7a49609d40b6cc0ca339c4ad74b694a24c7be --- /dev/null +++ b/packages/vue3-ts-starter/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "module": "esnext", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "types": ["node"] + }, + "include": ["vite.config.ts"] +} diff --git a/vue3-ts-starter/vite.config.ts b/packages/vue3-ts-starter/vite.config.ts similarity index 100% rename from vue3-ts-starter/vite.config.ts rename to packages/vue3-ts-starter/vite.config.ts