chore(frontend): React 18 → 19 への移行 (#464)#543
Merged
Conversation
react / react-dom / @types/react / @types/react-dom を ^19.2.0 に bump。 公式 React 19 Upgrade Guide に沿って破壊的変更を確認し、該当コードは なし(ReactDOM.render/hydrate/findDOMNode/文字列ref/propTypes/ defaultProps/useFormState はいずれも未使用、entry.client は既に hydrateRoot 使用)。forwardRef は React 19 でも有効なため据え置き。 Privy(^18||^19) など主要ピアの React 19 対応を確認。typecheck パス。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #464
概要
pkgs/frontendの React を 18 → 19 へ bump。公式 React 19 Upgrade Guide に沿って破壊的変更を確認し、Issue の方針どおり React 19 単体の bump に限定(新機能採用・forwardRefクリーンアップはスコープ外)。reactreact-dom@types/react@types/react-dom差分は
package.json4行 +pnpm-lock.yamlのみ。公式ガイドの破壊的変更チェック
コードベースを走査し、該当コードはいずれも存在せずコードmod不要:
ReactDOM.render/hydrate/unmountComponentAtNode/findDOMNode/createFactory→ なし(entry.client.tsxは既にhydrateRoot使用、React Router v7 管理)propTypes/defaultProps(関数コンポーネント)→ なしuseFormState→useActionState→ 該当なしuseRef()/ ref コールバックの暗黙 return(@types/react 19 で型エラー化)→ typecheck で未検出=該当なしforwardRef(3ファイル)は React 19 でも有効(deprecated のみ)。shadcn/ui を upstream に近く保つ方針に従い据え置き依存の互換性
@privy-io/react-auth: peerreact: "^18 || ^19"✅react-day-picker/react-i18next: React 19 許容 ✅valtio→use-sync-external-store、@ladle/react→react-inspector)は transitive かつ React 18 時点から既存検証
react-router typegen && tsc --noEmit).env.localを要するためローカル未実施 → CI / レビュー環境で確認お願いします補足
pnpm frontend buildはapp/vite-polyfills/ssr-buffer.tsのnode:buffer外部化で失敗しますが、React 18 でも同一に再現する既存の問題で本 PR とは無関係。別途 Issue 化を推奨。🤖 Generated with Claude Code