diff --git a/packages/core/admin/admin/src/core/store/configureStore.js b/packages/core/admin/admin/src/core/store/configureStore.js index 6e943ac7af..b95d6223d6 100644 --- a/packages/core/admin/admin/src/core/store/configureStore.js +++ b/packages/core/admin/admin/src/core/store/configureStore.js @@ -1,14 +1,29 @@ -import { createStore, applyMiddleware } from 'redux'; +import { createStore, applyMiddleware, compose } from 'redux'; import createReducer from './createReducer'; const configureStore = (appMiddlewares, appReducers) => { + let composeEnhancers = compose; + const middlewares = []; appMiddlewares.forEach((middleware) => { middlewares.push(middleware()); }); - return createStore(createReducer(appReducers), {}, applyMiddleware(...middlewares)); + // If Redux Dev Tools are installed, enable them + if ( + process.env.NODE_ENV !== 'production' && + typeof window === 'object' && + window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ + ) { + composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}); + } + + return createStore( + createReducer(appReducers), + {}, + composeEnhancers(applyMiddleware(...middlewares)) + ); }; export default configureStore;