`remix-hook-form/middleware` imports `unstable_createContext`, breaking on `react-router` >= 7.9.0

オープン 初心者向け
#189 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
node.js, react, typescript
領域
build-system

調査の方向性

src/middleware/index.ts から始めてください。ここでは unstable_createContext、unstable_MiddlewareFunction、unstable_RouterContextProvider が react-router からインポートされており、また package.json の react-router に対する peerDependencies の範囲も確認します。issue にある node -e の import/require スニペットを [email protected](動作する)と 7.9.0(失敗する)に対して実行して再現し、境界を確認してください。完了とは、middleware のエントリーポイントが peer 範囲がサポートすると主張するすべてのバージョンで読み込まれ、名前変更された export が使われ、peer の下限と範囲がそれに合わせて更新されていることを意味します — PR を開く前に既存のテストスイートと tsc ビルドを実行してください。

索引モデルが issue の本文から書いたものです。

説明

remix-hook-form/middleware imports unstable_createContext (and the unstable_MiddlewareFunction and unstable_RouterContextProvider types) from react-router, which React Router removed in 7.9.0 when middleware stabilized (createContext, MiddlewareFunction, RouterContextProvider), even though peerDependencies allows react-router: >=7.5.0.

Reproduction
npm init -y
npm install [email protected] [email protected] react react-dom react-hook-form
node -e 'import("remix-hook-form/middleware").catch(e => console.log(e.name + ": " + e.message))'
node -e 'try { require("remix-hook-form/middleware"); } catch (e) { console.log(e.name + ": " + e.message); }'
Actual output
SyntaxError: The requested module 'react-router' does not provide an export named 'unstable_createContext'
TypeError: (0 , import_react_router.unstable_createContext) is not a function

The same errors occur with [email protected], 7.18.5, and 8.0.0. [email protected] loads remix-hook-form/middleware without error.

Expected output

remix-hook-form/middleware loads and works across the react-router versions allowed by peerDependencies (for example by switching src/middleware/index.ts to createContext, MiddlewareFunction, and RouterContextProvider and raising the peer floor to >=7.9.0, or capping the peer range below 7.9.0).

Versions
  • [email protected] (npm latest) and main (814edea786504f16ec8fbcac937a64a0f4f5144a)
  • react-router: 7.9.0, 7.18.5, 8.0.0, 8.5.1 (fails); 7.8.2 (works)
  • Node.js v26.13.0

Credit: https://ucsbplse.github.io/

主要言語
TypeScript
スター
454
フォーク
44
PR マージ指標
30日以内にマージされた PR はありません

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

code-forge-io/remix-hook-form のほかの issue

code-forge-io/remix-hook-form の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。