{
  "name": "frontend",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc -b && bun run check && vite build",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "check": "bun run lint && bun run format:check",
    "fix": "bun run lint:fix && bun run format",
    "preview": "vite preview",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:e2e": "playwright test"
  },
  "dependencies": {
    "@tanstack/react-query": "^5.80.2",
    "clsx": "^2.1.1",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "react-router": "^7.6.1",
    "recharts": "^3.8.1",
    "tdesign-icons-react": "^0.6.4",
    "tdesign-react": "^1.16.8"
  },
  "devDependencies": {
    "@eslint/js": "^9.39.4",
    "@playwright/test": "^1.52.0",
    "@tanstack/eslint-plugin-query": "^5.78.0",
    "@testing-library/jest-dom": "^6.6.3",
    "@testing-library/react": "^16.3.0",
    "@testing-library/user-event": "^14.6.1",
    "@types/node": "^24.12.2",
    "@types/react": "^19.2.14",
    "@types/react-dom": "^19.2.3",
    "@types/sql.js": "^1.4.11",
    "@typescript-eslint/rule-tester": "^8.59.0",
    "@vitejs/plugin-react": "^6.0.1",
    "@vitest/coverage-v8": "^3.2.1",
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-import": "^2.31.0",
    "eslint-plugin-react-hooks": "^7.0.1",
    "eslint-plugin-react-refresh": "^0.5.2",
    "globals": "^17.4.0",
    "happy-dom": "^20.9.0",
    "javascript-obfuscator": "^5.4.1",
    "jsdom": "^26.1.0",
    "msw": "^2.8.2",
    "prettier": "^3.8.3",
    "sass": "^1.99.0",
    "sql.js": "^1.14.1",
    "typescript": "~6.0.2",
    "typescript-eslint": "^8.58.0",
    "vite": "^8.0.4",
    "vite-plugin-javascript-obfuscator": "^3.1.0",
    "vitest": "^3.2.1"
  }
}
