/generator-redux

CLI tools for Redux: next-gen functional Flux/React with devtools

Primary LanguageJavaScript

Redux and Redux-devtools CLI

CLI for Redux: next-gen functional Flux/React with devtools. This is intended to be the successor to my existing generator-flux that was based on vanilla FB flux.

Getting Started

What is Redux?

It's "Atomic Flux with hot reloading", a next-generation take on the Flux pattern with a few core philosophical design differences, including:

  • Preserves the benefits of Flux, but adds other nice properties thanks to its functional nature.
  • Prevents some of the anti-patterns common in Flux code.
  • Works great in universal (aka "isomorphic") apps because it doesn't use singletons and the data can be rehydrated. ...

Features include in this Generator:

Coming soon:

  • React-router
  • Choice of UI Framework (Material UI, Elemental UI, React-Bootstrap?)
  • Storage options: localStorage and Firebase/Parse to start
  • Test scaffolding for actions, stores, and react components

Prerequisites

You must have Node.js w/NPM installed. I recommend installing via homebrew, but you should be able to use the pre-built installers if you prefer.

Also, generator-redux is a Yeoman generator. If you do not have Yeoman installed, first run:

$ npm install -g yo

Installing the generator

To install generator-redux from npm, run:

$ npm install -g generator-redux

Finally, initiate the generator:

$ yo redux

Configuration Options

During install-time, you will be prompted to enter some information to help create the project structure and package.json file:

  • Application name (string): A human-readable name for your project, i.e. "My Redux Application"
  • Application Description (string): Describe your application in one sentence, to be used in package.json and the generated README.md
  • Port (number): choose a port to run your development server on (defaults to :3000)

Running your scaffolded project

The generated project includes a hot-reloading static server. To start the server, run:

$ npm start

To run the server with the dev-tools enabled, run:

$ DEBUG=true npm start

To build for production, run:

$ npm run build

License

MIT