configureStore.ts 977 B

123456789101112131415161718192021222324252627
  1. import { createStore, applyMiddleware, compose, combineReducers } from 'redux';
  2. import thunk from 'redux-thunk';
  3. import { createLogger } from 'redux-logger';
  4. import sharedReducers from 'app/core/reducers';
  5. import alertingReducers from 'app/features/alerting/state/reducers';
  6. import teamsReducers from 'app/features/teams/state/reducers';
  7. import foldersReducers from 'app/features/folders/state/reducers';
  8. const rootReducer = combineReducers({
  9. ...sharedReducers,
  10. ...alertingReducers,
  11. ...teamsReducers,
  12. ...foldersReducers,
  13. });
  14. export let store;
  15. export function configureStore() {
  16. const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
  17. if (process.env.NODE_ENV !== 'production') {
  18. // DEV builds we had the logger middleware
  19. store = createStore(rootReducer, {}, composeEnhancers(applyMiddleware(thunk, createLogger())));
  20. } else {
  21. store = createStore(rootReducer, {}, composeEnhancers(applyMiddleware(thunk)));
  22. }
  23. }