Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

feat(upgrade): Add --check flag to pre-validate upgrade compatibility before running

Fechada
#2,818 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Pouca atividade
Stack de tecnologia
react-native, typescript
Domínio
cli, mobile-dev

Direção de pesquisa

Comece localizando o ponto de entrada do comando de upgrade da CLI e seu fluxo existente de validação e migração. Defina as verificações somente leitura para a versão de destino, as dependências, os módulos nativos e as alterações projetadas nos arquivos; depois, adicione cobertura para o comportamento de --check. Está concluído quando o comando relata as descobertas sem modificar os arquivos do projeto e mantém os upgrades normais inalterados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

stale

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:

  1. Validate that the target version exists on npm
  2. Check the project's current dependencies against known breaking changes in the target version
  3. Detect incompatible native modules (e.g., autolinking issues, native code that won't compile with the new RN version)
  4. Report what files would be modified and what migration steps would be required
  5. 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.

Linguagem predominante
TypeScript
Estrelas
2.9k
Forks
952
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de react-native-community/cli

Todas as issues de react-native-community/cli

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.