diff --git a/packages/ui/package.json b/packages/ui/package.json index 9ba35d1b..56905b54 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -26,6 +26,7 @@ "build": "vite build", "build:win": "vite build", "test": "vitest run", + "typecheck": "vue-tsc --noEmit", "lint": "eslint src --ext .ts,.vue --no-eslintrc --config .eslintrc.json", "lint:fix": "eslint src --ext .ts,.vue --no-eslintrc --config .eslintrc.json --fix" }, @@ -56,6 +57,7 @@ "@vue/test-utils": "^2.4.5", "@vue/tsconfig": "^0.5.1", "eslint": "^8.57.0", + "vue-tsc": "^2.2.12", "eslint-plugin-vue": "^10.4.0", "jsdom": "^26.0.0", "typescript": "^5.8.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2f027357..aa885528 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -395,6 +395,9 @@ importers: vitest: specifier: ^4.0.15 version: 4.0.15(@types/node@22.16.0)(jiti@1.21.7)(jsdom@26.1.0)(msw@2.10.5(@types/node@22.16.0)(typescript@5.8.3))(yaml@2.8.2) + vue-tsc: + specifier: ^2.2.12 + version: 2.2.12(typescript@5.8.3) packages/web: dependencies: @@ -1737,12 +1740,21 @@ packages: '@vitest/utils@4.0.15': resolution: {integrity: sha512-HXjPW2w5dxhTD0dLwtYHDnelK3j8sR8cWIaLxr22evTyY6q8pRCjZSmhRWVjBaOVXChQd6AwMzi9pucorXCPZA==} + '@volar/language-core@2.4.15': + resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==} + '@volar/language-core@2.4.17': resolution: {integrity: sha512-chmRZMbKmcGpKMoO7Reb70uiLrzo0KWC2CkFttKUuKvrE+VYgi+fL9vWMJ07Fv5ulX0V1TAyyacN9q3nc5/ecA==} + '@volar/source-map@2.4.15': + resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==} + '@volar/source-map@2.4.17': resolution: {integrity: sha512-QDybtQyO3Ms/NjFqNHTC5tbDN2oK5VH7ZaKrcubtfHBDj63n2pizHC3wlMQ+iT55kQXZUUAbmBX5L1C8CHFeBw==} + '@volar/typescript@2.4.15': + resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==} + '@volar/typescript@2.4.17': resolution: {integrity: sha512-3paEFNh4P5DkgNUB2YkTRrfUekN4brAXxd3Ow1syMqdIPtCZHbUy4AW99S5RO/7mzyTWPMdDSo3mqTpB/LPObQ==} @@ -1781,6 +1793,14 @@ packages: typescript: optional: true + '@vue/language-core@2.2.12': + resolution: {integrity: sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@vue/reactivity@3.5.17': resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} @@ -1907,6 +1927,9 @@ packages: alien-signals@0.4.14: resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + alien-signals@1.0.13: + resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -5074,6 +5097,12 @@ packages: peerDependencies: vue: ^3.5.0 + vue-tsc@2.2.12: + resolution: {integrity: sha512-P7OP77b2h/Pmk+lZdJ0YWs+5tJ6J2+uOQPo7tlBnY44QqQSPYvS0qVT4wqDJgwrZaLe47etJLLQRFia71GYITw==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + vue@3.5.17: resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} peerDependencies: @@ -6682,12 +6711,24 @@ snapshots: '@vitest/pretty-format': 4.0.15 tinyrainbow: 3.0.3 + '@volar/language-core@2.4.15': + dependencies: + '@volar/source-map': 2.4.15 + '@volar/language-core@2.4.17': dependencies: '@volar/source-map': 2.4.17 + '@volar/source-map@2.4.15': {} + '@volar/source-map@2.4.17': {} + '@volar/typescript@2.4.15': + dependencies: + '@volar/language-core': 2.4.15 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + '@volar/typescript@2.4.17': dependencies: '@volar/language-core': 2.4.17 @@ -6762,6 +6803,19 @@ snapshots: optionalDependencies: typescript: 5.8.3 + '@vue/language-core@2.2.12(typescript@5.8.3)': + dependencies: + '@volar/language-core': 2.4.15 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.17 + alien-signals: 1.0.13 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.8.3 + '@vue/reactivity@3.5.17': dependencies: '@vue/shared': 3.5.17 @@ -6924,6 +6978,8 @@ snapshots: alien-signals@0.4.14: {} + alien-signals@1.0.13: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -10745,6 +10801,12 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.5.17(typescript@5.8.3) + vue-tsc@2.2.12(typescript@5.8.3): + dependencies: + '@volar/typescript': 2.4.15 + '@vue/language-core': 2.2.12(typescript@5.8.3) + typescript: 5.8.3 + vue@3.5.17(typescript@5.8.3): dependencies: '@vue/compiler-dom': 3.5.17