{ "name": "exif-photo-blog", "scripts": { "dev": "next dev --turbo", "build": "next build", "start": "next start", "lint": "next lint", "test": "jest --watch --transformIgnorePatterns 'node_modules/(?!my-library-dir)/'", "analyze": "ANALYZE=true next build" }, "dependencies": { "@ai-sdk/openai": "^1.2.1", "@aws-sdk/client-s3": "3.758.0", "@aws-sdk/s3-request-presigner": "3.758.0", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-tooltip": "^1.1.8", "@radix-ui/react-visually-hidden": "^1.1.2", "@upstash/ratelimit": "^2.0.5", "@upstash/redis": "^1.34.5", "@vercel/analytics": "^1.5.0", "@vercel/blob": "^0.27.2", "@vercel/speed-insights": "^1.2.0", "ai": "^4.1.54", "camelcase-keys": "^9.1.3", "cmdk": "^1.0.4", "date-fns": "^4.1.0", "date-fns-tz": "^3.2.0", "exifr": "^7.1.3", "fast-deep-equal": "^3.1.3", "framer-motion": "^12.4.10", "nanoid": "^5.1.3", "next": "15.2.1", "next-auth": "5.0.0-beta.25", "next-themes": "^0.4.4", "pg": "^8.13.3", "react": "19.0.0", "react-dom": "19.0.0", "react-icons": "^5.5.0", "sanitize-html": "^2.14.0", "sharp": "^0.33.5", "sonner": "^2.0.1", "swr": "^2.3.3", "ts-exif-parser": "^0.2.2", "use-debounce": "^10.0.4", "viewerjs": "^1.11.7" }, "devDependencies": { "@eslint/eslintrc": "^3.3.0", "@next/bundle-analyzer": "15.2.1", "@next/eslint-plugin-next": "^15.2.1", "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "^4.0.12", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.2.0", "@types/jest": "^29.5.14", "@types/node": "^22.13.9", "@types/pg": "^8.11.11", "@types/react": "19.0.10", "@types/react-dom": "19.0.4", "@types/sanitize-html": "^2.13.0", "clsx": "^2.1.1", "cross-fetch": "^4.1.0", "eslint": "9.22.0", "eslint-config-next": "15.2.1", "eslint-plugin-react-hooks": "^5.2.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "postcss": "8.5.3", "tailwindcss": "4.0.12", "ts-node": "^10.9.2", "typescript": "5.8.2" }, "pnpm": { "onlyBuiltDependencies": [ "@vercel/speed-insights", "sharp" ] } }