Skip to content

refactor: upgrade React 16 to 19 with function components#157

Merged
magnus-madsen merged 1 commit intomasterfrom
upgrade-react-19
Mar 24, 2026
Merged

refactor: upgrade React 16 to 19 with function components#157
magnus-madsen merged 1 commit intomasterfrom
upgrade-react-19

Conversation

@magnus-madsen
Copy link
Member

@magnus-madsen magnus-madsen commented Mar 24, 2026

Summary

  • Upgrade react/react-dom from 16 to 19, reactstrap 8 → 9, react-ace 10 → 14, react-spinners 0.10 → 0.15
  • Convert all 19 class components to function components with hooks (useState, useEffect, useRef, useCallback)
  • Replace ReactDOM.render with createRoot from react-dom/client
  • Remove deprecated react-fontawesome package (replaced with FaExternalLinkAlt from react-icons)
  • Remove string refs, dead code (toggleDropDown, getNameOfSelection), and deprecated sizeUnit prop
  • Switch JSX runtime from classic to automatic (no more import React boilerplate)

Test plan

  • npm run dev — verify dev server starts, all pages render, Ace editor loads with Flix highlighting, WebSocket connects
  • npm run build && npm run preview — verify production build completes and serves correctly
  • Spot-check: Home (carousel, Codebox, code execution), VSCode (PNG imports), Blog (nested routes + redirects), FAQ (helper components)

🤖 Generated with Claude Code

- Upgrade react/react-dom 16 → 19, reactstrap 8 → 9, react-ace 10 → 14,
  react-spinners 0.10 → 0.15
- Replace ReactDOM.render with createRoot from react-dom/client
- Convert all 19 class components to function components with hooks
- Remove string refs, dead code, and deprecated react-fontawesome
  (replaced with react-icons)
- Switch JSX runtime from classic to automatic

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@magnus-madsen magnus-madsen merged commit ab83752 into master Mar 24, 2026
1 check passed
@magnus-madsen magnus-madsen deleted the upgrade-react-19 branch March 24, 2026 22:40
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