70 lines
2.5 KiB
JSON
70 lines
2.5 KiB
JSON
{
|
|
"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-quote": "tsx ./scripts/generate-quote.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"
|
|
}
|
|
} |