Added mobx
This commit is contained in:
1
.babelrc
1
.babelrc
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"presets": ["react", "es2015", "stage-0"],
|
"presets": ["react", "es2015", "stage-0"],
|
||||||
|
"plugins": ["transform-decorators-legacy"],
|
||||||
"env": {
|
"env": {
|
||||||
"development": {
|
"development": {
|
||||||
"presets": ["react-hmre"]
|
"presets": ["react-hmre"]
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
"babel-core": "^6.4.5",
|
"babel-core": "^6.4.5",
|
||||||
"babel-eslint": "^4.1.8",
|
"babel-eslint": "^4.1.8",
|
||||||
"babel-loader": "^6.2.1",
|
"babel-loader": "^6.2.1",
|
||||||
|
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
||||||
"babel-polyfill": "^6.7.4",
|
"babel-polyfill": "^6.7.4",
|
||||||
"babel-preset-es2015": "^6.3.13",
|
"babel-preset-es2015": "^6.3.13",
|
||||||
"babel-preset-react": "^6.3.13",
|
"babel-preset-react": "^6.3.13",
|
||||||
@@ -69,6 +70,9 @@
|
|||||||
"lodash": "^4.13.1",
|
"lodash": "^4.13.1",
|
||||||
"lodash.orderby": "^4.4.0",
|
"lodash.orderby": "^4.4.0",
|
||||||
"marked": "^0.3.5",
|
"marked": "^0.3.5",
|
||||||
|
"mobx": "^2.2.2",
|
||||||
|
"mobx-react": "^3.3.0",
|
||||||
|
"mobx-react-devtools": "^4.2.0",
|
||||||
"moment": "^2.13.0",
|
"moment": "^2.13.0",
|
||||||
"node-dev": "^3.1.0",
|
"node-dev": "^3.1.0",
|
||||||
"node-sass": "^3.4.2",
|
"node-sass": "^3.4.2",
|
||||||
@@ -110,10 +114,11 @@
|
|||||||
"webpack": "^1.12.12"
|
"webpack": "^1.12.12"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"babel-regenerator-runtime": "^6.5.0",
|
||||||
|
"fsevents": "^1.0.11",
|
||||||
"koa-webpack-dev-middleware": "^1.2.0",
|
"koa-webpack-dev-middleware": "^1.2.0",
|
||||||
"koa-webpack-hot-middleware": "^1.0.3",
|
"koa-webpack-hot-middleware": "^1.0.3",
|
||||||
"node-dev": "^3.1.0",
|
"node-dev": "^3.1.0",
|
||||||
"nodemon": "^1.9.1",
|
"nodemon": "^1.9.1"
|
||||||
"fsevents": "^1.0.11"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
25
src/index.js
25
src/index.js
@@ -10,6 +10,8 @@ import { persistStore, autoRehydrate } from 'redux-persist';
|
|||||||
import thunkMiddleware from 'redux-thunk';
|
import thunkMiddleware from 'redux-thunk';
|
||||||
import createLogger from 'redux-logger';
|
import createLogger from 'redux-logger';
|
||||||
import History from 'utils/History';
|
import History from 'utils/History';
|
||||||
|
import { useStrict } from 'mobx';
|
||||||
|
import DevTools from 'mobx-react-devtools';
|
||||||
|
|
||||||
import auth from 'utils/auth';
|
import auth from 'utils/auth';
|
||||||
|
|
||||||
@@ -31,6 +33,9 @@ import DocumentScene from 'scenes/DocumentScene';
|
|||||||
import DocumentEdit from 'scenes/DocumentEdit';
|
import DocumentEdit from 'scenes/DocumentEdit';
|
||||||
import SlackAuth from 'scenes/SlackAuth';
|
import SlackAuth from 'scenes/SlackAuth';
|
||||||
|
|
||||||
|
// MobX
|
||||||
|
useStrict(true);
|
||||||
|
|
||||||
// Redux
|
// Redux
|
||||||
let store;
|
let store;
|
||||||
const routerMiddlewareWithHistory = routerMiddleware(History);
|
const routerMiddlewareWithHistory = routerMiddleware(History);
|
||||||
@@ -61,16 +66,18 @@ persistStore(store, {
|
|||||||
<Route path="/" component={ Application }>
|
<Route path="/" component={ Application }>
|
||||||
<IndexRoute component={Home} />
|
<IndexRoute component={Home} />
|
||||||
|
|
||||||
<Route path="/dashboard" component={ Dashboard } onEnter={ requireAuth } />
|
<Route path="/dashboard" component={ Dashboard } onEnter={ requireAuth } />
|
||||||
<Route path="/atlas/:id" component={ Atlas } onEnter={ requireAuth } />
|
<Route path="/atlas/:id" component={ Atlas } onEnter={ requireAuth } />
|
||||||
<Route path="/atlas/:id/new" component={ Editor } onEnter={ requireAuth } />
|
<Route path="/atlas/:id/new" component={ Editor } onEnter={ requireAuth } />
|
||||||
<Route path="/documents/:id" component={ DocumentScene } onEnter={ requireAuth } />
|
<Route path="/documents/:id" component={ DocumentScene } onEnter={ requireAuth } />
|
||||||
<Route path="/documents/:id/edit" component={ DocumentEdit } onEnter={ requireAuth } />
|
<Route path="/documents/:id/edit" component={ DocumentEdit } onEnter={ requireAuth } />
|
||||||
|
|
||||||
<Route path="/auth/slack" component={SlackAuth} />
|
<Route path="/auth/slack" component={SlackAuth} />
|
||||||
</Route>
|
</Route>
|
||||||
</Router>
|
</Router>
|
||||||
</Provider>
|
</Provider>
|
||||||
|
{ __DEV__ ? <DevTools position={{ bottom: 0, right: 0 }} /> : null }
|
||||||
|
</div>
|
||||||
), document.getElementById('root'));
|
), document.getElementById('root'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ const developmentWebpackConfig = Object.assign(commonWebpackConfig, {
|
|||||||
cache: true,
|
cache: true,
|
||||||
devtool: 'eval',
|
devtool: 'eval',
|
||||||
entry: [
|
entry: [
|
||||||
|
'babel-regenerator-runtime',
|
||||||
'webpack-hot-middleware/client',
|
'webpack-hot-middleware/client',
|
||||||
'./src/index',
|
'./src/index',
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user