Skip to content

Commit 6eb94ea

Browse files
committed
leave devTools in favor of redux devtools extension
1 parent ae2a507 commit 6eb94ea

File tree

9 files changed

+58
-236
lines changed

9 files changed

+58
-236
lines changed

README.md

+3-10
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ Full ES2015+ React + React-Router + Redux + Bootstrap with Hot Reload and redux-
1414

1515
*Concept behind:* same as [react-bootstrap-webpack-starter](https://github.com/MacKentoch/react-bootstrap-webpack-starter) **but added `Redux` and amazing and helpful `redux-devtools`.**
1616

17-
## Breaking changes since v0.5.0
18-
ReactJS v15.4.x required react-hot-loader to be v3+ (*previous react-hot-loader was v1.x and v1.3.1 came too late*). So This starter had to include breaking changes to follow all of that.
17+
## Breaking changes since v2.0.0
18+
redux-devtools is now replaced by [redux-devtools-extension](https://github.com/zalmoxisus/redux-devtools-extension#redux-devtools-extension).
1919

2020
## Detailed Content
2121

2222
**Front:**
2323
- React JS (15.x - [github :link:](https://github.com/facebook/react))
2424
- Redux (*as you application grows managing state will be a serious concern, save pain with Redux*)
2525
- React-Redux (*Redux is not specific to ReactJS, you could easily use it with Angular2 for instance*)
26-
- Redux-devtools (*want to time travel your application State?*)
26+
- redux-devtools-extension ([github :link:](https://github.com/zalmoxisus/redux-devtools-extension#redux-devtools-extension))
2727
- React-Router-Redux (*previously named react-simple-router*)
2828
- react-router (2.x- [github :link:](https://github.com/reactjs/react-router))
2929
- Bootstrap (3.x - [github :link:](https://github.com/twbs/bootstrap))
@@ -77,9 +77,6 @@ npm run dev
7777
npm run dev-win
7878
```
7979

80-
##### Note : redux-devtools shortcuts
81-
- `ctrl+h`: to toggle devtools panel
82-
- `ctrl+q`: to change devtools panel position (*by default: on the right*)
8380

8481
### dev : hot reload mode (*+ redux-devtools*)
8582

@@ -94,10 +91,6 @@ npm run start
9491
npm run start-win
9592
```
9693

97-
##### Note : redux-devtools shortcuts
98-
- `ctrl+h`: to toggle devtools panel
99-
- `ctrl+q`: to change devtools panel position (*by default: on the right*)
100-
10194
### tests
10295

10396
*General case:*

docs/public/assets/bundle.js

+28-33
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-redux-bootstrap-webpack-starter",
3-
"version": "0.6.1",
3+
"version": "2.0.0",
44
"description": "react js + redux + react router + hot reload + devTools + bootstrap + webpack starter",
55
"main": "src/index.js",
66
"scripts": {
@@ -24,7 +24,7 @@
2424
"starter",
2525
"webpack",
2626
"hot-reload",
27-
"redux-devtools",
27+
"redux-devtools-extension",
2828
"devtools"
2929
],
3030
"repository": {
@@ -65,9 +65,6 @@
6565
"postcss-loader": "^1.1.1",
6666
"precss": "^1.4.0",
6767
"react-addons-test-utils": "^15.4.1",
68-
"redux-devtools": "^3.3.1",
69-
"redux-devtools-dock-monitor": "^1.1.1",
70-
"redux-devtools-log-monitor": "^1.1.1",
7168
"redux-logger": "^2.7.4",
7269
"redux-mock-store": "^1.2.1",
7370
"sass-loader": "^4.0.2",

src/app/Root.js

-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import {
1111
import { Provider } from 'react-redux';
1212
import { syncHistoryWithStore } from 'react-router-redux';
1313
import configureStore from './redux/store/configureStore';
14-
import DevTools from './redux/devTools/DevTools.jsx';
1514

1615
const store = configureStore();
1716
const syncedHistory = syncHistoryWithStore(browserHistory, store);
@@ -26,7 +25,6 @@ class Root extends Component {
2625
<Router history={syncedHistory}>
2726
{routes()}
2827
</Router>
29-
{ process.env.NODE_ENV !== 'production' ? <DevTools /> : null }
3028
</div>
3129
</Provider>
3230
);

src/app/redux/devTools/DevTools.jsx

-15
This file was deleted.
+11-14
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,26 @@
11
import { createStore, compose, applyMiddleware } from 'redux';
2-
import { persistState } from 'redux-devtools';
3-
// import { routerReducer } from 'react-router-redux';
42
import createLogger from 'redux-logger';
53
import thunkMiddleware from 'redux-thunk';
64
import reducer from '../modules/reducers';
7-
import DevTools from '../devTools/DevTools.jsx';
8-
95

106
const loggerMiddleware = createLogger({
117
level : 'info',
128
collapsed : true
139
});
1410

1511
// createStore : enhancer
16-
const enhancer = compose(
17-
applyMiddleware(thunkMiddleware, loggerMiddleware), // logger after thunk to avoid undefined actions
18-
persistState(getDebugSessionKey()),
19-
DevTools.instrument()
20-
);
12+
// NOTE: if redux devtools extension is not installed, we just keep using Redux compose
13+
const composeEnhancers = typeof window === 'object' && // for universal ("isomorphic") apps
14+
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
15+
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
16+
// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
17+
// see: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md
18+
})
19+
: compose;
2120

22-
function getDebugSessionKey() {
23-
const matches = window.location.href.match(/[?&]debug_session=([^&]+)\b/);
24-
return (matches && matches.length > 0)? matches[1] : null;
25-
}
21+
const enhancer = composeEnhancers(
22+
applyMiddleware(thunkMiddleware, loggerMiddleware) // logger after thunk to avoid undefined actions
23+
);
2624

2725
export default function configureStore(initialState) {
2826
const store = createStore(reducer, initialState, enhancer);
@@ -31,6 +29,5 @@ export default function configureStore(initialState) {
3129
store.replaceReducer(require('../modules/reducers').default)
3230
);
3331
}
34-
3532
return store;
3633
}

src/app/redux/store/configureStore.prod.js

+11-8
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@ import {
33
applyMiddleware,
44
compose
55
} from 'redux';
6-
import createLogger from 'redux-logger';
76
import thunkMiddleware from 'redux-thunk';
87
import reducer from '../modules/reducers';
98

10-
const loggerMiddleware = createLogger({
11-
level : 'info',
12-
collapsed : true
13-
});
14-
159
// createStore : enhancer
16-
const enhancer = compose(
17-
applyMiddleware(thunkMiddleware, loggerMiddleware) // logger after thunk to avoid undefined actions
10+
// NOTE: if redux devtools extension is not installed, we just keep using Redux compose
11+
const composeEnhancers = typeof window === 'object' && // for universal ("isomorphic") apps
12+
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
13+
? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
14+
// Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...
15+
// see: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md
16+
})
17+
: compose;
18+
19+
const enhancer = composeEnhancers(
20+
applyMiddleware(thunkMiddleware) // logger after thunk to avoid undefined actions
1821
);
1922

2023
export default function configureStore(initialState) {

test/redux/devTools/DevTools.spec.js

-15
This file was deleted.

0 commit comments

Comments
 (0)