Master pull

This commit is contained in:
JUDIT GRESKOVITS 2017-02-27 12:56:47 +00:00
commit c33116d745
22 changed files with 153 additions and 180 deletions

View File

@ -1,5 +1,4 @@
{
"sourceMaps": "both",
"presets": [
"react",
["env", {
@ -44,7 +43,7 @@
},
"production": {
"plugins": [
"transform-react-constant-elements"
// "transform-react-constant-elements" enable when #5325 is fixed
]
}
}

View File

@ -39,8 +39,8 @@
"react-a11y": "^0.3.3",
"react-dom": "^15.4.2",
"react-intl": "^2.2.3",
"react-intl-redux": "^0.4.0",
"react-redux": "^5.0.2",
"react-intl-redux": "^0.4.1",
"react-redux": "^5.0.3",
"react-router-dom": "4.0.0-beta.4",
"react-select": "^1.0.0-rc.3",
"reduce-reducers": "^0.1.2",
@ -55,7 +55,6 @@
"reselect": "^2.5.4",
"style-loader": "^0.13.1",
"styled-components": "^1.4.3",
"svg-react-loader": "^0.3.7",
"understood": "^1.0.1",
"url-loader": "^0.5.7"
},

View File

@ -1,11 +1,9 @@
import styled from 'styled-components';
import { colors, breakpoints } from '@ui/shared/constants';
import { unitcalc } from '@ui/shared/functions';
import { breakpoints } from '@ui/shared/constants';
// Main Contonent Wrapper Styles
export default styled.article`
background-color: ${colors.base.background};
padding: ${unitcalc(1)};
padding: 2rem;
${breakpoints.large`
padding: 0;

View File

@ -1,10 +1,8 @@
import React from 'react';
import { connect } from 'react-redux';
import { Switch, Route } from 'react-router-dom';
import { injectGlobal } from 'styled-components';
import { updateRouter } from '@state/actions';
import Article from '@components/article';
import Base from '@ui/components/base';
import Base, { global } from '@ui/components/base';
import BaselineGrid from '@ui/components/baseline-grid';
import Footer from '@components/footer';
import Header from '@containers/header';
@ -12,27 +10,15 @@ import Home from '@containers/home';
import NotFound from '@containers/not-found';
import Nav from '@components/navigation';
import OrgNavigation from '@components/navigation/org';
import React from 'react';
const App = connect()(React.createClass({
displayName: 'App',
propTypes: {
children: React.PropTypes.node,
dispatch: React.PropTypes.func,
router: React.PropTypes.object
children: React.PropTypes.node
},
componentWillMount: function() {
const {
router,
dispatch
} = this.props;
// ugly hack needed because of a limitation of react-router api
// that doens't pass it's instance to matched routes
// wait for react-router-redux@5
dispatch(updateRouter(router));
injectGlobal`
${Base.global}
${global}
`;
},
render: function() {

View File

@ -26,11 +26,13 @@ const People = (props) => (
);
const mapStateToProps = (state, {
params = {}
match = {
params: {}
}
}) => ({
people: peopleByProjectIdSelector(params.projectId)(state),
people: peopleByProjectIdSelector(match.params.projectId)(state),
UI: projectUISelector(state),
parentIndex: projectIndexByIdSelect(params.projectId)(state),
parentIndex: projectIndexByIdSelect(match.params.projectId)(state),
platformMembers: membersSelector(state)
});

View File

@ -1,7 +1,13 @@
import { IntlProvider } from 'react-intl-redux';
import { BrowserRouter } from 'react-router-dom';
import { Provider } from 'react-redux';
import a11y from 'react-a11y';
import ReactDOM from 'react-dom';
import React from 'react';
import Root from './root';
import App from '@containers/app';
import MockState from './mock-state.json';
import Store from '@state/store';
if (process.env.NODE_ENV !== 'production') {
a11y(React, {
@ -10,6 +16,12 @@ if (process.env.NODE_ENV !== 'production') {
}
ReactDOM.render(
<Root />,
<Provider store={Store(MockState)}>
<IntlProvider>
<BrowserRouter>
<App />
</BrowserRouter>
</IntlProvider>
</Provider>,
document.getElementById('root')
);

View File

@ -1,18 +0,0 @@
import React from 'react';
import { IntlProvider } from 'react-intl-redux';
import { Provider } from 'react-redux';
import { BrowserRouter } from 'react-router-dom';
import App from '@containers/app';
import Store from '@state/store';
import MockState from './mock-state.json';
export default () => (
<Provider store={Store(MockState)}>
<IntlProvider>
<BrowserRouter>
<App />
</BrowserRouter>
</IntlProvider>
</Provider>
);

View File

@ -36,8 +36,6 @@ export const orgRemoveMember =
/*********************************** OTHER ***********************************/
export const updateRouter =
createAction(`${APP}/UPDATE_ROUTER`);
export const toggleHeaderTooltip =
createAction(`${APP}/TOGGLE_HEADER_TOOLTIP`);
export const toggleServiceCollapsed =

View File

@ -1,11 +0,0 @@
import { handleActions } from 'redux-actions';
import { updateRouter } from '@state/actions';
export default handleActions({
[updateRouter.toString()]: (state, action) => {
return {
...state,
router: action.payload
};
}
}, {});

View File

@ -2,7 +2,6 @@ import { combineReducers } from 'redux';
import { reducer as form } from 'redux-form';
import account from '@state/reducers/account';
import app from '@state/reducers/app';
import instances from '@state/reducers/instances';
import intl from '@state/reducers/intl';
import metrics from '@state/reducers/metrics';
@ -15,7 +14,7 @@ import members from '@state/reducers/members';
export default () => {
return combineReducers({
account,
app,
app: (state = {}) => state,
datacenters: (state = {}) => state,
form,
instances,

View File

@ -1,25 +1,27 @@
const ReduxAva = require('redux-ava');
// const ReduxAva = require('redux-ava');
const test = require('ava');
//
// const actions = require('@state/actions');
//
// const {
// actionTest
// } = ReduxAva;
//
// const {
// updateRouter
// } = actions;
const actions = require('@state/actions');
const {
actionTest
} = ReduxAva;
const {
updateRouter
} = actions;
test('updateRouter action', actionTest(updateRouter, {
type: '/UPDATE_ROUTER'
}));
test('updateRouter action', actionTest(updateRouter, {
transitionTo: '[Function]'
}, {
type: '/UPDATE_ROUTER',
payload: {
transitionTo: '[Function]'
}
}));
test('test action', (t) => t.deepEqual(1, 1));
//
// test('updateRouter action', actionTest(updateRouter, {
// type: '/UPDATE_ROUTER'
// }));
//
// test('updateRouter action', actionTest(updateRouter, {
// transitionTo: '[Function]'
// }, {
// type: '/UPDATE_ROUTER',
// payload: {
// transitionTo: '[Function]'
// }
// }));

View File

@ -9,8 +9,7 @@ const {
MODULES,
FRONTEND,
UI,
STATIC,
ESLINT
STATIC
} = paths;
module.exports = {
@ -39,23 +38,14 @@ module.exports = {
},
plugins: [
plugins['define'](),
plugins['shell']()
plugins['shell'](),
plugins['named-modules'](),
plugins['case-sensitive-paths']()
],
module: {
rules: [{
test: /js?$/,
enforce: 'pre',
use: [{
loader: 'eslint-loader',
options: {
configFile: ESLINT
}
}],
include: [
FRONTEND,
UI
]
}, {
loader: 'url-loader',
exclude: [
/\.html$/,
/\.(js|jsx)$/,
@ -64,7 +54,6 @@ module.exports = {
/\.svg$/,
/\.(eot|svg|ttf|woff|woff2)$/
],
loader: 'url-loader',
include: [
FRONTEND,
UI
@ -74,48 +63,32 @@ module.exports = {
}
}, {
test: /js?$/,
loader: 'babel-loader',
exclude: /node_modules/,
include: [
FRONTEND,
UI
],
loaders: [
'babel-loader'
]
}, {
test: /\.svg/,
loader: 'file-loader',
exclude: [
/node_modules/,
path.join(UI, 'shared', 'fonts')
path.join(UI, 'assets', 'fonts')
],
include: [
FRONTEND,
UI
],
loader: [
'file-loader'
]
}, {
test: /\.(eot|svg|ttf|woff|woff2)$/,
loader: 'file-loader',
// XXX: By commenting this out, production "BUILD=production make compile"
// will break.
//
// exclude: /node_modules/,
include: [
path.join(UI, 'shared', 'fonts')
path.join(UI, 'assets', 'fonts')
]
}, {
test: /\.css$/,
loader: 'style-loader!css-loader'
// XXX: Commenting out breaks node_modules that use css
// i.e react-select.
// exclude: /node_modules/,
// include: [
// FRONTEND,
// UI
// ]
}]
}
};

View File

@ -1,6 +1,13 @@
// const graphql = require('../../cloudapi-graphql/src/endpoint');
const plugins = require('./plugins');
const base = require('./base');
const paths = require('./paths');
const {
FRONTEND,
UI,
ESLINT
} = paths;
const devServer = {
hot: true,
@ -21,16 +28,30 @@ const devServer = {
};
module.exports = Object.assign(base, {
devtool: 'cheap-module-source-map',
devtool: 'eval-source-map',
entry: [
'react-dev-utils/webpackHotDevClient',
base.entry
],
module: {
rules: base.module.rules.concat([{
test: /js?$/,
enforce: 'pre',
use: [{
loader: 'eslint-loader',
options: {
configFile: ESLINT
}
}],
include: [
FRONTEND,
UI
]
}])
},
plugins: base.plugins.concat([
plugins['named-modules'](),
plugins['hot-module-replacement'](),
plugins['watch-missing-node-modules'](),
plugins['case-sensitive-paths']()
plugins['watch-missing-node-modules']()
]),
node: {
fs: 'empty',

View File

@ -27,6 +27,7 @@ module.exports = {
'named-modules': () => new webpack.NamedModulesPlugin(),
'define': () => new webpack.DefinePlugin({
'process.env': {
BASELINE_GRID: JSON.stringify(process.env.BASELINE_GRID),
NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development'),
APP_NAME: JSON.stringify(pkg.name),
APP_VERSION: JSON.stringify(pkg.version)

View File

@ -33,8 +33,8 @@
esutils "^2.0.2"
"@tomgco/joyent-portal-ui@alpha":
version "0.0.1-815"
resolved "https://registry.yarnpkg.com/@tomgco/joyent-portal-ui/-/joyent-portal-ui-0.0.1-815.tgz#a65a67647caa8f2b1a21a528633b806fc62fb13d"
version "0.0.1-842"
resolved "https://registry.yarnpkg.com/@tomgco/joyent-portal-ui/-/joyent-portal-ui-0.0.1-842.tgz#ecbc0476412b9c4884527e7b47a4a1b27061d097"
dependencies:
build-array "^1.0.0"
camel-case "^3.0.0"
@ -1275,8 +1275,8 @@ babel-types@^6.14.0, babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.19
to-fast-properties "^1.0.1"
babylon@^6.1.0, babylon@^6.10.0, babylon@^6.11.0, babylon@^6.12.0, babylon@^6.13.0, babylon@^6.15.0, babylon@^6.3.26:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
balanced-match@^0.4.0, balanced-match@^0.4.1, balanced-match@^0.4.2:
version "0.4.2"
@ -1548,8 +1548,8 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.3.0"
caniuse-db@^1.0.30000187, caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000624:
version "1.0.30000624"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000624.tgz#554b87547895e36f5fe128f4b7448a2ea5bf2213"
version "1.0.30000626"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000626.tgz#44363dc86857efaf758fea9faef6a15ed93d8f33"
capture-stack-trace@^1.0.0:
version "1.0.0"
@ -1974,8 +1974,8 @@ convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3"
convert-to-spaces@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.1.tgz#df97c15b6d061375cc4f3efe01bfc1f4d2a83ad6"
version "1.0.2"
resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715"
cookie-signature@1.0.6:
version "1.0.6"
@ -3028,8 +3028,8 @@ esprima@^3.1.1:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
espurify@^1.6.0:
version "1.6.1"
resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.1.tgz#a618c3b320071a4e9e7136c5d78717cdd07020da"
version "1.7.0"
resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226"
dependencies:
core-js "^2.0.0"
@ -5773,8 +5773,8 @@ postcss-scss@^0.4.0:
postcss "^5.2.13"
postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1, postcss-selector-parser@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz#3d70f5adda130da51c7c0c2fc023f56b1374fe08"
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
dependencies:
flatten "^1.0.2"
indexes-of "^1.0.1"
@ -6037,9 +6037,9 @@ react-input-autosize@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-1.1.0.tgz#3fe1ac832387d8abab85f6051ceab1c9e5570853"
react-intl-redux@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/react-intl-redux/-/react-intl-redux-0.4.0.tgz#2bb3111ac2da7b273eb2889950b22d6064bf9dfb"
react-intl-redux@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/react-intl-redux/-/react-intl-redux-0.4.1.tgz#27fcc1967a7cae3ec467394745bb3b479c5c9c71"
dependencies:
warning "^3.0.0"
@ -6052,9 +6052,9 @@ react-intl@^2.2.3:
intl-relativeformat "^1.3.0"
invariant "^2.1.1"
react-redux@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.2.tgz#3d9878f5f71c6fafcd45de1fbb162ea31f389814"
react-redux@^5.0.2, react-redux@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.3.tgz#86c3b68d56e74294a42e2a740ab66117ef6c019f"
dependencies:
hoist-non-react-statics "^1.0.3"
invariant "^2.0.0"
@ -6437,8 +6437,10 @@ resolve-pathname@^2.0.0:
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.0.2.tgz#e55c016eb2e9df1de98e85002282bfb38c630436"
resolve@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
version "1.3.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.1.tgz#5d0a1632609b6b00a22284293db1d5d973676314"
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
@ -6465,8 +6467,8 @@ right-align@^0.1.1:
align-text "^0.1.1"
rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.0, rimraf@^2.5.4, rimraf@2:
version "2.6.0"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"

View File

@ -12,7 +12,6 @@
}]
],
"plugins": [
"inline-react-svg",
"transform-class-properties",
["transform-object-rest-spread", {
"useBuiltIns": true

View File

@ -42,7 +42,7 @@ install-production: compile
compile: install
mkdir -p dist
cp -R src/. dist/.
$(bindir)/babel src --out-dir dist --source-maps inline
$(bindir)/babel src --out-dir dist --source-maps inline --plugins=inline-react-svg
.PHONY: build
build:

View File

@ -36,7 +36,7 @@
"react": "^15.4.2",
"react-broadcast": "^0.1.2",
"react-dom": "^15.4.2",
"react-redux": "^5.0.2",
"react-redux": "^5.0.3",
"react-router-dom": "4.0.0-beta.4",
"react-select": "^1.0.0-rc.3",
"reduce-css-calc": "^1.3.0",

View File

@ -1,4 +1,5 @@
import { css } from 'styled-components';
import { colors } from '../../shared/constants';
import eotRegular from '../../assets/fonts/librefranklin-regular-webfont.eot';
import woffRegular from '../../assets/fonts/librefranklin-regular-webfont.woff';
@ -70,6 +71,7 @@ const fontFaces = fonts.map(({
url('${filenames.svg}#${family}') format('svg');
font-weight: ${weight};
font-style: ${style};
}
`);
export default css`
@ -78,5 +80,6 @@ export default css`
html, body {
font-size: 16px;
margin: 0;
background: ${colors.base.background};
}
`;

View File

@ -1,5 +1,6 @@
import { colors } from '../../shared/constants';
import styled from 'styled-components';
import global from './global';
import {
libreFranklin,
@ -16,3 +17,7 @@ export default styled.div`
${bodyColor}
${regular}
`;
export {
global
};

View File

@ -1,5 +1,6 @@
import React from 'react';
import { Baseline } from '../../shared/composers';
import { unitcalc } from '../../shared/functions';
import styled from 'styled-components';
const StyledBaselineBackground = styled.div`
@ -24,7 +25,7 @@ const StyledBaselineBackground = styled.div`
transparent 50%,
transparent
);
background-size: 100% 6px;
background-size: 100% ${unitcalc(1)};
}
`;

View File

@ -218,9 +218,9 @@ ansi-escapes@^1.1.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
ansi-html@0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.6.tgz#bda8e33dd2ee1c20f54c08eb405713cbfc0ed80e"
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
ansi-regex@^2.0.0:
version "2.1.1"
@ -1332,8 +1332,8 @@ babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19
to-fast-properties "^1.0.1"
babylon@^6.1.0, babylon@^6.10.0, babylon@^6.11.0, babylon@^6.12.0, babylon@^6.13.0, babylon@^6.15.0:
version "6.15.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e"
version "6.16.1"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
babylon@~5.8.3:
version "5.8.38"
@ -1543,8 +1543,8 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.3.0"
caniuse-db@^1.0.30000187, caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000624:
version "1.0.30000624"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000624.tgz#554b87547895e36f5fe128f4b7448a2ea5bf2213"
version "1.0.30000626"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000626.tgz#44363dc86857efaf758fea9faef6a15ed93d8f33"
capture-stack-trace@^1.0.0:
version "1.0.0"
@ -1917,8 +1917,8 @@ convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3"
convert-to-spaces@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.1.tgz#df97c15b6d061375cc4f3efe01bfc1f4d2a83ad6"
version "1.0.2"
resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz#7e3e48bbe6d997b1417ddca2868204b4d3d85715"
cookie-signature@1.0.6:
version "1.0.6"
@ -2869,8 +2869,8 @@ esprima@^3.1.1, esprima@~3.1.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
espurify@^1.6.0:
version "1.6.1"
resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.1.tgz#a618c3b320071a4e9e7136c5d78717cdd07020da"
version "1.7.0"
resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.7.0.tgz#1c5cf6cbccc32e6f639380bd4f991fab9ba9d226"
dependencies:
core-js "^2.0.0"
@ -3209,8 +3209,8 @@ function.prototype.name@^1.0.0:
is-callable "^1.1.2"
fuse.js@^2.2.0:
version "2.6.1"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-2.6.1.tgz#d118e00f9a859f7b354ed4f7740214249e32a57a"
version "2.6.2"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-2.6.2.tgz#d5d994fda96f543b5a51df38b72cec9cc60d9dea"
fuzzysearch@^1.0.3:
version "1.0.3"
@ -5393,8 +5393,8 @@ postcss-scss@^0.4.0:
postcss "^5.2.13"
postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.1.1, postcss-selector-parser@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.2.tgz#3d70f5adda130da51c7c0c2fc023f56b1374fe08"
version "2.2.3"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
dependencies:
flatten "^1.0.2"
indexes-of "^1.0.1"
@ -5676,9 +5676,9 @@ react-modal@^1.2.0, react-modal@^1.2.1:
exenv "1.2.0"
lodash.assign "^4.2.0"
react-redux@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.2.tgz#3d9878f5f71c6fafcd45de1fbb162ea31f389814"
react-redux@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.3.tgz#86c3b68d56e74294a42e2a740ab66117ef6c019f"
dependencies:
hoist-non-react-statics "^1.0.3"
invariant "^2.0.0"
@ -6046,8 +6046,10 @@ resolve-pathname@^2.0.0:
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.0.2.tgz#e55c016eb2e9df1de98e85002282bfb38c630436"
resolve@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
version "1.3.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.1.tgz#5d0a1632609b6b00a22284293db1d5d973676314"
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
@ -6074,8 +6076,8 @@ right-align@^0.1.1:
align-text "^0.1.1"
rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4, rimraf@2:
version "2.6.0"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.0.tgz#89b8a0fe432b9ff9ec9a925a00b6cdb3a91bbada"
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
@ -7001,10 +7003,10 @@ webpack-dev-middleware@^1.6.0:
range-parser "^1.0.3"
webpack-hot-middleware@^2.13.2:
version "2.17.0"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.17.0.tgz#5af55fd2bc2f9a4392edd553f2a0fbebd4d75e78"
version "2.17.1"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz#0c8fbf6f93ff29c095d684b07ab6d6c0f2f951d7"
dependencies:
ansi-html "0.0.6"
ansi-html "0.0.7"
html-entities "^1.2.0"
querystring "^0.2.0"
strip-ansi "^3.0.0"