mirror of
https://github.com/Xevion/xevion.dev.git
synced 2026-01-31 08:26:41 -06:00
feat: migrate from Next.js Pages Router to App Router with Payload CMS
Complete architectural overhaul migrating from Directus+tRPC to Payload CMS with Next.js App Router. This represents a fundamental shift in how the application is structured and how data is managed. Major changes: - Migrated from Pages Router (src/pages/) to App Router (src/app/) - Replaced Directus CMS with Payload CMS as the content management system - Removed tRPC in favor of Payload's built-in API routes - Added PostgreSQL database via Docker Compose for local development - Implemented separate route groups for frontend and Payload admin - Updated all API routes to App Router conventions - Added Payload collections for Projects, Technologies, Links, Media, and Users - Configured ESLint for new project structure Infrastructure: - Added docker-compose.yml for PostgreSQL database - Updated environment variables for Payload CMS configuration - Integrated @payloadcms/next for seamless Next.js integration - Added GraphQL API and playground routes Dependencies: - Upgraded React from 18.2.0 to 19.2.0 - Upgraded Next.js to 15.5.6 - Added Payload CMS 3.x packages (@payloadcms/db-postgres, @payloadcms/next, etc.) - Removed Directus SDK and tRPC packages - Updated Sharp to 0.34.x - Migrated to @tanstack/react-query v5
This commit is contained in:
+24
-20
@@ -2,54 +2,57 @@
|
||||
"name": "xevion.dev",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
"build": "next build",
|
||||
"dev": "next dev --turbopack",
|
||||
"lint": "next lint",
|
||||
"lint": "eslint .",
|
||||
"start": "next start"
|
||||
},
|
||||
"dependencies": {
|
||||
"@directus/sdk": "^18.0.3",
|
||||
"@floating-ui/react": "^0.27.16",
|
||||
"@headlessui/react": "^2.2.0",
|
||||
"@kodingdotninja/use-tailwind-breakpoint": "^1.0.0",
|
||||
"@next/eslint-plugin-next": "^15.1.1",
|
||||
"@octokit/core": "^6.1.2",
|
||||
"@payloadcms/db-postgres": "^3.61.1",
|
||||
"@payloadcms/next": "^3.61.1",
|
||||
"@payloadcms/payload-cloud": "^3.61.1",
|
||||
"@payloadcms/richtext-lexical": "^3.61.1",
|
||||
"@plaiceholder/next": "^3.0.0",
|
||||
"@tailwindcss/typography": "^0.5.8",
|
||||
"@tanstack/react-query": "^4.16.0",
|
||||
"@tippyjs/react": "^4.2.6",
|
||||
"@trpc/client": "^10.0.0",
|
||||
"@trpc/next": "^10.0.0",
|
||||
"@trpc/react-query": "^10.0.0",
|
||||
"@trpc/server": "^10.0.0",
|
||||
"@vercel/analytics": "^0.1.6",
|
||||
"@tanstack/react-query": "^5.90",
|
||||
"@vercel/analytics": "^1.5.0",
|
||||
"clsx": "^2.1.1",
|
||||
"cssnano": "^7.0.6",
|
||||
"next": "^15.1.1",
|
||||
"graphql": "^16.11.0",
|
||||
"next": "^15.5.6",
|
||||
"p5i": "^0.6.0",
|
||||
"payload": "^3.61.1",
|
||||
"plaiceholder": "^3.0.0",
|
||||
"prettier": "^3.4.2",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
"react": "19.2.0",
|
||||
"react-dom": "19.2.0",
|
||||
"react-icons": "^4.10.1",
|
||||
"react-markdown": "^9.0.1",
|
||||
"react-wrap-balancer": "^0.4.0",
|
||||
"react-wrap-balancer": "^1",
|
||||
"sass": "^1.56.2",
|
||||
"sharp": "^0.32.1",
|
||||
"superjson": "1.9.1",
|
||||
"sharp": "^0.34",
|
||||
"superjson": "^2.2",
|
||||
"tailwind-merge": "^2.6.0",
|
||||
"usehooks-ts": "^3.1.0",
|
||||
"usehooks-ts": "^3.1.1",
|
||||
"zod": "^3.24.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "^9.38.0",
|
||||
"@types/node": "^20",
|
||||
"@types/react": "^19",
|
||||
"@types/react-dom": "^19",
|
||||
"autoprefixer": "^10.4.7",
|
||||
"eslint": "^9",
|
||||
"eslint-config-next": "15.1.1",
|
||||
"eslint": "^9.17.0",
|
||||
"eslint-config-next": "^15.1.1",
|
||||
"postcss": "^8",
|
||||
"prettier-plugin-tailwindcss": "^0.6.9",
|
||||
"tailwindcss": "^3.4.1",
|
||||
@@ -57,5 +60,6 @@
|
||||
},
|
||||
"ct3aMetadata": {
|
||||
"initVersion": "6.11.3"
|
||||
}
|
||||
},
|
||||
"packageManager": "pnpm@9.15.1+sha512.1acb565e6193efbebda772702950469150cf12bcc764262e7587e71d19dc98a423dff9536e57ea44c49bdf790ff694e83c27be5faa23d67e0c033b583be4bfcf"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user