Files
mintel.me/apps/web/package.json

112 lines
4.3 KiB
JSON

{
"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 --webpack",
"start": "next start",
"lint": "eslint app src scripts video",
"test": "npm run test:links",
"test:links": "tsx ./scripts/test-links.ts",
"test:file-examples": "tsx ./scripts/test-file-examples-comprehensive.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": "npx tsx ./scripts/pagespeed-sitemap.ts",
"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": {
"@directus/sdk": "21.0.0",
"@mdx-js/loader": "^3.1.1",
"@mdx-js/react": "^3.1.1",
"@mintel/cloner": "^1.8.0",
"@mintel/content-engine": "link:../../../at-mintel/packages/content-engine",
"@mintel/meme-generator": "link:../../../at-mintel/packages/meme-generator",
"@mintel/pdf": "^1.8.0",
"@next/mdx": "^16.1.6",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/context-async-hooks": "^2.1.0",
"@opentelemetry/core": "^2.1.0",
"@opentelemetry/sdk-trace-base": "^2.1.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",
"@sentry/core": "^10.38.0",
"@sentry/nextjs": "^10.38.0",
"@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",
"contentlayer2": "^0.5.8",
"crawlee": "^3.15.3",
"esbuild": "^0.27.3",
"framer-motion": "^12.29.2",
"ioredis": "^5.9.1",
"lucide-react": "^0.468.0",
"mermaid": "^11.12.2",
"next": "^16.1.6",
"next-contentlayer2": "^0.5.8",
"next-mdx-remote": "^6.0.0",
"nodemailer": "^8.0.1",
"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",
"webpack": "^5.96.1",
"website-scraper": "^6.0.0",
"website-scraper-puppeteer": "^2.0.0",
"zod": "3.22.3"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^10.0.0",
"@lhci/cli": "^0.15.1",
"@mintel/cli": "^1.7.3",
"@mintel/eslint-config": "^1.7.3",
"@mintel/husky-config": "^1.7.3",
"@mintel/next-config": "^1.7.3",
"@mintel/next-utils": "^1.7.15",
"@mintel/tsconfig": "^1.7.3",
"@next/eslint-plugin-next": "^16.1.6",
"@tailwindcss/typography": "^0.5.15",
"@types/node": "^25.0.6",
"@types/nodemailer": "^7.0.10",
"@types/prismjs": "^1.26.5",
"@types/qrcode": "^1.5.6",
"autoprefixer": "^10.4.20",
"cheerio": "^1.1.2",
"eslint": "10.0.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"postcss": "^8.4.49",
"tsx": "^4.21.0",
"typescript": "5.9.3",
"typescript-eslint": "^8.54.0"
}
}