import { createStore, applyMiddleware, combineReducers, compose } from 'redux' import createSagaMiddleware from 'redux-saga' import rootSaga from '../sagas/root' import { sessionReducer } from '../reducers/session.reducers'; import { messagesReducer } from '../reducers/messages.reducers'; import project from '../reducers/project' import { usersReducer } from '../reducers/users.reducers'; const sagaMiddleware = createSagaMiddleware() const rootReducer = combineReducers({ session: sessionReducer, messages: messagesReducer, project, users: usersReducer, }); const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; export function configureStore(initialState = {}) { const store = createStore( rootReducer, initialState, composeEnhancers( applyMiddleware(sagaMiddleware) ) ) sagaMiddleware.run(rootSaga); return store; }