redux-serve
v0.0.5
Published
Smart CLI to create store, actions, reducer and saga
Maintainers
Readme
Redux-serve cli
Smart CLI service to create store, actions, reducer and saga with dynamic options
Features
- Kickstart to your redux setup
- Increase productivity
- Predefined templetes for actions, reducer, saga
Available commands
- createstore
- createactions
- createreducer
- createsaga
- install
Getting Started
Prerequisites
You just need nodejs and npm installed on your system
Installing
You can install the package with following command. It is recommended to install at goble level
npm install redux-serve -gHow to use
createstore
The basic need for integrating redux is to create store and its related directories. The default directory structure will be created at the CWD where you triggered the command
redux-serve createstoreIt will create redux directory with following structure
createactions
redux-serve createactionsThis command will create file with name actions.js with few predefined actions. You can editing this file
export const ACTION = "ACTION";
export const action = (payload) => ({
type: ACTION,
payload
})
export const SAGA_ACTION = "SAGA_ACTION";
export const sagaAction = (payload) => ({
type: SAGA_ACTION,
payload
})createreducer
redux-serve createreducerThis command will create file with name reducer.js with few predefined reducer function.
import { ACTION } from "actions"; // replace with your path/to/actions
const INITIAL_STATE = { };
const reducer = (state = INITIAL_STATE, { type, payload }) => {
switch (type) {
case ACTION:
return { ...state, ...payload };
default:
return state;
}
};
export default reducer;createsaga
redux-serve createsagaThis command will create file with name saga.js with few predefined handler function.
import { all, call, put, select, takeLatest } from "redux-saga/effects";
import axios from "axios";
import { SAGA_ACTION, action } from "actions"; // // replace with your path/to/actions
export function* handler() {
try {
const config = {
method: "GET",
url: `url`
};
const { data } = yield call(axios, config);
yield put(action(data));
} catch (error) {
// console.error(error);
}
}
export default function*() {
yield all([takeLatest(SAGA_ACTION, handler)]);
}
install
redux-serve installThis command will install redux store required dependencies. recommended to trigger on root of your project.
- redux
- redux-devtools-extension
- redux-saga
- react-redux
Additinal options
The library support known options
path- This is to set path where to create reducer/saga/actions file. The provided path should be accessiblename- This is to provide custom name to reducer/saga/actions file.templateThis is to override existing file templates. You need to provide relative path to your template file.
example
redux-serve createactions
-p ./redux/actions
-n myCustomActions.js
-t ./path/to/your/desired/action-file.jsThis command will create actions file with name myCustomActions.js to CWD/redux/actions with the contents of ./path/to/your/desired/action-file.js
Note: All path provided to the options should relative to CWD
Author
- Harish S Khot
