2016-09-21 14:11:42 -08:00
|
|
|
import {createStore, applyMiddleware, compose} from 'redux';
|
|
|
|
|
import thunk from 'redux-thunk';
|
|
|
|
|
import createLogger from 'redux-logger';
|
|
|
|
|
import rootReducer from '../reducers/index';
|
|
|
|
|
import effects from '../utils/effects';
|
|
|
|
|
import * as plugins from '../utils/plugins';
|
2017-02-23 02:10:05 -09:00
|
|
|
import writeMiddleware from './write-middleware';
|
2016-09-21 14:11:42 -08:00
|
|
|
|
|
|
|
|
export default () => {
|
|
|
|
|
const logger = createLogger({
|
|
|
|
|
level: 'info',
|
|
|
|
|
collapsed: true
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const enhancer = compose(
|
|
|
|
|
applyMiddleware(
|
|
|
|
|
thunk,
|
|
|
|
|
plugins.middleware,
|
|
|
|
|
thunk,
|
|
|
|
|
effects,
|
2017-02-23 02:10:05 -09:00
|
|
|
writeMiddleware,
|
2016-09-21 14:11:42 -08:00
|
|
|
logger
|
|
|
|
|
),
|
|
|
|
|
window.devToolsExtension()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return createStore(
|
|
|
|
|
rootReducer,
|
|
|
|
|
enhancer
|
|
|
|
|
);
|
|
|
|
|
};
|