]> git.ipfire.org Git - thirdparty/vuejs/create-vue.git/commitdiff
feat: use solution-style tsconfigs for more accurate type checking (#40)
authorHaoqun Jiang <haoqunjiang@gmail.com>
Mon, 31 Jan 2022 06:27:23 +0000 (22:27 -0800)
committerGitHub <noreply@github.com>
Mon, 31 Jan 2022 06:27:23 +0000 (14:27 +0800)
13 files changed:
index.js
pnpm-lock.yaml
pnpm-workspace.yaml
template/config/cypress-ct/cypress/plugins/index.ts
template/config/cypress/cypress/plugins/index.ts
template/tsconfig/base/package.json [new file with mode: 0644]
template/tsconfig/base/tsconfig.json [new file with mode: 0644]
template/tsconfig/base/tsconfig.vite-config.json [new file with mode: 0644]
template/tsconfig/cypress/cypress/plugins/tsconfig.json [new file with mode: 0644]
template/tsconfig/cypress/cypress/tsconfig.json [new file with mode: 0644]
template/tsconfig/vitest/package.json [new file with mode: 0644]
template/tsconfig/vitest/tsconfig.json [new file with mode: 0644]
template/tsconfig/vitest/tsconfig.vitest.json [new file with mode: 0644]

index ea73a84c49546ca9cc6ffc06dff80fda78e7bf3e..7e951297dec0b825d83023900fd518d7a4b48217 100755 (executable)
--- a/index.js
+++ b/index.js
@@ -286,8 +286,18 @@ async function init() {
   }
   if (needsTypeScript) {
     render('config/typescript')
+
+    // Render tsconfigs
+    render('tsconfig/base')
+    if (needsCypress) {
+      render('tsconfig/cypress')
+    }
+    if (needsVitest) {
+      render('tsconfig/vitest')
+    }
   }
 
+  // Render ESLint config
   if (needsEslint) {
     renderEslint(root, { needsTypeScript, needsCypress, needsCypressCT, needsPrettier })
   }
@@ -316,13 +326,15 @@ async function init() {
   // If that's not possible, we put `.ts` version alongside the `.js` one in the templates.
   // So after all the templates are rendered, we need to clean up the redundant files.
   // (Currently it's only `cypress/plugin/index.ts`, but we might add more in the future.)
+  // (Or, we might completely get rid of the plugins folder as Cypress 10 supports `cypress.config.ts`)
 
   if (needsTypeScript) {
     // Convert the JavaScript template to the TypeScript
     // Check all the remaining `.js` files:
     //   - If the corresponding TypeScript version already exists, remove the `.js` version.
     //   - Otherwise, rename the `.js` file to `.ts`
-    // rename jsconfig.json to tsconfig.json
+    // Remove `jsconfig.json`, because we already hav tsconfig.json
+    // `jsconfig.json` is not reused, because we use solution-style `tsconfig`s, which are much more complicated.
     preOrderDirectoryTraverse(
       root,
       () => {},
@@ -335,7 +347,7 @@ async function init() {
             fs.renameSync(filepath, tsFilePath)
           }
         } else if (path.basename(filepath) === 'jsconfig.json') {
-          fs.renameSync(filepath, filepath.replace(/jsconfig\.json$/, 'tsconfig.json'))
+          fs.unlinkSync(filepath)
         }
       }
     )
index 9d0e2e1096294c475ea10ef7441afe44d22897e1..c929cfb9e009593fdb397ee75f37d8e7ba5820b6 100644 (file)
@@ -17,7 +17,7 @@ importers:
       esbuild: 0.13.15
       husky: 7.0.4
       kolorist: 1.5.1
-      lint-staged: 12.2.0
+      lint-staged: 12.3.2
       minimist: 1.2.5
       npm-run-all: 4.1.5
       prettier: 2.5.1
@@ -34,11 +34,11 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       cypress: 9.3.1
       start-server-and-test: 1.14.0
       vite: 2.7.13
@@ -49,9 +49,9 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       vite: 2.7.13
 
   playground/jsx:
@@ -61,9 +61,9 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       vite: 2.7.13
 
@@ -78,11 +78,11 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       cypress: 9.3.1
       start-server-and-test: 1.14.0
@@ -96,10 +96,10 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       vite: 2.7.13
 
@@ -115,12 +115,12 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       cypress: 9.3.1
       start-server-and-test: 1.14.0
@@ -137,15 +137,15 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-pinia-vitest-cypress:
     specifiers:
@@ -160,17 +160,17 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-pinia-with-tests:
     specifiers:
@@ -185,17 +185,17 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router:
     specifiers:
@@ -205,10 +205,10 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       vite: 2.7.13
 
@@ -224,12 +224,12 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       cypress: 9.3.1
       start-server-and-test: 1.14.0
@@ -244,11 +244,11 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       vite: 2.7.13
 
@@ -265,13 +265,13 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
       cypress: 9.3.1
       start-server-and-test: 1.14.0
@@ -289,16 +289,16 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router-pinia-vitest-cypress:
     specifiers:
@@ -314,18 +314,18 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router-pinia-with-tests:
     specifiers:
@@ -341,18 +341,18 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router-vitest:
     specifiers:
@@ -365,15 +365,15 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router-vitest-cypress:
     specifiers:
@@ -388,17 +388,17 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-router-with-tests:
     specifiers:
@@ -413,17 +413,17 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-vitest:
     specifiers:
@@ -435,14 +435,14 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-vitest-cypress:
     specifiers:
@@ -456,16 +456,16 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/jsx-with-tests:
     specifiers:
@@ -479,16 +479,16 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/pinia:
     specifiers:
@@ -497,10 +497,10 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       vite: 2.7.13
 
   playground/pinia-cypress:
@@ -514,12 +514,12 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       cypress: 9.3.1
       start-server-and-test: 1.14.0
       vite: 2.7.13
@@ -534,14 +534,14 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/pinia-vitest-cypress:
     specifiers:
@@ -555,16 +555,16 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/pinia-with-tests:
     specifiers:
@@ -578,16 +578,16 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router:
     specifiers:
@@ -596,10 +596,10 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       vite: 2.7.13
 
   playground/router-cypress:
@@ -613,12 +613,12 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       cypress: 9.3.1
       start-server-and-test: 1.14.0
       vite: 2.7.13
@@ -631,11 +631,11 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       vite: 2.7.13
 
   playground/router-pinia-cypress:
@@ -650,13 +650,13 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       cypress: 9.3.1
       start-server-and-test: 1.14.0
       vite: 2.7.13
@@ -672,15 +672,15 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router-pinia-vitest-cypress:
     specifiers:
@@ -695,17 +695,17 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router-pinia-with-tests:
     specifiers:
@@ -720,17 +720,17 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router-vitest:
     specifiers:
@@ -742,14 +742,14 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router-vitest-cypress:
     specifiers:
@@ -763,16 +763,16 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/router-with-tests:
     specifiers:
@@ -786,33 +786,35 @@ importers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/typescript:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      typescript: 4.5.4
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-cypress:
     specifiers:
@@ -820,6 +822,7 @@ importers:
       '@cypress/vue': ^3.1.0
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       start-server-and-test: ^1.14.0
       typescript: ~4.5.4
@@ -827,36 +830,39 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      typescript: 4.5.4
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-cypress:
     specifiers:
@@ -865,6 +871,7 @@ importers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       start-server-and-test: ^1.14.0
       typescript: ~4.5.4
@@ -872,39 +879,42 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-pinia:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       pinia: ^2.0.9
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      typescript: 4.5.4
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-pinia-cypress:
     specifiers:
@@ -913,6 +923,7 @@ importers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       pinia: ^2.0.9
       start-server-and-test: ^1.14.0
@@ -921,26 +932,29 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-pinia-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       pinia: ^2.0.9
       typescript: ~4.5.4
@@ -949,25 +963,29 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-pinia-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -978,27 +996,31 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-pinia-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1009,41 +1031,45 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      typescript: 4.5.4
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-cypress:
     specifiers:
@@ -1052,6 +1078,7 @@ importers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       start-server-and-test: ^1.14.0
       typescript: ~4.5.4
@@ -1060,25 +1087,27 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-pinia:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       pinia: ^2.0.9
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1086,16 +1115,17 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      typescript: 4.5.4
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-pinia-cypress:
     specifiers:
@@ -1104,6 +1134,7 @@ importers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       pinia: ^2.0.9
       start-server-and-test: ^1.14.0
@@ -1113,27 +1144,30 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-pinia-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       pinia: ^2.0.9
       typescript: ~4.5.4
@@ -1143,26 +1177,30 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-pinia-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1174,28 +1212,32 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-pinia-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1207,28 +1249,32 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1237,25 +1283,29 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1266,27 +1316,31 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-router-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1297,27 +1351,31 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1325,24 +1383,28 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1352,26 +1414,30 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-jsx-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vitejs/plugin-vue-jsx': ^1.3.3
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1381,38 +1447,42 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       '@vitejs/plugin-vue-jsx': 1.3.3
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-pinia:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       pinia: ^2.0.9
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      typescript: 4.5.4
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-pinia-cypress:
     specifiers:
@@ -1420,6 +1490,7 @@ importers:
       '@cypress/vue': ^3.1.0
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       pinia: ^2.0.9
       start-server-and-test: ^1.14.0
@@ -1428,24 +1499,27 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-pinia-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       pinia: ^2.0.9
       typescript: ~4.5.4
@@ -1454,23 +1528,27 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-pinia-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1481,25 +1559,29 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-pinia-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1510,38 +1592,42 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       typescript: ~4.5.4
       vite: ^2.7.13
       vue: ^3.2.27
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      typescript: 4.5.4
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-cypress:
     specifiers:
@@ -1549,6 +1635,7 @@ importers:
       '@cypress/vue': ^3.1.0
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       start-server-and-test: ^1.14.0
       typescript: ~4.5.4
@@ -1557,23 +1644,25 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-pinia:
     specifiers:
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       pinia: ^2.0.9
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1581,15 +1670,16 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      typescript: 4.5.4
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-pinia-cypress:
     specifiers:
@@ -1597,6 +1687,7 @@ importers:
       '@cypress/vue': ^3.1.0
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       pinia: ^2.0.9
       start-server-and-test: ^1.14.0
@@ -1606,25 +1697,28 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-pinia-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       pinia: ^2.0.9
       typescript: ~4.5.4
@@ -1634,24 +1728,28 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-pinia-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1663,26 +1761,30 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-pinia-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       pinia: ^2.0.9
@@ -1694,26 +1796,30 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      pinia: 2.0.9_typescript@4.5.4+vue@3.2.27
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      pinia: 2.0.10_typescript@4.5.5+vue@3.2.29
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1722,23 +1828,27 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1749,25 +1859,29 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-router-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1778,25 +1892,29 @@ importers:
       vue-router: ^4.0.12
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-vitest:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       jsdom: ^19.0.0
       typescript: ~4.5.4
       vite: ^2.7.13
@@ -1804,22 +1922,26 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       jsdom: 19.0.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-vitest-cypress:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1829,24 +1951,28 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/typescript-with-tests:
     specifiers:
+      '@types/jsdom': ^16.2.14
       '@types/node': ^16.11.21
       '@vitejs/plugin-vue': ^2.0.1
       '@vue/test-utils': ^2.0.0-rc.18
+      '@vue/tsconfig': ^0.1.2
       cypress: ^9.3.1
       jsdom: ^19.0.0
       start-server-and-test: ^1.14.0
@@ -1856,18 +1982,20 @@ importers:
       vue: ^3.2.27
       vue-tsc: ^0.29.8
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
+      '@types/jsdom': 16.2.14
       '@types/node': 16.11.21
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
+      '@vue/tsconfig': 0.1.2_@types+node@16.11.21
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
-      typescript: 4.5.4
+      typescript: 4.5.5
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
-      vue-tsc: 0.29.8_typescript@4.5.4
+      vitest: 0.1.27_jsdom@19.0.0
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   playground/vitest:
     specifiers:
@@ -1878,13 +2006,13 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/vitest-cypress:
     specifiers:
@@ -1897,15 +2025,15 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   playground/with-tests:
     specifiers:
@@ -1918,15 +2046,15 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
       jsdom: 19.0.0
       start-server-and-test: 1.14.0
       vite: 2.7.13
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   template/base:
     specifiers:
@@ -1934,9 +2062,9 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vitejs/plugin-vue': 2.0.1_vite@2.7.13+vue@3.2.27
+      '@vitejs/plugin-vue': 2.1.0_vite@2.7.13+vue@3.2.29
       vite: 2.7.13
 
   template/config/cypress:
@@ -1955,10 +2083,10 @@ importers:
       vite: ^2.7.13
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
       '@cypress/vite-dev-server': 2.2.2_vite@2.7.13
-      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.27
+      '@cypress/vue': 3.1.0_cypress@9.3.1+vue@3.2.29
       cypress: 9.3.1
       vite: 2.7.13
 
@@ -1973,16 +2101,16 @@ importers:
       pinia: ^2.0.9
       vue: ^3.2.27
     dependencies:
-      pinia: 2.0.9_vue@3.2.27
-      vue: 3.2.27
+      pinia: 2.0.10_vue@3.2.29
+      vue: 3.2.29
 
   template/config/router:
     specifiers:
       vue: ^3.2.27
       vue-router: ^4.0.12
     dependencies:
-      vue: 3.2.27
-      vue-router: 4.0.12_vue@3.2.27
+      vue: 3.2.29
+      vue-router: 4.0.12_vue@3.2.29
 
   template/config/typescript:
     specifiers:
@@ -1991,8 +2119,8 @@ importers:
       vue-tsc: ^0.29.8
     devDependencies:
       '@types/node': 16.11.21
-      typescript: 4.5.4
-      vue-tsc: 0.29.8_typescript@4.5.4
+      typescript: 4.5.5
+      vue-tsc: 0.29.8_typescript@4.5.5
 
   template/config/vitest:
     specifiers:
@@ -2001,19 +2129,31 @@ importers:
       vitest: ^0.1.23
       vue: ^3.2.27
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     devDependencies:
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       jsdom: 19.0.0
-      vitest: 0.1.23_jsdom@19.0.0
+      vitest: 0.1.27_jsdom@19.0.0
 
   template/config/vuex:
     specifiers:
       vue: ^3.2.27
       vuex: ^4.0.2
     dependencies:
-      vue: 3.2.27
-      vuex: 4.0.2_vue@3.2.27
+      vue: 3.2.29
+      vuex: 4.0.2_vue@3.2.29
+
+  template/tsconfig/base:
+    specifiers:
+      '@vue/tsconfig': ^0.1.2
+    devDependencies:
+      '@vue/tsconfig': 0.1.2
+
+  template/tsconfig/vitest:
+    specifiers:
+      '@types/jsdom': ^16.2.14
+    devDependencies:
+      '@types/jsdom': 16.2.14
 
 packages:
 
@@ -2021,7 +2161,7 @@ packages:
     resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
     engines: {node: '>=6.9.0'}
     dependencies:
-      '@babel/highlight': 7.16.7
+      '@babel/highlight': 7.16.10
     dev: true
 
   /@babel/compat-data/7.16.8:
@@ -2029,18 +2169,18 @@ packages:
     engines: {node: '>=6.9.0'}
     dev: true
 
-  /@babel/core/7.16.7:
-    resolution: {integrity: sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==}
+  /@babel/core/7.16.12:
+    resolution: {integrity: sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==}
     engines: {node: '>=6.9.0'}
     dependencies:
       '@babel/code-frame': 7.16.7
       '@babel/generator': 7.16.8
-      '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.16.7
+      '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.16.12
       '@babel/helper-module-transforms': 7.16.7
       '@babel/helpers': 7.16.7
-      '@babel/parser': 7.16.8
+      '@babel/parser': 7.16.12
       '@babel/template': 7.16.7
-      '@babel/traverse': 7.16.8
+      '@babel/traverse': 7.16.10
       '@babel/types': 7.16.8
       convert-source-map: 1.8.0
       debug: 4.3.3
@@ -2068,26 +2208,26 @@ packages:
       '@babel/types': 7.16.8
     dev: true
 
-  /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.7:
+  /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.12:
     resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==}
     engines: {node: '>=6.9.0'}
     peerDependencies:
       '@babel/core': ^7.0.0
     dependencies:
       '@babel/compat-data': 7.16.8
