A progressive React web framework built on Rsbuild, covering routing, data loading, SSR and state management for React apps.
timarney/react-app-rewired
A config-overrides helper that lets you customize Create React App's webpack, Jest and dev server settings without ejecting.
- Stars
- 9,836
- Forks
- 418
- Open issues
- 25
- Last commit
- last month
What is it?
react-app-rewired lets you modify the webpack configuration of a Create React App project without running eject or forking react-scripts. You place a config-overrides.js file in the project root that exports a function receiving the default webpack config, and you return the modified version. Adding plugins, loaders or other build tweaks becomes a matter of editing that file.
Beyond the webpack config, the same file can customize the Jest configuration, the webpack dev server config, and the paths CRA uses. Jest settings can also be extended through the jest section of package.json, and Babel plugins for tests can be defined in a babel section or .babelrc. Custom react-scripts forks such as react-scripts-ts are supported through a command-line option.
Using it means giving up the support guarantees Create React App normally provides, since you now maintain the modified configuration yourself. The project notes that it is only lightly maintained, and it lists alternatives such as customize-cra, Rescripts and craco.
Key features
- 01Extends the default CRA webpack config through a config-overrides.js function.
- 02Customizes Jest configuration, including Babel setup for tests.
- 03Overrides the webpack dev server configuration, such as HTTPS certificates.
- 04Supports custom react-scripts packages via a command-line option.
- 05Can be used with a config-overrides directory or a custom file path.
Use cases
- Adding a custom webpack plugin or loader to a Create React App project without ejecting.
- Configuring HTTPS certificates for the CRA development server.
- Adjusting Jest settings or Babel plugins for tests in a CRA app.
Quick start
- 1
Install react-app-rewired as a dev dependency
npm install react-app-rewired --save-dev - 2
Create config-overrides.js in the project root and export an override function
- 3
Change the start, build and test npm scripts to use react-app-rewired instead of react-scripts
- 4
Start the dev server
npm start
Things to know
- The project is lightly maintained mostly by the community, and no support is provided.
- It is designed for Create React App 2.x with Webpack 4; older CRA versions need the pinned 1.6.2 release.
- Customizing the config means you take ownership of it and may break CRA's guarantees.
Topics
FAQ
- What is react-app-rewired?
- A config-overrides helper that lets you customize Create React App's webpack, Jest and dev server settings without ejecting. react-app-rewired lets you modify the webpack configuration of a Create React App project without running eject or forking react-scripts. You place a config-overrides.js file in the project root that exports a function receiving the default webpack config, and you return the modified version. Adding plugins, loaders or other build tweaks becomes a matter of editing that file.
- Is react-app-rewired free to use? What license does it have?
- react-app-rewired is open source under the MIT license. Check the license terms before using it in commercial products.
- Is react-app-rewired still maintained?
- Updated within 6 months. The last commit to react-app-rewired was on Oct 3, 2026.
- What can I use react-app-rewired for?
- Adding a custom webpack plugin or loader to a Create React App project without ejecting. Configuring HTTPS certificates for the CRA development server. Adjusting Jest settings or Babel plugins for tests in a CRA app.
- How do I install react-app-rewired?
- Install react-app-rewired as a dev dependency: npm install react-app-rewired --save-dev Create config-overrides.js in the project root and export an override function Change the start, build and test npm scripts to use react-app-rewired instead of react-scripts Start the dev server: npm start
- Where can I get react-app-rewired?
- The source code and installation instructions are on GitHub: https://github.com/timarney/react-app-rewired
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A fast Rust-based web bundler that offers a webpack-compatible API and can replace webpack in existing projects.
A webpack plugin and CLI that renders bundle contents as an interactive zoomable treemap to show which modules take up the most size.
Lightweight React DOM testing utilities that query and interact with components the way users do.
Self-hosted web app for quick file sharing between devices, with multi-user management, resumable transfers and QR-code access to shared folders.
A build system and workspace tool for organizing JavaScript/TypeScript source into reusable components, from development through CI and deployment.