{ "name": "budget-tracker-frontend", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "preview": "vite preview", "lint": "eslint .", "format": "prettier --write \"src/**/*.{ts,tsx,css}\"", "test": "vitest run", "test:watch": "vitest" }, "dependencies": { "@radix-ui/react-dialog": "1.1.4", "@radix-ui/react-dropdown-menu": "2.1.4", "@radix-ui/react-label": "2.1.1", "@radix-ui/react-popover": "1.1.4", "@radix-ui/react-select": "2.1.4", "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-toast": "1.2.4", "@tanstack/react-query": "5.62.8", "axios": "1.7.9", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "lucide-react": "0.468.0", "react": "18.3.1", "react-dom": "18.3.1", "react-router-dom": "7.1.1", "recharts": "2.15.0", "tailwind-merge": "2.6.0", "tailwindcss-animate": "1.0.7" }, "devDependencies": { "@eslint/js": "9.17.0", "@types/react": "18.3.18", "@types/react-dom": "18.3.5", "@vitejs/plugin-react": "4.3.4", "autoprefixer": "10.4.20", "eslint": "9.17.0", "eslint-plugin-react-hooks": "5.1.0", "eslint-plugin-react-refresh": "0.4.16", "globals": "15.14.0", "postcss": "8.4.49", "prettier": "3.4.2", "prettier-plugin-tailwindcss": "0.6.9", "tailwindcss": "3.4.17", "typescript": "5.7.2", "typescript-eslint": "8.18.2", "vite": "6.0.6", "vitest": "2.1.8" } }