-      '@babel/core': 7.16.7
+      '@babel/core': 7.16.12
       '@babel/helper-validator-option': 7.16.7
       browserslist: 4.19.1
       semver: 6.3.0
     dev: true
 
-  /@babel/helper-create-class-features-plugin/7.16.7_@babel+core@7.16.7:
-    resolution: {integrity: sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==}
+  /@babel/helper-create-class-features-plugin/7.16.10_@babel+core@7.16.12:
+    resolution: {integrity: sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==}
     engines: {node: '>=6.9.0'}
     peerDependencies:
       '@babel/core': ^7.0.0
     dependencies:
-      '@babel/core': 7.16.7
+      '@babel/core': 7.16.12
       '@babel/helper-annotate-as-pure': 7.16.7
       '@babel/helper-environment-visitor': 7.16.7
       '@babel/helper-function-name': 7.16.7
@@ -2153,7 +2293,7 @@ packages:
       '@babel/helper-split-export-declaration': 7.16.7
       '@babel/helper-validator-identifier': 7.16.7
       '@babel/template': 7.16.7
-      '@babel/traverse': 7.16.8
+      '@babel/traverse': 7.16.10
       '@babel/types': 7.16.8
     transitivePeerDependencies:
       - supports-color
@@ -2178,7 +2318,7 @@ packages:
       '@babel/helper-environment-visitor': 7.16.7
       '@babel/helper-member-expression-to-functions': 7.16.7
       '@babel/helper-optimise-call-expression': 7.16.7
