{ "name": "frontend", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "build:app": "tsc -b tsconfig.app.json tsconfig.node.json && vite build", "lint": "eslint .", "preview": "vite preview", "test": "LC_ALL=en-US vitest run", "test:watch": "LC_ALL=en-US vitest" }, "dependencies": { "@fontsource-variable/cormorant-garamond": "^5.3.0", "@fontsource-variable/dm-sans": "^5.3.0", "@fontsource-variable/space-grotesk": "^5.3.0", "@fontsource/dm-mono": "^5.3.0", "@simplewebauthn/browser": "^14.0.0", "@tanstack/query-async-storage-persister": "^5.105.0", "@tanstack/react-query": "^5.105.0", "@tanstack/react-query-persist-client": "^5.105.0", "emoji-mart": "^5.6.0", "fflate": "^0.8.3", "lucide-react": "^1.61.0", "motion": "^13.4.6", "papaparse": "^5.7.0", "qrcode.react": "^4.2.0", "react": "^19.3.1", "react-dom": "^19.3.1", "react-router": "^8.5.0", "recharts": "^3.10.1", "sql.js": "^1.15.1" }, "overrides": { "@babel/core": "^7.29.7", "minimatch": "11.0.1" }, "devDependencies": { "@eslint/js": "^10.0.1", "@tailwindcss/postcss": "^4.3.3", "@types/node": "^26.6.5", "@types/papaparse": "^5.5.2", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@types/sql.js": "^1.4.11", "@vitejs/plugin-react": "^6.1.2", "autoprefixer": "^10.6.1", "eslint": "^10.13.0", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.13.0", "postcss": "^8.5.28", "prettier": "^3.9.10", "tailwindcss": "^4.3.3", "typescript": "^6.0.3", "typescript-eslint": "^8.72.0", "vite": "^8.3.5", "vitest": "^5.0.5" } }