From d4a653c68478a2810cb0179a6e2bb05df58a704e Mon Sep 17 00:00:00 2001 From: Josh <37798644+joshuaellis@users.noreply.github.com> Date: Tue, 18 Oct 2022 15:30:42 +0100 Subject: [PATCH] chore: add redux dev-tools to launch in dev mode --- .../admin/src/core/store/configureStore.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) 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;