link dashboard and org pages

This commit is contained in:
Sérgio Ramos 2016-12-13 22:09:04 +00:00
parent 16f0ec6321
commit cd24d8397a
20 changed files with 377 additions and 102 deletions

View File

@ -37,9 +37,8 @@
"regenerator": false
}
],
["babel-plugin-webpack-loaders", {
"config": "${CONFIG}",
"verbose": false
["babel-plugin-webpack-alias", {
"config": "${CONFIG}"
}]
]
}

View File

@ -1,3 +1,4 @@
{
"greetings": "Hello"
"your-dashboard": "Your Dashboard",
"welcome-to": "Welcome to"
}

View File

@ -1,3 +1,4 @@
{
"greetings": "Olá"
"your-dashboard": "O seu painel",
"welcome-to": "Bem vindo a"
}

View File

@ -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"
},

View File

@ -1,6 +1,4 @@
const React = require('react');
const Styled = require('styled-components');
const fns = require('@ui/shared/functions');
const {

View File

@ -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 = () => {
<Container fluid>
<Row>
<Column xs={2}>
<StyledLogo src={logo} />
<Link to='/'>
<StyledLogo src={logo} />
</Link>
</Column>
</Row>
</Container>

View File

@ -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) => {
<App {...props}>
<Header />
<Article>
<Match
component={Home}
exactly
pattern='/'
/>
<Miss
component={NotFound}
/>
<Match component={Home} pattern='/' />
<Miss component={NotFound} />
</Article>
<Footer />
</App>

View File

@ -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 (
<h1>
<FormattedMessage id='your-dashboard' />
</h1>
);
};
module.exports = Dashboard;

View File

@ -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 (
<StyledLi key={to}>
<Link
activeClassName='active'
to={to}
>
{name}
</Link>
</StyledLi>
);
});
return (
<StyledWrapper>
<h1>
<FormattedMessage id='greetings' />
</h1>
</StyledWrapper>
<div>
<StyledNav>
<Container>
<StyledUl>
<StyledLi key={pathname}>
<Link
activeClassName='active'
isActive={isDashboardActive}
to={pathname}
>
<FormattedMessage id='your-dashboard' />
</Link>
</StyledLi>
{navLinks}
</StyledUl>
</Container>
</StyledNav>
<Container>
<Match
exactly
pattern={parent}
render={Dashboard}
/>
<Match
component={Org}
pattern={`${parent}/:org`}
/>
</Container>
</div>
);
};
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);

View File

@ -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 (
<h1>
<FormattedMessage id='welcome-to' />
<span> {params.org}</span>
</h1>
);
};
Org.propTypes = {
params: React.PropTypes.shape({
org: React.PropTypes.string
})
};
module.exports = Org;

View File

@ -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 (
<AppContainer>
<Provider store={store()}>
<Provider store={store}>
<IntlProvider>
<BrowserRouter>
{App}

View File

@ -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')
});
};

View File

@ -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
}, {});

8
frontend/test/_hook.js Normal file
View File

@ -0,0 +1,8 @@
const hook = require('node-hook');
const register = require('babel-register');
hook.hook('.png', () => '');
register({
extensions: ['.js']
});

View File

@ -13,7 +13,7 @@ test('renders <App> without exploding', (t) => {
});
test('renders <Home> without exploding', (t) => {
const Home = require('../src/containers/home');
const Home = require('../src/containers/home').WrappedComponent;
const wrapper = shallow(<Home />);
t.deepEqual(wrapper.length, 1);
});

View File

@ -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'
]
}]
}
};

View File

@ -1,2 +1,3 @@
const NODE_ENV = process.env['NODE_ENV'] || 'development';
module.exports = require(`./${NODE_ENV}`);

View File

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

View File

@ -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"

View File

@ -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"