{
  "name": "@mintel/web",
  "type": "module",
  "version": "0.1.0",
  "description": "Technical problem solver's blog - practical insights and learning notes",
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "eslint .",
    "test": "npm run test:links",
    "test:links": "tsx ./scripts/test-links.ts",
    "test:file-examples": "tsx ./scripts/test-file-examples-comprehensive.ts",
    "clone-website": "tsx ./scripts/clone-recursive.ts",
    "clone-page": "tsx ./scripts/clone-page.ts",
    "generate-estimate": "tsx ./scripts/generate-estimate.ts",
    "ai-estimate": "tsx ./scripts/ai-estimate.ts",
    "video:preview": "remotion preview video/index.ts",
    "video:render": "remotion render video/index.ts ButtonShowcase out/button-showcase.mp4",
    "video:render:contact": "remotion render video/index.ts ContactFormShowcase out/contact-showcase.mp4 --concurrency=1 --codec=h264 --crf=16 --pixel-format=yuv420p --overwrite",
    "video:render:button": "remotion render video/index.ts ButtonShowcase out/button-showcase.mp4 --concurrency=1 --codec=h264 --crf=16 --pixel-format=yuv420p --overwrite",
    "video:render:all": "npm run video:render:contact && npm run video:render:button",
    "pagespeed:test": "mintel pagespeed test",
    "cms:bootstrap": "DIRECTUS_URL=http://localhost:8055 npx tsx --env-file=.env scripts/setup-directus.ts",
    "cms:push:staging": "../../scripts/sync-directus.sh push staging",
    "cms:pull:staging": "../../scripts/sync-directus.sh pull staging",
    "cms:push:testing": "../../scripts/sync-directus.sh push testing",
    "cms:pull:testing": "../../scripts/sync-directus.sh pull testing",
    "cms:push:prod": "../../scripts/sync-directus.sh push production",
    "cms:pull:prod": "../../scripts/sync-directus.sh pull production",
    "typecheck": "tsc --noEmit"
  },
  "dependencies": {
    "@mintel/next-utils": "^1.1.13",
    "@sentry/nextjs": "^10.38.0",
    "@react-pdf/renderer": "^4.3.2",
    "@remotion/bundler": "^4.0.414",
    "@remotion/cli": "^4.0.414",
    "@remotion/lottie": "^4.0.414",
    "@remotion/renderer": "^4.0.414",
    "@remotion/tailwind": "^4.0.414",
    "@types/canvas-confetti": "^1.9.0",
    "@types/ioredis": "^4.28.10",
    "@types/react": "^19.2.8",
    "@types/react-dom": "^19.2.3",
    "@vercel/og": "^0.8.6",
    "axios": "^1.13.4",
    "canvas-confetti": "^1.9.4",
    "clsx": "^2.1.1",
    "crawlee": "^3.15.3",
    "framer-motion": "^12.29.2",
    "ioredis": "^5.9.1",
    "lucide-react": "^0.468.0",
    "mermaid": "^11.12.2",
    "next": "^16.1.6",
    "playwright": "^1.58.1",
    "prismjs": "^1.30.0",
    "puppeteer": "^24.36.1",
    "qrcode": "^1.5.4",
    "react": "^19.2.3",
    "react-dom": "^19.2.3",
    "remotion": "^4.0.414",
    "shiki": "^1.24.2",
    "tailwind-merge": "^3.4.0",
    "tailwindcss": "^3.4.0",
    "website-scraper": "^6.0.0",
    "website-scraper-puppeteer": "^2.0.0",
    "zod": "3.22.3"
  },
  "devDependencies": {
    "@mintel/cli": "^1.1.13",
    "@mintel/eslint-config": "^1.1.13",
    "@mintel/tsconfig": "^1.1.13",
    "@tailwindcss/typography": "^0.5.15",
    "@types/node": "^25.0.6",
    "@types/prismjs": "^1.26.5",
    "@types/qrcode": "^1.5.6",
    "autoprefixer": "^10.4.20",
    "postcss": "^8.4.49",
    "@lhci/cli": "^0.15.1",
    "cheerio": "^1.1.2",
    "tsx": "^4.21.0",
    "typescript": "5.9.3"
  }
}