UNPKG

gridiron-example

Version:

Example webpack project for gridiron and related components. Showcases what can be done with gridiron.

39 lines (32 loc) 1.51 kB
import Immutable from 'immutable' import { createStore, applyMiddleware, compose } from 'redux' import { routerMiddleware } from 'react-router-redux' import { combineReducers } from 'redux' import { thunk, createLogger } from 'redux-middleware' import { log, IS_BROWSER } from '../../../config' import { middleware as idle, actions as idleActions } from '../modules/redux-idle-monitor' import { streamData } from '../actions/data' import subscribeStore from './subscribeStore' import * as reducers from '../reducers' export default function configureStore(history, initialState) { const reducer = combineReducers(reducers) const middlewares = [ thunk , routerMiddleware(history) , idle , createLogger({ logger: IS_BROWSER ? console : log }) ] const enhancer = compose( applyMiddleware(...middlewares) , typeof window === 'object' && typeof window.devToolsExtension !== 'undefined' ? window.devToolsExtension() : f => f ) const store = createStore(reducer, initialState, enhancer) const unsubscribe = subscribeStore(store) if(typeof window === 'object') store.dispatch(streamData([ 'openflights', 'airlines' ])) /* if(IS_BROWSER) store.dispatch(idleActions.start()) */ if(module.hot) module.hot.accept('../reducers', () => store.replaceReducer(require('../reducers').default)) return store }