Skip to content

feat: migrate from Next.js 16 to Astro 5#34

Merged
jonathanperis merged 2 commits intomainfrom
fix/migrate-jonathanperis-github-io-to-astro
Apr 10, 2026
Merged

feat: migrate from Next.js 16 to Astro 5#34
jonathanperis merged 2 commits intomainfrom
fix/migrate-jonathanperis-github-io-to-astro

Conversation

@jonathanperis
Copy link
Copy Markdown
Owner

Summary

  • Replace Next.js 16 app/ directory with Astro 5 src/pages/ and src/components/
  • Switch Tailwind integration from @astrojs/tailwind (v3 only) to @tailwindcss/vite (v4 Vite plugin)
  • Drop package-lock.json in favour of bun.lock
  • Update CI env var NEXT_PUBLIC_GA_IDPUBLIC_GA_ID in both workflows
  • Clean up .gitignore (remove Next.js/Yarn/Vercel artefacts, add Astro-specific entries)

Architecture

Before: Next.js 16 (app router) + Tailwind v3 + @astrojs/tailwind
After:  Astro 5 (static output) + Tailwind v4 + @tailwindcss/vite
  • src/pages/index.astro — fetches GitHub repos at build time, renders <Portfolio client:load />
  • src/pages/resume.astro — A4 print-optimised resume, pure Astro (no React)
  • src/components/Portfolio.tsx — React island hydrated on load (client:load)
  • src/layouts/RootLayout.astro — shared <head>, fonts, GA4, JSON-LD
  • Build output goes to ./out/ — no CI workflow changes required

Replace Next.js app directory with Astro 5 pages and components.
Switch Tailwind integration from @astrojs/tailwind (v3) to @tailwindcss/vite (v4).
Drop package-lock.json in favour of bun.lock.
Update CI env var NEXT_PUBLIC_GA_ID → PUBLIC_GA_ID.
@jonathanperis jonathanperis merged commit 44110bc into main Apr 10, 2026
3 checks passed
@jonathanperis jonathanperis deleted the fix/migrate-jonathanperis-github-io-to-astro branch April 10, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant