O React Router 8 abandona CJS e passa a ser ESM-only
Nova versão marca React Router v6 e Remix v2 como fim de vida, torna middleware padrão e remove o pacote react-router-dom. Veja o que muda para projetos legados.

O React↳React37 conteúdos7 erros com React moderno que só aparecem em produção; e como evitarDev (Back & Front) · abr 2026React Native 0.76: o futuro do desenvolvimento mobileDev (Back & Front) · out 2024Simplificando componentes com React HooksDev (Back & Front) · mar 2019Ver tudo em Dev (Back & Front) → Router, biblioteca de roteamento para React que hoje sustenta o framework Remix, lançou a versão 8 em 17 de junho de 2026 com um conjunto deliberadamente pequeno de mudanças que quebram compatibilidade. O anúncio foi tratado pela própria equipe como um evento sem grandes surpresas, mas traz uma decisão de fundo relevante para quem mantém código antigo: a biblioteca agora é publicada exclusivamente como módulo ESM, encerrando de vez o suporte a CommonJS.
O que muda nas bases do projeto
O React Router 8 sobe os requisitos mínimos para Node 22.22.0+, React 19.2.7+ e Vite 7+. Além do build ESM-only, os campos target e lib do tsconfig foram atualizados para ES2022.
Quatro future flags deixaram de ser opcionais e viraram comportamento padrão, entre elas v8_middleware e v8_viteEnvironmentApi. O splitRouteModules também passou a ser uma opção de configuração de nível superior, já habilitada por padrão.
A versão marca ainda o fim de vida (EOL) do React Router v6 e do Remix v2. Nenhum dos dois receberá mais atualizações de segurança, o que empurra times que ainda dependem dessas linhas a planejar a migração, e não apenas por questão de recursos novos.
ESM-only: o ponto que afeta o legado brasileiro
Para times no Brasil que mantêm sistemas com anos de estrada, a decisão de abandonar o CommonJS é a que exige mais atenção. Projetos que ainda usam require(), configurações de bundler presas a CJS ou ferramentas de build antigas podem esbarrar em problemas de interoperabilidade ao subir para a v8.
Na prática, isso significa revisar a configuração do bundler, garantir que o ambiente Node esteja na faixa exigida e verificar dependências transitivas que ainda assumam CommonJS. Quem já roda Vite 7 e Node 22 tende a sentir menos atrito; quem está em stacks mais antigas precisa tratar a atualização como um projeto, não como um npm update de rotina.
Como alertou o byteiota citado pela InfoQ, para um pacote com mais de 50 milhões de downloads semanais no npm, mesmo três mudanças de compatibilidade podem pegar equipes de surpresa em escala.
Middleware vira padrão
Outro ponto que chamou atenção foi o middleware se tornar comportamento de base. Em análise intitulada "React Router v8 Makes Middleware a Baseline", Roman Fedyskyi argumentou que a mudança pressiona times de frontend a "centralizar auth, logging e headers", defendendo que "muitos incidentes de frontend são incidentes de política".
O Developer Relations Manager Brooks Lybrand, escrevendo no blog do Remix, enquadrou a release como intencionalmente monótona, dizendo que a meta das últimas versões maiores foi torná-las "o mais entediantes possível". Ele reforçou que "não é uma versão maior se nada quebrou", mas destacou que toda mudança que quebra compatibilidade na v8 já podia ser adotada na v7 via future flags, o que suaviza a transição para quem se preparou.
Como migrar na prática
O guia oficial de upgrade recomenda um roteiro claro: atualizar as peer dependencies, adotar as future flags e remover APIs depreciadas antes de instalar a nova versão.
Uma das depreciações mais visíveis é a remoção do pacote react-router-dom. As importações passam a vir direto de react-router:
- import { Link, useLocation } from "react-router-dom";
+ import { Link, useLocation } from "react-router";APIs específicas de DOM agora são importadas de react-router/dom. A boa notícia para quem já opera em produção: a v8 já tem suporte na Netlify e no SDK do Sentry, com releases menores até a v8.3.0 lançadas desde a estreia.
Concorrência e o que fica em aberto
A reação nem toda foi tranquila. Em sua palestra React Router v8 and Beyond, Lybrand brincou que "quebramos todos os seus apps, e fizemos isso só para deixar vocês bravos", em referência ao ceticismo no Reddit. Segundo reportagem do The New Stack, parte dos desenvolvedores começou a olhar para o TanStack Router depois da fusão entre Remix e React Router.
O TanStack Router segue como o principal concorrente, promovido por sua type safety de ponta a ponta e cache stale-while-revalidate embutido, enquanto o Next.js mantém a dianteira na maturidade de React Server Components. Para times brasileiros avaliando novas escolhas de stack, o momento reforça uma tendência de racha no ecossistema de roteamento React.
O React Router é mantido em modelo de Open Governance pela equipe da Shopify, com as instruções de upgrade disponíveis em reactrouter.com.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana.









Comentários
Ninguém comentou ainda. Começa a conversa?