diff --git a/package.json b/package.json
index 02796ba672..b42714de32 100644
--- a/package.json
+++ b/package.json
@@ -38,5 +38,14 @@
"cross-env NODE_ENV=production eslint --fix"
],
"*.{md,js,json}": "prettier --write"
+ },
+ "pnpm": {
+ "packageExtensions": {
+ "vue-template-compiler": {
+ "peerDependencies": {
+ "vue": "~2.7.14"
+ }
+ }
+ }
}
}
diff --git a/packages/_vue3-migration-test/.env b/packages/_vue3-migration-test/.env
new file mode 100644
index 0000000000..fd53959f96
--- /dev/null
+++ b/packages/_vue3-migration-test/.env
@@ -0,0 +1 @@
+VITE_VUE_COMPAT_MODE = 2
diff --git a/packages/_vue3-migration-test/.eslintrc.js b/packages/_vue3-migration-test/.eslintrc.js
new file mode 100644
index 0000000000..8c04822bcb
--- /dev/null
+++ b/packages/_vue3-migration-test/.eslintrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+ extends: ['plugin:@empathyco/x/all'],
+ parserOptions: {
+ tsconfigRootDir: __dirname,
+ project: 'tsconfig.eslint.json'
+ }
+};
diff --git a/packages/_vue3-migration-test/README.md b/packages/_vue3-migration-test/README.md
new file mode 100644
index 0000000000..ad9007aaf9
--- /dev/null
+++ b/packages/_vue3-migration-test/README.md
@@ -0,0 +1,15 @@
+# vue3-migration-test
+
+[Vue 3 Migration Guide](https://v3-migration.vuejs.org/migration-build.html)
+
+To check compile-time errors & warnings:
+
+```
+pnpm --filter vue3-migration-test run build
+```
+
+To check command-line / browser console warnings:
+
+```
+pnpm --filter vue3-migration-test run dev
+```
diff --git a/packages/_vue3-migration-test/index.html b/packages/_vue3-migration-test/index.html
new file mode 100644
index 0000000000..3682379e47
--- /dev/null
+++ b/packages/_vue3-migration-test/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ vue3-migration-test
+
+
+
+
+
+
diff --git a/packages/_vue3-migration-test/package.json b/packages/_vue3-migration-test/package.json
new file mode 100644
index 0000000000..ee1a6e4207
--- /dev/null
+++ b/packages/_vue3-migration-test/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "vue3-migration-test",
+ "private": "true",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite",
+ "preview": "vite preview",
+ "lint": "eslint . --ext .ts,.vue",
+ "build": "vue-tsc && vite build"
+ },
+ "dependencies": {
+ "@vue/compat": "^3.4.22",
+ "vue": "^3.4.22",
+ "vue-router": "^4.3.0"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^5.0.4",
+ "@vue/runtime-dom": "^3.4.22",
+ "typescript": "~4.9.4",
+ "vite": "^4.5.0",
+ "vue-tsc": "^2.0.13"
+ }
+}
diff --git a/packages/_vue3-migration-test/public/favicon.ico b/packages/_vue3-migration-test/public/favicon.ico
new file mode 100644
index 0000000000..13ac4d288f
Binary files /dev/null and b/packages/_vue3-migration-test/public/favicon.ico differ
diff --git a/packages/_vue3-migration-test/src/App.vue b/packages/_vue3-migration-test/src/App.vue
new file mode 100644
index 0000000000..11a8b7cefe
--- /dev/null
+++ b/packages/_vue3-migration-test/src/App.vue
@@ -0,0 +1,26 @@
+
+
+
vue3-migration-test
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/_vue3-migration-test/src/components/animations/index.ts b/packages/_vue3-migration-test/src/components/animations/index.ts
new file mode 100644
index 0000000000..aed10b5c92
--- /dev/null
+++ b/packages/_vue3-migration-test/src/components/animations/index.ts
@@ -0,0 +1,2 @@
+export { default as TestAnimateWidth } from './test-animate-width.vue';
+export { default as TestFade } from './test-fade.vue';
diff --git a/packages/_vue3-migration-test/src/components/animations/test-animate-width.vue b/packages/_vue3-migration-test/src/components/animations/test-animate-width.vue
new file mode 100644
index 0000000000..79c9b8f56a
--- /dev/null
+++ b/packages/_vue3-migration-test/src/components/animations/test-animate-width.vue
@@ -0,0 +1,15 @@
+
+
+
+
+ Element to animate
+
+
+
+
+
diff --git a/packages/_vue3-migration-test/src/components/animations/test-fade.vue b/packages/_vue3-migration-test/src/components/animations/test-fade.vue
new file mode 100644
index 0000000000..a9049c556f
--- /dev/null
+++ b/packages/_vue3-migration-test/src/components/animations/test-fade.vue
@@ -0,0 +1,15 @@
+
+
+
+
+ León is southern Spain
+
+
+
+
+
diff --git a/packages/_vue3-migration-test/src/components/index.ts b/packages/_vue3-migration-test/src/components/index.ts
new file mode 100644
index 0000000000..9616d4a908
--- /dev/null
+++ b/packages/_vue3-migration-test/src/components/index.ts
@@ -0,0 +1 @@
+export * from './animations';
diff --git a/packages/_vue3-migration-test/src/index.ts b/packages/_vue3-migration-test/src/index.ts
new file mode 100644
index 0000000000..07635cbbc8
--- /dev/null
+++ b/packages/_vue3-migration-test/src/index.ts
@@ -0,0 +1 @@
+export * from './components';
diff --git a/packages/_vue3-migration-test/src/main.ts b/packages/_vue3-migration-test/src/main.ts
new file mode 100644
index 0000000000..194db49bf6
--- /dev/null
+++ b/packages/_vue3-migration-test/src/main.ts
@@ -0,0 +1,15 @@
+import { Component, configureCompat, createApp } from 'vue';
+import App from './App.vue';
+import router from './router';
+
+// Warnings that cannot be solved in Vue 2 (a.k.a. breaking changes) are suppressed
+const VUE_COMPAT_MODE = Number(import.meta.env.VITE_VUE_COMPAT_MODE);
+if (VUE_COMPAT_MODE === 2) {
+ configureCompat({
+ INSTANCE_LISTENERS: 'suppress-warning'
+ });
+}
+
+createApp(App as Component)
+ .use(router)
+ .mount('#app');
diff --git a/packages/_vue3-migration-test/src/router.ts b/packages/_vue3-migration-test/src/router.ts
new file mode 100644
index 0000000000..9ec37cfd11
--- /dev/null
+++ b/packages/_vue3-migration-test/src/router.ts
@@ -0,0 +1,22 @@
+import { createRouter, createWebHistory } from 'vue-router';
+import { TestAnimateWidth, TestFade } from './';
+
+const routes = [
+ {
+ path: '/animate-width',
+ name: 'AnimateWidth',
+ component: TestAnimateWidth
+ },
+ {
+ path: '/fade',
+ name: 'Fade',
+ component: TestFade
+ }
+];
+
+const router = createRouter({
+ history: createWebHistory(),
+ routes
+});
+
+export default router;
diff --git a/packages/_vue3-migration-test/src/shims-vue.d.ts b/packages/_vue3-migration-test/src/shims-vue.d.ts
new file mode 100644
index 0000000000..b8acb3beee
--- /dev/null
+++ b/packages/_vue3-migration-test/src/shims-vue.d.ts
@@ -0,0 +1,8 @@
+declare module 'vue' {
+ import { CompatVue } from '@vue/runtime-dom';
+ const Vue: CompatVue;
+ export default Vue;
+ export * from '@vue/runtime-dom';
+ const { configureCompat } = Vue;
+ export { configureCompat };
+}
diff --git a/packages/_vue3-migration-test/src/vite-env.d.ts b/packages/_vue3-migration-test/src/vite-env.d.ts
new file mode 100644
index 0000000000..b239096ccb
--- /dev/null
+++ b/packages/_vue3-migration-test/src/vite-env.d.ts
@@ -0,0 +1,9 @@
+///
+
+interface ImportMeta {
+ readonly env: ImportMetaEnv;
+}
+
+interface ImportMetaEnv {
+ readonly VITE_VUE_COMPAT_MODE: '2' | '3';
+}
diff --git a/packages/_vue3-migration-test/tsconfig.eslint.json b/packages/_vue3-migration-test/tsconfig.eslint.json
new file mode 100644
index 0000000000..c66fd97ff8
--- /dev/null
+++ b/packages/_vue3-migration-test/tsconfig.eslint.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "noEmit": true
+ },
+ "include": ["src/**/*.ts", "src/**/*.vue", "vite.config.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/_vue3-migration-test/tsconfig.json b/packages/_vue3-migration-test/tsconfig.json
new file mode 100644
index 0000000000..a2c2536d38
--- /dev/null
+++ b/packages/_vue3-migration-test/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "es2019",
+ "module": "esnext",
+ "strict": true,
+ "jsx": "preserve",
+ "importHelpers": true,
+ "moduleResolution": "node",
+ "experimentalDecorators": true,
+ "esModuleInterop": true,
+ "allowSyntheticDefaultImports": true,
+ "declaration": true,
+ "declarationMap": true,
+ "sourceMap": true,
+ "rootDir": "src",
+ "baseUrl": ".",
+ "types": ["node"],
+ "lib": ["esnext", "dom", "dom.iterable", "scripthost"]
+ },
+ "include": ["src/**/*.ts", "src/**/*.vue"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/_vue3-migration-test/vite.config.ts b/packages/_vue3-migration-test/vite.config.ts
new file mode 100644
index 0000000000..298c907abd
--- /dev/null
+++ b/packages/_vue3-migration-test/vite.config.ts
@@ -0,0 +1,37 @@
+import { resolve } from 'path';
+import vue from '@vitejs/plugin-vue';
+import { defineConfig, loadEnv } from 'vite';
+import { vueDocsPlugin } from '../x-components/vite.config';
+
+export default defineConfig(({ mode }) => {
+ process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
+ const { VITE_VUE_COMPAT_MODE } = process.env;
+ const VUE_COMPAT_MODE = Number(VITE_VUE_COMPAT_MODE);
+ if (VUE_COMPAT_MODE !== 2 && VUE_COMPAT_MODE !== 3) {
+ throw new Error(
+ `Invalid VITE_VUE_COMPAT_MODE value ('${VITE_VUE_COMPAT_MODE ?? ''}'), expected '2' | '3'`
+ );
+ }
+ return {
+ plugins: [
+ vue({
+ template: {
+ compilerOptions: {
+ compatConfig: {
+ MODE: VUE_COMPAT_MODE
+ }
+ }
+ }
+ }),
+ vueDocsPlugin
+ ],
+ resolve: {
+ alias: {
+ vue: resolve(__dirname, 'node_modules/@vue/compat')
+ }
+ },
+ optimizeDeps: {
+ exclude: ['@empathyco/x-components']
+ }
+ };
+});
diff --git a/packages/x-components/vite.config.ts b/packages/x-components/vite.config.ts
index e3f17c56fe..1133057993 100644
--- a/packages/x-components/vite.config.ts
+++ b/packages/x-components/vite.config.ts
@@ -1,8 +1,9 @@
-import { defineConfig } from 'vite';
+import { resolve } from 'path';
import vue from '@vitejs/plugin-vue2';
+import { defineConfig } from 'vite';
import Inspector from 'vite-plugin-vue-inspector';
-const vueDocsPlugin = {
+export const vueDocsPlugin = {
name: 'vue-docs',
transform(code: string, id: string) {
return !/vue&type=docs/.test(id) ? undefined : `export default ''`;
@@ -19,6 +20,7 @@ export default defineConfig({
],
resolve: {
alias: {
+ vue: resolve(__dirname, 'node_modules/vue'),
'vue-runtime-helpers': 'node_modules/vue-runtime-helpers'
}
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0c7228f32a..a91aa203f7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,8 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+packageExtensionsChecksum: 3c8a8d9dbf12839f22722f79da36ce42
+
importers:
.:
devDependencies:
@@ -35,6 +37,34 @@ importers:
specifier: ~2.8.3
version: 2.8.3
+ packages/_vue3-migration-test:
+ dependencies:
+ '@vue/compat':
+ specifier: ^3.4.22
+ version: 3.4.22(vue@3.4.22)
+ vue:
+ specifier: ^3.4.22
+ version: 3.4.22(typescript@4.9.4)
+ vue-router:
+ specifier: ^4.3.0
+ version: 4.3.0(vue@3.4.22)
+ devDependencies:
+ '@vitejs/plugin-vue':
+ specifier: ^5.0.4
+ version: 5.0.4(vite@4.5.0)(vue@3.4.22)
+ '@vue/runtime-dom':
+ specifier: ^3.4.22
+ version: 3.4.22
+ typescript:
+ specifier: ~4.9.4
+ version: 4.9.4
+ vite:
+ specifier: ^4.5.0
+ version: 4.5.0(@types/node@18.19.3)(sass@1.70.0)
+ vue-tsc:
+ specifier: ^2.0.13
+ version: 2.0.13(typescript@4.9.4)(vue@3.4.22)
+
packages/deep-merge:
dependencies:
'@empathyco/x-utils':
@@ -565,7 +595,7 @@ importers:
version: 3.6.5(vue@2.7.14)
vue-template-compiler:
specifier: ~2.7.14
- version: 2.7.14
+ version: 2.7.14(vue@2.7.14)
vuex:
specifier: ~3.6.2
version: 3.6.2(vue@2.7.14)
@@ -679,7 +709,7 @@ importers:
version: 8.5.0(vue-class-component@7.2.6)(vue@2.7.14)
vue-template-compiler:
specifier: ~2.7.14
- version: 2.7.14
+ version: 2.7.14(vue@2.7.14)
packages/x-translations:
dependencies:
@@ -834,7 +864,7 @@ packages:
'@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9)
'@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9)
'@babel/helpers': 7.22.6
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/template': 7.22.5
'@babel/traverse': 7.22.8
'@babel/types': 7.23.3
@@ -860,7 +890,7 @@ packages:
'@babel/helper-compilation-targets': 7.22.15
'@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3)
'@babel/helpers': 7.23.2
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/template': 7.22.15
'@babel/traverse': 7.23.3
'@babel/types': 7.23.3
@@ -1300,17 +1330,17 @@ packages:
hasBin: true
dependencies:
'@babel/types': 7.23.3
+ dev: true
- /@babel/parser@7.23.3:
+ /@babel/parser@7.24.4:
resolution:
{
- integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==
+ integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
}
engines: { node: '>=6.0.0' }
hasBin: true
dependencies:
'@babel/types': 7.23.3
- dev: true
/@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.9):
resolution:
@@ -1949,7 +1979,7 @@ packages:
engines: { node: '>=6.9.0' }
dependencies:
'@babel/code-frame': 7.22.13
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
dev: true
@@ -1961,7 +1991,7 @@ packages:
engines: { node: '>=6.9.0' }
dependencies:
'@babel/code-frame': 7.22.13
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
dev: true
@@ -1978,7 +2008,7 @@ packages:
'@babel/helper-function-name': 7.22.5
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0
@@ -1999,7 +2029,7 @@ packages:
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0
@@ -2007,18 +2037,6 @@ packages:
- supports-color
dev: true
- /@babel/types@7.22.5:
- resolution:
- {
- integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==
- }
- engines: { node: '>=6.9.0' }
- dependencies:
- '@babel/helper-string-parser': 7.22.5
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
- dev: true
-
/@babel/types@7.23.3:
resolution:
{
@@ -2036,7 +2054,7 @@ packages:
integrity: sha512-30M6frVmhP8MUKscg8CEWnPbDLYDRHswUdny1ajRJlW/kdlMZ5da+eDnzMW3qUW73JfqLRk1pteejwlcZOt0GQ==
}
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
debug: 4.3.4(supports-color@8.1.1)
esbuild: 0.14.54
glob: 7.2.3
@@ -3675,7 +3693,6 @@ packages:
{
integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
}
- dev: true
/@jridgewell/trace-mapping@0.3.18:
resolution:
@@ -5039,7 +5056,7 @@ packages:
integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==
}
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
@@ -5061,7 +5078,7 @@ packages:
integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
}
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
dev: true
@@ -5706,6 +5723,48 @@ packages:
vue: 2.7.14
dev: true
+ /@vitejs/plugin-vue@5.0.4(vite@4.5.0)(vue@3.4.22):
+ resolution:
+ {
+ integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
+ peerDependencies:
+ vite: ^5.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 4.5.0(@types/node@18.19.3)(sass@1.70.0)
+ vue: 3.4.22(typescript@4.9.4)
+ dev: true
+
+ /@volar/language-core@2.2.0-alpha.8:
+ resolution:
+ {
+ integrity: sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==
+ }
+ dependencies:
+ '@volar/source-map': 2.2.0-alpha.8
+ dev: true
+
+ /@volar/source-map@2.2.0-alpha.8:
+ resolution:
+ {
+ integrity: sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==
+ }
+ dependencies:
+ muggle-string: 0.4.1
+ dev: true
+
+ /@volar/typescript@2.2.0-alpha.8:
+ resolution:
+ {
+ integrity: sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==
+ }
+ dependencies:
+ '@volar/language-core': 2.2.0-alpha.8
+ path-browserify: 1.0.1
+ dev: true
+
/@vue/babel-helper-vue-jsx-merge-props@1.4.0:
resolution:
{
@@ -5862,18 +5921,57 @@ packages:
camelcase: 5.3.1
dev: true
+ /@vue/compat@3.4.22(vue@3.4.22):
+ resolution:
+ {
+ integrity: sha512-xT9vVVLJhEG6nKT2gDKIlyLhHj0MUvZbXNXvV6UTnNuOaXhty2KLGJi7s/TL9C1qnlwmu6Py5TeLAa5vvuRFeQ==
+ }
+ peerDependencies:
+ vue: 3.4.22
+ dependencies:
+ '@babel/parser': 7.24.4
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
+ vue: 3.4.22(typescript@4.9.4)
+ dev: false
+
/@vue/compiler-core@3.3.4:
resolution:
{
integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
}
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@vue/shared': 3.3.4
estree-walker: 2.0.2
- source-map-js: 1.0.2
+ source-map-js: 1.2.0
+ dev: true
+
+ /@vue/compiler-core@3.4.21:
+ resolution:
+ {
+ integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==
+ }
+ dependencies:
+ '@babel/parser': 7.24.4
+ '@vue/shared': 3.4.21
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
dev: true
+ /@vue/compiler-core@3.4.22:
+ resolution:
+ {
+ integrity: sha512-FBDRCBE/rFPA8OfTUrARx2c49N7zoImlGT7hsFikv0pZxQlFhffQwewpEXaLynZW0/DspVXmNA+QQ9dXINpWmg==
+ }
+ dependencies:
+ '@babel/parser': 7.24.4
+ '@vue/shared': 3.4.22
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.0
+
/@vue/compiler-dom@3.3.4:
resolution:
{
@@ -5884,44 +5982,87 @@ packages:
'@vue/shared': 3.3.4
dev: true
+ /@vue/compiler-dom@3.4.21:
+ resolution:
+ {
+ integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==
+ }
+ dependencies:
+ '@vue/compiler-core': 3.4.21
+ '@vue/shared': 3.4.21
+ dev: true
+
+ /@vue/compiler-dom@3.4.22:
+ resolution:
+ {
+ integrity: sha512-YkAS+jZc6Ip360kT3lZbMQZteiYBbHDSVKr94Jdd8Zjr7VjSkkXKAFFR/FW+2tNtBYXOps6xrWlOquy3GeYB0w==
+ }
+ dependencies:
+ '@vue/compiler-core': 3.4.22
+ '@vue/shared': 3.4.22
+
/@vue/compiler-sfc@2.7.14:
resolution:
{
integrity: sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==
}
dependencies:
- '@babel/parser': 7.22.7
- postcss: 8.4.27
+ '@babel/parser': 7.24.4
+ postcss: 8.4.38
source-map: 0.6.1
- /@vue/compiler-sfc@3.3.4:
+ /@vue/compiler-sfc@3.4.21:
resolution:
{
- integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
+ integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==
}
dependencies:
- '@babel/parser': 7.23.3
- '@vue/compiler-core': 3.3.4
- '@vue/compiler-dom': 3.3.4
- '@vue/compiler-ssr': 3.3.4
- '@vue/reactivity-transform': 3.3.4
- '@vue/shared': 3.3.4
+ '@babel/parser': 7.24.4
+ '@vue/compiler-core': 3.4.21
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-ssr': 3.4.21
+ '@vue/shared': 3.4.21
estree-walker: 2.0.2
- magic-string: 0.30.5
- postcss: 8.4.27
- source-map-js: 1.0.2
+ magic-string: 0.30.9
+ postcss: 8.4.38
+ source-map-js: 1.2.0
dev: true
- /@vue/compiler-ssr@3.3.4:
+ /@vue/compiler-sfc@3.4.22:
resolution:
{
- integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==
+ integrity: sha512-Pncp5Vc8E2Ef1o5uveO8WA1IqM7rt0R1jN8D4qitQYOUxC97iITGYA8oMInQ3UcDS7ip+SegyA2HbAEB4V6NMQ==
}
dependencies:
- '@vue/compiler-dom': 3.3.4
- '@vue/shared': 3.3.4
+ '@babel/parser': 7.24.4
+ '@vue/compiler-core': 3.4.22
+ '@vue/compiler-dom': 3.4.22
+ '@vue/compiler-ssr': 3.4.22
+ '@vue/shared': 3.4.22
+ estree-walker: 2.0.2
+ magic-string: 0.30.9
+ postcss: 8.4.38
+ source-map-js: 1.2.0
+
+ /@vue/compiler-ssr@3.4.21:
+ resolution:
+ {
+ integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==
+ }
+ dependencies:
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
dev: true
+ /@vue/compiler-ssr@3.4.22:
+ resolution:
+ {
+ integrity: sha512-ycb2sL0SW6AkgVMrvaU/TIAEk7FQWyv/oYya44E/V9xURM+ij9Oev5bVobSS7GLJzkUieWW3SrYcK/PZpb5i4A==
+ }
+ dependencies:
+ '@vue/compiler-dom': 3.4.22
+ '@vue/shared': 3.4.22
+
/@vue/component-compiler-utils@3.3.0(pug@3.0.2):
resolution:
{
@@ -6009,7 +6150,7 @@ packages:
postcss: 8.4.12
postcss-modules-sync: 1.0.0
source-map: 0.6.1
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
optionalDependencies:
less: 3.13.1
pug: 3.0.2
@@ -6078,6 +6219,13 @@ packages:
}
dev: false
+ /@vue/devtools-api@6.5.1:
+ resolution:
+ {
+ integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==
+ }
+ dev: false
+
/@vue/eslint-config-prettier@7.0.0(eslint@8.32.0)(prettier@2.8.3):
resolution:
{
@@ -6156,19 +6304,68 @@ packages:
- supports-color
dev: true
- /@vue/reactivity-transform@3.3.4:
+ /@vue/language-core@2.0.13(typescript@4.9.4)(vue@3.4.22):
resolution:
{
- integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==
+ integrity: sha512-oQgM+BM66SU5GKtUMLQSQN0bxHFkFpLSSAiY87wVziPaiNQZuKVDt/3yA7GB9PiQw0y/bTNL0bOc0jM/siYjKg==
}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- '@babel/parser': 7.23.3
- '@vue/compiler-core': 3.3.4
- '@vue/shared': 3.3.4
- estree-walker: 2.0.2
- magic-string: 0.30.5
+ '@volar/language-core': 2.2.0-alpha.8
+ '@vue/compiler-dom': 3.4.21
+ '@vue/shared': 3.4.21
+ computeds: 0.0.1
+ minimatch: 9.0.3
+ path-browserify: 1.0.1
+ typescript: 4.9.4
+ vue-template-compiler: 2.7.14(vue@3.4.22)
+ transitivePeerDependencies:
+ - vue
dev: true
+ /@vue/reactivity@3.4.22:
+ resolution:
+ {
+ integrity: sha512-+golHRRfcGoahBrhoTauFNIIAhxntRV3BI8HHqVvCdsuWivxW1MI0E9AOXVsz4H/ZlWM1ahudWTX6PhUrNR2yQ==
+ }
+ dependencies:
+ '@vue/shared': 3.4.22
+
+ /@vue/runtime-core@3.4.22:
+ resolution:
+ {
+ integrity: sha512-cbA8lcL4g1907EdY1a1KmP5IRWfbqjgBRcgJPkF//yn96XSC1/VAJBZiAGLiyw0P77Rw2Ao7d9U51vU1GC6yUQ==
+ }
+ dependencies:
+ '@vue/reactivity': 3.4.22
+ '@vue/shared': 3.4.22
+
+ /@vue/runtime-dom@3.4.22:
+ resolution:
+ {
+ integrity: sha512-AXxRHrFkLX1y2+70CO2wDKRxW0WZcQKTOXS31AK+jZ1RLPtI6sEHVpYNfyE9WgbgXOqPtX4gfIfuoFYi8iCu2w==
+ }
+ dependencies:
+ '@vue/runtime-core': 3.4.22
+ '@vue/shared': 3.4.22
+ csstype: 3.1.3
+
+ /@vue/server-renderer@3.4.22(vue@3.4.22):
+ resolution:
+ {
+ integrity: sha512-okiNxiCOhJlx6IOrTZvhIVwf2UYKay0hnIPqWu4h19bkNv1gmG4Ic6U3zXY287AWF26lQuFMa515Qzc+R0aAYg==
+ }
+ peerDependencies:
+ vue: 3.4.22
+ dependencies:
+ '@vue/compiler-ssr': 3.4.22
+ '@vue/shared': 3.4.22
+ vue: 3.4.22(typescript@4.9.4)
+
/@vue/shared@3.3.4:
resolution:
{
@@ -6176,6 +6373,19 @@ packages:
}
dev: true
+ /@vue/shared@3.4.21:
+ resolution:
+ {
+ integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
+ }
+ dev: true
+
+ /@vue/shared@3.4.22:
+ resolution:
+ {
+ integrity: sha512-cg7R9XNk4ovV3bKka/1a464O2oY0l5Fyt0rwGR4hSJRPjUJ0WVjrPdsr4W0JbUriwiM8EKcCcCjeKN5pRMs2Zg==
+ }
+
/@vue/test-utils@1.0.3(vue-template-compiler@2.7.14)(vue@2.7.14):
resolution:
{
@@ -6189,7 +6399,7 @@ packages:
lodash: 4.17.21
pretty: 2.0.0
vue: 2.7.14
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
dev: true
/@vue/vue2-jest@27.0.0-alpha.3(@babel/core@7.23.3)(jest@27.5.0)(ts-jest@27.1.0)(vue-template-compiler@2.7.14)(vue@2.7.14):
@@ -6217,7 +6427,7 @@ packages:
source-map: 0.5.6
ts-jest: 27.1.0(@babel/core@7.23.3)(@types/jest@27.5.0)(jest@27.5.0)(typescript@4.9.4)
vue: 2.7.14
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
transitivePeerDependencies:
- arc-templates
- atpl
@@ -8005,6 +8215,13 @@ packages:
dot-prop: 5.3.0
dev: true
+ /computeds@0.0.1:
+ resolution:
+ {
+ integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==
+ }
+ dev: true
+
/concat-map@0.0.1:
resolution:
{
@@ -8440,7 +8657,7 @@ packages:
}
requiresBuild: true
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
dev: true
@@ -8892,6 +9109,12 @@ packages:
integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
}
+ /csstype@3.1.3:
+ resolution:
+ {
+ integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+ }
+
/cypress@13.6.0:
resolution:
{
@@ -9561,6 +9784,13 @@ packages:
}
dev: true
+ /entities@4.5.0:
+ resolution:
+ {
+ integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+ }
+ engines: { node: '>=0.12' }
+
/env-paths@2.2.1:
resolution:
{
@@ -10824,7 +11054,6 @@ packages:
{
integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
}
- dev: true
/esutils@2.0.3:
resolution:
@@ -13071,7 +13300,7 @@ packages:
engines: { node: '>=8' }
dependencies:
'@babel/core': 7.23.3
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.0
semver: 6.3.1
@@ -14663,6 +14892,15 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
+ /magic-string@0.30.9:
+ resolution:
+ {
+ integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==
+ }
+ engines: { node: '>=12' }
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+
/make-dir@2.1.0:
resolution:
{
@@ -15186,6 +15424,13 @@ packages:
integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
}
+ /muggle-string@0.4.1:
+ resolution:
+ {
+ integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==
+ }
+ dev: true
+
/multimatch@5.0.0:
resolution:
{
@@ -15234,6 +15479,15 @@ packages:
}
engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
+ dev: true
+
+ /nanoid@3.3.7:
+ resolution:
+ {
+ integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
+ hasBin: true
/native-request@1.1.0:
resolution:
@@ -16277,6 +16531,13 @@ packages:
}
dev: true
+ /path-browserify@1.0.1:
+ resolution:
+ {
+ integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+ }
+ dev: true
+
/path-exists@3.0.0:
resolution:
{
@@ -17071,9 +17332,21 @@ packages:
}
engines: { node: ^10 || ^12 || >=14 }
dependencies:
- nanoid: 3.3.6
+ nanoid: 3.3.7
picocolors: 1.0.0
- source-map-js: 1.0.2
+ source-map-js: 1.2.0
+ dev: true
+
+ /postcss@8.4.38:
+ resolution:
+ {
+ integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
+ }
+ engines: { node: ^10 || ^12 || >=14 }
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
/prelude-ls@1.2.1:
resolution:
@@ -18195,7 +18468,7 @@ packages:
rollup-pluginutils: 2.8.2
source-map: 0.7.3
vue-runtime-helpers: 1.1.2
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
transitivePeerDependencies:
- arc-templates
- atpl
@@ -18702,6 +18975,14 @@ packages:
integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
}
engines: { node: '>=0.10.0' }
+ dev: true
+
+ /source-map-js@1.2.0:
+ resolution:
+ {
+ integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
+ }
+ engines: { node: '>=0.10.0' }
/source-map-resolve@0.5.3:
resolution:
@@ -20386,7 +20667,7 @@ packages:
source-map: 0.7.4
vite: 4.5.0(@types/node@18.19.3)(sass@1.70.0)
vue-template-babel-compiler: 1.2.0(vue-template-compiler@2.7.14)
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
transitivePeerDependencies:
- arc-templates
- atpl
@@ -20528,10 +20809,10 @@ packages:
integrity: sha512-hlrUhRMm/4oD4nwuwVNKmuC9qExUIxVkXHT7vApkXkGuep1HGpZ168Msq4Ooc1euoFTGafte4Qs2e9uZWZuE/g==
}
dependencies:
- '@babel/parser': 7.22.7
- '@babel/types': 7.22.5
- '@vue/compiler-dom': 3.3.4
- '@vue/compiler-sfc': 3.3.4
+ '@babel/parser': 7.24.4
+ '@babel/types': 7.23.3
+ '@vue/compiler-dom': 3.4.21
+ '@vue/compiler-sfc': 3.4.21
ast-types: 0.16.1
hash-sum: 2.0.0
lru-cache: 8.0.5
@@ -20698,6 +20979,18 @@ packages:
vue: 2.7.14
dev: true
+ /vue-router@4.3.0(vue@3.4.22):
+ resolution:
+ {
+ integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==
+ }
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@vue/devtools-api': 6.5.1
+ vue: 3.4.22(typescript@4.9.4)
+ dev: false
+
/vue-runtime-helpers@1.1.2:
resolution:
{
@@ -20725,19 +21018,35 @@ packages:
'@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.3)
'@babel/types': 7.23.3
deepmerge: 4.3.1
- vue-template-compiler: 2.7.14
+ vue-template-compiler: 2.7.14(vue@2.7.14)
transitivePeerDependencies:
- supports-color
dev: true
- /vue-template-compiler@2.7.14:
+ /vue-template-compiler@2.7.14(vue@2.7.14):
+ resolution:
+ {
+ integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
+ }
+ peerDependencies:
+ vue: ~2.7.14
+ dependencies:
+ de-indent: 1.0.2
+ he: 1.2.0
+ vue: 2.7.14
+ dev: true
+
+ /vue-template-compiler@2.7.14(vue@3.4.22):
resolution:
{
integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
}
+ peerDependencies:
+ vue: ~2.7.14
dependencies:
de-indent: 1.0.2
he: 1.2.0
+ vue: 3.4.22(typescript@4.9.4)
dev: true
/vue-template-es2015-compiler@1.9.1:
@@ -20747,6 +21056,23 @@ packages:
}
dev: true
+ /vue-tsc@2.0.13(typescript@4.9.4)(vue@3.4.22):
+ resolution:
+ {
+ integrity: sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==
+ }
+ hasBin: true
+ peerDependencies:
+ typescript: '*'
+ dependencies:
+ '@volar/typescript': 2.2.0-alpha.8
+ '@vue/language-core': 2.0.13(typescript@4.9.4)(vue@3.4.22)
+ semver: 7.5.4
+ typescript: 4.9.4
+ transitivePeerDependencies:
+ - vue
+ dev: true
+
/vue@2.7.14:
resolution:
{
@@ -20756,6 +21082,24 @@ packages:
'@vue/compiler-sfc': 2.7.14
csstype: 3.1.2
+ /vue@3.4.22(typescript@4.9.4):
+ resolution:
+ {
+ integrity: sha512-CIx7NiP+n5WHBCG/fDNaUPP4qbQ5CIa8XIHZE3HpfS/rb2vmSIsp74BxsZyrrGKF0vHW3GoToqP3l0hzrMTecw==
+ }
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@vue/compiler-dom': 3.4.22
+ '@vue/compiler-sfc': 3.4.22
+ '@vue/runtime-dom': 3.4.22
+ '@vue/server-renderer': 3.4.22(vue@3.4.22)
+ '@vue/shared': 3.4.22
+ typescript: 4.9.4
+
/vuex@3.6.2(vue@2.7.14):
resolution:
{
@@ -20953,7 +21297,7 @@ packages:
engines: { node: '>= 10.0.0' }
requiresBuild: true
dependencies:
- '@babel/parser': 7.23.3
+ '@babel/parser': 7.24.4
'@babel/types': 7.23.3
assert-never: 1.2.1
babel-walk: 3.0.0-canary-5