diff --git a/examples/counter/containers/App.js b/examples/counter/containers/App.js
deleted file mode 100644
index 055ffbf2..00000000
--- a/examples/counter/containers/App.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import React, { Component } from 'react';
-import CounterApp from './CounterApp';
-import { createStore, applyMiddleware, combineReducers, compose } from 'redux';
-import { devTools, persistState } from 'redux-devtools';
-import { DevTools, DebugPanel, LogMonitor } from 'redux-devtools/lib/react';
-import thunk from 'redux-thunk';
-import { Provider } from 'react-redux';
-import * as reducers from '../reducers';
-
-const finalCreateStore = compose(
- applyMiddleware(thunk),
- devTools(),
- persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/))
-)(createStore);
-
-const reducer = combineReducers(reducers);
-const store = finalCreateStore(reducer);
-
-if (module.hot) {
- module.hot.accept('../reducers', () =>
- store.replaceReducer(combineReducers(require('../reducers')))
- );
-}
-
-export default class App extends Component {
- render() {
- return (
-
- );
- }
-}
diff --git a/examples/counter/index.js b/examples/counter/index.js
deleted file mode 100644
index 2a188641..00000000
--- a/examples/counter/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import React from 'react';
-import App from './containers/App';
-
-React.render(
- ,
- document.getElementById('root')
-);
diff --git a/examples/counter/package.json b/examples/counter/package.json
index ccbec86e..704f3544 100644
--- a/examples/counter/package.json
+++ b/examples/counter/package.json
@@ -16,16 +16,20 @@
},
"homepage": "https://github.com/gaearon/redux-devtools#readme",
"dependencies": {
- "react": "^0.13.3",
+ "react": "^0.14.0-rc1",
+ "react-dom": "^0.14.0-rc1",
"react-redux": "^3.0.0",
"redux": "^3.0.0",
+ "redux-devtools-log-monitor": "^1.0.0-alpha-1",
"redux-thunk": "^1.0.0"
},
"devDependencies": {
"babel-core": "^5.6.18",
"babel-loader": "^5.1.4",
"node-libs-browser": "^0.5.2",
+ "react-dock": "0.0.3",
"react-hot-loader": "^1.3.0",
+ "redux-devtools-log-monitor": "^1.0.0-alpha",
"webpack": "^1.9.11",
"webpack-dev-server": "^1.9.0"
}
diff --git a/examples/counter/reducers/index.js b/examples/counter/reducers/index.js
deleted file mode 100644
index d6a1f1d1..00000000
--- a/examples/counter/reducers/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as counter } from './counter';
diff --git a/examples/counter/actions/CounterActions.js b/examples/counter/src/actions/CounterActions.js
similarity index 100%
rename from examples/counter/actions/CounterActions.js
rename to examples/counter/src/actions/CounterActions.js
diff --git a/examples/counter/components/Counter.js b/examples/counter/src/components/Counter.js
similarity index 100%
rename from examples/counter/components/Counter.js
rename to examples/counter/src/components/Counter.js
diff --git a/examples/counter/constants/ActionTypes.js b/examples/counter/src/constants/ActionTypes.js
similarity index 100%
rename from examples/counter/constants/ActionTypes.js
rename to examples/counter/src/constants/ActionTypes.js
diff --git a/examples/counter/containers/CounterApp.js b/examples/counter/src/containers/CounterApp.js
similarity index 100%
rename from examples/counter/containers/CounterApp.js
rename to examples/counter/src/containers/CounterApp.js
diff --git a/examples/counter/src/containers/Root.dev.js b/examples/counter/src/containers/Root.dev.js
new file mode 100644
index 00000000..df95ec0e
--- /dev/null
+++ b/examples/counter/src/containers/Root.dev.js
@@ -0,0 +1,22 @@
+import React, { Component } from 'react';
+import { render } from 'react-dom';
+import { Provider } from 'react-redux';
+import CounterApp from './CounterApp';
+import Dock from 'react-dock';
+import LogMonitor from 'redux-devtools-log-monitor';
+
+export default class Root extends Component {
+ render() {
+ const { store } = this.props;
+ return (
+
+ );
+ }
+}
diff --git a/examples/counter/src/containers/Root.js b/examples/counter/src/containers/Root.js
new file mode 100644
index 00000000..35770ac1
--- /dev/null
+++ b/examples/counter/src/containers/Root.js
@@ -0,0 +1,5 @@
+if (process.env.NODE_ENV === 'production') {
+ module.exports = require('./Root.prod');
+} else {
+ module.exports = require('./Root.dev');
+}
\ No newline at end of file
diff --git a/examples/counter/src/containers/Root.prod.js b/examples/counter/src/containers/Root.prod.js
new file mode 100644
index 00000000..04fc8a58
--- /dev/null
+++ b/examples/counter/src/containers/Root.prod.js
@@ -0,0 +1,15 @@
+import React, { Component } from 'react';
+import { render } from 'react-dom';
+import { Provider } from 'react-redux';
+import CounterApp from './CounterApp';
+
+export default class Root extends Component {
+ render() {
+ const { store } = this.props;
+ return (
+
+
+
+ );
+ }
+}
diff --git a/examples/counter/src/index.js b/examples/counter/src/index.js
new file mode 100644
index 00000000..219a4f00
--- /dev/null
+++ b/examples/counter/src/index.js
@@ -0,0 +1,11 @@
+import React from 'react';
+import { render } from 'react-dom';
+import configureStore from './store/configureStore';
+import Root from './containers/Root';
+
+const store = configureStore();
+
+render(
+ ,
+ document.getElementById('root')
+);
diff --git a/examples/counter/reducers/counter.js b/examples/counter/src/reducers/counter.js
similarity index 100%
rename from examples/counter/reducers/counter.js
rename to examples/counter/src/reducers/counter.js
diff --git a/examples/counter/src/reducers/index.js b/examples/counter/src/reducers/index.js
new file mode 100644
index 00000000..41aac188
--- /dev/null
+++ b/examples/counter/src/reducers/index.js
@@ -0,0 +1,8 @@
+import { combineReducers } from 'redux';
+import counter from './counter';
+
+const rootReducer = combineReducers({
+ counter
+});
+
+export default rootReducer;
\ No newline at end of file
diff --git a/examples/counter/src/store/configureStore.dev.js b/examples/counter/src/store/configureStore.dev.js
new file mode 100644
index 00000000..a2831387
--- /dev/null
+++ b/examples/counter/src/store/configureStore.dev.js
@@ -0,0 +1,22 @@
+import { createStore, applyMiddleware, compose } from 'redux';
+import { devTools, persistState } from 'redux-devtools';
+import thunk from 'redux-thunk';
+import rootReducer from '../reducers';
+
+const finalCreateStore = compose(
+ applyMiddleware(thunk),
+ devTools(),
+ persistState(window.location.href.match(/[?&]debug_session=([^&]+)\b/))
+)(createStore);
+
+export default function configureStore(initialState) {
+ const store = finalCreateStore(rootReducer);
+
+ if (module.hot) {
+ module.hot.accept('../reducers', () =>
+ store.replaceReducer(require('../reducers'))
+ );
+ }
+
+ return store;
+}
diff --git a/examples/counter/src/store/configureStore.js b/examples/counter/src/store/configureStore.js
new file mode 100644
index 00000000..ff31e6d1
--- /dev/null
+++ b/examples/counter/src/store/configureStore.js
@@ -0,0 +1,5 @@
+if (process.env.NODE_ENV === 'development') {
+ module.exports = require('./configureStore.prod');
+} else {
+ module.exports = require('./configureStore.dev');
+}
\ No newline at end of file
diff --git a/examples/counter/src/store/configureStore.prod.js b/examples/counter/src/store/configureStore.prod.js
new file mode 100644
index 00000000..cf622db8
--- /dev/null
+++ b/examples/counter/src/store/configureStore.prod.js
@@ -0,0 +1,11 @@
+import { createStore, applyMiddleware, compose } from 'redux';
+import thunk from 'redux-thunk';
+import rootReducer from '../reducers';
+
+const finalCreateStore = compose(
+ applyMiddleware(thunk)
+)(createStore);
+
+export default function configureStore(initialState) {
+ return finalCreateStore(rootReducer);
+}
diff --git a/examples/counter/webpack.config.js b/examples/counter/webpack.config.js
index eeb31d27..26886519 100644
--- a/examples/counter/webpack.config.js
+++ b/examples/counter/webpack.config.js
@@ -6,7 +6,7 @@ module.exports = {
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
- './index'
+ './src/index'
],
output: {
path: path.join(__dirname, 'dist'),
@@ -18,11 +18,9 @@ module.exports = {
],
resolve: {
alias: {
- 'redux-devtools/lib': path.join(__dirname, '..', '..', 'src'),
'redux-devtools': path.join(__dirname, '..', '..', 'src'),
'react': path.join(__dirname, 'node_modules', 'react')
- },
- extensions: ['', '.js']
+ }
},
resolveLoader: {
'fallback': path.join(__dirname, 'node_modules')
@@ -32,7 +30,7 @@ module.exports = {
test: /\.js$/,
loaders: ['react-hot', 'babel'],
exclude: /node_modules/,
- include: __dirname
+ include: path.join(__dirname, 'src')
}, {
test: /\.js$/,
loaders: ['react-hot', 'babel'],