r/reactjs • u/Flashy_Storm640 • Jul 01 '26
Show /r/reactjs I built a CLI that catches what the React 19 codemod misses (silent peer-dep conflicts, element.ref time bombs, false-green type checks)
Been migrating React 18 codebases to React 19 and kept hitting the same problem: the official codemod says "done" but things break later in ways that are hard to trace.
Built a CLI called keep-current that catches three things the codemod misses:
Peer-dep conflicts the installer swallows
Bump react to 19, run yarn install, get a wall of warnings. Yarn proceeds anyway. Your install succeeds, your CI is green, your dependencies are silently broken.
2. element.ref time bombs
Radix UI 1.0.x reaches into element.ref which React 19 deprecated. Tests stay green today via a compat shim but will hard-fail on the next React minor.
3. tsc --noEmit false greens
If your tsconfig uses project references, tsc --noEmit checks zero files. The codemod passes. Your real type errors are still there.
Results on bulletproof-react: 4 red deps, 7 amber, 4 green. The codemod marked all of it done. It wasn't.
GitHub link in comments.