feat(upgrade): Add --check flag to pre-validate upgrade compatibility before running
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- react-native, typescript
- Área
- cli, mobile-dev
Línea de trabajo
Empieza por localizar el punto de entrada del comando de actualización de CLI y su flujo existente de validación y migración. Define las comprobaciones de solo lectura para la versión de destino, las dependencias, los módulos nativos y los cambios previstos en los archivos; después, añade cobertura para el comportamiento de --check. Se considera terminado cuando el comando informa de los hallazgos sin modificar los archivos del proyecto y deja sin cambios las actualizaciones normales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Running
px @react-native-community/cli upgrade\ to upgrade a React Native project can fail midway through, leaving the project in a broken state. Developers have no way to know if their project is upgrade-compatible until they run the full command.
Proposal
Add a --check\ (or --dry-run) flag to the upgrade command:
\\ash
npx @react-native-community/cli upgrade --check 0.76.5
or
npx @react-native-community/cli upgrade --dry-run 0.76.5
\\
This would:
- Validate that the target version exists on npm
- Check the project's current dependencies against known breaking changes in the target version
- Detect incompatible native modules (e.g., autolinking issues, native code that won't compile with the new RN version)
- Report what files would be modified and what migration steps would be required
- Not actually modify any files
Why this matters
- Upgrading React Native is risky — breaking changes in native code can cause hours of debugging
- A pre-check gives developers a safe way to evaluate upgrade effort before committing
- Existing tools like Expo's \expo doctor\ provide upgrade compatibility checks; bringing this to the CLI would help bare React Native projects too
- Reduces the number of failed upgrades that leave projects in broken states
Example output
\
$ npx @react-native-community/cli upgrade --check 0.76.5
✔ Validated target version 0.76.5
✔ autolinking: all native modules compatible
⚠ Breaking change: New Architecture is now the default in 0.76.5
- Current project uses Old Architecture
- Migration guide: https://reactnative.dev/docs/new-architecture-introduction
⚠ Known issue: Some native modules may require updates (see: #2720)
📝 Files that would be modified: - package.json (update react-native version)
- ios/Podfile (update RN pod references)
- android/app/build.gradle (update compileSdkVersion)
✔ Run upgrade without --check to proceed
\\
Scope
Read-only validation that reports findings without modifying any files. No changes to existing upgrade behavior.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.9k
- Forks
- 948
- Merge medio
- 10 d 19 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de react-native-community/cli
-
run-ios --udid <physical device> throws "No simulator available" because the fallback simulator is resolved eagerlyPosiblemente ocupada @huytdps13400 la tomó hace 40 días. Abiertobug report
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
react-native-community/cli#2826 ·
-
`project.ios.automaticPodsInstallation` default of `true` never applies unless `project.ios` is explicitly declared in `react-native.config.js`Posiblemente ocupada @huytdps13400 la tomó hace 40 días. Abiertobug report
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
react-native-community/cli#2825 ·
-
run-ios: "Unable to boot device in current state: Booted" alert when the simulator is already bootedPosiblemente ocupada @bryandent la tomó hace 83 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
react-native-community/cli#2820 ·
-
run-ios on Xcode 27: DeviceHub opens no window when the simulator is shut downPosiblemente ocupada @rakodev la tomó hoy. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
react-native-community/cli#2866 ·
-
Tons of errors are ignoredAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
react-native-community/cli#2852 ·
Todos los issues de react-native-community/cli
Issues similares
-
Upgrade node-libzim to 4.7.0Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
openzim/mwoffliner#2933 ·
Los mantenedores suelen responder en 1 día
-
Use the README category name for website links and submissionsPosiblemente ocupada @dajiaohuang la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
birobirobiro/awesome-shadcn-ui#647 ·
Los mantenedores suelen responder en 2 días
-
Add: Valea Prahovei TV RO SDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Urigo/accounter-fullstack#4604 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día