~/talk

CRA to App Router in 5 Steps: A Case Study with Graphite

Talkat Next.js Conf 2023 · on Thursday, 2023-10-26· [react, typescript]
slides:none on file

Graphite migrates a sprawling TypeScript monorepo from CRA to Next.js in 5 PRs using the new App Router. Concrete changes: add local SSL proxy to restore HTTPS, swap in SVGr and refactor SVG imports, rename pages to router pages and add layout.tsx/page.tsx, add next.config.js (disable images), inject SPA rewrite, update webpack and tests, guard window/document for SSR, add initial empty render to avoid hydration mismatches, and hash inline scripts for CSP compliance.

AI-written summary · about

  1. 0:00Next.js migration at Graphite
  2. 0:46Migrating from CRA to Next.js
  3. 1:50Next.js vs SPAs differences
  4. 2:54Performance benefits of Next.js
  5. 5:03Five-step migration process
  6. 5:24HTTPS in local setup
  7. 6:05Handling SVG imports
  8. 6:46Refactoring folder structure
  9. 7:06Core migration changes
  10. 8:32Server-side rendering fixes
  11. 9:36Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.