00ca8b9d68
Two separate components (the owner's own week view and collaborators' shared view) hit two different API surfaces for the same underlying entries, so neither ever saw the other's edits without a manual reload. Both now poll a new lean GET on their respective entries routes every 4s, merged with the same dirty-until-ref guard used for shopping lists so a poll can't stomp an in-flight local edit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
72 lines
1.9 KiB
JSON
72 lines
1.9 KiB
JSON
{
|
|
"name": "@epicure/web",
|
|
"version": "0.18.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/anthropic": "^3.0.86",
|
|
"@ai-sdk/openai": "^3.0.74",
|
|
"@asteasolutions/zod-to-openapi": "^7.3.4",
|
|
"@aws-sdk/client-s3": "^3.1075.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.1075.0",
|
|
"@base-ui/react": "^1.6.0",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@epicure/db": "workspace:*",
|
|
"@hookform/resolvers": "^5.4.0",
|
|
"@zxing/browser": "^0.2.1",
|
|
"ai": "^6.0.209",
|
|
"better-auth": "^1.6.20",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"diff": "^9.0.0",
|
|
"drizzle-orm": "^0.44.7",
|
|
"ioredis": "^5.11.1",
|
|
"lucide-react": "^1.21.0",
|
|
"next": "16.2.9",
|
|
"next-intl": "^4.13.0",
|
|
"next-themes": "^0.4.6",
|
|
"nodemailer": "^9.0.1",
|
|
"react": "19.2.4",
|
|
"react-dom": "19.2.4",
|
|
"react-hook-form": "^7.80.0",
|
|
"react-markdown": "^10.1.0",
|
|
"shadcn": "^4.11.0",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tw-animate-css": "^1.4.0",
|
|
"undici": "^7.28.0",
|
|
"web-push": "^3.6.7",
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/node": "^20.19.43",
|
|
"@types/nodemailer": "^8.0.1",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/web-push": "^3.6.4",
|
|
"@vitejs/plugin-react": "^6.0.3",
|
|
"@vitest/coverage-v8": "^4.1.9",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "16.2.9",
|
|
"jsdom": "^29.1.1",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5",
|
|
"vitest": "^4.1.9"
|
|
}
|
|
}
|