{ "name": "client", "version": "0.0.0", "private": true, "type": "module", "scripts": { "dev": "vite", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "test:unit": "vitest", "test:cov": "vitest --coverage", "build-only": "vite build", "type-check": "vue-tsc --build", "lint": "pnpm run lint:check", "lint:check": "run-s lint:oxlint:check lint:eslint:check", "lint:fix": "run-s lint:oxlint:fix lint:eslint:fix", "lint:oxlint:check": "oxlint src", "lint:oxlint:fix": "oxlint src --fix", "lint:eslint:check": "eslint src --cache", "lint:eslint:fix": "eslint src --fix --cache", "format": "prettier --write --experimental-cli src/", "format:check": "prettier --check src/" }, "dependencies": { "@fontsource-variable/fraunces": "^5.2.9", "@fontsource-variable/inter": "^5.2.8", "@projectx/types": "workspace:*", "@tailwindcss/vite": "^4.2.1", "@vueuse/core": "^14.2.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "echarts": "^6.0.0", "lucide-vue-next": "^0.577.0", "pdfjs-dist": "^5.5.207", "pinia": "^3.0.4", "reka-ui": "^2.9.2", "socket.io-client": "^4.8.3", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.1", "vue": "^3.5.30", "vue-draggable-plus": "^0.6.1", "vue-echarts": "^8.0.1", "vue-router": "^5.0.3", "vue-sonner": "^2.0.9", "vue-virtual-scroller": "^1.1.2" }, "devDependencies": { "@tsconfig/node24": "^24.0.4", "@types/jsdom": "^28.0.0", "@types/node": "^25.5.0", "@vitejs/plugin-vue": "^6.0.5", "@vitest/coverage-v8": "^4.1.0", "@vitest/eslint-plugin": "^1.6.12", "@vue/eslint-config-typescript": "^14.7.0", "@vue/test-utils": "^2.4.6", "@vue/tsconfig": "^0.9.0", "eslint": "^10.0.3", "eslint-config-prettier": "^10.1.8", "eslint-plugin-oxlint": "~1.56.0", "eslint-plugin-vue": "~10.8.0", "jiti": "^2.6.1", "jsdom": "^29.0.0", "npm-run-all2": "^8.0.4", "oxlint": "~1.56.0", "prettier": "3.8.1", "tw-animate-css": "^1.4.0", "typescript": "~5.9.3", "vite": "^8.0.0", "vite-plugin-vue-devtools": "^8.1.0", "vitest": "^4.1.0", "vue-tsc": "^3.2.6" }, "engines": { "node": "^20.19.0 || >=22.12.0" } }