A thin wrapper around Facebook's create-react-app which adds some common libraries needed for most medium to large-sized web apps

react, cli, create-react-app, react-router, redux
npm install create-react-redux-router-app@1.1.1




Install it once, globally

npm install -g create-react-redux-router-app

*create-react-redux-router-app relies on create-react-app which will need to be installed separately. Instructions can be found here.

Creating a new app

To create a new app, run

create-react-redux-router-app my-app-name

What this package is:

A thin wrapper around create-react-app

This project is a thin wrapper around Facebook's create-react-app but adds the following common libraries needed for most medium to large-sized web apps:

What this package is not:

A replacement for create-react-app

This project is not a replacement for create-react-app, but rather a thin wrapper around it. Apps created using this project are not ejected out of create-react-app and can still be upgraded to newer versions of react-scripts as needed. This project also includes all the same scripts included with create-react-app for running a development server and building production versions.

A full-stack solution

create-react-redux-router-app makes no assumptions about the backend of your app. This project is opinionated, however, about the packages you should use for state-management and url routing.

What you get?

create-react-redux-router-app not only installs the latest versions of the above-described packages, but also overwrites some of the default template files included with create-react-app, specifically:

  • App.js - imports a connect() function from react-redux and connects <App /> to the Redux store.
  • index.js - This file wraps the <App/> component included with create-react-app in the <Provider/> component imported from react-redux, and the <BrowserRouter/> component imported from react-router-dom.
  • store.js - This file imports createStore() from redux and exports as the default export a Redux store with a basic reducer.

Why is the name so horribly long?

Because you'll save so much time not having to write boilerplate code to setup your state management and routing that you can afford the extra characters in your terminal command.

Also it's descriptive.