{ "name": "mintel-blog", "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": "next lint", "test": "npm run test:smoke", "test:smoke": "tsx ./scripts/smoke-test.ts", "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" }, "dependencies": { "@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": { "@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", "tsx": "^4.21.0", "typescript": "5.9.3" } }