{ "name": "cloudflare-saas-starter", "private": true, "type": "module", "scripts": { "build": "turbo build", "dev": "turbo dev", "lint": "turbo lint", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "deploy": "turbo deploy" }, "devDependencies": { "@clack/prompts": "^0.7.0", "@cloudflare/next-on-pages": "1", "@cloudflare/workers-types": "^4.20240512.0", "@repo/eslint-config": "*", "@repo/shared-types": "*", "@repo/tailwind-config": "*", "@repo/typescript-config": "*", "@repo/ui": "*", "@tailwindcss/typography": "^0.5.13", "autoprefixer": "^10.4.19", "drizzle-kit": "^0.21.2", "eslint-plugin-next-on-pages": "^1.11.3", "lint-staged": "^15.2.5", "postcss": "^8.4.38", "prettier": "^3.2.5", "readline-sync": "^1.4.10", "tailwindcss": "^3.4.3", "tailwindcss-animate": "^1.0.7", "turbo": "latest", "vercel": "^34.2.0" }, "engines": { "node": ">=18" }, "packageManager": "bun@1.1.8", "workspaces": [ "apps/*", "packages/*" ], "dependencies": { "@ai-sdk/anthropic": "^0.0.15", "@ai-sdk/google": "^0.0.15", "@ai-sdk/openai": "^0.0.14", "@auth/drizzle-adapter": "^1.1.0", "@aws-sdk/client-s3": "^3.577.0", "@aws-sdk/s3-request-presigner": "^3.577.0", "@cloudflare/puppeteer": "^0.0.8", "@headlessui/react": "^2.0.4", "@hookform/resolvers": "^3.4.2", "@iarna/toml": "^2.2.5", "@langchain/cloudflare": "^0.0.6", "@million/lint": "^1.0.0-rc.18", "@radix-ui/react-icons": "^1.3.0", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-progress": "^1.0.3", "@radix-ui/react-scroll-area": "^1.0.5", "@radix-ui/react-slot": "^1.0.2", "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5", "@types/readline-sync": "^1.4.8", "ai": "^3.1.14", "cheerio": "^1.0.0-rc.12", "compromise": "^14.13.0", "drizzle-orm": "^0.30.10", "framer-motion": "^11.2.6", "lucide-react": "^0.379.0", "next-app-theme": "^0.1.10", "next-auth": "^5.0.0-beta.18", "random-js": "^2.1.0", "react-dropzone": "^14.2.3", "react-hook-form": "^7.51.5", "sonner": "^1.4.41", "uploadthing": "^6.10.4", "zod": "^3.23.8" }, "trustedDependencies": [ "core-js-pure", "es5-ext" ], "lint-staged": { "**/*": "prettier --write --ignore-unknown" } }