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'],