From fbcc13067882a1d6f4a8e3cca4e89ec91c1eb3d5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:09:51 +0000 Subject: [PATCH 01/12] chore(deps): update vitest to v0.24.4 --- package.json | 4 ++-- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index ed5f0c629..3a65fda9b 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/parser": "5.41.0", "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", - "@vitest/coverage-c8": "0.24.3", + "@vitest/coverage-c8": "0.24.4", "@vue/compat": "3.2.41", "@vue/compiler-dom": "3.2.41", "@vue/compiler-sfc": "3.2.41", @@ -55,7 +55,7 @@ "unplugin-vue-components": "0.22.9", "vite": "3.2.0", "vitepress": "0.22.4", - "vitest": "0.24.3", + "vitest": "0.24.4", "vue": "3.2.41", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e23e023d2..8d392ba06 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ specifiers: '@typescript-eslint/parser': 5.41.0 '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 - '@vitest/coverage-c8': 0.24.3 + '@vitest/coverage-c8': 0.24.4 '@vue/compat': 3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -34,7 +34,7 @@ specifiers: unplugin-vue-components: 0.22.9 vite: 3.2.0 vitepress: 0.22.4 - vitest: 0.24.3 + vitest: 0.24.4 vue: 3.2.41 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 @@ -53,7 +53,7 @@ devDependencies: '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m '@vitejs/plugin-vue': 3.2.0_vite@3.2.0+vue@3.2.41 '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.0+vue@3.2.41 - '@vitest/coverage-c8': 0.24.3_jsdom@20.0.1 + '@vitest/coverage-c8': 0.24.4_jsdom@20.0.1 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -75,7 +75,7 @@ devDependencies: unplugin-vue-components: 0.22.9_rollup@3.2.3+vue@3.2.41 vite: 3.2.0 vitepress: 0.22.4 - vitest: 0.24.3_jsdom@20.0.1 + vitest: 0.24.4_jsdom@20.0.1 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 vue-router: 4.1.6_vue@3.2.41 @@ -978,11 +978,11 @@ packages: vue: 3.2.41 dev: true - /@vitest/coverage-c8/0.24.3_jsdom@20.0.1: - resolution: {integrity: sha512-tAmMyHxWYnAwGeJb7QgTuEX8aLasTg4X1/6INobXa/7wYGEJ28CACFO5iLn1HzFVPoLvhsS3luQjiflGjjSMRQ==} + /@vitest/coverage-c8/0.24.4_jsdom@20.0.1: + resolution: {integrity: sha512-1mhYQip6IJw1p9hzM+sH8O/RbILMe7FwScWI7COoMGAThdDRytDjmOal38F/EVrIPZY3nZ5hf7S7JFGjbb4bTg==} dependencies: c8: 7.12.0 - vitest: 0.24.3_jsdom@20.0.1 + vitest: 0.24.4_jsdom@20.0.1 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -3731,8 +3731,8 @@ packages: - stylus dev: true - /vitest/0.24.3_jsdom@20.0.1: - resolution: {integrity: sha512-aM0auuPPgMSstWvr851hB74g/LKaKBzSxcG3da7ejfZbx08Y21JpZmbmDYrMTCGhVZKqTGwzcnLMwyfz2WzkhQ==} + /vitest/0.24.4_jsdom@20.0.1: + resolution: {integrity: sha512-4ratHSyVEJPtBLV00uhL4Wj3Pmandc9rsxUkE0q9peNOfaOgGF4lEepdkaXGRi9AGFKr1GRVtjGOJ6Fp2lCpEg==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: From ab78fc97910eebb803c6f0fece85901ea255d6b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Nov 2022 20:52:53 +0000 Subject: [PATCH 02/12] chore(deps): update vitest to v0.24.5 --- package.json | 4 ++-- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 3a65fda9b..db1bf63fa 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/parser": "5.41.0", "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", - "@vitest/coverage-c8": "0.24.4", + "@vitest/coverage-c8": "0.24.5", "@vue/compat": "3.2.41", "@vue/compiler-dom": "3.2.41", "@vue/compiler-sfc": "3.2.41", @@ -55,7 +55,7 @@ "unplugin-vue-components": "0.22.9", "vite": "3.2.0", "vitepress": "0.22.4", - "vitest": "0.24.4", + "vitest": "0.24.5", "vue": "3.2.41", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d392ba06..e0485a09c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ specifiers: '@typescript-eslint/parser': 5.41.0 '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 - '@vitest/coverage-c8': 0.24.4 + '@vitest/coverage-c8': 0.24.5 '@vue/compat': 3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -34,7 +34,7 @@ specifiers: unplugin-vue-components: 0.22.9 vite: 3.2.0 vitepress: 0.22.4 - vitest: 0.24.4 + vitest: 0.24.5 vue: 3.2.41 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 @@ -53,7 +53,7 @@ devDependencies: '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m '@vitejs/plugin-vue': 3.2.0_vite@3.2.0+vue@3.2.41 '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.0+vue@3.2.41 - '@vitest/coverage-c8': 0.24.4_jsdom@20.0.1 + '@vitest/coverage-c8': 0.24.5_jsdom@20.0.1 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -75,7 +75,7 @@ devDependencies: unplugin-vue-components: 0.22.9_rollup@3.2.3+vue@3.2.41 vite: 3.2.0 vitepress: 0.22.4 - vitest: 0.24.4_jsdom@20.0.1 + vitest: 0.24.5_jsdom@20.0.1 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 vue-router: 4.1.6_vue@3.2.41 @@ -978,11 +978,11 @@ packages: vue: 3.2.41 dev: true - /@vitest/coverage-c8/0.24.4_jsdom@20.0.1: - resolution: {integrity: sha512-1mhYQip6IJw1p9hzM+sH8O/RbILMe7FwScWI7COoMGAThdDRytDjmOal38F/EVrIPZY3nZ5hf7S7JFGjbb4bTg==} + /@vitest/coverage-c8/0.24.5_jsdom@20.0.1: + resolution: {integrity: sha512-955yK/SdSBZPYrSXgXB0F+0JnOX5EY9kSL7ywJ4rNajmkFUhwLjuKm13Xb6YKSyIY/g5WvbBnyowqfNRxBJ3ww==} dependencies: c8: 7.12.0 - vitest: 0.24.4_jsdom@20.0.1 + vitest: 0.24.5_jsdom@20.0.1 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -3731,8 +3731,8 @@ packages: - stylus dev: true - /vitest/0.24.4_jsdom@20.0.1: - resolution: {integrity: sha512-4ratHSyVEJPtBLV00uhL4Wj3Pmandc9rsxUkE0q9peNOfaOgGF4lEepdkaXGRi9AGFKr1GRVtjGOJ6Fp2lCpEg==} + /vitest/0.24.5_jsdom@20.0.1: + resolution: {integrity: sha512-zw6JhPUHtLILQDe5Q39b/SzoITkG+R7hcFjuthp4xsi6zpmfQPOZcHodZ+3bqoWl4EdGK/p1fuMiEwdxgbGLOA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: From 5a604c78d5cd359c3eefdc0a1fc7646ffd56d5f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Nov 2022 01:28:46 +0000 Subject: [PATCH 03/12] chore(deps): update all non-major dependencies --- package.json | 14 ++-- pnpm-lock.yaml | 207 +++++++++++++++++++++++++------------------------ 2 files changed, 113 insertions(+), 108 deletions(-) diff --git a/package.json b/package.json index db1bf63fa..974e169d6 100644 --- a/package.json +++ b/package.json @@ -28,9 +28,9 @@ "@rollup/plugin-replace": "5.0.1", "@rollup/plugin-typescript": "9.0.2", "@types/js-beautify": "1.13.3", - "@types/node": "18.11.7", - "@typescript-eslint/eslint-plugin": "5.41.0", - "@typescript-eslint/parser": "5.41.0", + "@types/node": "18.11.9", + "@typescript-eslint/eslint-plugin": "5.42.0", + "@typescript-eslint/parser": "5.42.0", "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", "@vitest/coverage-c8": "0.24.5", @@ -44,16 +44,16 @@ "eslint-plugin-prettier": "4.2.1", "husky": "8.0.1", "js-beautify": "1.14.6", - "jsdom": "20.0.1", + "jsdom": "20.0.2", "jsdom-global": "3.0.2", "lint-staged": "13.0.3", "prettier": "2.7.1", "reflect-metadata": "0.1.13", - "rollup": "3.2.3", - "tslib": "2.4.0", + "rollup": "3.2.5", + "tslib": "2.4.1", "typescript": "4.8.4", "unplugin-vue-components": "0.22.9", - "vite": "3.2.0", + "vite": "3.2.2", "vitepress": "0.22.4", "vitest": "0.24.5", "vue": "3.2.41", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e0485a09c..c4cb5ace6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,9 +7,9 @@ specifiers: '@rollup/plugin-replace': 5.0.1 '@rollup/plugin-typescript': 9.0.2 '@types/js-beautify': 1.13.3 - '@types/node': 18.11.7 - '@typescript-eslint/eslint-plugin': 5.41.0 - '@typescript-eslint/parser': 5.41.0 + '@types/node': 18.11.9 + '@typescript-eslint/eslint-plugin': 5.42.0 + '@typescript-eslint/parser': 5.42.0 '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 '@vitest/coverage-c8': 0.24.5 @@ -23,16 +23,16 @@ specifiers: eslint-plugin-prettier: 4.2.1 husky: 8.0.1 js-beautify: 1.14.6 - jsdom: 20.0.1 + jsdom: 20.0.2 jsdom-global: 3.0.2 lint-staged: 13.0.3 prettier: 2.7.1 reflect-metadata: 0.1.13 - rollup: 3.2.3 - tslib: 2.4.0 + rollup: 3.2.5 + tslib: 2.4.1 typescript: 4.8.4 unplugin-vue-components: 0.22.9 - vite: 3.2.0 + vite: 3.2.2 vitepress: 0.22.4 vitest: 0.24.5 vue: 3.2.41 @@ -42,18 +42,18 @@ specifiers: vuex: 4.1.0 devDependencies: - '@rollup/plugin-commonjs': 23.0.2_rollup@3.2.3 - '@rollup/plugin-json': 5.0.1_rollup@3.2.3 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.2.3 - '@rollup/plugin-replace': 5.0.1_rollup@3.2.3 - '@rollup/plugin-typescript': 9.0.2_bvn3ed5hy3sfde644tygjdj4ia + '@rollup/plugin-commonjs': 23.0.2_rollup@3.2.5 + '@rollup/plugin-json': 5.0.1_rollup@3.2.5 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.2.5 + '@rollup/plugin-replace': 5.0.1_rollup@3.2.5 + '@rollup/plugin-typescript': 9.0.2_skqhbvp355vci76ty3pdffvjrq '@types/js-beautify': 1.13.3 - '@types/node': 18.11.7 - '@typescript-eslint/eslint-plugin': 5.41.0_huremdigmcnkianavgfk3x6iou - '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m - '@vitejs/plugin-vue': 3.2.0_vite@3.2.0+vue@3.2.41 - '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.0+vue@3.2.41 - '@vitest/coverage-c8': 0.24.5_jsdom@20.0.1 + '@types/node': 18.11.9 + '@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu + '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 + '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41 + '@vitest/coverage-c8': 0.24.5_jsdom@20.0.2 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -64,18 +64,18 @@ devDependencies: eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm husky: 8.0.1 js-beautify: 1.14.6 - jsdom: 20.0.1 - jsdom-global: 3.0.2_jsdom@20.0.1 + jsdom: 20.0.2 + jsdom-global: 3.0.2_jsdom@20.0.2 lint-staged: 13.0.3 prettier: 2.7.1 reflect-metadata: 0.1.13 - rollup: 3.2.3 - tslib: 2.4.0 + rollup: 3.2.5 + tslib: 2.4.1 typescript: 4.8.4 - unplugin-vue-components: 0.22.9_rollup@3.2.3+vue@3.2.41 - vite: 3.2.0 + unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.41 + vite: 3.2.2 vitepress: 0.22.4 - vitest: 0.24.5_jsdom@20.0.1 + vitest: 0.24.5_jsdom@20.0.2 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 vue-router: 4.1.6_vue@3.2.41 @@ -671,7 +671,7 @@ packages: fastq: 1.13.0 dev: true - /@rollup/plugin-commonjs/23.0.2_rollup@3.2.3: + /@rollup/plugin-commonjs/23.0.2_rollup@3.2.5: resolution: {integrity: sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -680,16 +680,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.0.3 is-reference: 1.2.1 magic-string: 0.26.7 - rollup: 3.2.3 + rollup: 3.2.5 dev: true - /@rollup/plugin-json/5.0.1_rollup@3.2.3: + /@rollup/plugin-json/5.0.1_rollup@3.2.5: resolution: {integrity: sha512-QCwhZZLvM8nRcTHyR1vOgyTMiAnjiNj1ebD/BMRvbO1oc/z14lZH6PfxXeegee2B6mky/u9fia4fxRM4TqrUaw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -698,11 +698,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 - rollup: 3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 + rollup: 3.2.5 dev: true - /@rollup/plugin-node-resolve/15.0.1_rollup@3.2.3: + /@rollup/plugin-node-resolve/15.0.1_rollup@3.2.5: resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -711,16 +711,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 - rollup: 3.2.3 + rollup: 3.2.5 dev: true - /@rollup/plugin-replace/5.0.1_rollup@3.2.3: + /@rollup/plugin-replace/5.0.1_rollup@3.2.5: resolution: {integrity: sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==} engines: {node: '>=14.0.0'} peerDependencies: @@ -729,12 +729,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 magic-string: 0.26.7 - rollup: 3.2.3 + rollup: 3.2.5 dev: true - /@rollup/plugin-typescript/9.0.2_bvn3ed5hy3sfde644tygjdj4ia: + /@rollup/plugin-typescript/9.0.2_skqhbvp355vci76ty3pdffvjrq: resolution: {integrity: sha512-/sS93vmHUMjzDUsl5scNQr1mUlNE1QjBBvOhmRwJCH8k2RRhDIm3c977B3wdu3t3Ap17W6dDeXP3hj1P1Un1bA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -747,14 +747,14 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 resolve: 1.22.1 - rollup: 3.2.3 - tslib: 2.4.0 + rollup: 3.2.5 + tslib: 2.4.1 typescript: 4.8.4 dev: true - /@rollup/pluginutils/5.0.2_rollup@3.2.3: + /@rollup/pluginutils/5.0.2_rollup@3.2.5: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -766,7 +766,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.2.3 + rollup: 3.2.5 dev: true /@tootallnate/once/2.0.0: @@ -800,8 +800,8 @@ packages: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/node/18.11.7: - resolution: {integrity: sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==} + /@types/node/18.11.9: + resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} dev: true /@types/resolve/1.20.2: @@ -812,8 +812,8 @@ packages: resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true - /@typescript-eslint/eslint-plugin/5.41.0_huremdigmcnkianavgfk3x6iou: - resolution: {integrity: sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==} + /@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu: + resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -823,13 +823,14 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/scope-manager': 5.41.0 - '@typescript-eslint/type-utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/type-utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 eslint: 8.26.0 ignore: 5.2.0 + natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.7 tsutils: 3.21.0_typescript@4.8.4 @@ -838,8 +839,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==} + /@typescript-eslint/parser/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -848,9 +849,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.41.0 - '@typescript-eslint/types': 5.41.0 - '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 debug: 4.3.4 eslint: 8.26.0 typescript: 4.8.4 @@ -858,16 +859,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager/5.41.0: - resolution: {integrity: sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==} + /@typescript-eslint/scope-manager/5.42.0: + resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.41.0 - '@typescript-eslint/visitor-keys': 5.41.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/visitor-keys': 5.42.0 dev: true - /@typescript-eslint/type-utils/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==} + /@typescript-eslint/type-utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -876,8 +877,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.41.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m debug: 4.3.4 eslint: 8.26.0 tsutils: 3.21.0_typescript@4.8.4 @@ -886,13 +887,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types/5.41.0: - resolution: {integrity: sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==} + /@typescript-eslint/types/5.42.0: + resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.41.0_typescript@4.8.4: - resolution: {integrity: sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==} + /@typescript-eslint/typescript-estree/5.42.0_typescript@4.8.4: + resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -900,8 +901,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.41.0 - '@typescript-eslint/visitor-keys': 5.41.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/visitor-keys': 5.42.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -912,17 +913,17 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.41.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==} + /@typescript-eslint/utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: + resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==} 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': 7.0.11 '@types/semver': 7.3.12 - '@typescript-eslint/scope-manager': 5.41.0 - '@typescript-eslint/types': 5.41.0 - '@typescript-eslint/typescript-estree': 5.41.0_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.42.0 + '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 eslint: 8.26.0 eslint-scope: 5.1.1 eslint-utils: 3.0.0_eslint@8.26.0 @@ -932,15 +933,15 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.41.0: - resolution: {integrity: sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==} + /@typescript-eslint/visitor-keys/5.42.0: + resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.41.0 + '@typescript-eslint/types': 5.42.0 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.0+vue@3.2.41: + /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.41: resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -950,7 +951,7 @@ packages: '@babel/core': 7.19.6 '@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.6 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 - vite: 3.2.0 + vite: 3.2.2 vue: 3.2.41 transitivePeerDependencies: - supports-color @@ -967,22 +968,22 @@ packages: vue: 3.2.41 dev: true - /@vitejs/plugin-vue/3.2.0_vite@3.2.0+vue@3.2.41: + /@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.41: resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.2.0 + vite: 3.2.2 vue: 3.2.41 dev: true - /@vitest/coverage-c8/0.24.5_jsdom@20.0.1: + /@vitest/coverage-c8/0.24.5_jsdom@20.0.2: resolution: {integrity: sha512-955yK/SdSBZPYrSXgXB0F+0JnOX5EY9kSL7ywJ4rNajmkFUhwLjuKm13Xb6YKSyIY/g5WvbBnyowqfNRxBJ3ww==} dependencies: c8: 7.12.0 - vitest: 0.24.5_jsdom@20.0.1 + vitest: 0.24.5_jsdom@20.0.2 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -2700,16 +2701,16 @@ packages: argparse: 2.0.1 dev: true - /jsdom-global/3.0.2_jsdom@20.0.1: + /jsdom-global/3.0.2_jsdom@20.0.2: resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} peerDependencies: jsdom: '>=10.0.0' dependencies: - jsdom: 20.0.1 + jsdom: 20.0.2 dev: true - /jsdom/20.0.1: - resolution: {integrity: sha512-pksjj7Rqoa+wdpkKcLzQRHhJCEE42qQhl/xLMUKHgoSejaKOdaXEAnqs6uDNwMl/fciHTzKeR8Wm8cw7N+g98A==} + /jsdom/20.0.2: + resolution: {integrity: sha512-AHWa+QO/cgRg4N+DsmHg1Y7xnz+8KU3EflM0LVDTdmrYOc1WWTSkOjtpUveQH+1Bqd5rtcVnb/DuxV/UjDO4rA==} engines: {node: '>=14'} peerDependencies: canvas: ^2.5.0 @@ -2964,6 +2965,10 @@ packages: hasBin: true dev: true + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true @@ -3272,8 +3277,8 @@ packages: fsevents: 2.3.2 dev: true - /rollup/3.2.3: - resolution: {integrity: sha512-qfadtkY5kl0F5e4dXVdj2D+GtOdifasXHFMiL1SMf9ADQDv5Eti6xReef9FKj+iQPR2pvtqWna57s/PjARY4fg==} + /rollup/3.2.5: + resolution: {integrity: sha512-/Ha7HhVVofduy+RKWOQJrxe4Qb3xyZo+chcpYiD8SoQa4AG7llhupUtyfKSSrdBM2mWJjhM8wZwmbY23NmlIYw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -3289,7 +3294,7 @@ packages: /rxjs/7.5.5: resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 2.4.0 + tslib: 2.4.1 dev: true /safe-buffer/5.1.2: @@ -3534,8 +3539,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + /tslib/2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true /tsutils/3.21.0_typescript@4.8.4: @@ -3588,7 +3593,7 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /unplugin-vue-components/0.22.9_rollup@3.2.3+vue@3.2.41: + /unplugin-vue-components/0.22.9_rollup@3.2.5+vue@3.2.41: resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} engines: {node: '>=14'} peerDependencies: @@ -3599,7 +3604,7 @@ packages: optional: true dependencies: '@antfu/utils': 0.6.0 - '@rollup/pluginutils': 5.0.2_rollup@3.2.3 + '@rollup/pluginutils': 5.0.2_rollup@3.2.5 chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.2.12 @@ -3680,8 +3685,8 @@ packages: fsevents: 2.3.2 dev: true - /vite/3.2.0: - resolution: {integrity: sha512-Ovj7+cqIdM1I0LPCk2CWxzgADXMix3NLXpUT6g7P7zg/a9grk/TaC3qn9YMg7w7M0POIVCBOp1aBANJW+RH7oA==} + /vite/3.2.2: + resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -3731,7 +3736,7 @@ packages: - stylus dev: true - /vitest/0.24.5_jsdom@20.0.1: + /vitest/0.24.5_jsdom@20.0.2: resolution: {integrity: sha512-zw6JhPUHtLILQDe5Q39b/SzoITkG+R7hcFjuthp4xsi6zpmfQPOZcHodZ+3bqoWl4EdGK/p1fuMiEwdxgbGLOA==} engines: {node: '>=v14.16.0'} hasBin: true @@ -3755,16 +3760,16 @@ packages: dependencies: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 - '@types/node': 18.11.7 + '@types/node': 18.11.9 chai: 4.3.6 debug: 4.3.4 - jsdom: 20.0.1 + jsdom: 20.0.2 local-pkg: 0.4.2 strip-literal: 0.4.2 tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 3.2.0 + vite: 3.2.2 transitivePeerDependencies: - less - sass From cebc0e0ae6a86be3fab5a03e6228224d0dbabe8d Mon Sep 17 00:00:00 2001 From: Illya Klymov Date: Thu, 3 Nov 2022 09:04:48 +0200 Subject: [PATCH 04/12] chore(mount): simplify mount operation (#1844) * do not use ugly console.warn hack --- src/mount.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/mount.ts b/src/mount.ts index 00efa87b3..58d10d0e6 100644 --- a/src/mount.ts +++ b/src/mount.ts @@ -25,7 +25,8 @@ import { ComponentOptions, ConcreteComponent, Prop, - transformVNodeArgs + transformVNodeArgs, + ref } from 'vue' import { MountingOptions, Slot } from './types' @@ -438,9 +439,15 @@ export function mount( component.components = { ...component.components, ...global.components } } + const componentRef = ref(null) // create the wrapper component const Parent = defineComponent({ name: 'VTU_ROOT', + setup() { + return { + [MOUNT_COMPONENT_REF]: componentRef + } + }, render() { return h(component as ComponentOptions, { ...props, ...refs }, slots) } @@ -570,17 +577,12 @@ export function mount( // mount the app! const vm = app.mount(el) - // Ignore "Avoid app logic that relies on enumerating keys on a component instance..." warning - const warnSave = console.warn - console.warn = () => {} - - const appRef = vm.$refs[MOUNT_COMPONENT_REF] as ComponentPublicInstance + const appRef = componentRef.value! as ComponentPublicInstance // we add `hasOwnProperty` so Jest can spy on the proxied vm without throwing // note that this is not necessary with Jest v27+ or Vitest, but is kept for compatibility with older Jest versions appRef.hasOwnProperty = (property) => { return Reflect.has(appRef, property) } - console.warn = warnSave const wrapper = createVueWrapper(app, appRef, setProps) trackInstance(wrapper) return wrapper From 393d71b3a8705d955521c1f90beaa0f6cebc9dba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 16:24:48 +0000 Subject: [PATCH 05/12] chore(deps): update vitest to v0.25.0 --- package.json | 4 ++-- pnpm-lock.yaml | 21 ++++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 974e169d6..0e736d8af 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/parser": "5.42.0", "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", - "@vitest/coverage-c8": "0.24.5", + "@vitest/coverage-c8": "0.25.0", "@vue/compat": "3.2.41", "@vue/compiler-dom": "3.2.41", "@vue/compiler-sfc": "3.2.41", @@ -55,7 +55,7 @@ "unplugin-vue-components": "0.22.9", "vite": "3.2.2", "vitepress": "0.22.4", - "vitest": "0.24.5", + "vitest": "0.25.0", "vue": "3.2.41", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4cb5ace6..c8f512191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ specifiers: '@typescript-eslint/parser': 5.42.0 '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 - '@vitest/coverage-c8': 0.24.5 + '@vitest/coverage-c8': 0.25.0 '@vue/compat': 3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -34,7 +34,7 @@ specifiers: unplugin-vue-components: 0.22.9 vite: 3.2.2 vitepress: 0.22.4 - vitest: 0.24.5 + vitest: 0.25.0 vue: 3.2.41 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 @@ -53,7 +53,7 @@ devDependencies: '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41 - '@vitest/coverage-c8': 0.24.5_jsdom@20.0.2 + '@vitest/coverage-c8': 0.25.0_jsdom@20.0.2 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -75,7 +75,7 @@ devDependencies: unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.41 vite: 3.2.2 vitepress: 0.22.4 - vitest: 0.24.5_jsdom@20.0.2 + vitest: 0.25.0_jsdom@20.0.2 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 vue-router: 4.1.6_vue@3.2.41 @@ -979,11 +979,11 @@ packages: vue: 3.2.41 dev: true - /@vitest/coverage-c8/0.24.5_jsdom@20.0.2: - resolution: {integrity: sha512-955yK/SdSBZPYrSXgXB0F+0JnOX5EY9kSL7ywJ4rNajmkFUhwLjuKm13Xb6YKSyIY/g5WvbBnyowqfNRxBJ3ww==} + /@vitest/coverage-c8/0.25.0_jsdom@20.0.2: + resolution: {integrity: sha512-rAeekiideYYvuHk0/nfMvlPiJhyeE9oFFL/Zxp5ZvRF3p2AvQaj8Z6Na//08lIxvm6oi9rDijdkYE0CFMtT7uA==} dependencies: c8: 7.12.0 - vitest: 0.24.5_jsdom@20.0.2 + vitest: 0.25.0_jsdom@20.0.2 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -3736,8 +3736,8 @@ packages: - stylus dev: true - /vitest/0.24.5_jsdom@20.0.2: - resolution: {integrity: sha512-zw6JhPUHtLILQDe5Q39b/SzoITkG+R7hcFjuthp4xsi6zpmfQPOZcHodZ+3bqoWl4EdGK/p1fuMiEwdxgbGLOA==} + /vitest/0.25.0_jsdom@20.0.2: + resolution: {integrity: sha512-CVgBdKSeA27mowKC/C31Tx7ZBjRoyasq/yW7zoqUaCdKaOsjdzRUH5KgSL3eG36DzaaUsbnwWPUbAOtFz5k6tQ==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -3761,10 +3761,13 @@ packages: '@types/chai': 4.3.3 '@types/chai-subset': 1.3.3 '@types/node': 18.11.9 + acorn: 8.8.0 + acorn-walk: 8.2.0 chai: 4.3.6 debug: 4.3.4 jsdom: 20.0.2 local-pkg: 0.4.2 + source-map: 0.6.1 strip-literal: 0.4.2 tinybench: 2.3.1 tinypool: 0.3.0 From 329ca36ab36793974380a0190e22aae6c4e6fdc0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 16:23:00 +0000 Subject: [PATCH 06/12] chore(deps): update vitest to v0.25.1 --- package.json | 4 ++-- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 0e736d8af..8d55e2787 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@typescript-eslint/parser": "5.42.0", "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", - "@vitest/coverage-c8": "0.25.0", + "@vitest/coverage-c8": "0.25.1", "@vue/compat": "3.2.41", "@vue/compiler-dom": "3.2.41", "@vue/compiler-sfc": "3.2.41", @@ -55,7 +55,7 @@ "unplugin-vue-components": "0.22.9", "vite": "3.2.2", "vitepress": "0.22.4", - "vitest": "0.25.0", + "vitest": "0.25.1", "vue": "3.2.41", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8f512191..0c2acc718 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ specifiers: '@typescript-eslint/parser': 5.42.0 '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 - '@vitest/coverage-c8': 0.25.0 + '@vitest/coverage-c8': 0.25.1 '@vue/compat': 3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -34,7 +34,7 @@ specifiers: unplugin-vue-components: 0.22.9 vite: 3.2.2 vitepress: 0.22.4 - vitest: 0.25.0 + vitest: 0.25.1 vue: 3.2.41 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 @@ -53,7 +53,7 @@ devDependencies: '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41 - '@vitest/coverage-c8': 0.25.0_jsdom@20.0.2 + '@vitest/coverage-c8': 0.25.1_jsdom@20.0.2 '@vue/compat': 3.2.41_vue@3.2.41 '@vue/compiler-dom': 3.2.41 '@vue/compiler-sfc': 3.2.41 @@ -75,7 +75,7 @@ devDependencies: unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.41 vite: 3.2.2 vitepress: 0.22.4 - vitest: 0.25.0_jsdom@20.0.2 + vitest: 0.25.1_jsdom@20.0.2 vue: 3.2.41 vue-class-component: 8.0.0-rc.1_vue@3.2.41 vue-router: 4.1.6_vue@3.2.41 @@ -979,11 +979,11 @@ packages: vue: 3.2.41 dev: true - /@vitest/coverage-c8/0.25.0_jsdom@20.0.2: - resolution: {integrity: sha512-rAeekiideYYvuHk0/nfMvlPiJhyeE9oFFL/Zxp5ZvRF3p2AvQaj8Z6Na//08lIxvm6oi9rDijdkYE0CFMtT7uA==} + /@vitest/coverage-c8/0.25.1_jsdom@20.0.2: + resolution: {integrity: sha512-gpl5QNaNeIN0mfRiosCqBFoZcizb5GA458TDnOQXkGDc4kklazxn70u9evGfV62wiiAUfGGebgRhxlBkAa6m6g==} dependencies: c8: 7.12.0 - vitest: 0.25.0_jsdom@20.0.2 + vitest: 0.25.1_jsdom@20.0.2 transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -3736,8 +3736,8 @@ packages: - stylus dev: true - /vitest/0.25.0_jsdom@20.0.2: - resolution: {integrity: sha512-CVgBdKSeA27mowKC/C31Tx7ZBjRoyasq/yW7zoqUaCdKaOsjdzRUH5KgSL3eG36DzaaUsbnwWPUbAOtFz5k6tQ==} + /vitest/0.25.1_jsdom@20.0.2: + resolution: {integrity: sha512-eH74h6MkuEgsqR4mAQZeMK9O0PROiKY+i+1GMz/fBi5A3L2ml5U7JQs7LfPU7+uWUziZyLHagl+rkyfR8SLhlA==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: From 2693839ce8045616f56b824fa7c66bcdcc6f7e19 Mon Sep 17 00:00:00 2001 From: ced Date: Wed, 9 Nov 2022 20:14:19 +0100 Subject: [PATCH 07/12] chore: update to vue v3.2.44 Also adds some cast for global properties, as we are impacted by https://github.com/vuejs/core/commit/506a42a9a5782b6cd297a8f4b9679db51b7aacff --- package.json | 10 +-- pnpm-lock.yaml | 206 ++++++++++++++++++++----------------------- src/utils.ts | 2 +- tests/config.spec.ts | 14 +-- 4 files changed, 109 insertions(+), 123 deletions(-) diff --git a/package.json b/package.json index 8d55e2787..04da84003 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,10 @@ "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.0", "@vitest/coverage-c8": "0.25.1", - "@vue/compat": "3.2.41", - "@vue/compiler-dom": "3.2.41", - "@vue/compiler-sfc": "3.2.41", - "@vue/runtime-core": "3.2.41", + "@vue/compat": "3.2.44", + "@vue/compiler-dom": "3.2.44", + "@vue/compiler-sfc": "3.2.44", + "@vue/runtime-core": "3.2.44", "c8": "7.12.0", "eslint": "8.26.0", "eslint-config-prettier": "8.5.0", @@ -56,7 +56,7 @@ "vite": "3.2.2", "vitepress": "0.22.4", "vitest": "0.25.1", - "vue": "3.2.41", + "vue": "3.2.44", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", "vue-tsc": "1.0.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c2acc718..71792166f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,10 @@ specifiers: '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.0 '@vitest/coverage-c8': 0.25.1 - '@vue/compat': 3.2.41 - '@vue/compiler-dom': 3.2.41 - '@vue/compiler-sfc': 3.2.41 - '@vue/runtime-core': 3.2.41 + '@vue/compat': 3.2.44 + '@vue/compiler-dom': 3.2.44 + '@vue/compiler-sfc': 3.2.44 + '@vue/runtime-core': 3.2.44 c8: 7.12.0 eslint: 8.26.0 eslint-config-prettier: 8.5.0 @@ -35,7 +35,7 @@ specifiers: vite: 3.2.2 vitepress: 0.22.4 vitest: 0.25.1 - vue: 3.2.41 + vue: 3.2.44 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 vue-tsc: 1.0.9 @@ -51,13 +51,13 @@ devDependencies: '@types/node': 18.11.9 '@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m - '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.41 - '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.41 + '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.44 + '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.44 '@vitest/coverage-c8': 0.25.1_jsdom@20.0.2 - '@vue/compat': 3.2.41_vue@3.2.41 - '@vue/compiler-dom': 3.2.41 - '@vue/compiler-sfc': 3.2.41 - '@vue/runtime-core': 3.2.41 + '@vue/compat': 3.2.44_vue@3.2.44 + '@vue/compiler-dom': 3.2.44 + '@vue/compiler-sfc': 3.2.44 + '@vue/runtime-core': 3.2.44 c8: 7.12.0 eslint: 8.26.0 eslint-config-prettier: 8.5.0_eslint@8.26.0 @@ -72,15 +72,15 @@ devDependencies: rollup: 3.2.5 tslib: 2.4.1 typescript: 4.8.4 - unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.41 + unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.44 vite: 3.2.2 vitepress: 0.22.4 vitest: 0.25.1_jsdom@20.0.2 - vue: 3.2.41 - vue-class-component: 8.0.0-rc.1_vue@3.2.41 - vue-router: 4.1.6_vue@3.2.41 + vue: 3.2.44 + vue-class-component: 8.0.0-rc.1_vue@3.2.44 + vue-router: 4.1.6_vue@3.2.44 vue-tsc: 1.0.9_typescript@4.8.4 - vuex: 4.1.0_vue@3.2.41 + vuex: 4.1.0_vue@3.2.44 packages: @@ -415,14 +415,6 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.19.0: - resolution: {integrity: sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.19.0 - dev: true - /@babel/parser/7.19.6: resolution: {integrity: sha512-h1IUp81s2JYJ3mRkdxJgs4UvmSsRvDrx5ICSJbPvtWYv5i1nTBGcBpnog+89rAFMwvvru6E5NUHdBe01UeSzYA==} engines: {node: '>=6.0.0'} @@ -492,15 +484,6 @@ packages: - supports-color dev: true - /@babel/types/7.19.0: - resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@babel/types/7.19.4: resolution: {integrity: sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==} engines: {node: '>=6.9.0'} @@ -941,7 +924,7 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.41: + /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.44: resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -952,12 +935,12 @@ packages: '@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.6 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 vite: 3.2.2 - vue: 3.2.41 + vue: 3.2.44 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue/2.3.3_vite@2.9.14+vue@3.2.41: + /@vitejs/plugin-vue/2.3.3_vite@2.9.14+vue@3.2.44: resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -965,10 +948,10 @@ packages: vue: ^3.2.25 dependencies: vite: 2.9.14 - vue: 3.2.41 + vue: 3.2.44 dev: true - /@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.41: + /@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.44: resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -976,7 +959,7 @@ packages: vue: ^3.2.25 dependencies: vite: 3.2.2 - vue: 3.2.41 + vue: 3.2.44 dev: true /@vitest/coverage-c8/0.25.1_jsdom@20.0.2: @@ -1002,7 +985,7 @@ packages: resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} dependencies: '@volar/source-map': 1.0.9 - '@vue/reactivity': 3.2.41 + '@vue/reactivity': 3.2.44 muggle-string: 0.1.0 dev: true @@ -1023,8 +1006,8 @@ packages: dependencies: '@volar/language-core': 1.0.9 '@volar/source-map': 1.0.9 - '@vue/compiler-dom': 3.2.41 - '@vue/compiler-sfc': 3.2.41 + '@vue/compiler-dom': 3.2.44 + '@vue/compiler-sfc': 3.2.44 '@vue/reactivity': 3.2.41 '@vue/shared': 3.2.41 minimatch: 5.1.0 @@ -1059,53 +1042,53 @@ packages: - supports-color dev: true - /@vue/compat/3.2.41_vue@3.2.41: - resolution: {integrity: sha512-N7APL8Dlxfdth0tH0+TcJDXDljxdnAkMdf5IZryA1yJWIg3COi9WnkolEzk5tNw/WYnF1tvEou3EJPKjSj0jWw==} + /@vue/compat/3.2.44_vue@3.2.44: + resolution: {integrity: sha512-pZTa4mc3ZhU9vPTqgDsq23AMez4/zQHueXIgi4r4HpCnxchMH42HfoozfQocbqim6GsK8zro5eWNqHRNT+/amA==} peerDependencies: - vue: 3.2.41 + vue: 3.2.44 dependencies: - '@babel/parser': 7.19.0 + '@babel/parser': 7.19.6 estree-walker: 2.0.2 source-map: 0.6.1 - vue: 3.2.41 + vue: 3.2.44 dev: true - /@vue/compiler-core/3.2.41: - resolution: {integrity: sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==} + /@vue/compiler-core/3.2.44: + resolution: {integrity: sha512-TwzeVSnaklb8wIvMtwtkPkt9wnU+XD70xJ7N9+eIHtjKAG7OoZttm+14ZL6vWOL+2RcMtSZ+cYH+gvkUqsrmSQ==} dependencies: '@babel/parser': 7.19.6 - '@vue/shared': 3.2.41 + '@vue/shared': 3.2.44 estree-walker: 2.0.2 source-map: 0.6.1 dev: true - /@vue/compiler-dom/3.2.41: - resolution: {integrity: sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==} + /@vue/compiler-dom/3.2.44: + resolution: {integrity: sha512-wPDR+gOn2Qi7SudPJ+gE62vuO/aKXIiIFALvHpztXmDdbAHGy3CDfmBgOGchTgTlSeDJHe9olEMkgOdmyXTjUg==} dependencies: - '@vue/compiler-core': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/compiler-core': 3.2.44 + '@vue/shared': 3.2.44 dev: true - /@vue/compiler-sfc/3.2.41: - resolution: {integrity: sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==} + /@vue/compiler-sfc/3.2.44: + resolution: {integrity: sha512-8cFZcUWlrtnfM/GlRwYJdlfgbEOy0OZ/osLDU3h/wJu24HuYAc7QIML1USaKqiZzkjOaTd4y8mvYvcWXq3o5dA==} dependencies: - '@babel/parser': 7.19.0 - '@vue/compiler-core': 3.2.41 - '@vue/compiler-dom': 3.2.41 - '@vue/compiler-ssr': 3.2.41 - '@vue/reactivity-transform': 3.2.41 - '@vue/shared': 3.2.41 + '@babel/parser': 7.19.6 + '@vue/compiler-core': 3.2.44 + '@vue/compiler-dom': 3.2.44 + '@vue/compiler-ssr': 3.2.44 + '@vue/reactivity-transform': 3.2.44 + '@vue/shared': 3.2.44 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.16 + postcss: 8.4.18 source-map: 0.6.1 dev: true - /@vue/compiler-ssr/3.2.41: - resolution: {integrity: sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==} + /@vue/compiler-ssr/3.2.44: + resolution: {integrity: sha512-tAkUFLgvxds3l5KPyAH77OIYrEeLngNYQfWA9GocHiy2nlyajjqAH/Jq93Bq29Y20GeJzblmRp9DVYCVkJ5Rsw==} dependencies: - '@vue/compiler-dom': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/compiler-dom': 3.2.44 + '@vue/shared': 3.2.44 dev: true /@vue/devtools-api/6.2.0: @@ -1116,12 +1099,12 @@ packages: resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} dev: true - /@vue/reactivity-transform/3.2.41: - resolution: {integrity: sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==} + /@vue/reactivity-transform/3.2.44: + resolution: {integrity: sha512-WGbEiXaS2qAOTS9Z3kKk2Nk4bi8OUl73Sih+h0XV9RTUATnaJSEQedveHUDQnHyXiZwyBMKosrxJg8aThHO/rw==} dependencies: '@babel/parser': 7.19.6 - '@vue/compiler-core': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/compiler-core': 3.2.44 + '@vue/shared': 3.2.44 estree-walker: 2.0.2 magic-string: 0.25.9 dev: true @@ -1132,35 +1115,45 @@ packages: '@vue/shared': 3.2.41 dev: true - /@vue/runtime-core/3.2.41: - resolution: {integrity: sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==} + /@vue/reactivity/3.2.44: + resolution: {integrity: sha512-Fe0s52fTsPl+RSdvoqUZ3HRKlaVsKhIh1mea5EWOedFvZCjnymzlj3YC1wZMxi89qXRFSdEASVA/BWUGypk0Ig==} dependencies: - '@vue/reactivity': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/shared': 3.2.44 dev: true - /@vue/runtime-dom/3.2.41: - resolution: {integrity: sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==} + /@vue/runtime-core/3.2.44: + resolution: {integrity: sha512-uwEV1cttL33k2dC+CNGYhKEYqGejT9KmgQ+4n/LmYUfZ1Gorl8F32DlIX+1pANyGHL1tBAisqHDxKyQBp2oBNA==} dependencies: - '@vue/runtime-core': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/reactivity': 3.2.44 + '@vue/shared': 3.2.44 + dev: true + + /@vue/runtime-dom/3.2.44: + resolution: {integrity: sha512-LDzNwXpU/nSpxrLk5jS0bfStgt88msgsgFzj6vHrl7es3QktIrCGybQS5CB/p/TO0q98iAiYtEVmi+Lej7Vgjg==} + dependencies: + '@vue/runtime-core': 3.2.44 + '@vue/shared': 3.2.44 csstype: 2.6.20 dev: true - /@vue/server-renderer/3.2.41_vue@3.2.41: - resolution: {integrity: sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==} + /@vue/server-renderer/3.2.44_vue@3.2.44: + resolution: {integrity: sha512-3+ArN07UgOAdbGKIp3uVqeC3bnR3J324QNjPR6vxHbLrTlkibFv8QNled/ux3fVq0KDCkVVKGOKB2V4sCIYOgg==} peerDependencies: - vue: 3.2.41 + vue: 3.2.44 dependencies: - '@vue/compiler-ssr': 3.2.41 - '@vue/shared': 3.2.41 - vue: 3.2.41 + '@vue/compiler-ssr': 3.2.44 + '@vue/shared': 3.2.44 + vue: 3.2.44 dev: true /@vue/shared/3.2.41: resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==} dev: true + /@vue/shared/3.2.44: + resolution: {integrity: sha512-mGZ44bnn0zpZ36nXtxbrBPno43yr96wjQE1dBEKS1Sieugt27HS4OGZVBRIgsdGzosB7vqZAvu0ttu1FDVdolA==} + dev: true + /abab/2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true @@ -3131,15 +3124,6 @@ packages: hasBin: true dev: true - /postcss/8.4.16: - resolution: {integrity: sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss/8.4.18: resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==} engines: {node: ^10 || ^12 || >=14} @@ -3593,7 +3577,7 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /unplugin-vue-components/0.22.9_rollup@3.2.5+vue@3.2.41: + /unplugin-vue-components/0.22.9_rollup@3.2.5+vue@3.2.44: resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} engines: {node: '>=14'} peerDependencies: @@ -3613,7 +3597,7 @@ packages: minimatch: 5.1.0 resolve: 1.22.1 unplugin: 0.10.1 - vue: 3.2.41 + vue: 3.2.44 transitivePeerDependencies: - rollup - supports-color @@ -3722,10 +3706,10 @@ packages: dependencies: '@docsearch/css': 3.1.1 '@docsearch/js': 3.1.1 - '@vitejs/plugin-vue': 2.3.3_vite@2.9.14+vue@3.2.41 + '@vitejs/plugin-vue': 2.3.3_vite@2.9.14+vue@3.2.44 prismjs: 1.28.0 vite: 2.9.14 - vue: 3.2.41 + vue: 3.2.44 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -3782,21 +3766,21 @@ packages: - terser dev: true - /vue-class-component/8.0.0-rc.1_vue@3.2.41: + /vue-class-component/8.0.0-rc.1_vue@3.2.44: resolution: {integrity: sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.2.41 + vue: 3.2.44 dev: true - /vue-router/4.1.6_vue@3.2.41: + /vue-router/4.1.6_vue@3.2.44: resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.4.5 - vue: 3.2.41 + vue: 3.2.44 dev: true /vue-template-compiler/2.7.10: @@ -3817,23 +3801,23 @@ packages: typescript: 4.8.4 dev: true - /vue/3.2.41: - resolution: {integrity: sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==} + /vue/3.2.44: + resolution: {integrity: sha512-nyNtFDh+0TpRgYCUVfPD1mJ9PpIsCPXaOF4DeGNIT5vQ4X23ykflGq3Sy2P+tEt1/pQZxZnAysuRKwyhNj+Cjw==} dependencies: - '@vue/compiler-dom': 3.2.41 - '@vue/compiler-sfc': 3.2.41 - '@vue/runtime-dom': 3.2.41 - '@vue/server-renderer': 3.2.41_vue@3.2.41 - '@vue/shared': 3.2.41 + '@vue/compiler-dom': 3.2.44 + '@vue/compiler-sfc': 3.2.44 + '@vue/runtime-dom': 3.2.44 + '@vue/server-renderer': 3.2.44_vue@3.2.44 + '@vue/shared': 3.2.44 dev: true - /vuex/4.1.0_vue@3.2.41: + /vuex/4.1.0_vue@3.2.44: resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.2.0 - vue: 3.2.41 + vue: 3.2.44 dev: true /w3c-xmlserializer/3.0.0: diff --git a/src/utils.ts b/src/utils.ts index 32b9ab493..0a9c49564 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -32,7 +32,7 @@ function mergeAppConfig( globalProperties: { ...configGlobalConfig?.globalProperties, ...mountGlobalConfig?.globalProperties - } + } as Required['config']['globalProperties'] } } diff --git a/tests/config.spec.ts b/tests/config.spec.ts index 0d3d13a50..159d25006 100644 --- a/tests/config.spec.ts +++ b/tests/config.spec.ts @@ -1,9 +1,10 @@ import { beforeEach, describe, expect, it, vi } from 'vitest' import { defineComponent, ComponentPublicInstance, h, inject } from 'vue' -import type { App } from 'vue' +import type { App, ComponentCustomProperties } from 'vue' import { config, mount } from '../src' import Hello from './components/Hello.vue' import ComponentWithSlots from './components/ComponentWithSlots.vue' +import { Router } from 'vue-router' describe('config', () => { beforeEach(() => { @@ -26,7 +27,7 @@ describe('config', () => { it('should merge the configs in the correct order', () => { config.global.config.globalProperties = { myProp: 1 - } + } as unknown as ComponentCustomProperties & Record config.global.components = { Hello } const comp = mount(ComponentWithSlots, { @@ -38,7 +39,7 @@ describe('config', () => { config: { globalProperties: { myProp: 2 - } + } as unknown as ComponentCustomProperties & Record }, renderStubDefaultSlot: true } @@ -62,13 +63,14 @@ describe('config', () => { class Plugin { static install(_app: App) { - _app.config.globalProperties.$router = pluginRouterMock + _app.config.globalProperties.$router = + pluginRouterMock as unknown as Router } } config.global.config.globalProperties = { - $router: globalRouterMock - } + $router: globalRouterMock as unknown as Router + } as unknown as ComponentCustomProperties & Record // first with plugin to overwrite globalRouterMock with pluginRouterMock const wrapper1 = mount(Component, { From cc2c2b3bcede61e4b53cc3b8a946aede062a7a45 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 10 Nov 2022 15:05:21 +0000 Subject: [PATCH 08/12] chore(deps): update all non-major dependencies --- package.json | 12 ++-- pnpm-lock.yaml | 184 +++++++++++++++++++++++++------------------------ 2 files changed, 100 insertions(+), 96 deletions(-) diff --git a/package.json b/package.json index 04da84003..62750fb2c 100644 --- a/package.json +++ b/package.json @@ -29,20 +29,20 @@ "@rollup/plugin-typescript": "9.0.2", "@types/js-beautify": "1.13.3", "@types/node": "18.11.9", - "@typescript-eslint/eslint-plugin": "5.42.0", - "@typescript-eslint/parser": "5.42.0", + "@typescript-eslint/eslint-plugin": "5.42.1", + "@typescript-eslint/parser": "5.42.1", "@vitejs/plugin-vue": "3.2.0", - "@vitejs/plugin-vue-jsx": "2.1.0", + "@vitejs/plugin-vue-jsx": "2.1.1", "@vitest/coverage-c8": "0.25.1", "@vue/compat": "3.2.44", "@vue/compiler-dom": "3.2.44", "@vue/compiler-sfc": "3.2.44", "@vue/runtime-core": "3.2.44", "c8": "7.12.0", - "eslint": "8.26.0", + "eslint": "8.27.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-prettier": "4.2.1", - "husky": "8.0.1", + "husky": "8.0.2", "js-beautify": "1.14.6", "jsdom": "20.0.2", "jsdom-global": "3.0.2", @@ -53,7 +53,7 @@ "tslib": "2.4.1", "typescript": "4.8.4", "unplugin-vue-components": "0.22.9", - "vite": "3.2.2", + "vite": "3.2.3", "vitepress": "0.22.4", "vitest": "0.25.1", "vue": "3.2.44", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 71792166f..91924c1e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,20 +8,20 @@ specifiers: '@rollup/plugin-typescript': 9.0.2 '@types/js-beautify': 1.13.3 '@types/node': 18.11.9 - '@typescript-eslint/eslint-plugin': 5.42.0 - '@typescript-eslint/parser': 5.42.0 + '@typescript-eslint/eslint-plugin': 5.42.1 + '@typescript-eslint/parser': 5.42.1 '@vitejs/plugin-vue': 3.2.0 - '@vitejs/plugin-vue-jsx': 2.1.0 + '@vitejs/plugin-vue-jsx': 2.1.1 '@vitest/coverage-c8': 0.25.1 '@vue/compat': 3.2.44 '@vue/compiler-dom': 3.2.44 '@vue/compiler-sfc': 3.2.44 '@vue/runtime-core': 3.2.44 c8: 7.12.0 - eslint: 8.26.0 + eslint: 8.27.0 eslint-config-prettier: 8.5.0 eslint-plugin-prettier: 4.2.1 - husky: 8.0.1 + husky: 8.0.2 js-beautify: 1.14.6 jsdom: 20.0.2 jsdom-global: 3.0.2 @@ -32,7 +32,7 @@ specifiers: tslib: 2.4.1 typescript: 4.8.4 unplugin-vue-components: 0.22.9 - vite: 3.2.2 + vite: 3.2.3 vitepress: 0.22.4 vitest: 0.25.1 vue: 3.2.44 @@ -49,20 +49,20 @@ devDependencies: '@rollup/plugin-typescript': 9.0.2_skqhbvp355vci76ty3pdffvjrq '@types/js-beautify': 1.13.3 '@types/node': 18.11.9 - '@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu - '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m - '@vitejs/plugin-vue': 3.2.0_vite@3.2.2+vue@3.2.44 - '@vitejs/plugin-vue-jsx': 2.1.0_vite@3.2.2+vue@3.2.44 + '@typescript-eslint/eslint-plugin': 5.42.1_2udltptbznfmezdozpdoa2aemq + '@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy + '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 + '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 '@vitest/coverage-c8': 0.25.1_jsdom@20.0.2 '@vue/compat': 3.2.44_vue@3.2.44 '@vue/compiler-dom': 3.2.44 '@vue/compiler-sfc': 3.2.44 '@vue/runtime-core': 3.2.44 c8: 7.12.0 - eslint: 8.26.0 - eslint-config-prettier: 8.5.0_eslint@8.26.0 - eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm - husky: 8.0.1 + eslint: 8.27.0 + eslint-config-prettier: 8.5.0_eslint@8.27.0 + eslint-plugin-prettier: 4.2.1_v7o5sx5x3wbs57ifz6wc4f76we + husky: 8.0.2 js-beautify: 1.14.6 jsdom: 20.0.2 jsdom-global: 3.0.2_jsdom@20.0.2 @@ -73,7 +73,7 @@ devDependencies: tslib: 2.4.1 typescript: 4.8.4 unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.44 - vite: 3.2.2 + vite: 3.2.3_@types+node@18.11.9 vitepress: 0.22.4 vitest: 0.25.1_jsdom@20.0.2 vue: 3.2.44 @@ -273,8 +273,8 @@ packages: semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.19.0_@babel+core@7.19.6: - resolution: {integrity: sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==} + /@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.19.6: + resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -285,7 +285,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-member-expression-to-functions': 7.18.9 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.18.9 + '@babel/helper-replace-supers': 7.19.1 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -348,13 +348,13 @@ packages: '@babel/types': 7.19.4 dev: true - /@babel/helper-plugin-utils/7.19.0: - resolution: {integrity: sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==} + /@babel/helper-plugin-utils/7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers/7.18.9: - resolution: {integrity: sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==} + /@babel/helper-replace-supers/7.19.1: + resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 @@ -430,29 +430,29 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.19.6 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.19.6: - resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.19.6: + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.19.6 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typescript/7.19.3_@babel+core@7.19.6: - resolution: {integrity: sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==} + /@babel/plugin-transform-typescript/7.20.2_@babel+core@7.19.6: + resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.19.6 - '@babel/helper-create-class-features-plugin': 7.19.0_@babel+core@7.19.6 - '@babel/helper-plugin-utils': 7.19.0 - '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.19.6 + '@babel/helper-create-class-features-plugin': 7.20.2_@babel+core@7.19.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.19.6 transitivePeerDependencies: - supports-color dev: true @@ -795,8 +795,8 @@ packages: resolution: {integrity: sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==} dev: true - /@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu: - resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==} + /@typescript-eslint/eslint-plugin/5.42.1_2udltptbznfmezdozpdoa2aemq: + resolution: {integrity: sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -806,12 +806,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/scope-manager': 5.42.0 - '@typescript-eslint/type-utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m - '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy + '@typescript-eslint/scope-manager': 5.42.1 + '@typescript-eslint/type-utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy + '@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.27.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 regexpp: 3.2.0 @@ -822,8 +822,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==} + /@typescript-eslint/parser/5.42.1_rmayb2veg2btbq6mbmnyivgasy: + resolution: {integrity: sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -832,26 +832,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.42.0 - '@typescript-eslint/types': 5.42.0 - '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 + '@typescript-eslint/scope-manager': 5.42.1 + '@typescript-eslint/types': 5.42.1 + '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.27.0 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.42.0: - resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==} + /@typescript-eslint/scope-manager/5.42.1: + resolution: {integrity: sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.42.0 - '@typescript-eslint/visitor-keys': 5.42.0 + '@typescript-eslint/types': 5.42.1 + '@typescript-eslint/visitor-keys': 5.42.1 dev: true - /@typescript-eslint/type-utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==} + /@typescript-eslint/type-utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy: + resolution: {integrity: sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -860,23 +860,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m + '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 + '@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy debug: 4.3.4 - eslint: 8.26.0 + eslint: 8.27.0 tsutils: 3.21.0_typescript@4.8.4 typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.42.0: - resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==} + /@typescript-eslint/types/5.42.1: + resolution: {integrity: sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.42.0_typescript@4.8.4: - resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==} + /@typescript-eslint/typescript-estree/5.42.1_typescript@4.8.4: + resolution: {integrity: sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -884,8 +884,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.42.0 - '@typescript-eslint/visitor-keys': 5.42.0 + '@typescript-eslint/types': 5.42.1 + '@typescript-eslint/visitor-keys': 5.42.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -896,45 +896,45 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m: - resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==} + /@typescript-eslint/utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy: + resolution: {integrity: sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==} 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': 7.0.11 '@types/semver': 7.3.12 - '@typescript-eslint/scope-manager': 5.42.0 - '@typescript-eslint/types': 5.42.0 - '@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4 - eslint: 8.26.0 + '@typescript-eslint/scope-manager': 5.42.1 + '@typescript-eslint/types': 5.42.1 + '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 + eslint: 8.27.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.26.0 + eslint-utils: 3.0.0_eslint@8.27.0 semver: 7.3.7 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.42.0: - resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==} + /@typescript-eslint/visitor-keys/5.42.1: + resolution: {integrity: sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.42.0 + '@typescript-eslint/types': 5.42.1 eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue-jsx/2.1.0_vite@3.2.2+vue@3.2.44: - resolution: {integrity: sha512-vvL8MHKN0hUf5LE+/rCk1rduwzW6NihD6xEfM4s1gGCSWQFYd5zLdxBs++z3S7AV/ynr7Yig5Xp1Bm0wlB4IAA==} + /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.3+vue@3.2.44: + resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.0.0 dependencies: '@babel/core': 7.19.6 - '@babel/plugin-transform-typescript': 7.19.3_@babel+core@7.19.6 + '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.19.6 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 - vite: 3.2.2 + vite: 3.2.3_@types+node@18.11.9 vue: 3.2.44 transitivePeerDependencies: - supports-color @@ -951,14 +951,14 @@ packages: vue: 3.2.44 dev: true - /@vitejs/plugin-vue/3.2.0_vite@3.2.2+vue@3.2.44: + /@vitejs/plugin-vue/3.2.0_vite@3.2.3+vue@3.2.44: resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.2.2 + vite: 3.2.3_@types+node@18.11.9 vue: 3.2.44 dev: true @@ -2100,16 +2100,16 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-prettier/8.5.0_eslint@8.26.0: + /eslint-config-prettier/8.5.0_eslint@8.27.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.26.0 + eslint: 8.27.0 dev: true - /eslint-plugin-prettier/4.2.1_aniwkeyvlpmwkidetuytnokvcm: + /eslint-plugin-prettier/4.2.1_v7o5sx5x3wbs57ifz6wc4f76we: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2120,8 +2120,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.26.0 - eslint-config-prettier: 8.5.0_eslint@8.26.0 + eslint: 8.27.0 + eslint-config-prettier: 8.5.0_eslint@8.27.0 prettier: 2.7.1 prettier-linter-helpers: 1.0.0 dev: true @@ -2142,13 +2142,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.26.0: + /eslint-utils/3.0.0_eslint@8.27.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.26.0 + eslint: 8.27.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2162,8 +2162,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.26.0: - resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==} + /eslint/8.27.0: + resolution: {integrity: sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -2178,7 +2178,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.26.0 + eslint-utils: 3.0.0_eslint@8.27.0 eslint-visitor-keys: 3.3.0 espree: 9.4.0 esquery: 1.4.0 @@ -2520,8 +2520,8 @@ packages: engines: {node: '>=12.20.0'} dev: true - /husky/8.0.1: - resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==} + /husky/8.0.2: + resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==} engines: {node: '>=14'} hasBin: true dev: true @@ -3669,17 +3669,20 @@ packages: fsevents: 2.3.2 dev: true - /vite/3.2.2: - resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==} + /vite/3.2.3_@types+node@18.11.9: + resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: + '@types/node': '>= 14' less: '*' sass: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 peerDependenciesMeta: + '@types/node': + optional: true less: optional: true sass: @@ -3691,6 +3694,7 @@ packages: terser: optional: true dependencies: + '@types/node': 18.11.9 esbuild: 0.15.11 postcss: 8.4.18 resolve: 1.22.1 @@ -3756,7 +3760,7 @@ packages: tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 3.2.2 + vite: 3.2.3_@types+node@18.11.9 transitivePeerDependencies: - less - sass From 9722d21cf5c2c9061f48a205b4f1bf17b763d001 Mon Sep 17 00:00:00 2001 From: ced Date: Fri, 11 Nov 2022 11:31:32 +0100 Subject: [PATCH 09/12] fix(emit): force event handling even with fake timers Fixes #1854 --- src/baseWrapper.ts | 7 +++++++ tests/trigger.spec.ts | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/baseWrapper.ts b/src/baseWrapper.ts index e28c191a5..794578306 100644 --- a/src/baseWrapper.ts +++ b/src/baseWrapper.ts @@ -369,6 +369,13 @@ export default abstract class BaseWrapper if (this.element && !this.isDisabled()) { const event = createDOMEvent(eventString, options) + // see https://github.com/vuejs/test-utils/issues/1854 + // fakeTimers provoke an issue as Date.now() always return the same value + // and Vue relies on it to determine if the handler should be invoked + // see https://github.com/vuejs/core/blob/5ee40532a63e0b792e0c1eccf3cf68546a4e23e9/packages/runtime-dom/src/modules/events.ts#L100-L104 + // we workaround this issue by manually setting _vts to Date.now() + 1 + // thus making sure the event handler is invoked + event._vts = Date.now() + 1 this.element.dispatchEvent(event) } diff --git a/tests/trigger.spec.ts b/tests/trigger.spec.ts index abd870863..8293a3ca8 100644 --- a/tests/trigger.spec.ts +++ b/tests/trigger.spec.ts @@ -364,4 +364,31 @@ describe('trigger', () => { expect(wrapper.emitted().enter).toHaveLength(1) }) + + // https://github.com/vuejs/test-utils/issues/1854 + it('dispatches events even with fakeTimers', async () => { + const handlerSpy = vi.fn() + + const Component = defineComponent({ + setup() { + return { handlerSpy } + }, + template: ` + + ` + }) + + vi.useFakeTimers() + const wrapper = mount(Component) + + expect(handlerSpy).not.toHaveBeenCalled() + + await wrapper.get('span').trigger('click') + + expect(handlerSpy).toHaveBeenCalled() + }) }) From 36398ce88495bcb0352822081430f4e6c3c824bf Mon Sep 17 00:00:00 2001 From: ced Date: Fri, 11 Nov 2022 16:09:59 +0100 Subject: [PATCH 10/12] refactor: use a proxy for wrapper.vm --- src/vueWrapper.ts | 46 +++++++++++++++++++++++++++++++++++++++----- tests/expose.spec.ts | 6 ++++++ 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/src/vueWrapper.ts b/src/vueWrapper.ts index 915daf769..3ecd81263 100644 --- a/src/vueWrapper.ts +++ b/src/vueWrapper.ts @@ -21,6 +21,40 @@ import { import { VNode } from '@vue/runtime-core' import { ShapeFlags } from './utils/vueShared' +/** + * Creates a proxy around the VM instance. + * This proxy returns the value from the setupState if there is one, or the one from the VM if not. + * See https://github.com/vuejs/core/issues/7103 + */ +function createVMProxy( + vm: T, + setupState: Record +): T { + return new Proxy(vm, { + get(vm, key, receiver) { + if (key in setupState) { + return Reflect.get(setupState, key, receiver) + } else { + return (vm as any)[key] + } + }, + set(vm, key, value, receiver) { + if (key in setupState) { + return Reflect.set(setupState, key, value, receiver) + } else { + return Reflect.set(vm, key, value, receiver) + } + }, + getOwnPropertyDescriptor(vm, property) { + if (property in setupState) { + return Reflect.getOwnPropertyDescriptor(setupState, property) + } else { + return Reflect.getOwnPropertyDescriptor(vm, property) + } + } + }) +} + export class VueWrapper< T extends Omit< ComponentPublicInstance, @@ -46,7 +80,7 @@ export class VueWrapper< this.__app = app // root is null on functional components this.rootVM = vm?.$root - // `vm.$.proxy` is what the template has access to + // `vm.$.setupState` is what the template has access to // so even if the component is closed (as they are by default for `script setup`) // a test will still be able to do something like // `expect(wrapper.vm.count).toBe(1)` @@ -54,12 +88,14 @@ export class VueWrapper< // This does not work for functional components though (as they have no vm) // or for components with a setup that returns a render function (as they have an empty proxy) // in both cases, we return `vm` directly instead - this.componentVM = + if ( vm && - // a component with a setup that returns a render function will have no `devtoolsRawSetupState` (vm.$ as unknown as { devtoolsRawSetupState: any }).devtoolsRawSetupState - ? ((vm.$ as any).proxy as T) - : (vm as T) + ) { + this.componentVM = createVMProxy(vm, (vm.$ as any).setupState) + } else { + this.componentVM = vm + } this.__setProps = setProps this.attachNativeEventListener() diff --git a/tests/expose.spec.ts b/tests/expose.spec.ts index e2276621e..2b09247bf 100644 --- a/tests/expose.spec.ts +++ b/tests/expose.spec.ts @@ -1,4 +1,5 @@ import { describe, expect, it } from 'vitest' +import { nextTick } from 'vue' import { mount } from '../src' import Hello from './components/Hello.vue' import DefineExpose from './components/DefineExpose.vue' @@ -54,5 +55,10 @@ describe('expose', () => { // can access `count` even if it is _not_ exposed // @ts-ignore we need better types here, see https://github.com/vuejs/test-utils/issues/972 expect(wrapper.vm.count).toBe(1) + + // @ts-ignore we need better types here, see https://github.com/vuejs/test-utils/issues/972 + wrapper.vm.count = 2 + await nextTick() + expect(wrapper.html()).toContain('2') }) }) From 76673a1cde056b05ab0f4e54bb75667f39278df4 Mon Sep 17 00:00:00 2001 From: ced Date: Fri, 11 Nov 2022 13:17:28 +0100 Subject: [PATCH 11/12] chore: update to vue v3.2.45 --- package.json | 10 +-- pnpm-lock.yaml | 188 +++++++++++++++++++++++-------------------------- 2 files changed, 94 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index 62750fb2c..946ca79f7 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,10 @@ "@vitejs/plugin-vue": "3.2.0", "@vitejs/plugin-vue-jsx": "2.1.1", "@vitest/coverage-c8": "0.25.1", - "@vue/compat": "3.2.44", - "@vue/compiler-dom": "3.2.44", - "@vue/compiler-sfc": "3.2.44", - "@vue/runtime-core": "3.2.44", + "@vue/compat": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-core": "3.2.45", "c8": "7.12.0", "eslint": "8.27.0", "eslint-config-prettier": "8.5.0", @@ -56,7 +56,7 @@ "vite": "3.2.3", "vitepress": "0.22.4", "vitest": "0.25.1", - "vue": "3.2.44", + "vue": "3.2.45", "vue-class-component": "8.0.0-rc.1", "vue-router": "4.1.6", "vue-tsc": "1.0.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 91924c1e1..25234443c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,10 @@ specifiers: '@vitejs/plugin-vue': 3.2.0 '@vitejs/plugin-vue-jsx': 2.1.1 '@vitest/coverage-c8': 0.25.1 - '@vue/compat': 3.2.44 - '@vue/compiler-dom': 3.2.44 - '@vue/compiler-sfc': 3.2.44 - '@vue/runtime-core': 3.2.44 + '@vue/compat': 3.2.45 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-sfc': 3.2.45 + '@vue/runtime-core': 3.2.45 c8: 7.12.0 eslint: 8.27.0 eslint-config-prettier: 8.5.0 @@ -35,7 +35,7 @@ specifiers: vite: 3.2.3 vitepress: 0.22.4 vitest: 0.25.1 - vue: 3.2.44 + vue: 3.2.45 vue-class-component: 8.0.0-rc.1 vue-router: 4.1.6 vue-tsc: 1.0.9 @@ -51,13 +51,13 @@ devDependencies: '@types/node': 18.11.9 '@typescript-eslint/eslint-plugin': 5.42.1_2udltptbznfmezdozpdoa2aemq '@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy - '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.44 - '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.44 + '@vitejs/plugin-vue': 3.2.0_vite@3.2.3+vue@3.2.45 + '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.3+vue@3.2.45 '@vitest/coverage-c8': 0.25.1_jsdom@20.0.2 - '@vue/compat': 3.2.44_vue@3.2.44 - '@vue/compiler-dom': 3.2.44 - '@vue/compiler-sfc': 3.2.44 - '@vue/runtime-core': 3.2.44 + '@vue/compat': 3.2.45_vue@3.2.45 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-sfc': 3.2.45 + '@vue/runtime-core': 3.2.45 c8: 7.12.0 eslint: 8.27.0 eslint-config-prettier: 8.5.0_eslint@8.27.0 @@ -72,15 +72,15 @@ devDependencies: rollup: 3.2.5 tslib: 2.4.1 typescript: 4.8.4 - unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.44 + unplugin-vue-components: 0.22.9_rollup@3.2.5+vue@3.2.45 vite: 3.2.3_@types+node@18.11.9 vitepress: 0.22.4 vitest: 0.25.1_jsdom@20.0.2 - vue: 3.2.44 - vue-class-component: 8.0.0-rc.1_vue@3.2.44 - vue-router: 4.1.6_vue@3.2.44 + vue: 3.2.45 + vue-class-component: 8.0.0-rc.1_vue@3.2.45 + vue-router: 4.1.6_vue@3.2.45 vue-tsc: 1.0.9_typescript@4.8.4 - vuex: 4.1.0_vue@3.2.44 + vuex: 4.1.0_vue@3.2.45 packages: @@ -924,7 +924,7 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.3+vue@3.2.44: + /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.3+vue@3.2.45: resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -935,12 +935,12 @@ packages: '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.19.6 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.19.6 vite: 3.2.3_@types+node@18.11.9 - vue: 3.2.44 + vue: 3.2.45 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue/2.3.3_vite@2.9.14+vue@3.2.44: + /@vitejs/plugin-vue/2.3.3_vite@2.9.14+vue@3.2.45: resolution: {integrity: sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -948,10 +948,10 @@ packages: vue: ^3.2.25 dependencies: vite: 2.9.14 - vue: 3.2.44 + vue: 3.2.45 dev: true - /@vitejs/plugin-vue/3.2.0_vite@3.2.3+vue@3.2.44: + /@vitejs/plugin-vue/3.2.0_vite@3.2.3+vue@3.2.45: resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -959,7 +959,7 @@ packages: vue: ^3.2.25 dependencies: vite: 3.2.3_@types+node@18.11.9 - vue: 3.2.44 + vue: 3.2.45 dev: true /@vitest/coverage-c8/0.25.1_jsdom@20.0.2: @@ -985,7 +985,7 @@ packages: resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} dependencies: '@volar/source-map': 1.0.9 - '@vue/reactivity': 3.2.44 + '@vue/reactivity': 3.2.45 muggle-string: 0.1.0 dev: true @@ -1006,10 +1006,10 @@ packages: dependencies: '@volar/language-core': 1.0.9 '@volar/source-map': 1.0.9 - '@vue/compiler-dom': 3.2.44 - '@vue/compiler-sfc': 3.2.44 - '@vue/reactivity': 3.2.41 - '@vue/shared': 3.2.41 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-sfc': 3.2.45 + '@vue/reactivity': 3.2.45 + '@vue/shared': 3.2.45 minimatch: 5.1.0 vue-template-compiler: 2.7.10 dev: true @@ -1042,53 +1042,53 @@ packages: - supports-color dev: true - /@vue/compat/3.2.44_vue@3.2.44: - resolution: {integrity: sha512-pZTa4mc3ZhU9vPTqgDsq23AMez4/zQHueXIgi4r4HpCnxchMH42HfoozfQocbqim6GsK8zro5eWNqHRNT+/amA==} + /@vue/compat/3.2.45_vue@3.2.45: + resolution: {integrity: sha512-TOGT42fEE1hA4Oz2PyCmURJkrXHbe6G+gI8gVOqsEy624oeexDHFrVsFTfzveaPxxqJHyE2+qjKaA1F4KX84aA==} peerDependencies: - vue: 3.2.44 + vue: 3.2.45 dependencies: '@babel/parser': 7.19.6 estree-walker: 2.0.2 source-map: 0.6.1 - vue: 3.2.44 + vue: 3.2.45 dev: true - /@vue/compiler-core/3.2.44: - resolution: {integrity: sha512-TwzeVSnaklb8wIvMtwtkPkt9wnU+XD70xJ7N9+eIHtjKAG7OoZttm+14ZL6vWOL+2RcMtSZ+cYH+gvkUqsrmSQ==} + /@vue/compiler-core/3.2.45: + resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} dependencies: '@babel/parser': 7.19.6 - '@vue/shared': 3.2.44 + '@vue/shared': 3.2.45 estree-walker: 2.0.2 source-map: 0.6.1 dev: true - /@vue/compiler-dom/3.2.44: - resolution: {integrity: sha512-wPDR+gOn2Qi7SudPJ+gE62vuO/aKXIiIFALvHpztXmDdbAHGy3CDfmBgOGchTgTlSeDJHe9olEMkgOdmyXTjUg==} + /@vue/compiler-dom/3.2.45: + resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} dependencies: - '@vue/compiler-core': 3.2.44 - '@vue/shared': 3.2.44 + '@vue/compiler-core': 3.2.45 + '@vue/shared': 3.2.45 dev: true - /@vue/compiler-sfc/3.2.44: - resolution: {integrity: sha512-8cFZcUWlrtnfM/GlRwYJdlfgbEOy0OZ/osLDU3h/wJu24HuYAc7QIML1USaKqiZzkjOaTd4y8mvYvcWXq3o5dA==} + /@vue/compiler-sfc/3.2.45: + resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} dependencies: '@babel/parser': 7.19.6 - '@vue/compiler-core': 3.2.44 - '@vue/compiler-dom': 3.2.44 - '@vue/compiler-ssr': 3.2.44 - '@vue/reactivity-transform': 3.2.44 - '@vue/shared': 3.2.44 + '@vue/compiler-core': 3.2.45 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-ssr': 3.2.45 + '@vue/reactivity-transform': 3.2.45 + '@vue/shared': 3.2.45 estree-walker: 2.0.2 magic-string: 0.25.9 postcss: 8.4.18 source-map: 0.6.1 dev: true - /@vue/compiler-ssr/3.2.44: - resolution: {integrity: sha512-tAkUFLgvxds3l5KPyAH77OIYrEeLngNYQfWA9GocHiy2nlyajjqAH/Jq93Bq29Y20GeJzblmRp9DVYCVkJ5Rsw==} + /@vue/compiler-ssr/3.2.45: + resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} dependencies: - '@vue/compiler-dom': 3.2.44 - '@vue/shared': 3.2.44 + '@vue/compiler-dom': 3.2.45 + '@vue/shared': 3.2.45 dev: true /@vue/devtools-api/6.2.0: @@ -1099,59 +1099,49 @@ packages: resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} dev: true - /@vue/reactivity-transform/3.2.44: - resolution: {integrity: sha512-WGbEiXaS2qAOTS9Z3kKk2Nk4bi8OUl73Sih+h0XV9RTUATnaJSEQedveHUDQnHyXiZwyBMKosrxJg8aThHO/rw==} + /@vue/reactivity-transform/3.2.45: + resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} dependencies: '@babel/parser': 7.19.6 - '@vue/compiler-core': 3.2.44 - '@vue/shared': 3.2.44 + '@vue/compiler-core': 3.2.45 + '@vue/shared': 3.2.45 estree-walker: 2.0.2 magic-string: 0.25.9 dev: true - /@vue/reactivity/3.2.41: - resolution: {integrity: sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==} + /@vue/reactivity/3.2.45: + resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} dependencies: - '@vue/shared': 3.2.41 + '@vue/shared': 3.2.45 dev: true - /@vue/reactivity/3.2.44: - resolution: {integrity: sha512-Fe0s52fTsPl+RSdvoqUZ3HRKlaVsKhIh1mea5EWOedFvZCjnymzlj3YC1wZMxi89qXRFSdEASVA/BWUGypk0Ig==} + /@vue/runtime-core/3.2.45: + resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} dependencies: - '@vue/shared': 3.2.44 + '@vue/reactivity': 3.2.45 + '@vue/shared': 3.2.45 dev: true - /@vue/runtime-core/3.2.44: - resolution: {integrity: sha512-uwEV1cttL33k2dC+CNGYhKEYqGejT9KmgQ+4n/LmYUfZ1Gorl8F32DlIX+1pANyGHL1tBAisqHDxKyQBp2oBNA==} + /@vue/runtime-dom/3.2.45: + resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} dependencies: - '@vue/reactivity': 3.2.44 - '@vue/shared': 3.2.44 - dev: true - - /@vue/runtime-dom/3.2.44: - resolution: {integrity: sha512-LDzNwXpU/nSpxrLk5jS0bfStgt88msgsgFzj6vHrl7es3QktIrCGybQS5CB/p/TO0q98iAiYtEVmi+Lej7Vgjg==} - dependencies: - '@vue/runtime-core': 3.2.44 - '@vue/shared': 3.2.44 + '@vue/runtime-core': 3.2.45 + '@vue/shared': 3.2.45 csstype: 2.6.20 dev: true - /@vue/server-renderer/3.2.44_vue@3.2.44: - resolution: {integrity: sha512-3+ArN07UgOAdbGKIp3uVqeC3bnR3J324QNjPR6vxHbLrTlkibFv8QNled/ux3fVq0KDCkVVKGOKB2V4sCIYOgg==} + /@vue/server-renderer/3.2.45_vue@3.2.45: + resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} peerDependencies: - vue: 3.2.44 + vue: 3.2.45 dependencies: - '@vue/compiler-ssr': 3.2.44 - '@vue/shared': 3.2.44 - vue: 3.2.44 - dev: true - - /@vue/shared/3.2.41: - resolution: {integrity: sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==} + '@vue/compiler-ssr': 3.2.45 + '@vue/shared': 3.2.45 + vue: 3.2.45 dev: true - /@vue/shared/3.2.44: - resolution: {integrity: sha512-mGZ44bnn0zpZ36nXtxbrBPno43yr96wjQE1dBEKS1Sieugt27HS4OGZVBRIgsdGzosB7vqZAvu0ttu1FDVdolA==} + /@vue/shared/3.2.45: + resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} dev: true /abab/2.0.6: @@ -3577,7 +3567,7 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /unplugin-vue-components/0.22.9_rollup@3.2.5+vue@3.2.44: + /unplugin-vue-components/0.22.9_rollup@3.2.5+vue@3.2.45: resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} engines: {node: '>=14'} peerDependencies: @@ -3597,7 +3587,7 @@ packages: minimatch: 5.1.0 resolve: 1.22.1 unplugin: 0.10.1 - vue: 3.2.44 + vue: 3.2.45 transitivePeerDependencies: - rollup - supports-color @@ -3710,10 +3700,10 @@ packages: dependencies: '@docsearch/css': 3.1.1 '@docsearch/js': 3.1.1 - '@vitejs/plugin-vue': 2.3.3_vite@2.9.14+vue@3.2.44 + '@vitejs/plugin-vue': 2.3.3_vite@2.9.14+vue@3.2.45 prismjs: 1.28.0 vite: 2.9.14 - vue: 3.2.44 + vue: 3.2.45 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -3770,21 +3760,21 @@ packages: - terser dev: true - /vue-class-component/8.0.0-rc.1_vue@3.2.44: + /vue-class-component/8.0.0-rc.1_vue@3.2.45: resolution: {integrity: sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.2.44 + vue: 3.2.45 dev: true - /vue-router/4.1.6_vue@3.2.44: + /vue-router/4.1.6_vue@3.2.45: resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.4.5 - vue: 3.2.44 + vue: 3.2.45 dev: true /vue-template-compiler/2.7.10: @@ -3805,23 +3795,23 @@ packages: typescript: 4.8.4 dev: true - /vue/3.2.44: - resolution: {integrity: sha512-nyNtFDh+0TpRgYCUVfPD1mJ9PpIsCPXaOF4DeGNIT5vQ4X23ykflGq3Sy2P+tEt1/pQZxZnAysuRKwyhNj+Cjw==} + /vue/3.2.45: + resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} dependencies: - '@vue/compiler-dom': 3.2.44 - '@vue/compiler-sfc': 3.2.44 - '@vue/runtime-dom': 3.2.44 - '@vue/server-renderer': 3.2.44_vue@3.2.44 - '@vue/shared': 3.2.44 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-sfc': 3.2.45 + '@vue/runtime-dom': 3.2.45 + '@vue/server-renderer': 3.2.45_vue@3.2.45 + '@vue/shared': 3.2.45 dev: true - /vuex/4.1.0_vue@3.2.44: + /vuex/4.1.0_vue@3.2.45: resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.2.0 - vue: 3.2.44 + vue: 3.2.45 dev: true /w3c-xmlserializer/3.0.0: From 74c9af4e35430fb0c3b5cd7366d349b1a8160fd9 Mon Sep 17 00:00:00 2001 From: Illya Klymov Date: Thu, 3 Nov 2022 21:50:24 +0200 Subject: [PATCH 12/12] fix(mount): correctly work with component throwing on mount * workaround for https://github.com/vuejs/core/issues/7020 --- src/mount.ts | 15 +++++++++++++++ tests/mount.spec.ts | 26 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/mount.spec.ts diff --git a/src/mount.ts b/src/mount.ts index 58d10d0e6..0bfd45f24 100644 --- a/src/mount.ts +++ b/src/mount.ts @@ -574,9 +574,24 @@ export function mount( } } + // Workaround for https://github.com/vuejs/core/issues/7020 + const originalErrorHandler = app.config.errorHandler + + let errorOnMount = null + app.config.errorHandler = (err, instance, info) => { + errorOnMount = err + + return originalErrorHandler?.(err, instance, info) + } + // mount the app! const vm = app.mount(el) + if (errorOnMount) { + throw errorOnMount + } + app.config.errorHandler = originalErrorHandler + const appRef = componentRef.value! as ComponentPublicInstance // we add `hasOwnProperty` so Jest can spy on the proxied vm without throwing // note that this is not necessary with Jest v27+ or Vitest, but is kept for compatibility with older Jest versions diff --git a/tests/mount.spec.ts b/tests/mount.spec.ts new file mode 100644 index 000000000..74f5b1c10 --- /dev/null +++ b/tests/mount.spec.ts @@ -0,0 +1,26 @@ +import { describe, expect, it } from 'vitest' +import { defineComponent } from 'vue' +import { mount } from '../src' + +describe('mount: general tests', () => { + it('correctly handles component, throwing on mount', () => { + // See https://github.com/vuejs/core/issues/7020 + const ThrowingComponent = defineComponent({ + props: ['blowup'], + mounted() { + if (this.blowup) { + throw new Error('Boom!') + } + }, + template: '
hello
' + }) + + expect(() => + mount(ThrowingComponent, { props: { blowup: true } }) + ).toThrow() + + const wrapper = mount(ThrowingComponent, { props: { blowup: false } }) + + expect(wrapper.html()).toBe('
hello
') + }) +}) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy