Skip to content
This repository was archived by the owner on Aug 6, 2021. It is now read-only.

Commit d54b668

Browse files
authored
Merge pull request #548 from firstred/devtools
feat: add React + Redux dev tools
2 parents 85fc576 + 04269d8 commit d54b668

File tree

5 files changed

+911
-848
lines changed

5 files changed

+911
-848
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@
189189
"dotenv": "^6.1.0",
190190
"electron": "4.2.2",
191191
"electron-builder": "^20.38.5",
192+
"electron-devtools-installer": "^2.2.4",
192193
"electron-reload": "^1.4.0",
193194
"email-validator": "^1.1.1",
194195
"enzyme": "^3.3.0",
@@ -237,7 +238,6 @@
237238
"react-windowed-list": "^2.0.0",
238239
"redux": "^3.7.2",
239240
"redux-form": "^7.4.2",
240-
"redux-logger": "^3.0.6",
241241
"redux-mock-store": "^1.5.1",
242242
"redux-thunk": "^2.2.0",
243243
"rollup": "^0.45.2",

src/background.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import registerTouchBar from "./helpers/touchbar";
1717
import setupTrayIcon from "./helpers/tray";
1818
import settingsHelper from "./helpers/settings";
1919
import oauth from "./helpers/oauth";
20+
import devTools from "./helpers/devtools";
2021
import env from "./env";
2122

2223
// disable security warnings since we need cross-origin requests
@@ -126,7 +127,11 @@ app.on("ready", () => {
126127
mainWindow.focus();
127128

128129
if (env.name === "development") {
129-
mainWindow.openDevTools();
130+
// Add React dev tools
131+
devTools()
132+
.catch(console.error)
133+
.then(() => mainWindow.openDevTools())
134+
;
130135
}
131136
});
132137

src/helpers/devtools.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import installExtension, { REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS } from "electron-devtools-installer";
2+
3+
export default async () => {
4+
await Promise.all([
5+
installExtension(REACT_DEVELOPER_TOOLS),
6+
installExtension(REDUX_DEVTOOLS),
7+
]);
8+
};

src/react/Store.jsx

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
import { applyMiddleware, createStore } from "redux";
2-
import { createLogger } from "redux-logger";
1+
import { applyMiddleware, createStore, compose } from "redux";
32
import thunk from "redux-thunk";
43
// fetch all reducers as a bundle
54
import reducer from "./Reducers/index.js";
65

76
// create the middleware for this store
87
let middleware;
98
if (process.env.DEVELOPMENT === true) {
10-
// create middleware with logger
11-
middleware = applyMiddleware(
12-
thunk,
13-
createLogger({
14-
collapsed: true,
15-
timestamp: false
16-
})
17-
);
9+
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
10+
middleware = composeEnhancers(applyMiddleware(thunk));
1811
} else {
19-
// default middleware
20-
middleware = applyMiddleware(thunk);
12+
// default middleware
13+
middleware = compose(applyMiddleware(thunk));
2114
}
2215

2316
//return the store
2417
export default (initialValues = {}) => {
25-
return createStore(reducer, initialValues, middleware);
18+
return createStore(reducer, initialValues, middleware);
2619
};

0 commit comments

Comments
 (0)