{ "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "build:with-typecheck": "vue-tsc -b && vite build", "preview": "vite preview", "test": "vitest", "test:ui": "vitest --ui", "test:run": "vitest run", "lint": "eslint . --fix", "type-check": "vue-tsc --noEmit" }, "dependencies": { "@types/dompurify": "^3.0.5", "@types/marked": "^5.0.2", "@types/three": "^0.180.0", "@vueuse/core": "^13.9.0", "axios": "^1.12.1", "chart.js": "^4.5.0", "chartjs-adapter-date-fns": "^3.0.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^4.1.0", "dompurify": "^3.3.0", "highlight.js": "^11.11.1", "lucide-vue-next": "^0.544.0", "marked": "^16.0.0", "pinia": "^3.0.3", "radix-vue": "^1.9.17", "tailwind-merge": "^3.3.1", "three": "^0.180.0", "vue": "^3.5.18", "vue-chartjs": "^5.3.2", "vue-router": "^4.5.1" }, "devDependencies": { "@eslint/js": "^9.39.1", "@types/node": "^24.3.3", "@typescript-eslint/eslint-plugin": "^8.47.0", "@typescript-eslint/parser": "^8.47.0", "@vitejs/plugin-vue": "^6.0.1", "@vitest/ui": "^4.0.10", "@vue/tsconfig": "^0.7.0", "autoprefixer": "^10.4.21", "baseline-browser-mapping": "^2.9.4", "eslint": "^9.39.1", "eslint-plugin-vue": "^10.5.1", "jsdom": "^27.2.0", "postcss": "^8.5.6", "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "typescript": "~5.8.3", "typescript-eslint": "^8.49.0", "vite": "^7.1.2", "vitest": "^4.0.10", "vue-tsc": "^3.0.5" } }