-      '@babel/traverse': 7.16.8
+      '@babel/traverse': 7.16.10
       '@babel/types': 7.16.8
     transitivePeerDependencies:
       - supports-color
@@ -2213,14 +2353,14 @@ packages:
     engines: {node: '>=6.9.0'}
     dependencies:
       '@babel/template': 7.16.7
-      '@babel/traverse': 7.16.8
+      '@babel/traverse': 7.16.10
       '@babel/types': 7.16.8
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@babel/highlight/7.16.7:
-    resolution: {integrity: sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==}
+  /@babel/highlight/7.16.10:
+    resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==}
     engines: {node: '>=6.9.0'}
     dependencies:
       '@babel/helper-validator-identifier': 7.16.7
@@ -2228,50 +2368,50 @@ packages:
       js-tokens: 4.0.0
     dev: true
 
-  /@babel/parser/7.16.8:
-    resolution: {integrity: sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==}
+  /@babel/parser/7.16.12:
+    resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==}
     engines: {node: '>=6.0.0'}
     hasBin: true
 
-  /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.7:
+  /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.12:
     resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
     peerDependencies:
       '@babel/core': ^7.0.0-0
     dependencies:
-      '@babel/core': 7.16.7
+      '@babel/core': 7.16.12
       '@babel/helper-plugin-utils': 7.16.7
     dev: true
 
-  /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.16.7:
+  /@babel/plugin-syntax-jsx/7.16.7_@babel+core@7.16.12:
     resolution: {integrity: sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==}
     engines: {node: '>=6.9.0'}
     peerDependencies:
       '@babel/core': ^7.0.0-0
     dependencies:
-      '@babel/core': 7.16.7
+      '@babel/core': 7.16.12
       '@babel/helper-plugin-utils': 7.16.7
     dev: true
 
-  /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.16.7:
+  /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.16.12:
     resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==}
     engines: {node: '>=6.9.0'}
     peerDependencies:
       '@babel/core': ^7.0.0-0
     dependencies:
-      '@babel/core': 7.16.7
+      '@babel/core': 7.16.12
       '@babel/helper-plugin-utils': 7.16.7
     dev: true
 
-  /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.16.7:
+  /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.16.12:
     resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==}
     engines: {node: '>=6.9.0'}
     peerDependencies:
       '@babel/core': ^7.0.0-0
     dependencies:
-      '@babel/core': 7.16.7
-      '@babel/helper-create-class-features-plugin': 7.16.7_@babel+core@7.16.7
+      '@babel/core': 7.16.12
+      '@babel/helper-create-class-features-plugin': 7.16.10_@babel+core@7.16.12
       '@babel/helper-plugin-utils': 7.16.7
-      '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.16.7
+      '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.16.12
     transitivePeerDependencies:
       - supports-color
     dev: true
@@ -2281,12 +2421,12 @@ packages:
     engines: {node: '>=6.9.0'}
     dependencies:
       '@babel/code-frame': 7.16.7
-      '@babel/parser': 7.16.8
+      '@babel/parser': 7.16.12
       '@babel/types': 7.16.8
     dev: true
 
-  /@babel/traverse/7.16.8:
-    resolution: {integrity: sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==}
+  /@babel/traverse/7.16.10:
+    resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==}
     engines: {node: '>=6.9.0'}
     dependencies:
       '@babel/code-frame': 7.16.7
@@ -2295,7 +2435,7 @@ packages:
       '@babel/helper-function-name': 7.16.7
       '@babel/helper-hoist-variables': 7.16.7
       '@babel/helper-split-export-declaration': 7.16.7
-      '@babel/parser': 7.16.8
+      '@babel/parser': 7.16.12
       '@babel/types': 7.16.8
       debug: 4.3.3
       globals: 11.12.0
@@ -2351,7 +2491,7 @@ packages:
       - supports-color
     dev: true
 
