diff --git a/frontend/.babelrc b/frontend/.babelrc
index 55f06ce1..0304882a 100644
--- a/frontend/.babelrc
+++ b/frontend/.babelrc
@@ -37,9 +37,8 @@
"regenerator": false
}
],
- ["babel-plugin-webpack-loaders", {
- "config": "${CONFIG}",
- "verbose": false
+ ["babel-plugin-webpack-alias", {
+ "config": "${CONFIG}"
}]
]
}
diff --git a/frontend/locales/en-us.json b/frontend/locales/en-us.json
index 8f8d7125..0f179938 100644
--- a/frontend/locales/en-us.json
+++ b/frontend/locales/en-us.json
@@ -1,3 +1,4 @@
{
- "greetings": "Hello"
+ "your-dashboard": "Your Dashboard",
+ "welcome-to": "Welcome to"
}
\ No newline at end of file
diff --git a/frontend/locales/pt-pt.json b/frontend/locales/pt-pt.json
index 1eb32ea0..f88ebb3e 100644
--- a/frontend/locales/pt-pt.json
+++ b/frontend/locales/pt-pt.json
@@ -1,3 +1,4 @@
{
- "greetings": "Olá"
+ "your-dashboard": "O seu painel",
+ "welcome-to": "Bem vindo a"
}
\ No newline at end of file
diff --git a/frontend/package.json b/frontend/package.json
index 83cf8597..e889283c 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -25,6 +25,7 @@
"locale": "^0.1.0",
"lodash.template": "^4.4.0",
"lodash.uniq": "^4.5.0",
+ "param-case": "^2.1.0",
"querystring": "^0.2.0",
"react": "^15.4.1",
"react-a11y": "^0.3.3",
@@ -36,7 +37,7 @@
"react-router": "^4.0.0-alpha.4",
"reduce-reducers": "^0.1.2",
"redux": "^3.6.0",
- "redux-actions": "^1.1.0",
+ "redux-actions": "^1.2.0",
"redux-batched-actions": "^0.1.5",
"redux-logger": "^2.7.4",
"redux-promise-middleware": "^4.2.0",
@@ -57,12 +58,13 @@
"babel-plugin-transform-es2015-modules-commonjs": "^6.18.0",
"babel-plugin-transform-object-rest-spread": "^6.20.2",
"babel-plugin-transform-runtime": "^6.15.0",
+ "babel-plugin-webpack-alias": "^2.1.2",
"babel-plugin-webpack-loaders": "^0.8.0",
"babel-preset-env": "^1.0.2",
"babel-preset-react": "^6.16.0",
"babel-register": "^6.18.0",
"enzyme": "^2.6.0",
- "eslint": "^3.12.0",
+ "eslint": "^3.12.1",
"eslint-config-semistandard": "^7.0.0",
"eslint-config-standard": "^6.2.1",
"eslint-plugin-babel": "^4.0.0",
@@ -73,20 +75,21 @@
"fast-async": "^6.1.2",
"json-loader": "^0.5.4",
"ncp": "^2.0.0",
+ "node-hook": "^0.4.0",
"nyc": "^10.0.0",
- "pre-commit": "^1.2.1",
+ "pre-commit": "^1.2.2",
"react-addons-test-utils": "^15.4.1",
"tap-xunit": "^1.4.0",
"thenify": "^3.2.1",
"webpack": "^2.1.0-beta.25",
"webpack-dev-server": "^1.16.2",
- "webpack-shell-plugin": "^0.4.9"
+ "webpack-shell-plugin": "^0.5.0"
},
"ava": {
"failFast": true,
"cache": false,
"require": [
- "babel-register"
+ "./test/_hook.js"
],
"babel": "inherit"
},
diff --git a/frontend/src/components/article/index.js b/frontend/src/components/article/index.js
index 30751514..229e5525 100644
--- a/frontend/src/components/article/index.js
+++ b/frontend/src/components/article/index.js
@@ -1,6 +1,4 @@
-const React = require('react');
const Styled = require('styled-components');
-
const fns = require('@ui/shared/functions');
const {
diff --git a/frontend/src/components/header/index.js b/frontend/src/components/header/index.js
index 306cfa6f..955e1188 100644
--- a/frontend/src/components/header/index.js
+++ b/frontend/src/components/header/index.js
@@ -1,4 +1,5 @@
const React = require('react');
+const ReactRouter = require('react-router');
const Styled = require('styled-components');
const Column = require('@ui/components/column');
@@ -7,6 +8,10 @@ const fns = require('@ui/shared/functions');
const logo = require('@resources/logo.png');
const Row = require('@ui/components/row');
+const {
+ Link
+} = ReactRouter;
+
const {
default: styled
} = Styled;
@@ -35,7 +40,9 @@ const Header = () => {
-
+
+
+
diff --git a/frontend/src/containers/app.js b/frontend/src/containers/app.js
index a42b984b..25b3f603 100644
--- a/frontend/src/containers/app.js
+++ b/frontend/src/containers/app.js
@@ -29,6 +29,7 @@ const {
} = Styled;
const App = connect()(React.createClass({
+ displayName: 'App',
propTypes: {
children: React.PropTypes.node,
dispatch: React.PropTypes.func,
@@ -71,14 +72,8 @@ module.exports = (props) => {
-
-
+
+
diff --git a/frontend/src/containers/dashboard/index.js b/frontend/src/containers/dashboard/index.js
new file mode 100644
index 00000000..cb7352b0
--- /dev/null
+++ b/frontend/src/containers/dashboard/index.js
@@ -0,0 +1,38 @@
+const React = require('react');
+const ReactIntl = require('react-intl');
+// const ReactRedux = require('react-redux');
+// const ReactRouter = require('react-router');
+// const Styled = require('styled-components');
+
+// const fns = require('@ui/shared/functions');
+//
+const {
+ FormattedMessage
+} = ReactIntl;
+//
+// const {
+// connect
+// } = ReactRedux;
+
+// const {
+// Link,
+// Match
+// } = ReactRouter;
+
+// const {
+// default: styled
+// } = Styled;
+//
+// const {
+// remcalc
+// } = fns;
+
+const Dashboard = (props) => {
+ return (
+
+
+
+ );
+};
+
+module.exports = Dashboard;
diff --git a/frontend/src/containers/home/index.js b/frontend/src/containers/home/index.js
index accad58e..65e5a112 100644
--- a/frontend/src/containers/home/index.js
+++ b/frontend/src/containers/home/index.js
@@ -1,27 +1,127 @@
+const paramCase = require('param-case');
const React = require('react');
const ReactIntl = require('react-intl');
+const ReactRedux = require('react-redux');
+const ReactRouter = require('react-router');
const Styled = require('styled-components');
+const Container = require('@ui/components/container');
+const Dashboard = require('@containers/dashboard');
+const fns = require('@ui/shared/functions');
+const Org = require('@containers/org');
+
const {
FormattedMessage
} = ReactIntl;
+const {
+ connect
+} = ReactRedux;
+
+const {
+ Link,
+ Match
+} = ReactRouter;
+
const {
default: styled
} = Styled;
-const StyledWrapper = styled.div`
- background-color: red;
+const {
+ remcalc
+} = fns;
+
+const StyledNav = styled.div`
+ background-color: #f2f2f2;
`;
-const Home = () => {
+const StyledUl = styled.ul`
+ list-style-type: none;
+`;
+
+const StyledLi = styled.li`
+ display: inline-block;
+ margin-right: ${remcalc(10)};
+ padding-top: ${remcalc(10)};
+ padding-bottom: ${remcalc(10)};
+
+ & a.active {
+ cursor: default;
+ color: #373A3C;
+ text-decoration: none;
+ }
+`;
+
+const Home = ({
+ orgs = [],
+ pathname = '/'
+}) => {
+ const parent = pathname.replace(/\/$/, '');
+ const links = orgs.map((org) => `${parent}/${paramCase(org.name)}`);
+
+ const isDashboardActive = (location) => {
+ return !links.some((link) => location.pathname.indexOf(link) >= 0);
+ };
+
+ const navLinks = orgs.map(({
+ name
+ }) => {
+ const to = `${parent}/${paramCase(name)}`;
+
+ return (
+
+
+ {name}
+
+
+ );
+ });
+
return (
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ {navLinks}
+
+
+
+
+
+
+
+
);
};
-module.exports = Home;
+Home.propTypes = {
+ orgs: React.PropTypes.arrayOf(React.PropTypes.shape({
+ name: React.PropTypes.string
+ })),
+ pathname: React.PropTypes.string
+};
+
+const mapStateToProps = (state) => ({
+ orgs: state.session.data.orgs
+});
+
+module.exports = connect(mapStateToProps)(Home);
diff --git a/frontend/src/containers/org/index.js b/frontend/src/containers/org/index.js
new file mode 100644
index 00000000..dd6dd42d
--- /dev/null
+++ b/frontend/src/containers/org/index.js
@@ -0,0 +1,48 @@
+const React = require('react');
+const ReactIntl = require('react-intl');
+// const ReactRedux = require('react-redux');
+// const ReactRouter = require('react-router');
+// const Styled = require('styled-components');
+//
+// const Container = require('@ui/components/container');
+// const fns = require('@ui/shared/functions');
+//
+const {
+ FormattedMessage
+} = ReactIntl;
+//
+// const {
+// connect
+// } = ReactRedux;
+//
+// const {
+// Link,
+// Match
+// } = ReactRouter;
+//
+// const {
+// default: styled
+// } = Styled;
+//
+// const {
+// remcalc
+// } = fns;
+
+const Org = ({
+ params
+}) => {
+ return (
+
+
+ {params.org}
+
+ );
+};
+
+Org.propTypes = {
+ params: React.PropTypes.shape({
+ org: React.PropTypes.string
+ })
+};
+
+module.exports = Org;
diff --git a/frontend/src/root.js b/frontend/src/root.js
index 3f737ca3..ebfa1417 100644
--- a/frontend/src/root.js
+++ b/frontend/src/root.js
@@ -5,7 +5,7 @@ const ReactRedux = require('react-redux');
const ReactRouter = require('react-router');
const App = require('@containers/app');
-const store = require('@state/store');
+const Store = require('@state/store');
const {
IntlProvider
@@ -23,10 +23,24 @@ const {
BrowserRouter
} = ReactRouter;
+const store = Store({
+ session: {
+ data: {
+ name: 'Nicola',
+ orgs: [{
+ name: 'BizTech',
+ pinned: true
+ }, {
+ name: 'Make Us Proud'
+ }]
+ }
+ }
+});
+
module.exports = () => {
return (
-
+
{App}
diff --git a/frontend/src/state/reducers/index.js b/frontend/src/state/reducers/index.js
index 43fe5a11..deb52fc5 100644
--- a/frontend/src/state/reducers/index.js
+++ b/frontend/src/state/reducers/index.js
@@ -7,6 +7,7 @@ const {
module.exports = () => {
return combineReducers({
app: require('@state/reducers/app'),
- intl: require('@state/reducers/intl')
+ intl: require('@state/reducers/intl'),
+ session: require('@state/reducers/session')
});
};
diff --git a/frontend/src/state/reducers/session.js b/frontend/src/state/reducers/session.js
new file mode 100644
index 00000000..7fec06fb
--- /dev/null
+++ b/frontend/src/state/reducers/session.js
@@ -0,0 +1,9 @@
+const ReduxActions = require('redux-actions');
+
+const {
+ handleActions
+} = ReduxActions;
+
+module.exports = handleActions({
+ 'x': (state) => state // somehow handleActions needs at least one reducer
+}, {});
diff --git a/frontend/test/_hook.js b/frontend/test/_hook.js
new file mode 100644
index 00000000..9ec9a3ad
--- /dev/null
+++ b/frontend/test/_hook.js
@@ -0,0 +1,8 @@
+const hook = require('node-hook');
+const register = require('babel-register');
+
+hook.hook('.png', () => '');
+
+register({
+ extensions: ['.js']
+});
diff --git a/frontend/test/index.js b/frontend/test/index.js
index adde0c48..f5ac026a 100644
--- a/frontend/test/index.js
+++ b/frontend/test/index.js
@@ -13,7 +13,7 @@ test('renders without exploding', (t) => {
});
test('renders without exploding', (t) => {
- const Home = require('../src/containers/home');
+ const Home = require('../src/containers/home').WrappedComponent;
const wrapper = shallow();
t.deepEqual(wrapper.length, 1);
});
diff --git a/frontend/webpack/base.js b/frontend/webpack/base.js
index 53a8342e..2bbdc38a 100644
--- a/frontend/webpack/base.js
+++ b/frontend/webpack/base.js
@@ -48,7 +48,9 @@ module.exports = {
FRONTEND,
UI
],
- loaders: ['babel-loader']
+ loaders: [
+ 'babel-loader'
+ ]
}, {
test: /\.json?$/,
exclude: /node_modules/,
@@ -56,18 +58,19 @@ module.exports = {
FRONTEND,
UI
],
- loaders: ['json-loader']
+ loaders: [
+ 'json-loader'
+ ]
}, {
- test: /\.png$/,
+ test: /\.png/,
exclude: /node_modules/,
include: [
FRONTEND,
UI
],
- loader: 'url-loader',
- query: {
- mimetype: 'image/png'
- }
+ loader: [
+ 'url-loader'
+ ]
}]
}
};
diff --git a/frontend/webpack/index.js b/frontend/webpack/index.js
index f1cf1a92..2e61a69f 100644
--- a/frontend/webpack/index.js
+++ b/frontend/webpack/index.js
@@ -1,2 +1,3 @@
const NODE_ENV = process.env['NODE_ENV'] || 'development';
+
module.exports = require(`./${NODE_ENV}`);
diff --git a/frontend/webpack/test.js b/frontend/webpack/test.js
index 13710f53..fba22c12 100644
--- a/frontend/webpack/test.js
+++ b/frontend/webpack/test.js
@@ -2,10 +2,12 @@ const base = require('./base');
const plugins = require('./plugins');
module.exports = {
+ context: base.context,
resolve: base.resolve,
- output: {
- libraryTarget: 'commonjs2'
- },
+ resolveLoader: base.resolveLoader,
+ output: Object.assign(base.output, {
+ libraryTarget: 'commonjs2',
+ }),
plugins: [
plugins['named-modules'],
plugins['no-errors'],
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index d7e572cc..52f6dd8a 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -11,6 +11,13 @@ accepts@~1.3.3:
mime-types "~2.1.11"
negotiator "0.6.1"
+acorn-dynamic-import@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.0.tgz#276bae36be195f0d890e93f1327817c077145709"
+ dependencies:
+ acorn "^4.0.3"
+ in-publish "^2.0.0"
+
acorn-es7-plugin@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.3.tgz#6a032a71f1faf396a1a29729c7b150fe480cc17a"
@@ -942,6 +949,15 @@ babel-plugin-transform-strict-mode@^6.18.0:
babel-runtime "^6.0.0"
babel-types "^6.18.0"
+babel-plugin-webpack-alias@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-webpack-alias/-/babel-plugin-webpack-alias-2.1.2.tgz#05a1ba23c28595660fb6ea5736424fc596b4a247"
+ dependencies:
+ babel-types "^6.14.0"
+ find-up "^2.0.0"
+ lodash.some "^4.5.1"
+ lodash.template "^4.3.0"
+
babel-plugin-webpack-loaders@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-webpack-loaders/-/babel-plugin-webpack-loaders-0.8.0.tgz#1ec5255e2c9de8d5226c58a099890d935a876065"
@@ -1130,7 +1146,7 @@ babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-tr
invariant "^2.2.0"
lodash "^4.2.0"
-babel-types@^6.13.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.3.24, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0:
+babel-types@^6.13.0, babel-types@^6.14.0, babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.3.24, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0:
version "6.20.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.20.0.tgz#3869ecb98459533b37df809886b3f7f3b08d2baa"
dependencies:
@@ -2161,9 +2177,9 @@ eslint-plugin-standard@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3"
-eslint@^3.12.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.12.0.tgz#1dfa4ef0082e35feed90a0fb1f7996d1d426b249"
+eslint@^3.12.1:
+ version "3.12.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.12.1.tgz#507a609fe251dfefd58fda03e6dbd7e851c07581"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
@@ -2435,6 +2451,12 @@ find-up@^1.0.0, find-up@^1.1.2:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
+find-up@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
flat-cache@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff"
@@ -3373,6 +3395,13 @@ locale@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/locale/-/locale-0.1.0.tgz#3b5bf70614fdab48ac3e3fbc648147cb65443bde"
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
lodash-es@^4.2.1:
version "4.17.2"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.2.tgz#59011b585166e613eb9dd5fc256b2cd1a30f3712"
@@ -3441,11 +3470,11 @@ lodash.reject@^4.4.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415"
-lodash.some@^4.4.0:
+lodash.some@^4.4.0, lodash.some@^4.5.1:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d"
-lodash.template@^4.4.0:
+lodash.template@^4.3.0, lodash.template@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
dependencies:
@@ -3701,9 +3730,13 @@ node-fetch@^1.0.1:
encoding "^0.1.11"
is-stream "^1.0.1"
-node-libs-browser@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-1.1.1.tgz#2a38243abedd7dffcd07a97c9aca5668975a6fea"
+node-hook@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-hook/-/node-hook-0.4.0.tgz#782a3b3b4873388f93d087cd2971162f24eb6f2d"
+
+node-libs-browser@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646"
dependencies:
assert "^1.1.1"
browserify-zlib "^0.1.4"
@@ -3723,7 +3756,7 @@ node-libs-browser@^1.0.0:
stream-browserify "^2.0.1"
stream-http "^2.3.1"
string_decoder "^0.10.25"
- timers-browserify "^1.4.2"
+ timers-browserify "^2.0.2"
tty-browserify "0.0.0"
url "^0.11.0"
util "^0.10.3"
@@ -3788,8 +3821,8 @@ normalize-path@^2.0.1:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
npmlog@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.1.tgz#d14f503b4cd79710375553004ba96e6662fbc0b8"
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
@@ -3977,8 +4010,8 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
osenv@^0.1.0:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217"
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
@@ -3991,6 +4024,16 @@ output-file-sync@^1.1.0:
mkdirp "^0.5.1"
object-assign "^4.1.0"
+p-limit@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
package-hash@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44"
@@ -4010,6 +4053,12 @@ pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
+param-case@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.0.tgz#2619f90fd6c829ed0b958f1c84ed03a745a6d70a"
+ dependencies:
+ no-case "^2.2.0"
+
parse-asn1@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.0.0.tgz#35060f6d5015d37628c770f4e091a0b5a278bc23"
@@ -4057,6 +4106,10 @@ path-exists@^2.0.0:
dependencies:
pinkie-promise "^2.0.0"
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
path-is-absolute@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -4193,9 +4246,9 @@ power-assert-util-string-width@^1.1.1:
dependencies:
eastasianwidth "^0.1.1"
-pre-commit@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.1.tgz#6c591d1af460b41b36d136a0fe0ff9570b3c5473"
+pre-commit@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6"
dependencies:
cross-spawn "^5.0.1"
spawn-sync "^1.0.15"
@@ -4235,7 +4288,7 @@ process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-process@^0.11.0, process@~0.11.0:
+process@^0.11.0:
version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
@@ -4535,9 +4588,9 @@ reduce-reducers@^0.1.0, reduce-reducers@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.2.tgz#fa1b4718bc5292a71ddd1e5d839c9bea9770f14b"
-redux-actions@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-1.1.0.tgz#df8ec791d9e267544e58a8ba2b72fc5c30afba3b"
+redux-actions@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-1.2.0.tgz#4f421f1aa74c827d5e8abce6c009d5872c4af3e6"
dependencies:
invariant "^2.2.1"
lodash "^4.13.1"
@@ -4801,6 +4854,10 @@ set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+
setprototypeof@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
@@ -5210,11 +5267,11 @@ timed-out@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.0.0.tgz#ff88de96030ce960eabd42487db61d3add229273"
-timers-browserify@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+timers-browserify@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
dependencies:
- process "~0.11.0"
+ setimmediate "^1.0.4"
to-arraybuffer@^1.0.0:
version "1.0.1"
@@ -5251,8 +5308,8 @@ tunnel-agent@~0.4.1:
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.4"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.4.tgz#8c9dbfb52795686f166cd2023794bcf103d13c2b"
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
type-check@~0.3.2:
version "0.3.2"
@@ -5477,9 +5534,9 @@ webpack-dev-server@^1.16.2:
supports-color "^3.1.1"
webpack-dev-middleware "^1.4.0"
-webpack-shell-plugin@^0.4.9:
- version "0.4.9"
- resolved "https://registry.yarnpkg.com/webpack-shell-plugin/-/webpack-shell-plugin-0.4.9.tgz#415f009d43b36cd95d50059fa009b5a45cfbc1b4"
+webpack-shell-plugin@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/webpack-shell-plugin/-/webpack-shell-plugin-0.5.0.tgz#29b8a1d80ddeae0ddb10e729667f728653c2c742"
webpack-sources@^0.1.0:
version "0.1.3"
@@ -5489,20 +5546,22 @@ webpack-sources@^0.1.0:
source-map "~0.5.3"
webpack@^2.1.0-beta.25:
- version "2.1.0-beta.27"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.1.0-beta.27.tgz#06cb802e44118159e46b7533ae76b0d84c8c89d8"
+ version "2.1.0-beta.28"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.1.0-beta.28.tgz#8f9402c05bae04ab8d3918489b3547544a2e2641"
dependencies:
acorn "^4.0.3"
+ acorn-dynamic-import "^2.0.0"
ajv "^4.7.0"
ajv-keywords "^1.1.1"
async "^2.1.2"
enhanced-resolve "^2.2.0"
interpret "^1.0.0"
+ json-loader "^0.5.4"
loader-runner "^2.2.0"
loader-utils "^0.2.16"
memory-fs "~0.3.0"
mkdirp "~0.5.0"
- node-libs-browser "^1.0.0"
+ node-libs-browser "^2.0.0"
object-assign "^4.0.1"
source-map "^0.5.3"
supports-color "^3.1.0"
diff --git a/yarn.lock b/yarn.lock
index 284612ad..7e101b1e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1,7 +1,5 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
-
-
argparse@^1.0.7:
version "1.0.9"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
@@ -32,7 +30,7 @@ events-to-array@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.0.2.tgz#b3484465534fe4ff66fbdd1a83b777713ba404aa"
-husky:
+husky@^0.11.9:
version "0.11.9"
resolved "https://registry.yarnpkg.com/husky/-/husky-0.11.9.tgz#28cd1dc16bffdca1d4d93592814e5f3c327b38ee"
dependencies:
@@ -54,8 +52,8 @@ isarray@~1.0.0:
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
js-yaml@^3.2.7:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
dependencies:
argparse "^1.0.7"
esprima "^2.6.0"
@@ -76,9 +74,9 @@ process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-readable-stream@^2:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+readable-stream@^2, readable-stream@^2.1.5:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"
dependencies:
buffer-shims "^1.0.0"
core-util-is "~1.0.0"
@@ -88,17 +86,6 @@ readable-stream@^2:
string_decoder "~0.10.x"
util-deprecate "~1.0.1"
-readable-stream@~2.0.0:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "~1.0.0"
- process-nextick-args "~1.0.6"
- string_decoder "~0.10.x"
- util-deprecate "~1.0.1"
-
sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -117,7 +104,7 @@ tap-parser@~1.2.2:
optionalDependencies:
readable-stream "^2"
-tap-xunit:
+tap-xunit@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/tap-xunit/-/tap-xunit-1.4.0.tgz#f7c49221905914f100c5ca1463e734e8f1116d93"
dependencies:
@@ -129,11 +116,11 @@ tap-xunit:
xtend "~4.0.0"
through2@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9"
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
dependencies:
- readable-stream "~2.0.0"
- xtend "~4.0.0"
+ readable-stream "^2.1.5"
+ xtend "~4.0.1"
util-deprecate@~1.0.1:
version "1.0.2"
@@ -145,6 +132,7 @@ xmlbuilder@~4.1.0:
dependencies:
lodash "^3.5.0"
-xtend@~4.0.0:
+xtend@~4.0.0, xtend@~4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+