Sobre o projeto
react-app-rewired é uma ferramenta de desenvolvimento que permite sobrescrever e personalizar a configuração do webpack em projetos Create React App (CRA) sem usar o comando 'eject'. Ela preserva os benefícios da configuração zero do CRA enquanto dá aos desenvolvedores a flexibilidade de adicionar plugins, loaders e outras personalizações necessárias.
A ferramenta funciona interceptando os comandos padrão do react-scripts (start, build, test) e aplicando sobrescritas definidas pelo usuário a partir de um arquivo config-overrides.js. Esse arquivo pode exportar uma única função para personalização do webpack ou um objeto com funções separadas para configurações de webpack, Jest, devServer e paths.
Principais capacidades incluem: personalizar regras e plugins do webpack para builds de desenvolvimento e produção; modificar a configuração de testes do Jest, incluindo padrões de caminho de teste e presets do Babel; sobrescrever a configuração do Webpack Dev Server para certificados HTTPS e configurações de proxy; e ajustar caminhos de projeto passados para webpack e Jest.
O projeto suporta tanto CRA 1.x (Webpack 3) quanto CRA 2.x (Webpack 4), com a versão 2.0 removendo as funções auxiliares rewire em favor de configuração direta. Também suporta pacotes react-scripts personalizados via a flag --scripts-version, permitindo uso com variantes TypeScript como react-scripts-ts.
Existe um grande ecossistema comunitário de plugins rewire para casos de uso comuns, incluindo plugins Babel (emotion, lodash, styled-components), plugins webpack (favicons, imagemin, bundle analyzer) e loaders (TypeScript, SCSS, SVG, YAML). O arquivo config-overrides também pode ser especificado como um diretório para organização modular ou passado via linha de comando para flexibilidade.
Avisos importantes: usar react-app-rewired quebra as garantias oficiais do CRA, o que significa que você é responsável pela configuração e não recebe suporte oficial. O autor recomenda Next.js ou Razzle para projetos que precisam de configuração extensiva de webpack pronta para uso. Alternativas como customize-cra, Rescripts e craco também estão disponíveis para compatibilidade com CRA 2.0+.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.