-  /@cypress/vue/3.1.0_cypress@9.3.1+vue@3.2.27:
+  /@cypress/vue/3.1.0_cypress@9.3.1+vue@3.2.29:
     resolution: {integrity: sha512-E2aFQtPvLLW9yKZz7t94VN1SuO53Jx9wN12gi7pvpHId5E6p+8Z+v2zlzzREpA8Gbi2QGNMwK8ciSYcwZG2bXg==}
     engines: {node: '>=8'}
     peerDependencies:
@@ -2366,9 +2506,9 @@ packages:
         optional: true
     dependencies:
       '@cypress/mount-utils': 1.0.2
-      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.27
+      '@vue/test-utils': 2.0.0-rc.18_vue@3.2.29
       cypress: 9.3.1
-      vue: 3.2.27
+      vue: 3.2.29
     dev: true
 
   /@cypress/xvfb/1.2.4:
@@ -2468,6 +2608,14 @@ packages:
       '@types/node': 16.11.21
     dev: true
 
+  /@types/jsdom/16.2.14:
+    resolution: {integrity: sha512-6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==}
+    dependencies:
+      '@types/node': 16.11.21
+      '@types/parse5': 6.0.3
+      '@types/tough-cookie': 4.0.1
+    dev: true
+
   /@types/minimist/1.2.2:
     resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
     dev: true
@@ -2487,6 +2635,10 @@ packages:
     resolution: {integrity: sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==}
     dev: true
 
+  /@types/parse5/6.0.3:
+    resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==}
+    dev: true
+
   /@types/sinonjs__fake-timers/8.1.1:
     resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}
     dev: true
@@ -2495,6 +2647,10 @@ packages:
     resolution: {integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==}
     dev: true
 
+  /@types/tough-cookie/4.0.1:
+    resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==}
+    dev: true
+
   /@types/yauzl/2.9.2:
     resolution: {integrity: sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==}
     requiresBuild: true
@@ -2507,25 +2663,25 @@ packages:
     resolution: {integrity: sha512-VSBXVqMcxbgX85rgJC1eMWuZ9hzOJhWPvGYlKxyymPokE/i3Gykh5ljkCoNdxnKgIyFqv4WutYoYY93fgjbTxA==}
     engines: {node: '>=12.0.0'}
     dependencies:
-      '@babel/core': 7.16.7
-      '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.7
-      '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.16.7
+      '@babel/core': 7.16.12
+      '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.12
+      '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.16.12
       '@rollup/pluginutils': 4.1.2
-      '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.16.7
+      '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.16.12
       hash-sum: 2.0.0
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /@vitejs/plugin-vue/2.0.1_vite@2.7.13+vue@3.2.27:
-    resolution: {integrity: sha512-wtdMnGVvys9K8tg+DxowU1ytTrdVveXr3LzdhaKakysgGXyrsfaeds2cDywtvujEASjWOwWL/OgWM+qoeM8Plg==}
+  /@vitejs/plugin-vue/2.1.0_vite@2.7.13+vue@3.2.29:
+    resolution: {integrity: sha512-AZ78WxvFMYd8JmM/GBV6a6SGGTU0GgN/0/4T+FnMMsLzFEzTeAUwuraapy50ifHZsC+G5SvWs86bvaCPTneFlA==}
     engines: {node: '>=12.0.0'}
     peerDependencies:
       vite: ^2.5.10
       vue: ^3.2.25
     dependencies:
       vite: 2.7.13
-      vue: 3.2.27
+      vue: 3.2.29
     dev: true
 
   /@volar/code-gen/0.29.8:
@@ -2571,9 +2727,9 @@ packages:
       '@volar/code-gen': 0.29.8
       '@volar/shared': 0.29.8
       '@volar/source-map': 0.29.8
-      '@vue/compiler-core': 3.2.27
-      '@vue/compiler-dom': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/compiler-core': 3.2.29
+      '@vue/compiler-dom': 3.2.29
+      '@vue/shared': 3.2.29
       upath: 2.0.1
     dev: true
 
@@ -2592,13 +2748,13 @@ packages:
     resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==}
     dev: true
 
-  /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.16.7:
+  /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.16.12:
     resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==}
     dependencies:
       '@babel/helper-module-imports': 7.16.7
-      '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.16.7
+      '@babel/plugin-syntax-jsx': 7.16.7_@babel+core@7.16.12
       '@babel/template': 7.16.7
-      '@babel/traverse': 7.16.8
+      '@babel/traverse': 7.16.10
       '@babel/types': 7.16.8
       '@vue/babel-helper-vue-transform-on': 1.0.2
       camelcase: 6.3.0
@@ -2609,95 +2765,115 @@ packages:
       - supports-color
     dev: true
 
-  /@vue/compiler-core/3.2.27:
-    resolution: {integrity: sha512-JyxAglSM/pb9paG5ZNuKrf5IUpzLzQA3khjWGF9oESELCLQlt6O3YyPMR2A69wIpYWrf5mScZ8YY8TJKOI/1kQ==}
+  /@vue/compiler-core/3.2.29:
+    resolution: {integrity: sha512-RePZ/J4Ub3sb7atQw6V6Rez+/5LCRHGFlSetT3N4VMrejqJnNPXKUt5AVm/9F5MJriy2w/VudEIvgscCfCWqxw==}
     dependencies:
-      '@babel/parser': 7.16.8
-      '@vue/shared': 3.2.27
+      '@babel/parser': 7.16.12
+      '@vue/shared': 3.2.29
       estree-walker: 2.0.2
       source-map: 0.6.1
 
-  /@vue/compiler-dom/3.2.27:
-    resolution: {integrity: sha512-NyQ7nEbopUBPUMHM4c3FPCbFbnQwptoPjW5Y5qfJ7hfiCNhOuhQsDNqi5JYKBxfpxiFNwjcN9F8t1AsnLrDloQ==}
+  /@vue/compiler-dom/3.2.29:
+    resolution: {integrity: sha512-y26vK5khdNS9L3ckvkqJk/78qXwWb75Ci8iYLb67AkJuIgyKhIOcR1E8RIt4mswlVCIeI9gQ+fmtdhaiTAtrBQ==}
     dependencies:
-      '@vue/compiler-core': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/compiler-core': 3.2.29
+      '@vue/shared': 3.2.29
 
-  /@vue/compiler-sfc/3.2.27:
-    resolution: {integrity: sha512-WyecUhLN5UAQAr2QlmG2nA56OEnhZJaBnSw0G1tazb9rwDuK0V9tnbIXbQgmQlx+x4sJxgg61yWGcIXfilTl3A==}
+  /@vue/compiler-sfc/3.2.29:
+    resolution: {integrity: sha512-X9+0dwsag2u6hSOP/XsMYqFti/edvYvxamgBgCcbSYuXx1xLZN+dS/GvQKM4AgGS4djqo0jQvWfIXdfZ2ET68g==}
     dependencies:
-      '@babel/parser': 7.16.8
-      '@vue/compiler-core': 3.2.27
-      '@vue/compiler-dom': 3.2.27
-      '@vue/compiler-ssr': 3.2.27
-      '@vue/reactivity-transform': 3.2.27
-      '@vue/shared': 3.2.27
+      '@babel/parser': 7.16.12
+      '@vue/compiler-core': 3.2.29
+      '@vue/compiler-dom': 3.2.29
+      '@vue/compiler-ssr': 3.2.29
+      '@vue/reactivity-transform': 3.2.29
+      '@vue/shared': 3.2.29
       estree-walker: 2.0.2
       magic-string: 0.25.7
       postcss: 8.4.5
       source-map: 0.6.1
     dev: false
 
