{ "name": "web-app", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "generate:sitemap": "node scripts/generate-sitemap.js", "prerender:seo": "node scripts/prerender-routes.js", "prebuild": "npm run generate:sitemap", "verify:seo": "node scripts/verify-seo-assets.js", "build": "tsc && vite build && npm run prerender:seo", "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview", "test": "vitest", "test:coverage": "vitest run --coverage" }, "dependencies": { "@supabase/supabase-js": "^2.98.0", "clsx": "^2.1.1", "framer-motion": "^12.34.2", "github-markdown-css": "^5.9.0", "highlight.js": "^11.11.1", "lucide-react": "^0.574.0", "react": "^19.2.0", "react-dom": "^19.2.0", "react-markdown": "^10.1.0", "react-router-dom": "^7.13.0", "react-virtuoso": "^4.18.3", "rehype-highlight": "^7.0.2", "remark-gfm": "^4.0.1", "tailwind-merge": "^3.5.0" }, "devDependencies": { "@eslint/js": "^9.39.1", "@tailwindcss/postcss": "^4.2.0", "@testing-library/jest-dom": "^6.4.0", "@testing-library/react": "^16.0.0", "@types/node": "^20.14.0", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", "@vitest/coverage-v8": "^3.2.4", "autoprefixer": "^10.4.24", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", "globals": "^16.5.0", "jsdom": "^24.0.0", "postcss": "^8.5.6", "tailwindcss": "^4.2.0", "typescript": "^5.4.0", "typescript-eslint": "^8.46.1", "vite": "^7.3.2", "vitest": "^3.2.4" }, "overrides": { "flatted": "^3.4.0" } }