Repolode
timarney

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. 1

    Install react-app-rewired as a dev dependency

    npm install react-app-rewired --save-dev
  2. 2

    Create config-overrides.js in the project root and export an override function

  3. 3

    Change the start, build and test npm scripts to use react-app-rewired instead of react-scripts

  4. 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

#react#webpack#create-react-app#config#jest#build-tool#eject#never

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