{
  "name": "three-three-blog",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint",
    "lint:fix": "next lint --fix",
    "type-check": "tsc --noEmit",
    "typecheck": "tsc --noEmit",
    "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md,css,scss}\"",
    "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,md,css,scss}\"",
    "validate": "npm run type-check && npm run lint && npm run format:check",
    "migrate": "node scripts/migrate-clerk-to-mongodb.js",
    "migrate-content": "node scripts/migrate-content-to-db.js",
    "migrate-pricing": "node scripts/migrate-pricing-plans.js",
    "prepare": "husky || true"
  },
  "dependencies": {
    "@ai-sdk/anthropic": "^1.0.5",
    "@ai-sdk/google": "^1.0.9",
    "@ai-sdk/openai": "^1.0.8",
    "@ai-sdk/xai": "^2.0.41",
    "@aws-sdk/client-s3": "^3.907.0",
    "@aws-sdk/s3-request-presigner": "^3.907.0",
    "@clerk/nextjs": "^6.27.1",
    "@propra/mdpdfmake": "^1.0.14",
    "@radix-ui/react-dialog": "^1.1.15",
    "@radix-ui/react-label": "^2.1.0",
    "@radix-ui/react-progress": "^1.1.0",
    "@radix-ui/react-radio-group": "^1.2.1",
    "@radix-ui/react-scroll-area": "^1.2.1",
    "@radix-ui/react-select": "^2.2.6",
    "@radix-ui/react-separator": "^1.1.7",
    "@radix-ui/react-slot": "^1.1.0",
    "@sentry/nextjs": "^10.32.1",
    "@stripe/stripe-js": "^7.7.0",
    "@types/nodemailer": "^6.4.20",
    "@upstash/ratelimit": "^2.0.7",
    "@upstash/redis": "^1.36.0",
    "@vercel/analytics": "^1.4.1",
    "@vercel/kv": "^3.0.0",
    "ai": "^4.0.16",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "dotenv": "^17.2.1",
    "framer-motion": "^11.14.1",
    "html2canvas": "^1.4.1",
    "jspdf": "^3.0.3",
    "katex": "^0.16.27",
    "lottie-react": "^2.4.1",
    "lucide-react": "^0.468.0",
    "mammoth": "^1.11.0",
    "mongoose": "^8.16.5",
    "next": "^15.4.8",
    "next-themes": "^0.4.4",
    "nodemailer": "^7.0.9",
    "openai": "^6.13.0",
    "pdf-parse-fork": "^1.2.0",
    "pdfmake": "^0.2.20",
    "pino": "^10.1.0",
    "pino-pretty": "^13.1.3",
    "react": "^19.0.0",
    "react-dom": "^19.0.0",
    "react-markdown": "^9.0.1",
    "rehype-katex": "^7.0.1",
    "remark-gfm": "^4.0.0",
    "remark-math": "^6.0.0",
    "sonner": "^1.7.1",
    "stripe": "^18.3.0",
    "svix": "^1.84.1",
    "tailwind-merge": "^2.5.5",
    "tailwindcss-animate": "^1.0.7",
    "zod": "^3.25.76"
  },
  "devDependencies": {
    "@commitlint/cli": "^20.2.0",
    "@commitlint/config-conventional": "^20.2.0",
    "@types/node": "^22.10.2",
    "@types/pdfmake": "^0.2.12",
    "@types/react": "^19.0.1",
    "@types/react-dom": "^19.0.2",
    "eslint": "^9.16.0",
    "eslint-config-next": "15.4.8",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-prettier": "^5.5.4",
    "husky": "^9.1.7",
    "lint-staged": "^16.2.7",
    "postcss": "^8.4.49",
    "prettier": "^3.7.4",
    "tailwindcss": "^3.4.16",
    "typescript": "^5.7.2"
  }
}
