{
  "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",
    "version": "git describe --tags --always"
  },
  "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"
  }
}
