JSPM

  • Created
  • Published
  • Downloads 395965
  • Score
    100M100P100Q178974F
  • License MIT

Configure the unconfigurable, override create-react-app webpack configs

Package Exports

  • react-app-rewired/bin
  • react-app-rewired/bin/index
  • react-app-rewired/scripts/build
  • react-app-rewired/scripts/start

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-app-rewired) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

react-app-rewired

Rewire Your App

Tweak the create-react-app webpack config(s) without using 'eject' and without creating a fork of the react-scripts.

All the benefits of create-react-app without the limitations of "no config". You can add plugins, loaders whatever you need.

All you have to do is create your app using create-react-app and then rewire it.

⚠️ Please Note:

By doing this you're breaking the "guarantees" that CRA provides. That is to say you now "own" the configs. No support will be provided. Proceed with caution.

How to rewire your create-react-app project

1) Install react-app-rewired

$ npm install react-app-rewired --save

2) Create a config-overrides.js file in the root directory

/* config-overrides.js */
module.exports = function override(config, env) {
  //do stuff with the webpack config... 
  return config;
}

View the examples -> CSS Modules, Preact, Inferno, Sass etc...

+-- your-project
|   +-- config-overrides.js
|   +-- node_modules
|   +-- package.json
|   +-- public
|   +-- README.md
|   +-- src

3) Add the the npm run scripts

/* package.json */

"scripts": {
    "rewire:start": "node ./node_modules/react-app-rewired/scripts/start",
    "rewire:build": "node ./node_modules/react-app-rewired/scripts/build"
  }

4) Start the Dev Server or Build your app using the rewired config

$ npm run rewire:start
$ npm run rewire:build