Migrate site from Gatsby to Next.js (App Router)
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Context
The Multei! site (@multei/web) runs on Gatsby 2 (React 17, legacy plugins). That stack is outdated and friction-heavy locally (modern Node, sharp/ARM, OpenSSL/Webpack, abandoned plugins such as gatsby-plugin-prefetch-google-fonts).
Goal
Migrate the site to the latest stable Next.js (16.x line, App Router), preserving current behavior and content, with modern DX and deploy.
Motivation
- Gatsby 2 and related dependencies do not track current Node LTS or Apple Silicon without workarounds.
- The Gatsby ecosystem is relatively stagnant; Next.js is the market default for React sites on Vercel.
- App Router, Server Components, Turbopack, and current tooling improve performance, DX, and maintainability.
- Easier alignment with Vercel auth, APIs, env vars, and CI.
Suggested scope
Discovery
- Inventory routes (
src/pages), layouts, components, and critical dependencies (Material UI v4, Recoil,muy/metax, maps, images). - Map Gatsby plugins to equivalents (SEO/helmet, sitemap, manifest/PWA, sharp/images, fonts, Material UI).
- Define target: Next.js 16 (App Router) + React 19, TypeScript (in this migration or as a follow-up).
Migration
- Scaffold Next.js and
app/structure (layouts, pages, Metadata API). - Port pages and components; replace
gatsby-image/ asset GraphQL withnext/image(or equivalent). - Replace
react-helmet/ metax with Next Metadata / Open Graph. - Review global state (Recoil) and hooks; align with Server/Client Component patterns.
- Upgrade or replace Material UI v4 (evaluate MUI v6/v7 or the current design system).
- Fonts: replace the prefetch plugin with
next/font. - Configure sitemap, robots, and PWA/manifest as needed.
- Tests: migrate Jest/Cypress to the new entrypoint; smoke E2E on main routes.
Delivery
-
dev/build/startscripts, env vars, and deploy (Vercel/Netlify) equivalent to today’s flow. - Remove Gatsby and orphaned dependencies; document how to run the project.
- Cutover plan (preview → production) and rollback.
Out of scope (for now)
- Broad visual redesign (except what the stack change requires).
- Large business-domain refactors unrelated to the migration.
Acceptance criteria
- Site runs on current Node LTS without legacy workarounds (
openssl-legacy-provider,sharphacks, etc.). - Main routes and flows match the current Gatsby site.
- Production build and preview deployables work.
- Critical tests (unit/E2E) are green on the new stack.
- README updated with development instructions.
Notes
- When starting implementation, pin the latest stable Next.js available at that time (today: 16.2.x; evaluate 16.3 once out of preview).
- Prefer small incremental PRs (scaffold → pages → assets/SEO → cleanup).
- Related: hosting move in #416.
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di multei/web
-
dependencies todo :spiral_notepad:
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
dependencies todo :spiral_notepad:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
dependencies todo :spiral_notepad:
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
dependencies todo :spiral_notepad:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
-
dependencies todo :spiral_notepad:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Issue simili
-
bug confirmed issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
open-webui/open-webui#30750 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100