-  /@vue/compiler-ssr/3.2.27:
-    resolution: {integrity: sha512-+l09t319iV7HVSrXfBw9OLwMZIPOFTXmHjZ61Bc5ZcwKqOYAR4uTurKpoXAfcSc5qs/q6WdE9jY3nrP0LUEMQQ==}
+  /@vue/compiler-ssr/3.2.29:
+    resolution: {integrity: sha512-LrvQwXlx66uWsB9/VydaaqEpae9xtmlUkeSKF6aPDbzx8M1h7ukxaPjNCAXuFd3fUHblcri8k42lfimHfzMICA==}
     dependencies:
-      '@vue/compiler-dom': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/compiler-dom': 3.2.29
+      '@vue/shared': 3.2.29
     dev: false
 
   /@vue/devtools-api/6.0.0-beta.21.1:
     resolution: {integrity: sha512-FqC4s3pm35qGVeXRGOjTsRzlkJjrBLriDS9YXbflHLsfA9FrcKzIyWnLXoNm+/7930E8rRakXuAc2QkC50swAw==}
     dev: false
 
-  /@vue/reactivity-transform/3.2.27:
-    resolution: {integrity: sha512-67//61ObGxGnVrPhjygocb24eYUh+TFMhkm7szm8v5XdKXjkNl7qgIOflwGvUnwuIRJmr9nZ7+PvY0fL+H2upA==}
+  /@vue/reactivity-transform/3.2.29:
+    resolution: {integrity: sha512-YF6HdOuhdOw6KyRm59+3rML8USb9o8mYM1q+SH0G41K3/q/G7uhPnHGKvspzceD7h9J3VR1waOQ93CUZj7J7OA==}
     dependencies:
-      '@babel/parser': 7.16.8
-      '@vue/compiler-core': 3.2.27
-      '@vue/shared': 3.2.27
+      '@babel/parser': 7.16.12
+      '@vue/compiler-core': 3.2.29
+      '@vue/shared': 3.2.29
       estree-walker: 2.0.2
       magic-string: 0.25.7
     dev: false
 
-  /@vue/reactivity/3.2.27:
-    resolution: {integrity: sha512-QPfIQEJidRGIu/mPexhcB4csp1LEg2Nr+/QE72MnXs/OYDtFErhC9FxIyymkxp/xvAgL5wsnSOuDD6zWF42vRQ==}
+  /@vue/reactivity/3.2.29:
+    resolution: {integrity: sha512-Ryhb6Gy62YolKXH1gv42pEqwx7zs3n8gacRVZICSgjQz8Qr8QeCcFygBKYfJm3o1SccR7U+bVBQDWZGOyG1k4g==}
     dependencies:
-      '@vue/shared': 3.2.27
+      '@vue/shared': 3.2.29
 
-  /@vue/runtime-core/3.2.27:
-    resolution: {integrity: sha512-NJrjuViHJyrT4bwIocbE4XDaDlA1Pj61pQlneZZdFEvgdMLlhzCCiJ4WZnWcohYQeisUAZjEFKK8GjQieDPFbw==}
+  /@vue/runtime-core/3.2.29:
+    resolution: {integrity: sha512-VMvQuLdzoTGmCwIKTKVwKmIL0qcODIqe74JtK1pVr5lnaE0l25hopodmPag3RcnIcIXe+Ye3B2olRCn7fTCgig==}
     dependencies:
-      '@vue/reactivity': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/reactivity': 3.2.29
+      '@vue/shared': 3.2.29
     dev: false
 
-  /@vue/runtime-dom/3.2.27:
-    resolution: {integrity: sha512-tlnKkvBSkV7MPUp/wRFsYcv67U1rUeZTPfpPzq5Kpmw5NNGkY6J075fFBH2k0MNxDucXS+qfStNrxAyGTUMkSA==}
+  /@vue/runtime-dom/3.2.29:
+    resolution: {integrity: sha512-YJgLQLwr+SQyORzTsBQLL5TT/5UiV83tEotqjL7F9aFDIQdFBTCwpkCFvX9jqwHoyi9sJqM9XtTrMcc8z/OjPA==}
     dependencies:
-      '@vue/runtime-core': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/runtime-core': 3.2.29
+      '@vue/shared': 3.2.29
       csstype: 2.6.19
     dev: false
 
-  /@vue/server-renderer/3.2.27_vue@3.2.27:
-    resolution: {integrity: sha512-dZnzkFCDe6A/GIe/F1LcG6lWpprHVh62DjTv8wubtkHwfJWOmOeHp+KvPDRrswL/L3ghsm+E31xY+pvkgM3pbQ==}
+  /@vue/server-renderer/3.2.29_vue@3.2.29:
+    resolution: {integrity: sha512-lpiYx7ciV7rWfJ0tPkoSOlLmwqBZ9FTmQm33S+T4g0j1fO/LmhJ9b9Ctl1o5xvIFVDk9QkSUWANZn7H2pXuxVw==}
     peerDependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     dependencies:
-      '@vue/compiler-ssr': 3.2.27
-      '@vue/shared': 3.2.27
-      vue: 3.2.27
+      '@vue/compiler-ssr': 3.2.29
+      '@vue/shared': 3.2.29
+      vue: 3.2.29
     dev: false
 
-  /@vue/shared/3.2.27:
-    resolution: {integrity: sha512-rpAn9k6O08Lvo7ekBIAnkOukX/4EsEQLPrRJBKhIEasMsOI5eX0f6mq1sDUSY7cgAqWw2d7QtP74CWxdXoyKxA==}
+  /@vue/shared/3.2.29:
+    resolution: {integrity: sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw==}
 
-  /@vue/test-utils/2.0.0-rc.18_vue@3.2.27:
+  /@vue/test-utils/2.0.0-rc.18_vue@3.2.29:
     resolution: {integrity: sha512-aifolXjVdsogjaLmDoZ0FU8vN+R67aWmg9OuVeED4w5Ij5GFQLrlhM19uhWe/r5xXUL4fXMk3pX5wW6FJP1NcQ==}
     peerDependencies:
       vue: ^3.0.1
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
+    dev: true
+
+  /@vue/tsconfig/0.1.2:
+    resolution: {integrity: sha512-DXoCKrPbpVU3wHFjEDYJVBCgHReoKZzFb8dReyOZp+7+MpGlOPHoHoOTPhslUw6Uha57htXCKqVNd8jHBqiC9Q==}
+    peerDependencies:
+      '@types/node': '*'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+    dev: true
+
+  /@vue/tsconfig/0.1.2_@types+node@16.11.21:
+    resolution: {integrity: sha512-DXoCKrPbpVU3wHFjEDYJVBCgHReoKZzFb8dReyOZp+7+MpGlOPHoHoOTPhslUw6Uha57htXCKqVNd8jHBqiC9Q==}
+    peerDependencies:
+      '@types/node': '*'
+    peerDependenciesMeta:
+      '@types/node':
+        optional: true
+    dependencies:
+      '@types/node': 16.11.21
     dev: true
 
   /abab/2.0.5:
@@ -2904,8 +3080,8 @@ packages:
     engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
     hasBin: true
     dependencies:
-      caniuse-lite: 1.0.30001300
-      electron-to-chromium: 1.4.48
+      caniuse-lite: 1.0.30001303
+      electron-to-chromium: 1.4.56
       escalade: 3.1.1
       node-releases: 2.0.1
       picocolors: 1.0.0
@@ -2939,22 +3115,23 @@ packages:
     engines: {node: '>=10'}
     dev: true
 
-  /caniuse-lite/1.0.30001300:
-    resolution: {integrity: sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==}
+  /caniuse-lite/1.0.30001303:
+    resolution: {integrity: sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==}
     dev: true
 
   /caseless/0.12.0:
     resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=}
     dev: true
 
-  /chai/4.3.4:
-    resolution: {integrity: sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==}
+  /chai/4.3.6:
+    resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==}
     engines: {node: '>=4'}
     dependencies:
       assertion-error: 1.1.0
       check-error: 1.0.2
       deep-eql: 3.0.1
       get-func-name: 2.0.0
+      loupe: 2.3.1
       pathval: 1.1.1
       type-detect: 4.0.8
     dev: true
@@ -3093,7 +3270,7 @@ packages:
   /constantinople/4.0.1:
     resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==}
     dependencies:
-      '@babel/parser': 7.16.8
+      '@babel/parser': 7.16.12
       '@babel/types': 7.16.8
     dev: true
 
@@ -3359,8 +3536,8 @@ packages:
       safer-buffer: 2.1.2
     dev: true
 
-  /electron-to-chromium/1.4.48:
-    resolution: {integrity: sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA==}
+  /electron-to-chromium/1.4.56:
+    resolution: {integrity: sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g==}
     dev: true
 
   /emmet/2.3.5:
@@ -4260,8 +4437,8 @@ packages:
     resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=}
     dev: true
 
-  /joi/17.5.0:
-    resolution: {integrity: sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==}
+  /joi/17.6.0:
+    resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==}
     dependencies:
       '@hapi/hoek': 9.2.1
       '@hapi/topo': 5.1.0
@@ -4410,8 +4587,8 @@ packages:
     engines: {node: '>=10'}
     dev: true
 
-  /lint-staged/12.2.0:
-    resolution: {integrity: sha512-TnNciMBhmEqzqM+RvzqqdvrG4TsI8wCDMX1Vg9+rj2Y9uY70Nq84Mb1WOIiwxW9l5tUlCOqtY5La71RM2fSgfA==}
+  /lint-staged/12.3.2:
+    resolution: {integrity: sha512-gtw4Cbj01SuVSfAOXC6ivd/7VKHTj51yj5xV8TgktFmYNMsZzXuSd5/brqJEA93v63wL7R6iDlunMANOechC0A==}
     engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
     hasBin: true
     dependencies:
@@ -4421,7 +4598,7 @@ packages:
       debug: 4.3.3_supports-color@9.2.1
       execa: 5.1.1
       lilconfig: 2.0.4
-      listr2: 3.14.0
+      listr2: 4.0.1
       micromatch: 4.0.4
       normalize-path: 3.0.0
       object-inspect: 1.12.0
@@ -4432,7 +4609,7 @@ packages:
       - enquirer
     dev: true
 
-  /listr2/3.14.0:
+  /listr2/3.14.0_enquirer@2.3.6:
     resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
     engines: {node: '>=10.0.0'}
     peerDependencies:
@@ -4443,6 +4620,7 @@ packages:
     dependencies:
       cli-truncate: 2.1.0
       colorette: 2.0.16
+      enquirer: 2.3.6
       log-update: 4.0.0
       p-map: 4.0.0
       rfdc: 1.3.0
@@ -4451,9 +4629,9 @@ packages:
       wrap-ansi: 7.0.0
     dev: true
 
-  /listr2/3.14.0_enquirer@2.3.6:
-    resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==}
-    engines: {node: '>=10.0.0'}
+  /listr2/4.0.1:
+    resolution: {integrity: sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA==}
+    engines: {node: '>=12'}
     peerDependencies:
       enquirer: '>= 2.3.0 < 3'
     peerDependenciesMeta:
@@ -4462,7 +4640,6 @@ packages:
     dependencies:
       cli-truncate: 2.1.0
       colorette: 2.0.16
-      enquirer: 2.3.6
       log-update: 4.0.0
       p-map: 4.0.0
       rfdc: 1.3.0
@@ -4512,6 +4689,12 @@ packages:
       wrap-ansi: 6.2.0
     dev: true
 
+  /loupe/2.3.1:
+    resolution: {integrity: sha512-EN1D3jyVmaX4tnajVlfbREU4axL647hLec1h/PXAb8CPDMJiYitcWF2UeLVNttRqaIqQs4x+mRvXf+d+TlDrCA==}
+    dependencies:
+      get-func-name: 2.0.0
+    dev: true
+
   /lru-cache/6.0.0:
     resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
     engines: {node: '>=10'}
@@ -4615,7 +4798,7 @@ packages:
     resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
     dependencies:
       hosted-git-info: 2.8.9
-      resolve: 1.21.0
+      resolve: 1.22.0
       semver: 5.7.1
       validate-npm-package-license: 3.0.4
     dev: true
@@ -4797,8 +4980,8 @@ packages:
     engines: {node: '>=4'}
     dev: true
 
-  /pinia/2.0.9_typescript@4.5.4+vue@3.2.27:
-    resolution: {integrity: sha512-iuYdxLJKQ07YPyOHYH05wNG9eKWqkP/4y4GE8+RqEYtz5fwHgPA5kr6zQbg/DoEJGnR2XCm1w1vdt6ppzL9ATg==}
+  /pinia/2.0.10_typescript@4.5.5+vue@3.2.29:
+    resolution: {integrity: sha512-Gq8qCjWkz1SZSCrHqGg/k+wbeu35R7y44eDXFHJlBr5gZ8ooAf6bAHLt5zpAVIDptv09h0+XLZpy9dMHbwvXWw==}
     peerDependencies:
       '@vue/composition-api': ^1.4.0
       typescript: '>=4.4.4'
@@ -4810,13 +4993,13 @@ packages:
         optional: true
     dependencies:
       '@vue/devtools-api': 6.0.0-beta.21.1
-      typescript: 4.5.4
-      vue: 3.2.27
-      vue-demi: 0.12.1_vue@3.2.27
+      typescript: 4.5.5
+      vue: 3.2.29
+      vue-demi: 0.12.1_vue@3.2.29
     dev: false
 
-  /pinia/2.0.9_vue@3.2.27:
-    resolution: {integrity: sha512-iuYdxLJKQ07YPyOHYH05wNG9eKWqkP/4y4GE8+RqEYtz5fwHgPA5kr6zQbg/DoEJGnR2XCm1w1vdt6ppzL9ATg==}
+  /pinia/2.0.10_vue@3.2.29:
+    resolution: {integrity: sha512-Gq8qCjWkz1SZSCrHqGg/k+wbeu35R7y44eDXFHJlBr5gZ8ooAf6bAHLt5zpAVIDptv09h0+XLZpy9dMHbwvXWw==}
     peerDependencies:
       '@vue/composition-api': ^1.4.0
       typescript: '>=4.4.4'
@@ -4828,8 +5011,8 @@ packages:
         optional: true
     dependencies:
       '@vue/devtools-api': 6.0.0-beta.21.1
