Files
such.software/apps/web/package.json
T
jwinterm 2b9b1bf429 Migrate blog from hardcoded TSX posts to MDX with auto-population
- Add gray-matter + next-mdx-remote for MDX rendering
- Create content/blog/ with .mdx files and frontmatter
- Add dynamic [slug] route and blog utility (src/lib/blog.ts)
- Blog index auto-populates from MDX files, sorted newest first
- Upgrade React to 19 for next-mdx-remote v6 compatibility
- Convert existing posts: website-relaunch, smirk-wallet, bauhaus-echo, crypto-checkout
2026-03-10 10:46:41 -04:00

45 lines
1.2 KiB
JSON

{
"name": "web",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"test": "playwright test",
"test:a11y": "playwright test tests/a11y.spec.ts",
"test:ui": "playwright test --ui"
},
"dependencies": {
"@marsidev/react-turnstile": "^1.4.1",
"@repo/config": "workspace:*",
"@repo/ui": "workspace:*",
"framer-motion": "^11.0.0",
"gray-matter": "^4.0.3",
"lucide-react": "^0.350.0",
"next": "^15.1.3",
"next-mdx-remote": "^6.0.0",
"next-themes": "^0.4.6",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"react-icons": "^5.5.0",
"resend": "^4.0.0",
"zod": "^3.22.4"
},
"devDependencies": {
"@axe-core/playwright": "^4.11.0",
"@playwright/test": "^1.57.0",
"@tailwindcss/typography": "^0.5.19",
"@types/node": "^20.0.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"autoprefixer": "^10.0.1",
"eslint": "^8",
"eslint-config-next": "^15.1.3",
"postcss": "^8",
"tailwindcss": "^3.3.0",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5"
}
}