{ "name": "shortlist-web", "private": true, "version": "0.1.0", "type": "module", "packageManager": "pnpm@11.17.0", "engines": { "node": ">=22" }, "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint .", "test": "vitest run", "test:watch": "vitest", "preview": "vite preview", "gen:api": "openapi-typescript http://localhost:5959/api/openapi.json -o src/lib/api-schema.d.ts || openapi-typescript openapi.snapshot.json -o src/lib/api-schema.d.ts || (echo 'gen:api needs the backend on :5959 or web/openapi.snapshot.json.' && exit 1)" }, "dependencies": { "@fontsource-variable/source-sans-3": "^5.3.1", "@fontsource/jetbrains-mono": "^5.3.0", "@radix-ui/react-dialog": "^1.3.1", "@radix-ui/react-label": "^2.1.17", "@radix-ui/react-slot": "^1.5.0", "@radix-ui/react-switch": "^1.4.1", "@tanstack/react-query": "^5.107.1", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^1.70.0", "react": "^19.3.1", "react-dom": "^19.3.1", "react-markdown": "^10.1.0", "react-router": "^8.5.1", "sonner": "^2.0.8", "tailwind-merge": "^3.7.0" }, "devDependencies": { "@eslint/js": "^10.0.1", "@testing-library/dom": "^10.4.2", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.8", "@types/node": "^22.20.5", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.2.1", "autoprefixer": "^10.6.2", "eslint": "^10.14.0", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.14.0", "jsdom": "^31.0.0", "openapi-typescript": "^7.13.0", "postcss": "^8.5.32", "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "typescript": "~5.9.3", "typescript-eslint": "^8.72.1", "vite": "^8.3.6", "vitest": "^5.1.0" } }