0.1.0 • Published 8 years ago

plop-generator-redux v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

plop-generator-redux

js-standard-style build status npm version

Plop generator for opinionated redux scaffolding. Generates your reducer folders, action creators and reselect.

Configuration

  1. Install plop globally in your system.
npm install -g plop
  1. Install plop and plop-generator-redux locally in your project.
npm install --save-dev plop plop-generator-redux
  1. In your plopfile.js, require the plop-generator-redux module and pass the plop object and optionally some configuration.
var path = require('path');
module.exports = (plop) => {
  require('plop-generator-redux', {
    basePath: path.resolve(__dirname, 'app', 'stores'),
    prefix: 'redux'
  });
}

Configuration object

AttributeDefaultDescription
basePathapp/reduxPath in which the generator will put files
prefixAdds a prefix to each generator followed by a :

Usage

Run plop to see the list of generators, or run plop [generator] to use that generator.

Available generators

  1. init: generates the initial folder and index.js to import all reducers and combine them.

    > plop init
    [CREATE] ./app/redux/index.js
  2. reducer: generates a reducer folder within the initial folder. Optionally generates action creators and selectors file.

    > plop reducer
    > Reducer name: my initial reducer
    [CREATE] ./app/redux/myInitialReducer/reducer.js
    [CREATE] ./app/redux/myInitialReducer/reducer.spec.js
    [MODIFY] ./app/redux/index.js
  3. reducer:action: generates an action for a given reducer. Optionally generates action creator.

    > plop reducer:action
    > Reducer name: myInitialReducer
    > Action name: my action
    > Generate action creator? No
    [MODIFY] ./app/redux/myInitialReducer/reducer.js
    [MODIFY] ./app/redux/myInitialReducer/reducer.spec.js
    > plop reducer:action
    > Reducer name: myInitialReducer
    > Action name: my action
    > Generate action creator? Yes
    [MODIFY] ./app/redux/myInitialReducer/reducer.js
    [MODIFY] ./app/redux/myInitialReducer/reducer.spec.js
    [MODIFY] ./app/redux/myInitialReducer/actions.js
    [MODIFY] ./app/redux/myInitialReducer/actions.spec.js
  4. actions: generates the action creators file for a given reducer.

    > plop actions
    > Reducer name: myInitialReducer
    [CREATE] ./app/redux/myInitialReducer/actions.js
    [CREATE] ./app/redux/myInitialReducer/actions.spec.js
  5. actions:action: generates an action within a given reducer folder (it does not add the action to the reducer.js file).

    > plop actions:action
    > Reducer name: myInitialReducer
    > Action name: my action
    [MODIFY] ./app/redux/myInitialReducer/actions.js
    [MODIFY] ./app/redux/myInitialReducer/actions.spec.js
  6. selectors: generates selectors file for a given reducer.

    > plop selectors
    > Reducer name: myInitialReducer
    [CREATE] ./app/redux/myInitialReducer/selectors.js
    [CREATE] ./app/redux/myInitialReducer/selectors.spec.js
  7. selectors:selector: generates a selector within a given reducer folder.

    > plop selectors:selector
    > Reducer name: myInitialReducer
    > Action name: my selector
    [MODIFY] ./app/redux/myInitialReducer/selectors.js
    [MODIFY] ./app/redux/myInitialReducer/selectors.spec.js

License

MIT