-      vue: 3.2.27
-      vue-demi: 0.12.1_vue@3.2.27
+      vue: 3.2.29
+      vue-demi: 0.12.1_vue@3.2.29
     dev: false
 
   /postcss/8.4.5:
@@ -4918,7 +5101,7 @@ packages:
       jstransformer: 1.0.0
       pug-error: 2.0.0
       pug-walk: 2.0.0
-      resolve: 1.21.0
+      resolve: 1.22.0
     dev: true
 
   /pug-lexer/5.0.1:
@@ -5027,8 +5210,8 @@ packages:
       throttleit: 1.0.0
     dev: true
 
-  /resolve/1.21.0:
-    resolution: {integrity: sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==}
+  /resolve/1.22.0:
+    resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==}
     hasBin: true
     dependencies:
       is-core-module: 2.8.1
@@ -5060,8 +5243,8 @@ packages:
       glob: 7.2.0
     dev: true
 
-  /rollup/2.64.0:
-    resolution: {integrity: sha512-+c+lbw1lexBKSMb1yxGDVfJ+vchJH3qLbmavR+awDinTDA2C5Ug9u7lkOzj62SCu0PKUExsW36tpgW7Fmpn3yQ==}
+  /rollup/2.66.1:
+    resolution: {integrity: sha512-crSgLhSkLMnKr4s9iZ/1qJCplgAgrRY+igWv8KhG/AjKOJ0YX/WpmANyn8oxrw+zenF3BXWDLa7Xl/QZISH+7w==}
     engines: {node: '>=10.0.0'}
     hasBin: true
     optionalDependencies:
@@ -5397,8 +5580,8 @@ packages:
     engines: {node: '>=14.0.0'}
     dev: true
 
-  /tinyspy/0.2.8:
-    resolution: {integrity: sha512-4VXqQzzh9gC5uOLk77cLr9R3wqJq07xJlgM9IUdCNJCet139r+046ETKbU1x7mGs7B0k7eopyH5U6yflbBXNyA==}
+  /tinyspy/0.2.10:
+    resolution: {integrity: sha512-Qij6rGWCDjWIejxCXXVi6bNgvrYBp3PbqC4cBP/0fD6WHDOHCw09Zd13CsxrDqSR5PFq01WeqDws8t5lz5sH0A==}
     engines: {node: '>=14.0.0'}
     dev: true
 
@@ -5484,8 +5667,8 @@ packages:
     engines: {node: '>=10'}
     dev: true
 
-  /typescript/4.5.4:
-    resolution: {integrity: sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==}
+  /typescript/4.5.5:
+    resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==}
     engines: {node: '>=4.2.0'}
     hasBin: true
     dev: true
@@ -5565,14 +5748,14 @@ packages:
     dependencies:
       esbuild: 0.13.15
       postcss: 8.4.5
-      resolve: 1.21.0
-      rollup: 2.64.0
+      resolve: 1.22.0
+      rollup: 2.66.1
     optionalDependencies:
       fsevents: 2.3.2
     dev: true
 
-  /vitest/0.1.23_jsdom@19.0.0:
-    resolution: {integrity: sha512-Aq/hPNlyMPWqrkSuTzyvUOLcifnXY0IoVnqmhOhUJLEyNVvnPofsThe9r7M7jAkJu/EpqNZwPdOD2HFyZ5biIA==}
+  /vitest/0.1.27_jsdom@19.0.0:
+    resolution: {integrity: sha512-w95Izu+jzust3Ov0KdvN9xZPQm8dG5P1hNOB+uKQ+HFexFcdUW/oa0C0/NR2m2wVpsr23psRPzrBPNlBKgm0qA==}
     engines: {node: '>=14.14.0'}
     hasBin: true
     peerDependencies:
@@ -5592,11 +5775,11 @@ packages:
     dependencies:
       '@types/chai': 4.3.0
       '@types/chai-subset': 1.3.3
-      chai: 4.3.4
+      chai: 4.3.6
       jsdom: 19.0.0
       local-pkg: 0.4.1
       tinypool: 0.1.1
-      tinyspy: 0.2.8
+      tinyspy: 0.2.10
       vite: 2.7.13
     transitivePeerDependencies:
       - less
@@ -5609,8 +5792,8 @@ packages:
     engines: {node: '>=0.10.0'}
     dev: true
 
-  /vscode-css-languageservice/5.1.9:
-    resolution: {integrity: sha512-/tFOWeZBL3Oc9Zc+2MAi3rEwiXJTSZsvjB+M7nSjWLbGPUIjukUA7YzLgsBoUfR35sPJYnXWUkL56PdfIYM8GA==}
+  /vscode-css-languageservice/5.1.12:
+    resolution: {integrity: sha512-293C5C2732Rbhh3opTs+nQBpC5Dd+oYrEA8lc0OWdyt40oYmJ331FV7NMF1SLFSIcOFB5XveLiWUZak2oyc49Q==}
     dependencies:
       vscode-languageserver-textdocument: 1.0.3
       vscode-languageserver-types: 3.16.0
@@ -5627,8 +5810,8 @@ packages:
       vscode-uri: 3.0.3
     dev: true
 
-  /vscode-json-languageservice/4.1.10:
-    resolution: {integrity: sha512-IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ==}
+  /vscode-json-languageservice/4.2.0:
+    resolution: {integrity: sha512-XNawv0Vdy/sUK0S+hGf7cq/qsVAbIniGJr89TvZOqMCNJmpgKTy1e8PL1aWW0uy6BfWMG7vxa5lZb3ypuFtuGQ==}
     dependencies:
       jsonc-parser: 3.0.0
       vscode-languageserver-textdocument: 1.0.3
@@ -5712,20 +5895,20 @@ packages:
       '@volar/transforms': 0.29.8
       '@volar/vue-code-gen': 0.29.8
       '@vscode/emmet-helper': 2.8.3
-      '@vue/reactivity': 3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/reactivity': 3.2.29
+      '@vue/shared': 3.2.29
       request-light: 0.5.7
       upath: 2.0.1
-      vscode-css-languageservice: 5.1.9
+      vscode-css-languageservice: 5.1.12
       vscode-html-languageservice: 4.2.1
-      vscode-json-languageservice: 4.1.10
+      vscode-json-languageservice: 4.2.0
       vscode-languageserver: 8.0.0-next.6
       vscode-languageserver-textdocument: 1.0.3
       vscode-pug-languageservice: 0.29.8
       vscode-typescript-languageservice: 0.29.8
     dev: true
 
-  /vue-demi/0.12.1_vue@3.2.27:
+  /vue-demi/0.12.1_vue@3.2.29:
     resolution: {integrity: sha512-QL3ny+wX8c6Xm1/EZylbgzdoDolye+VpCXRhI2hug9dJTP3OUJ3lmiKN3CsVV3mOJKwFi0nsstbgob0vG7aoIw==}
     engines: {node: '>=12'}
     hasBin: true
@@ -5737,46 +5920,46 @@ packages:
       '@vue/composition-api':
         optional: true
     dependencies:
-      vue: 3.2.27
+      vue: 3.2.29
     dev: false
 
-  /vue-router/4.0.12_vue@3.2.27:
+  /vue-router/4.0.12_vue@3.2.29:
     resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==}
     peerDependencies:
       vue: ^3.0.0
     dependencies:
       '@vue/devtools-api': 6.0.0-beta.21.1
-      vue: 3.2.27
+      vue: 3.2.29
     dev: false
 
-  /vue-tsc/0.29.8_typescript@4.5.4:
+  /vue-tsc/0.29.8_typescript@4.5.5:
     resolution: {integrity: sha512-pT0wLRjvRuSmB+J4WJT6uuV9mO0KtSSXEAtaVXZQzyk5+DJdbLIQTbRce/TXSkfqt1l1WogO78RjtOJFiMCgfQ==}
     hasBin: true
     peerDependencies:
       typescript: '*'
     dependencies:
       '@volar/shared': 0.29.8
-      typescript: 4.5.4
+      typescript: 4.5.5
       vscode-vue-languageservice: 0.29.8
     dev: true
 
-  /vue/3.2.27:
-    resolution: {integrity: sha512-p1cH8Q6eaPwvANCjFQj497a914cxXKKwOG3Lg9USddTOrn4/zFMKjn9dnovkx+L8VtFaNgbVqW8mLJS/eTA6xw==}
+  /vue/3.2.29:
+    resolution: {integrity: sha512-cFIwr7LkbtCRanjNvh6r7wp2yUxfxeM2yPpDQpAfaaLIGZSrUmLbNiSze9nhBJt5MrZ68Iqt0O5scwAMEVxF+Q==}
     dependencies:
-      '@vue/compiler-dom': 3.2.27
-      '@vue/compiler-sfc': 3.2.27
-      '@vue/runtime-dom': 3.2.27
-      '@vue/server-renderer': 3.2.27_vue@3.2.27
-      '@vue/shared': 3.2.27
+      '@vue/compiler-dom': 3.2.29
+      '@vue/compiler-sfc': 3.2.29
+      '@vue/runtime-dom': 3.2.29
+      '@vue/server-renderer': 3.2.29_vue@3.2.29
+      '@vue/shared': 3.2.29
     dev: false
 
-  /vuex/4.0.2_vue@3.2.27:
+  /vuex/4.0.2_vue@3.2.29:
     resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==}
     peerDependencies:
       vue: ^3.0.2
     dependencies:
       '@vue/devtools-api': 6.0.0-beta.21.1
-      vue: 3.2.27
+      vue: 3.2.29
     dev: false
 
   /w3c-hr-time/1.0.2:
@@ -5798,7 +5981,7 @@ packages:
     hasBin: true
     dependencies:
       axios: 0.21.4_debug@4.3.2
-      joi: 17.5.0
+      joi: 17.6.0
       lodash: 4.17.21
       minimist: 1.2.5
       rxjs: 7.5.2
@@ -5871,7 +6054,7 @@ packages:
     resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==}
     engines: {node: '>= 10.0.0'}
     dependencies:
-      '@babel/parser': 7.16.8
+      '@babel/parser': 7.16.12
       '@babel/types': 7.16.8
       assert-never: 1.2.1
       babel-walk: 3.0.0-canary-5
index 0a94281cda4cc16294ed2786a716266c327f4173..d7a06b644bc9ee1615f1d68565823a6e58f6ebef 100644 (file)
@@ -2,3 +2,4 @@ packages:
   - 'playground/**'
   - 'template/base'
   - 'template/config/**'
+  - 'template/tsconfig/**'
index 640496bae05172aee2a78bca9210714587658378..71dd1ac00b55b13513f64b7659c7ce8911d3884c 100644 (file)
@@ -1,6 +1,4 @@
 /* eslint-env node */
-/// <reference types="node" />
-/// <reference types="cypress" />
 // ***********************************************************
 // This example plugins/index.ts can be used to load plugins
 //
index 7f8386cfb2edd51bb8cd0867c8e67e8cf83c2b05..c6679b4035eb71932e5040ed8df78923768c031f 100644 (file)
@@ -1,6 +1,4 @@
 /* eslint-env node */
-/// <reference types="node" />
-/// <reference types="cypress" />
 // ***********************************************************
 // This example plugins/index.ts can be used to load plugins
 //
diff --git a/template/tsconfig/base/package.json b/template/tsconfig/base/package.json
new file mode 100644 (file)
index 0000000..9c189ef
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "devDependencies": {
+    "@vue/tsconfig": "^0.1.2"
+  }
+}
diff --git a/template/tsconfig/base/tsconfig.json b/template/tsconfig/base/tsconfig.json
new file mode 100644 (file)
index 0000000..61952ee
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.web.json",
+  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
+  "compilerOptions": {
+    "baseUrl": ".",
+    "paths": {
+      "@/*": ["./src/*"]
+    }
+  },
+
+  "references": [
+    {
+      "path": "./tsconfig.vite-config.json"
+    }
+  ]
+}
diff --git a/template/tsconfig/base/tsconfig.vite-config.json b/template/tsconfig/base/tsconfig.vite-config.json
new file mode 100644 (file)
index 0000000..d20d872
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.node.json",
+  "include": ["vite.config.*"],
+  "compilerOptions": {
+    "composite": true,
+    "types": ["node", "vitest"]
+  }
+}
diff --git a/template/tsconfig/cypress/cypress/plugins/tsconfig.json b/template/tsconfig/cypress/cypress/plugins/tsconfig.json
new file mode 100644 (file)
index 0000000..b5aedd5
--- /dev/null
@@ -0,0 +1,9 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.node.json",
+  "include": ["./**/*"],
+  "compilerOptions": {
+    "module": "CommonJS",
+    "preserveValueImports": false,
+    "types": ["node", "cypress/types/cypress"]
+  }
+}
diff --git a/template/tsconfig/cypress/cypress/tsconfig.json b/template/tsconfig/cypress/cypress/tsconfig.json
new file mode 100644 (file)
index 0000000..a2dbf9e
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.web.json",
+  "include": ["./integration/**/*", "./support/**/*"],
+  "compilerOptions": {
+    "isolatedModules": false,
+    "target": "es5",
+    "lib": ["es5", "dom"],
+    "types": ["cypress"]
+  }
+}
diff --git a/template/tsconfig/vitest/package.json b/template/tsconfig/vitest/package.json
new file mode 100644 (file)
index 0000000..3cae786
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "devDependencies": {
+    "@types/jsdom": "^16.2.14"
+  }
+}
diff --git a/template/tsconfig/vitest/tsconfig.json b/template/tsconfig/vitest/tsconfig.json
new file mode 100644 (file)
index 0000000..2551bf2
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.web.json",
+  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
+  "exclude": ["src/**/__tests__/*"],
+  "compilerOptions": {
+    "baseUrl": ".",
+    "paths": {
+      "@/*": ["./src/*"]
+    }
+  },
+
+  "references": [
+    {
+      "path": "./tsconfig.vite-config.json"
+    },
+    {
+      "path": "./tsconfig.vitest.json"
+    }
+  ]
+}
diff --git a/template/tsconfig/vitest/tsconfig.vitest.json b/template/tsconfig/vitest/tsconfig.vitest.json
new file mode 100644 (file)
index 0000000..f70b052
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "extends": "@vue/tsconfig/tsconfig.node.json",
+  "include": ["src/**/__tests__/*"],
+  "compilerOptions": {
+    "composite": true,
+    "types": ["node", "jsdom"]
+  }
+}