From f4ac339764ebd06bd23705bbaabb14fa229c31a6 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Sun, 4 Sep 2022 12:52:21 +0800 Subject: [PATCH] refactor!: use `@vue/create-eslint-config` for ESLint config generation Airbnb & Standard options are not added yet. The difference with the previous implementation is that we now use `@vue/eslint-config-typescript` instead of `@vue/eslint-config-typescript/recommended`, because I'm not very satisfied with the current implementation of the latter config. There are some edge cases that may confuse users. I need to find time to refactor that package in the coming months. --- LICENSE | 58 + package.json | 1 + pnpm-lock.yaml | 2094 +++++++++++++++++++++++++++++++++- template/eslint/package.json | 8 +- utils/renderEslint.ts | 100 +- 5 files changed, 2181 insertions(+), 80 deletions(-) diff --git a/LICENSE b/LICENSE index 67ac4d3c..288a289f 100644 --- a/LICENSE +++ b/LICENSE @@ -31,6 +31,64 @@ MIT ## Bundled dependencies +## @vue/create-eslint-config + +License: MIT +By: Haoqun Jiang +Repository: git+https://github.com/vuejs/create-eslint-config.git + +> MIT License +> +> Copyright (c) 2022 vuejs +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. +> + +## javascript-stringify + +License: MIT +By: Blake Embrey +Repository: git+https://github.com/blakeembrey/javascript-stringify.git + +> The MIT License (MIT) +> +> Copyright (c) 2013 Blake Embrey (hello@blakeembrey.com) +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. +> + ## kleur License: MIT diff --git a/package.json b/package.json index a2549a92..cd5f690d 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "devDependencies": { "@types/eslint": "^8.4.6", "@types/prompts": "^2.0.14", + "@vue/create-eslint-config": "^0.1.2", "@vue/tsconfig": "^0.1.3", "esbuild": "^0.14.53", "esbuild-plugin-license": "^1.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b12d6476..8456521c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,7 @@ importers: specifiers: '@types/eslint': ^8.4.6 '@types/prompts': ^2.0.14 + '@vue/create-eslint-config': ^0.1.2 '@vue/tsconfig': ^0.1.3 esbuild: ^0.14.53 esbuild-plugin-license: ^1.2.2 @@ -20,6 +21,7 @@ importers: devDependencies: '@types/eslint': 8.4.6 '@types/prompts': 2.0.14 + '@vue/create-eslint-config': 0.1.2 '@vue/tsconfig': 0.1.3 esbuild: 0.14.53 esbuild-plugin-license: 1.2.2_esbuild@0.14.53 @@ -32,6 +34,2054 @@ importers: prompts: 2.4.2 zx: 4.3.0 + playground/cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + cypress: ^10.6.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/default: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/jsx: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/jsx-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + cypress: ^10.6.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/jsx-pinia: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/jsx-pinia-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + cypress: ^10.6.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/jsx-pinia-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-pinia-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-pinia-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/jsx-router-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + cypress: ^10.6.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/jsx-router-pinia: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/jsx-router-pinia-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + cypress: ^10.6.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/jsx-router-pinia-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router-pinia-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router-pinia-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-router-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/jsx-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/pinia: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + pinia: ^2.0.19 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/pinia-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + cypress: ^10.6.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/pinia-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/pinia-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/pinia-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/router-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + cypress: ^10.6.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/router-pinia: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + pinia: ^2.0.19 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + vite: 3.0.9 + + playground/router-pinia-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + cypress: ^10.6.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + cypress: 10.6.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + + playground/router-pinia-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + pinia: ^2.0.19 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router-pinia-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router-pinia-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + pinia: 2.0.19_vue@3.2.37 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router-vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router-vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/router-with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/typescript: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-pinia: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-pinia-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-pinia-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-pinia-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-pinia-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-pinia: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-pinia-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-pinia-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-pinia-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-pinia-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-router-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-jsx-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vitejs/plugin-vue-jsx': ^2.0.0 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vitejs/plugin-vue-jsx': 2.0.0_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-pinia: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-pinia-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-pinia-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-pinia-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-pinia-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-pinia: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-pinia-cypress: + specifiers: + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-pinia-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-pinia-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-pinia-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + pinia: ^2.0.19 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + pinia: 2.0.19_j6bzmzd4ujpabbp5objtwxyjp4 + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-router-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-router: ^4.1.3 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + vue-router: 4.1.3_vue@3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-vitest: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-vitest-cypress: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/typescript-with-tests: + specifiers: + '@types/jsdom': ^20.0.0 + '@types/node': ^16.11.49 + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + '@vue/tsconfig': ^0.1.3 + cypress: ^10.6.0 + jsdom: ^20.0.0 + npm-run-all: ^4.1.5 + start-server-and-test: ^1.14.0 + typescript: ~4.7.4 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + vue-tsc: ^0.40.1 + dependencies: + vue: 3.2.37 + devDependencies: + '@types/jsdom': 20.0.0 + '@types/node': 16.11.49 + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + '@vue/tsconfig': 0.1.3_@types+node@16.11.49 + cypress: 10.6.0 + jsdom: 20.0.0 + npm-run-all: 4.1.5 + start-server-and-test: 1.14.0 + typescript: 4.7.4 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + vue-tsc: 0.40.1_typescript@4.7.4 + + playground/vitest: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + jsdom: ^20.0.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + jsdom: 20.0.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/vitest-cypress: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + + playground/with-tests: + specifiers: + '@vitejs/plugin-vue': ^3.0.3 + '@vue/test-utils': ^2.0.2 + cypress: ^10.6.0 + jsdom: ^20.0.0 + start-server-and-test: ^1.14.0 + vite: ^3.0.9 + vitest: ^0.22.1 + vue: ^3.2.37 + dependencies: + vue: 3.2.37 + devDependencies: + '@vitejs/plugin-vue': 3.0.3_vite@3.0.9+vue@3.2.37 + '@vue/test-utils': 2.0.2_vue@3.2.37 + cypress: 10.6.0 + jsdom: 20.0.0 + start-server-and-test: 1.14.0 + vite: 3.0.9 + vitest: 0.22.1_jsdom@20.0.0 + template/base: specifiers: '@vitejs/plugin-vue': ^3.0.3 @@ -766,6 +2816,16 @@ packages: '@vue/compiler-dom': 3.2.37 '@vue/shared': 3.2.37 + /@vue/create-eslint-config/0.1.2: + resolution: {integrity: sha512-cyBRvjBFgcB4+mBxcwfnM/JyZnXSccW6TRV3HeSUWtIcH3JrK/UMqZQqfk+XOJwKjwYyskHBE6AeX7d+1RhQ/w==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + dependencies: + enquirer: 2.3.6 + javascript-stringify: 2.1.0 + kolorist: 1.5.1 + dev: true + /@vue/devtools-api/6.2.1: resolution: {integrity: sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ==} dev: false @@ -826,6 +2886,17 @@ packages: optional: true dev: true + /@vue/tsconfig/0.1.3_@types+node@16.11.49: + resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 16.11.49 + dev: true + /abab/2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} dev: true @@ -2380,6 +4451,10 @@ packages: resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} dev: true + /javascript-stringify/2.1.0: + resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} + dev: true + /joi/17.6.0: resolution: {integrity: sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==} dependencies: @@ -2929,6 +5004,24 @@ packages: engines: {node: '>=4'} dev: true + /pinia/2.0.19_j6bzmzd4ujpabbp5objtwxyjp4: + resolution: {integrity: sha512-Q/UQrmFLDMdlCkLfM5rGw1Ug0A7dy0G7NtBusMQSK+TNjf3CV/pO0RqblNIfuurWl42byTjM6HIemCWOfo8KXA==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.2.1 + typescript: 4.7.4 + vue: 3.2.37 + vue-demi: 0.13.5_vue@3.2.37 + dev: false + /pinia/2.0.19_vue@3.2.37: resolution: {integrity: sha512-Q/UQrmFLDMdlCkLfM5rGw1Ug0A7dy0G7NtBusMQSK+TNjf3CV/pO0RqblNIfuurWl42byTjM6HIemCWOfo8KXA==} peerDependencies: @@ -3491,7 +5584,6 @@ packages: resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} hasBin: true - dev: true /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} diff --git a/template/eslint/package.json b/template/eslint/package.json index 19c56505..d3f28f02 100644 --- a/template/eslint/package.json +++ b/template/eslint/package.json @@ -1,11 +1,5 @@ { "devDependencies": { - "@rushstack/eslint-patch": "^1.1.4", - "@vue/eslint-config-prettier": "^7.0.0", - "@vue/eslint-config-typescript": "^11.0.0", - "eslint": "^8.22.0", - "eslint-plugin-cypress": "^2.12.1", - "eslint-plugin-vue": "^9.3.0", - "prettier": "^2.7.1" + "eslint-plugin-cypress": "^2.12.1" } } diff --git a/utils/renderEslint.ts b/utils/renderEslint.ts index 0d381c38..1f0daa6c 100644 --- a/utils/renderEslint.ts +++ b/utils/renderEslint.ts @@ -3,50 +3,21 @@ import * as path from 'node:path' import type { Linter } from 'eslint' -import { devDependencies as allEslintDeps } from '../template/eslint/package.json' assert { type: 'json' } -import deepMerge from './deepMerge' -import sortDependencies from './sortDependencies' - -const dependencies = {} -function addEslintDependency(name) { - dependencies[name] = allEslintDeps[name] -} +import createESLintConfig from '@vue/create-eslint-config' -addEslintDependency('eslint') -addEslintDependency('eslint-plugin-vue') - -interface ESLintConfig extends Linter.Config { - extends: string[] -} -const config: ESLintConfig = { - root: true, - extends: ['plugin:vue/vue3-essential'], - parserOptions: { - ecmaVersion: 'latest' - } -} - -function configureEslint({ language, styleGuide, needsPrettier, needsCypress, needsCypressCT }) { - switch (`${styleGuide}-${language}`) { - case 'default-javascript': - config.extends.push('eslint:recommended') - break - case 'default-typescript': - addEslintDependency('@vue/eslint-config-typescript') - config.extends.push('eslint:recommended') - config.extends.push('@vue/eslint-config-typescript/recommended') - break - // TODO: airbnb and standard - } +import { devDependencies as eslintDeps } from '../template/eslint/package.json' assert { type: 'json' } +import sortDependencies from './sortDependencies' +import deepMerge from './deepMerge' - if (needsPrettier) { - addEslintDependency('prettier') - addEslintDependency('@vue/eslint-config-prettier') - config.extends.push('@vue/eslint-config-prettier') - } +export default function renderEslint( + rootDir, + { needsTypeScript, needsCypress, needsCypressCT, needsPrettier } +) { + const additionalConfig: Linter.Config = {} + const additionalDependencies = {} if (needsCypress) { - const cypressOverrides = [ + additionalConfig.overrides = [ { files: needsCypressCT ? ['**/__tests__/*.{cy,spec}.{js,ts,jsx,tsx}', 'cypress/e2e/**.{cy,spec}.{js,ts,jsx,tsx}'] @@ -55,54 +26,39 @@ function configureEslint({ language, styleGuide, needsPrettier, needsCypress, ne } ] - addEslintDependency('eslint-plugin-cypress') - config.overrides = cypressOverrides - } - - // generate the configuration file - let configuration = '/* eslint-env node */\n' - if (styleGuide !== 'default' || language !== 'javascript' || needsPrettier) { - addEslintDependency('@rushstack/eslint-patch') - configuration += `require("@rushstack/eslint-patch/modern-module-resolution");\n\n` + additionalDependencies['eslint-plugin-cypress'] = eslintDeps['eslint-plugin-cypress'] } - configuration += `module.exports = ${JSON.stringify(config, undefined, 2)}\n` - - return { - dependencies, - configuration - } -} -export default function renderEslint( - rootDir, - { needsTypeScript, needsCypress, needsCypressCT, needsPrettier } -) { - const { dependencies, configuration } = configureEslint({ - language: needsTypeScript ? 'typescript' : 'javascript', + const { pkg, files } = createESLintConfig({ + vueVersion: '3.x', // we currently don't support other style guides styleGuide: 'default', + hasTypeScript: needsTypeScript, needsPrettier, - needsCypress, - needsCypressCT + + additionalConfig, + additionalDependencies }) // update package.json const packageJsonPath = path.resolve(rootDir, 'package.json') const existingPkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')) - const pkg = sortDependencies( - deepMerge(existingPkg, { + const updatedPkg = sortDependencies( + deepMerge(deepMerge(existingPkg, pkg), { scripts: { // Note that we reuse .gitignore here to avoid duplicating the configuration lint: needsTypeScript ? 'eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore' : 'eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore' - }, - devDependencies: dependencies + } }) ) - fs.writeFileSync(packageJsonPath, JSON.stringify(pkg, null, 2) + '\n') + fs.writeFileSync(packageJsonPath, JSON.stringify(updatedPkg, null, 2) + '\n', 'utf-8') - // write to .eslintrc.cjs - const eslintrcPath = path.resolve(rootDir, '.eslintrc.cjs') - fs.writeFileSync(eslintrcPath, configuration) + // write to .eslintrc.cjs, .prettierrc.json, etc. + for (const [fileName, content] of Object.entries(files)) { + const fullPath = path.resolve(rootDir, fileName) + console.log(fullPath, content) + fs.writeFileSync(fullPath, content as string, 'utf-8') + } } -- 2.39.5