2017-09-04 02:20:56 +00:00
|
|
|
import { applyMiddleware, compose } from 'redux';
|
|
|
|
import thunk from 'redux-thunk';
|
|
|
|
import { routerMiddleware } from 'react-router-redux';
|
2017-10-07 06:21:06 +00:00
|
|
|
import sentryMiddleware from './sentryMiddleware';
|
2017-09-04 02:20:56 +00:00
|
|
|
import persistState from './persistState';
|
|
|
|
|
|
|
|
export default function(history) {
|
|
|
|
const middlewares = [];
|
2017-10-07 06:21:06 +00:00
|
|
|
const ravenMiddleware = sentryMiddleware();
|
2017-09-04 02:20:56 +00:00
|
|
|
|
2017-10-07 06:21:06 +00:00
|
|
|
if (ravenMiddleware) {
|
|
|
|
middlewares.push(ravenMiddleware);
|
2017-09-04 02:20:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
middlewares.push(routerMiddleware(history));
|
|
|
|
middlewares.push(thunk);
|
|
|
|
|
|
|
|
return compose(
|
|
|
|
applyMiddleware(...middlewares),
|
|
|
|
persistState
|
|
|
|
);
|
|
|
|
}
|