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

Abierto Apto para principiantes
#189 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, react, typescript
Área
build-system

Línea de trabajo

Empieza por src/middleware/index.ts, donde se importan unstable_createContext, unstable_MiddlewareFunction y unstable_RouterContextProvider desde react-router, y por el rango de peerDependencies para react-router en package.json. Reproduce con los fragmentos de import/require de node -e del issue contra [email protected] (funciona) y 7.9.0 (falla) para confirmar el límite. Hecho significa que el punto de entrada de middleware carga en cada versión que el rango de peers afirma admitir, con los exports renombrados usados y el mínimo y el rango de peers actualizados en consecuencia — ejecuta la suite de tests existente más la compilación con tsc antes de abrir un PR.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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/

Lenguaje dominante
TypeScript
Estrellas
454
Forks
44
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de code-forge-io/remix-hook-form

Todos los issues de code-forge-io/remix-hook-form

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.