Skip to content

chore(deps): migrate web to React 19 - #48

Merged
lsiddiquee merged 1 commit into
mainfrom
deps/react-19
Jul 23, 2026
Merged

chore(deps): migrate web to React 19#48
lsiddiquee merged 1 commit into
mainfrom
deps/react-19

Conversation

@lsiddiquee

Copy link
Copy Markdown
Owner

Supersedes #46 (adds the code migration Dependabot can't do).

What

Bumps the react groupreact, react-dom, @types/react, @types/react-dom — from 18.3.1 to 19.2.7 across @cloakcode/web and @cloakcode/web-playground.

Migration

React 19 removed the global JSX namespace (it now lives under React.JSX), so the six components that annotate JSX.Element return types now import { type JSX } from "react". That's the only code change needed:

  • Already on createRoot (no legacy ReactDOM.render).
  • All useRef calls pass an initial value (React 19 requires an argument).
  • No forwardRef / findDOMNode / PropTypes / defaultProps / string refs anywhere.
  • @testing-library/react@16 and @vitejs/plugin-react@6 already support React 19.

Validation

typecheck + build + lint clean for both packages; pnpm --filter @cloakcode/web test = 131 passed. No new warnings (whatwg-encoding deprecation is pre-existing from jsdom).

Guardrails

Pure @cloakcode/web/web-playground change; no vscode import; no code-sync/egress path; no secrets logged.

Bumps the react group (react, react-dom, @types/react, @types/react-dom) to v19
across @cloakcode/web and @cloakcode/web-playground. React 19 removed the global
JSX namespace, so import { type JSX } from "react" in the six components that
annotate JSX.Element return types. No runtime API changes were needed (already
on createRoot; useRef calls all pass an initial value).

Supersedes Dependabot #46.
@lsiddiquee
lsiddiquee merged commit 93e8fc4 into main Jul 23, 2026
7 checks passed
@lsiddiquee
lsiddiquee deleted the deps/react-19 branch July 23, 2026 08: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