From 4c0f939d211ff495b69d4e299b2b619444265662 Mon Sep 17 00:00:00 2001 From: genffy <1506972+genffy@users.noreply.github.com> Date: Wed, 16 Feb 2022 16:25:07 +0800 Subject: [PATCH] test: add env variable demo (#127) --- .gitignore | 2 +- .../router-host/.env.development | 2 + .../vue3-advanced-demo/router-host/.env.pro | 2 + .../router-host/.env.staging | 2 + .../vue3-advanced-demo/router-host/index.html | 2 +- .../router-host/package.json | 7 +- .../router-host/src/App.vue | 4 +- .../router-host/vite.config.ts | 81 +++++--- .../router-remote/.env.development | 2 + .../vue3-advanced-demo/router-remote/.env.pro | 2 + .../router-remote/.env.staging | 2 + .../router-remote/index.html | 2 +- .../router-remote/package.json | 8 +- .../router-remote/public/.gitignore | 1 + .../src/components/ProductList.vue | 5 + .../router-remote/vite.config.ts | 96 +++++---- .../home/package.json | 2 +- .../layout/package.json | 2 +- .../home/package.json | 2 +- .../layout/package.json | 2 +- pnpm-lock.yaml | 196 ++++++++++++++++++ 21 files changed, 342 insertions(+), 82 deletions(-) create mode 100644 packages/examples/vue3-advanced-demo/router-host/.env.development create mode 100644 packages/examples/vue3-advanced-demo/router-host/.env.pro create mode 100644 packages/examples/vue3-advanced-demo/router-host/.env.staging create mode 100644 packages/examples/vue3-advanced-demo/router-remote/.env.development create mode 100644 packages/examples/vue3-advanced-demo/router-remote/.env.pro create mode 100644 packages/examples/vue3-advanced-demo/router-remote/.env.staging create mode 100644 packages/examples/vue3-advanced-demo/router-remote/public/.gitignore diff --git a/.gitignore b/.gitignore index ba52698f..b7f2362a 100644 --- a/.gitignore +++ b/.gitignore @@ -104,7 +104,7 @@ dist .tern-port .idea - +.DS_Store package-lock.json launch.json diff --git a/packages/examples/vue3-advanced-demo/router-host/.env.development b/packages/examples/vue3-advanced-demo/router-host/.env.development new file mode 100644 index 00000000..c4c55257 --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-host/.env.development @@ -0,0 +1,2 @@ +NODE_ENV=development +VITE_APP_TITLE=My App (development) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-host/.env.pro b/packages/examples/vue3-advanced-demo/router-host/.env.pro new file mode 100644 index 00000000..ad8f33a3 --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-host/.env.pro @@ -0,0 +1,2 @@ +NODE_ENV=production +VITE_APP_TITLE=My App (pro) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-host/.env.staging b/packages/examples/vue3-advanced-demo/router-host/.env.staging new file mode 100644 index 00000000..d02ea0ae --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-host/.env.staging @@ -0,0 +1,2 @@ +NODE_ENV=production +VITE_APP_TITLE=My App (staging) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-host/index.html b/packages/examples/vue3-advanced-demo/router-host/index.html index 4937875c..78d13ddb 100644 --- a/packages/examples/vue3-advanced-demo/router-host/index.html +++ b/packages/examples/vue3-advanced-demo/router-host/index.html @@ -4,7 +4,7 @@ - Vite App + <%= title %>
diff --git a/packages/examples/vue3-advanced-demo/router-host/package.json b/packages/examples/vue3-advanced-demo/router-host/package.json index d0f00a17..23f10ae8 100644 --- a/packages/examples/vue3-advanced-demo/router-host/package.json +++ b/packages/examples/vue3-advanced-demo/router-host/package.json @@ -8,7 +8,9 @@ "build": "vite build", "clean": "rm -rf dist", "stop": "kill-port --port 5004", - "restart": "yarn stop & yarn build & yarn serve" + "restart": "yarn stop & yarn build & yarn serve", + "staging": "vite build --mode=staging", + "pro": "vite build --mode=pro" }, "dependencies": { "element-plus": "^1.1.0-beta.20", @@ -19,6 +21,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^1.3.0", "@vue/compiler-sfc": "^3.2.0", - "vite": "^2.5.0" + "vite": "^2.5.0", + "vite-plugin-html": "^3.0.6" } } diff --git a/packages/examples/vue3-advanced-demo/router-host/src/App.vue b/packages/examples/vue3-advanced-demo/router-host/src/App.vue index 1d8c71bf..8812848f 100644 --- a/packages/examples/vue3-advanced-demo/router-host/src/App.vue +++ b/packages/examples/vue3-advanced-demo/router-host/src/App.vue @@ -120,7 +120,9 @@ export default { } state.showMenu = !noMenu.includes(to.path) state.currentPath = to.path - document.title = api.pathMap[to.name] + if(to.name && api.pathMap[to.name]) { + document.title = api.pathMap[to.name] + } }) onUnmounted(() => { diff --git a/packages/examples/vue3-advanced-demo/router-host/vite.config.ts b/packages/examples/vue3-advanced-demo/router-host/vite.config.ts index dfba19ba..be0c56c5 100644 --- a/packages/examples/vue3-advanced-demo/router-host/vite.config.ts +++ b/packages/examples/vue3-advanced-demo/router-host/vite.config.ts @@ -1,39 +1,52 @@ -import {defineConfig} from "vite"; +import { defineConfig, loadEnv } from "vite"; import vue from "@vitejs/plugin-vue"; import federation from "@originjs/vite-plugin-federation"; - +import { createHtmlPlugin } from 'vite-plugin-html' // https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue(), - federation({ - name: "router-host", - filename: "remoteEntry.js", - remotes: { - "router-remote": "http://localhost:5005/assets/remoteEntry.js", - }, - shared: ["vue", "vue-router", "element-plus", "vuex"] - }) - ], - // optimizeDeps:{ - // include: ["element-plus"] - // }, +export default defineConfig(({ mode }) => { + const root = process.cwd() + + const env = loadEnv(mode, root) + return { + plugins: [ + vue(), + federation({ + name: "router-host", + filename: "remoteEntry.js", + remotes: { + "router-remote": "http://localhost:5105/assets/remoteEntry.js", + }, + shared: ["vue", "vue-router", "element-plus", "vuex"] + }), + createHtmlPlugin({ + inject: { + // Inject data into ejs template + data: { + title: env.VITE_APP_TITLE, + }, + }, + }), + ], + // optimizeDeps:{ + // include: ["element-plus"] + // }, - // 解决 const Home = {template: '

Home

'} 类组件无法在 vue-router 中显示的问题 - resolve:{ - alias:{ - vue : 'vue/dist/vue.esm-bundler.js', - 'vue-router': 'vue-router/dist/vue-router.esm-bundler.js' - } - }, - build: { - target: 'esnext', - minify: false, - cssCodeSplit: true, - rollupOptions: { - output: { - minifyInternalExports: false + // 解决 const Home = {template: '

Home

'} 类组件无法在 vue-router 中显示的问题 + resolve: { + alias: { + vue: 'vue/dist/vue.esm-bundler.js', + 'vue-router': 'vue-router/dist/vue-router.esm-bundler.js' + } + }, + build: { + target: 'esnext', + minify: false, + cssCodeSplit: true, + rollupOptions: { + output: { + minifyInternalExports: false + } } - } - }, -}); + }, + } +}) diff --git a/packages/examples/vue3-advanced-demo/router-remote/.env.development b/packages/examples/vue3-advanced-demo/router-remote/.env.development new file mode 100644 index 00000000..c4c55257 --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-remote/.env.development @@ -0,0 +1,2 @@ +NODE_ENV=development +VITE_APP_TITLE=My App (development) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-remote/.env.pro b/packages/examples/vue3-advanced-demo/router-remote/.env.pro new file mode 100644 index 00000000..ad8f33a3 --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-remote/.env.pro @@ -0,0 +1,2 @@ +NODE_ENV=production +VITE_APP_TITLE=My App (pro) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-remote/.env.staging b/packages/examples/vue3-advanced-demo/router-remote/.env.staging new file mode 100644 index 00000000..d02ea0ae --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-remote/.env.staging @@ -0,0 +1,2 @@ +NODE_ENV=production +VITE_APP_TITLE=My App (staging) \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-remote/index.html b/packages/examples/vue3-advanced-demo/router-remote/index.html index 4c204cc4..25cb76a4 100644 --- a/packages/examples/vue3-advanced-demo/router-remote/index.html +++ b/packages/examples/vue3-advanced-demo/router-remote/index.html @@ -4,7 +4,7 @@ - Vite App + <%= title %>
diff --git a/packages/examples/vue3-advanced-demo/router-remote/package.json b/packages/examples/vue3-advanced-demo/router-remote/package.json index 3ad00898..cfec3595 100644 --- a/packages/examples/vue3-advanced-demo/router-remote/package.json +++ b/packages/examples/vue3-advanced-demo/router-remote/package.json @@ -8,7 +8,9 @@ "build": "vite build", "clean": "rm -rf dist", "stop": "kill-port --port 5005", - "restart": "yarn stop & yarn build & yarn serve" + "restart": "yarn stop & yarn build & yarn serve", + "staging": "vite build --mode=staging", + "pro": "vite build --mode=pro" }, "dependencies": { "echarts": "^5.2.1", @@ -21,7 +23,9 @@ "@rollup/plugin-replace": "^3.0.0", "@vitejs/plugin-vue": "^1.3.0", "@vue/compiler-sfc": "^3.2.0", + "rollup-plugin-copy": "^3.4.0", "unplugin-element-plus": "0.1.0", - "vite": "^2.5.0" + "vite": "^2.5.0", + "vite-plugin-html": "^3.0.6" } } diff --git a/packages/examples/vue3-advanced-demo/router-remote/public/.gitignore b/packages/examples/vue3-advanced-demo/router-remote/public/.gitignore new file mode 100644 index 00000000..f40fe050 --- /dev/null +++ b/packages/examples/vue3-advanced-demo/router-remote/public/.gitignore @@ -0,0 +1 @@ +assets \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-remote/src/components/ProductList.vue b/packages/examples/vue3-advanced-demo/router-remote/src/components/ProductList.vue index 93678418..f4418ffe 100644 --- a/packages/examples/vue3-advanced-demo/router-remote/src/components/ProductList.vue +++ b/packages/examples/vue3-advanced-demo/router-remote/src/components/ProductList.vue @@ -48,3 +48,8 @@ export default { // } } + \ No newline at end of file diff --git a/packages/examples/vue3-advanced-demo/router-remote/vite.config.ts b/packages/examples/vue3-advanced-demo/router-remote/vite.config.ts index 8e291b82..ba3085e4 100644 --- a/packages/examples/vue3-advanced-demo/router-remote/vite.config.ts +++ b/packages/examples/vue3-advanced-demo/router-remote/vite.config.ts @@ -1,45 +1,69 @@ -import {defineConfig} from 'vite' +import { defineConfig, loadEnv } from 'vite' import vue from '@vitejs/plugin-vue' import federation from "@originjs/vite-plugin-federation"; import ElementPlus from 'unplugin-element-plus/vite' - +import copy from 'rollup-plugin-copy' +import { createHtmlPlugin } from 'vite-plugin-html' // https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - // @rollup/plugin-replace 无法对打包后的代码进行 replace - // replace({ - // 'createBaseVNode,': 'createBaseVNode,createBaseVNode as createElementVNode' - // }), +export default defineConfig(({ mode }) => { + const root = process.cwd() + + const env = loadEnv(mode, root) + console.log(env); + return { + plugins: [ + // @rollup/plugin-replace 无法对打包后的代码进行 replace + // replace({ + // 'createBaseVNode,': 'createBaseVNode,createBaseVNode as createElementVNode' + // }), - // @rollup/plugin-legacy 针对源码生成导出的,非本场景 + // @rollup/plugin-legacy 针对源码生成导出的,非本场景 - ElementPlus(), - vue(), - federation({ - name: 'router-remote', - filename: 'remoteEntry.js', - exposes: { - './ElementPlus': './src/components/ElementPlus.vue', - './ElSubMenuDashboard': './src/components/ElSubMenuDashboard.vue', - './Login': './src/views/Login.vue', - './Footer': './src/components/Footer.vue', - './Header': './src/components/Header.vue', - './ProductList': './src/components/ProductList.vue', - './ShoppingCart': './src/components/ShoppingCart.vue' - }, - shared: ["vue", "vue-router", "element-plus", "vuex"] - }) - ], - build: { - polyfillModulePreload: false, - assetsInlineLimit: 40960, - target: 'esnext', - minify: false, - cssCodeSplit: false, - rollupOptions: { - // external: ["vue"], - output: { - minifyInternalExports: false + ElementPlus(), + vue(), + federation({ + name: 'router-remote', + filename: 'remoteEntry.js', + exposes: { + './ElementPlus': './src/components/ElementPlus.vue', + './ElSubMenuDashboard': './src/components/ElSubMenuDashboard.vue', + './Login': './src/views/Login.vue', + './Footer': './src/components/Footer.vue', + './Header': './src/components/Header.vue', + './ProductList': './src/components/ProductList.vue', + './ShoppingCart': './src/components/ShoppingCart.vue' + }, + shared: ["vue", "vue-router", "element-plus", "vuex"] + }), + createHtmlPlugin({ + inject: { + // Inject data into ejs template + data: { + title: env.VITE_APP_TITLE, + }, + }, + }), + copy({ + targets: [ + { + src: 'dist/assets', + dest: 'public', + }, + ], + hook: 'writeBundle', // notice here + }), + ], + build: { + polyfillModulePreload: false, + assetsInlineLimit: 40960, + target: 'esnext', + minify: false, + cssCodeSplit: false, + rollupOptions: { + // external: ["vue"], + output: { + minifyInternalExports: false + } } } } diff --git a/packages/examples/vue3-demo-webpack-esm-var/home/package.json b/packages/examples/vue3-demo-webpack-esm-var/home/package.json index 11f7854b..838deae7 100644 --- a/packages/examples/vue3-demo-webpack-esm-var/home/package.json +++ b/packages/examples/vue3-demo-webpack-esm-var/home/package.json @@ -1,5 +1,5 @@ { - "name": "@vue3-demo/home", + "name": "@vue3-demo/home-wbp-esm-war", "private": true, "version": "1.0.0", "scripts": { diff --git a/packages/examples/vue3-demo-webpack-esm-var/layout/package.json b/packages/examples/vue3-demo-webpack-esm-var/layout/package.json index f15889e7..daddd9e8 100644 --- a/packages/examples/vue3-demo-webpack-esm-var/layout/package.json +++ b/packages/examples/vue3-demo-webpack-esm-var/layout/package.json @@ -1,5 +1,5 @@ { - "name": "@vue3-demo/layout-esm", + "name": "@vue3-demo/layout-wbp-esm-var", "private": true, "version": "1.0.0", "scripts": { diff --git a/packages/examples/vue3-demo-webpack-systemjs/home/package.json b/packages/examples/vue3-demo-webpack-systemjs/home/package.json index 11f7854b..59cfce67 100644 --- a/packages/examples/vue3-demo-webpack-systemjs/home/package.json +++ b/packages/examples/vue3-demo-webpack-systemjs/home/package.json @@ -1,5 +1,5 @@ { - "name": "@vue3-demo/home", + "name": "@vue3-demo/home-wbp-systemjs", "private": true, "version": "1.0.0", "scripts": { diff --git a/packages/examples/vue3-demo-webpack-systemjs/layout/package.json b/packages/examples/vue3-demo-webpack-systemjs/layout/package.json index f15889e7..c86bec08 100644 --- a/packages/examples/vue3-demo-webpack-systemjs/layout/package.json +++ b/packages/examples/vue3-demo-webpack-systemjs/layout/package.json @@ -1,5 +1,5 @@ { - "name": "@vue3-demo/layout-esm", + "name": "@vue3-demo/layout-wbp-systemjs", "private": true, "version": "1.0.0", "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 702d1fa9..8874b693 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -351,6 +351,7 @@ importers: '@vue/compiler-sfc': ^3.2.0 element-plus: ^1.1.0-beta.20 vite: ^2.5.0 + vite-plugin-html: ^3.0.6 vue: ^3.2.0 vue-router: ^4.0.12 vuex: ^4.0.2 @@ -363,6 +364,7 @@ importers: '@vitejs/plugin-vue': 1.10.1_vite@2.6.14 '@vue/compiler-sfc': 3.2.23 vite: 2.6.14 + vite-plugin-html: 3.0.6_vite@2.6.14 packages/examples/vue3-advanced-demo/router-remote: specifiers: @@ -371,8 +373,10 @@ importers: '@vue/compiler-sfc': ^3.2.0 echarts: ^5.2.1 element-plus: ^1.1.0-beta.20 + rollup-plugin-copy: ^3.4.0 unplugin-element-plus: 0.1.0 vite: ^2.5.0 + vite-plugin-html: ^3.0.6 vue: ^3.2.0 vue-router: ^4.0.12 vuex: ^4.0.2 @@ -386,8 +390,10 @@ importers: '@rollup/plugin-replace': 3.0.0 '@vitejs/plugin-vue': 1.10.1_vite@2.6.14 '@vue/compiler-sfc': 3.2.23 + rollup-plugin-copy: 3.4.0 unplugin-element-plus: 0.1.0_vite@2.6.14+vue@3.2.23 vite: 2.6.14 + vite-plugin-html: 3.0.6_vite@2.6.14 packages/examples/vue3-demo-esm: specifiers: @@ -3282,6 +3288,14 @@ packages: picomatch: 2.3.0 dev: true + /@rollup/pluginutils/4.1.2: + resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.0 + dev: true + /@sinonjs/commons/1.8.3: resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} dependencies: @@ -3354,6 +3368,19 @@ packages: resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} dev: true + /@types/fs-extra/8.1.2: + resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} + dependencies: + '@types/node': 16.11.11 + dev: true + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 3.0.5 + '@types/node': 16.11.11 + dev: true + /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: @@ -4325,6 +4352,10 @@ packages: resolution: {integrity: sha512-Pj2IR7u8hmUEDOwB++su6baaRi+QvsgajuFB9j95foM1N2gy5HM4z60hfusIO0fBPG5uLAEl6yCJr1jNSVugEQ==} dev: false + /async/0.9.2: + resolution: {integrity: sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=} + dev: true + /async/2.6.3: resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} dependencies: @@ -5246,6 +5277,13 @@ packages: source-map: 0.6.1 dev: true + /clean-css/5.2.4: + resolution: {integrity: sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + /clean-stack/2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -5457,6 +5495,10 @@ packages: engines: {node: '>=0.8'} dev: true + /consola/2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + /console-control-strings/1.1.0: resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=} dev: true @@ -6113,6 +6155,16 @@ packages: is-obj: 2.0.0 dev: true + /dotenv-expand/8.0.1: + resolution: {integrity: sha512-j/Ih7bIERDR5PzI89Zu8ayd3tXZ6E3dbY0ljQ9Db0K87qBO8zdLsi2dIvDHMWtjC3Yxb8XixOTHAtia0fDHRpg==} + engines: {node: '>=12'} + dev: true + + /dotenv/16.0.0: + resolution: {integrity: sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==} + engines: {node: '>=12'} + dev: true + /duplexer/0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true @@ -6135,6 +6187,14 @@ packages: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: true + /ejs/3.1.6: + resolution: {integrity: sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.2 + dev: true + /electron-to-chromium/1.4.5: resolution: {integrity: sha512-YKaB+t8ul5crdh6OeqT2qXdxJGI0fAYb6/X8pDIyye+c3a7ndOCk5gVeKX+ABwivCGNS56vOAif3TN0qJMpEHw==} @@ -6780,6 +6840,17 @@ packages: /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + /fast-glob/3.2.7: resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} engines: {node: '>=8'} @@ -6857,6 +6928,12 @@ packages: webpack: 5.58.0_webpack-cli@4.8.0 dev: true + /filelist/1.0.2: + resolution: {integrity: sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==} + dependencies: + minimatch: 3.0.4 + dev: true + /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -6971,6 +7048,15 @@ packages: universalify: 2.0.0 dev: true + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.8 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + /fs-extra/9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} @@ -7205,6 +7291,20 @@ packages: engines: {node: '>=0.10.0'} dev: true + /globby/10.0.1: + resolution: {integrity: sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.7 + glob: 7.2.0 + ignore: 5.1.9 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby/11.0.4: resolution: {integrity: sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==} engines: {node: '>=10'} @@ -7360,6 +7460,22 @@ packages: terser: 4.8.0 dev: true + /html-minifier-terser/6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.2.4 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.10.0 + transitivePeerDependencies: + - acorn + dev: true + /html-tags/2.0.0: resolution: {integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=} engines: {node: '>=4'} @@ -7868,6 +7984,11 @@ packages: isobject: 3.0.1 dev: true + /is-plain-object/3.0.1: + resolution: {integrity: sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==} + engines: {node: '>=0.10.0'} + dev: true + /is-plain-object/5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -8026,6 +8147,16 @@ packages: istanbul-lib-report: 3.0.0 dev: true + /jake/10.8.2: + resolution: {integrity: sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==} + hasBin: true + dependencies: + async: 0.9.2 + chalk: 2.4.2 + filelist: 1.0.2 + minimatch: 3.0.4 + dev: true + /jest-changed-files/27.4.0: resolution: {integrity: sha512-TacYni8ZumaB10L/fGRH92MbLYkn+MF2KtgHeAOcwnOzfmt+S6CDmJeslZuLOpnRUQKkV/Vr4qPAlrBTE5r67A==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -8614,6 +8745,12 @@ packages: dependencies: minimist: 1.2.5 + /jsonfile/4.0.0: + resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + optionalDependencies: + graceful-fs: 4.2.8 + dev: true + /jsonfile/6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: @@ -9361,6 +9498,13 @@ packages: which: 2.0.2 dev: true + /node-html-parser/5.2.0: + resolution: {integrity: sha512-fmiwLfQu+J2A0zjwSEkztSHexAf5qq/WoiL/Hgo1K7JpfEP+OGWY5maG0kGaM+IFVdixF/1QbyXaQ3h4cGfeLw==} + dependencies: + css-select: 4.1.3 + he: 1.2.0 + dev: true + /node-int64/0.4.0: resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} dev: true @@ -9940,6 +10084,10 @@ packages: engines: {node: '>=8'} dev: true + /pathe/0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + /pend/1.2.0: resolution: {integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA=} dev: true @@ -10806,6 +10954,17 @@ packages: glob: 7.2.0 dev: true + /rollup-plugin-copy/3.4.0: + resolution: {integrity: sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==} + engines: {node: '>=8.3'} + dependencies: + '@types/fs-extra': 8.1.2 + colorette: 1.4.0 + fs-extra: 8.1.0 + globby: 10.0.1 + is-plain-object: 3.0.1 + dev: true + /rollup/2.60.2: resolution: {integrity: sha512-1Bgjpq61sPjgoZzuiDSGvbI1tD91giZABgjCQBKM5aYLnzjq52GoDuWVwT/cm/MCxCMPU8gqQvkj8doQ5C8Oqw==} engines: {node: '>=10.0.0'} @@ -11615,6 +11774,21 @@ packages: source-map-support: 0.5.21 dev: true + /terser/5.10.0: + resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} + engines: {node: '>=10'} + hasBin: true + peerDependencies: + acorn: ^8.5.0 + peerDependenciesMeta: + acorn: + optional: true + dependencies: + commander: 2.20.3 + source-map: 0.7.3 + source-map-support: 0.5.21 + dev: true + /terser/5.10.0_acorn@8.6.0: resolution: {integrity: sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==} engines: {node: '>=10'} @@ -12107,6 +12281,28 @@ packages: extsprintf: 1.3.0 dev: true + /vite-plugin-html/3.0.6_vite@2.6.14: + resolution: {integrity: sha512-B6ZAufvqUqdfPhcV+El8NNI3qV0d3ZntIur2UnP4tcHBV/O2d+6wHF79bJWuqR4WsvmsV7dejCNS3rAYFCisWw==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@rollup/pluginutils': 4.1.2 + colorette: 2.0.16 + connect-history-api-fallback: 1.6.0 + consola: 2.15.3 + dotenv: 16.0.0 + dotenv-expand: 8.0.1 + ejs: 3.1.6 + fast-glob: 3.2.11 + fs-extra: 10.0.0 + html-minifier-terser: 6.1.0 + node-html-parser: 5.2.0 + pathe: 0.2.0 + vite: 2.6.14 + transitivePeerDependencies: + - acorn + dev: true + /vite-plugin-vue2/1.9.0_cd1846aafe4c35f31c699104ee2df148: resolution: {integrity: sha512-4vmcoiOmOTGjRnA0hk8tHYqk96ZxRpe4AmeCqJJ8jQuNo+SDF1zXPyhxAUIK1tuK354No77WVHHIimVvZQuvIA==} peerDependencies: