diff --git a/frontend/package.json b/frontend/package.json index 70a145f0..831651ab 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,7 +8,7 @@ "lint": "eslint --ext \".ts,.js,.vue\" --ignore-path ../.gitignore .", "lint:fix": "eslint --ext \".ts,.js,.vue\" --ignore-path ../.gitignore . --fix", "lint:ci": "eslint --ext \".ts,.js,.vue\" --ignore-path ../.gitignore . --max-warnings 1", - "typecheck": "pnpm dlx vue-tsc@2.1.6 --noEmit", + "typecheck": "pnpm vue-tsc --noEmit", "test:ci": "TEST_SHUTDOWN_API_SERVER=true vitest --run --config ./test/vitest.config.ts", "test:local": "TEST_SHUTDOWN_API_SERVER=false && vitest --run --config ./test/vitest.config.ts", "test:watch": " TEST_SHUTDOWN_API_SERVER=false vitest --config ./test/vitest.config.ts" @@ -34,11 +34,12 @@ "isomorphic-fetch": "^3.0.0", "nuxt": "3.7.4", "prettier": "^3.3.3", - "typescript": "^5.6.2", + "typescript": "5.6.2", "unplugin-icons": "^0.18.5", "vite-plugin-eslint": "^1.8.1", "vitest": "^1.6.0", - "vue-i18n": "^9.14.1" + "vue-i18n": "^9.14.1", + "vue-tsc": "2.1.6" }, "dependencies": { "@headlessui/vue": "^1.7.23", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index ba4165a8..a7d78853 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -34,7 +34,7 @@ importers: version: 8.8.1(vue@3.4.8(typescript@5.6.2)) '@vueuse/nuxt': specifier: ^10.11.1 - version: 10.11.1(magicast@0.3.5)(nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(webpack-sources@3.2.3))(rollup@4.24.0)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3) + version: 10.11.1(magicast@0.3.5)(nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@4.24.0)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3) '@vueuse/router': specifier: ^10.11.1 version: 10.11.1(vue-router@4.4.5(vue@3.4.8(typescript@5.6.2)))(vue@3.4.8(typescript@5.6.2)) @@ -131,12 +131,12 @@ importers: version: 3.0.0 nuxt: specifier: 3.7.4 - version: 3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(webpack-sources@3.2.3) + version: 3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) prettier: specifier: ^3.3.3 version: 3.3.3 typescript: - specifier: ^5.6.2 + specifier: 5.6.2 version: 5.6.2 unplugin-icons: specifier: ^0.18.5 @@ -150,6 +150,9 @@ importers: vue-i18n: specifier: ^9.14.1 version: 9.14.1(vue@3.4.8(typescript@5.6.2)) + vue-tsc: + specifier: 2.1.6 + version: 2.1.6(typescript@5.6.2) packages: @@ -2031,6 +2034,15 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} + '@volar/language-core@2.4.10': + resolution: {integrity: sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==} + + '@volar/source-map@2.4.10': + resolution: {integrity: sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==} + + '@volar/typescript@2.4.10': + resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} + '@vue-macros/common@1.14.0': resolution: {integrity: sha512-xwQhDoEXRNXobNQmdqOD20yUGdVLVLZe4zhDlT9q/E+z+mvT3wukaAoJG80XRnv/BcgOOCVpxqpkQZ3sNTgjWA==} engines: {node: '>=16.14.0'} @@ -2080,9 +2092,20 @@ packages: '@vue/compiler-ssr@3.5.11': resolution: {integrity: sha512-P4+GPjOuC2aFTk1Z4WANvEhyOykcvEd5bIj2KVNGKGfM745LaXGr++5njpdBTzVz5pZifdlR1kpYSJJpIlSePA==} + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/language-core@2.1.6': + resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@vue/reactivity@3.4.8': resolution: {integrity: sha512-UJYMQ3S2rqIGw9IvKomD4Xw2uS5VlcKEEmwcfboGOdrI79oqebxnCgTvXWLMClvg3M5SF0Cyn+9eDQoyGMLu9Q==} @@ -2536,6 +2559,9 @@ packages: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2700,6 +2726,9 @@ packages: drizzle-orm: optional: true + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -3432,6 +3461,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} @@ -4034,6 +4067,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -4264,6 +4300,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -5613,6 +5652,12 @@ packages: peerDependencies: vue: ^3.2.0 + vue-tsc@2.1.6: + resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + vue@3.4.8: resolution: {integrity: sha512-vJffFOe6DqWsAI10v3tDhb1nJrj7CF3CbdQwOznywAsFNoyvrQ1AWQdcIWJpmRpRnw7NFzstzh6fh4w7n1PNdg==} peerDependencies: @@ -7222,7 +7267,7 @@ snapshots: '@nuxt/ui-templates@1.3.4': {} - '@nuxt/vite-builder@3.7.4(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/vite-builder@3.7.4(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: '@nuxt/kit': 3.7.4(magicast@0.3.5)(rollup@4.24.0)(webpack-sources@3.2.3) '@rollup/plugin-replace': 5.0.7(rollup@4.24.0) @@ -7257,7 +7302,7 @@ snapshots: unplugin: 1.14.1(webpack-sources@3.2.3) vite: 4.5.5(@types/node@22.7.4)(terser@5.34.1) vite-node: 0.33.0(@types/node@22.7.4)(terser@5.34.1) - vite-plugin-checker: 0.6.4(eslint@8.57.1)(optionator@0.9.4)(typescript@5.6.2)(vite@4.5.5(@types/node@22.7.4)(terser@5.34.1)) + vite-plugin-checker: 0.6.4(eslint@8.57.1)(optionator@0.9.4)(typescript@5.6.2)(vite@4.5.5(@types/node@22.7.4)(terser@5.34.1))(vue-tsc@2.1.6(typescript@5.6.2)) vue: 3.4.8(typescript@5.6.2) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -7856,6 +7901,18 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 + '@volar/language-core@2.4.10': + dependencies: + '@volar/source-map': 2.4.10 + + '@volar/source-map@2.4.10': {} + + '@volar/typescript@2.4.10': + dependencies: + '@volar/language-core': 2.4.10 + path-browserify: 1.0.1 + vscode-uri: 3.0.8 + '@vue-macros/common@1.14.0(rollup@4.24.0)(vue@3.4.8(typescript@5.6.2))': dependencies: '@babel/types': 7.25.7 @@ -7959,8 +8016,26 @@ snapshots: '@vue/compiler-dom': 3.5.11 '@vue/shared': 3.5.11 + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + '@vue/devtools-api@6.6.4': {} + '@vue/language-core@2.1.6(typescript@5.6.2)': + dependencies: + '@volar/language-core': 2.4.10 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.12 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.6.2 + '@vue/reactivity@3.4.8': dependencies: '@vue/shared': 3.4.8 @@ -8014,13 +8089,13 @@ snapshots: '@vueuse/metadata@10.11.1': {} - '@vueuse/nuxt@10.11.1(magicast@0.3.5)(nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(webpack-sources@3.2.3))(rollup@4.24.0)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3)': + '@vueuse/nuxt@10.11.1(magicast@0.3.5)(nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3))(rollup@4.24.0)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3)': dependencies: '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.24.0)(webpack-sources@3.2.3) '@vueuse/core': 10.11.1(vue@3.4.8(typescript@5.6.2)) '@vueuse/metadata': 10.11.1 local-pkg: 0.5.0 - nuxt: 3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(webpack-sources@3.2.3) + nuxt: 3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3) vue-demi: 0.14.10(vue@3.4.8(typescript@5.6.2)) transitivePeerDependencies: - '@vue/composition-api' @@ -8493,6 +8568,8 @@ snapshots: normalize-path: 3.0.0 readable-stream: 4.5.2 + computeds@0.0.1: {} + concat-map@0.0.1: {} confbox@0.1.7: {} @@ -8663,6 +8740,8 @@ snapshots: db0@0.1.4: {} + de-indent@1.0.2: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -9578,6 +9657,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + hookable@5.5.3: {} hosted-git-info@2.8.9: {} @@ -10175,6 +10256,8 @@ snapshots: ms@2.1.3: {} + muggle-string@0.4.1: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -10329,14 +10412,14 @@ snapshots: nuxi@3.14.0: {} - nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(webpack-sources@3.2.3): + nuxt@3.7.4(@parcel/watcher@2.4.1)(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(webpack-sources@3.2.3): dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 3.7.4(magicast@0.3.5)(rollup@4.24.0)(webpack-sources@3.2.3) '@nuxt/schema': 3.7.4(rollup@4.24.0)(webpack-sources@3.2.3) '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.24.0)(webpack-sources@3.2.3) '@nuxt/ui-templates': 1.3.4 - '@nuxt/vite-builder': 3.7.4(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/vite-builder': 3.7.4(@types/node@22.7.4)(eslint@8.57.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.24.0)(terser@5.34.1)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2))(vue@3.4.8(typescript@5.6.2))(webpack-sources@3.2.3) '@unhead/dom': 1.11.7 '@unhead/ssr': 1.11.7 '@unhead/vue': 1.11.7(vue@3.4.8(typescript@5.6.2)) @@ -10572,6 +10655,8 @@ snapshots: parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -11793,7 +11878,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.6.4(eslint@8.57.1)(optionator@0.9.4)(typescript@5.6.2)(vite@4.5.5(@types/node@22.7.4)(terser@5.34.1)): + vite-plugin-checker@0.6.4(eslint@8.57.1)(optionator@0.9.4)(typescript@5.6.2)(vite@4.5.5(@types/node@22.7.4)(terser@5.34.1))(vue-tsc@2.1.6(typescript@5.6.2)): dependencies: '@babel/code-frame': 7.25.7 ansi-escapes: 4.3.2 @@ -11815,6 +11900,7 @@ snapshots: eslint: 8.57.1 optionator: 0.9.4 typescript: 5.6.2 + vue-tsc: 2.1.6(typescript@5.6.2) vite-plugin-eslint@1.8.1(eslint@8.57.1)(vite@4.5.5(@types/node@22.7.4)(terser@5.34.1)): dependencies: @@ -11947,6 +12033,13 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.4.8(typescript@5.6.2) + vue-tsc@2.1.6(typescript@5.6.2): + dependencies: + '@volar/typescript': 2.4.10 + '@vue/language-core': 2.1.6(typescript@5.6.2) + semver: 7.6.3 + typescript: 5.6.2 + vue@3.4.8(typescript@5.6.2): dependencies: '@vue/compiler-dom': 3.4.8