diff --git a/frontend/.babelrc b/frontend/.babelrc index 0a1ffbe7..af980ebc 100644 --- a/frontend/.babelrc +++ b/frontend/.babelrc @@ -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 ] } } diff --git a/frontend/package.json b/frontend/package.json index 5ac095e7..90b3e6f9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -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" }, diff --git a/frontend/src/components/article/index.js b/frontend/src/components/article/index.js index 330d3610..c0562963 100644 --- a/frontend/src/components/article/index.js +++ b/frontend/src/components/article/index.js @@ -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; diff --git a/frontend/src/containers/app.js b/frontend/src/containers/app.js index 2bf3c3bd..f5e2f594 100644 --- a/frontend/src/containers/app.js +++ b/frontend/src/containers/app.js @@ -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() { diff --git a/frontend/src/containers/project/people.js b/frontend/src/containers/project/people.js index c3e18d8e..498e4ab3 100644 --- a/frontend/src/containers/project/people.js +++ b/frontend/src/containers/project/people.js @@ -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) }); diff --git a/frontend/src/index.js b/frontend/src/index.js index 98ef8315..9aaff0b0 100644 --- a/frontend/src/index.js +++ b/frontend/src/index.js @@ -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( - , + + + + + + + , document.getElementById('root') ); diff --git a/frontend/src/root.js b/frontend/src/root.js deleted file mode 100644 index ea676ca8..00000000 --- a/frontend/src/root.js +++ /dev/null @@ -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 () => ( - - - - - - - -); diff --git a/frontend/src/state/actions.js b/frontend/src/state/actions.js index 2f9473d3..874b29d5 100644 --- a/frontend/src/state/actions.js +++ b/frontend/src/state/actions.js @@ -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 = diff --git a/frontend/src/state/reducers/app.js b/frontend/src/state/reducers/app.js deleted file mode 100644 index dd55400b..00000000 --- a/frontend/src/state/reducers/app.js +++ /dev/null @@ -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 - }; - } -}, {}); diff --git a/frontend/src/state/reducers/index.js b/frontend/src/state/reducers/index.js index 5a564107..286f8684 100644 --- a/frontend/src/state/reducers/index.js +++ b/frontend/src/state/reducers/index.js @@ -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, diff --git a/frontend/test/actions/index.js b/frontend/test/actions/index.js index 57199cd9..ac0ae334 100644 --- a/frontend/test/actions/index.js +++ b/frontend/test/actions/index.js @@ -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]' +// } +// })); diff --git a/frontend/webpack/base.js b/frontend/webpack/base.js index 86f37fd6..bcc17e57 100644 --- a/frontend/webpack/base.js +++ b/frontend/webpack/base.js @@ -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 - // ] }] } }; diff --git a/frontend/webpack/development.js b/frontend/webpack/development.js index 9dae8fad..8776ef56 100644 --- a/frontend/webpack/development.js +++ b/frontend/webpack/development.js @@ -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', diff --git a/frontend/webpack/plugins.js b/frontend/webpack/plugins.js index 8bc1c318..2a0e7882 100644 --- a/frontend/webpack/plugins.js +++ b/frontend/webpack/plugins.js @@ -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) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index d9bb98d2..f167b496 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -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" diff --git a/ui/.babelrc b/ui/.babelrc index e661961e..f71dc49f 100644 --- a/ui/.babelrc +++ b/ui/.babelrc @@ -12,7 +12,6 @@ }] ], "plugins": [ - "inline-react-svg", "transform-class-properties", ["transform-object-rest-spread", { "useBuiltIns": true diff --git a/ui/Makefile b/ui/Makefile index 7391ac8c..3483b528 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -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: diff --git a/ui/package.json b/ui/package.json index b9f611f4..6c286176 100644 --- a/ui/package.json +++ b/ui/package.json @@ -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", diff --git a/ui/src/components/base/global.js b/ui/src/components/base/global.js index 91a6d5cc..da0b2222 100644 --- a/ui/src/components/base/global.js +++ b/ui/src/components/base/global.js @@ -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}; } `; diff --git a/ui/src/components/base/index.js b/ui/src/components/base/index.js index 0731f458..46bb7a97 100644 --- a/ui/src/components/base/index.js +++ b/ui/src/components/base/index.js @@ -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 +}; diff --git a/ui/src/components/baseline-grid/index.js b/ui/src/components/baseline-grid/index.js index 29f2939a..dccbbe0a 100644 --- a/ui/src/components/baseline-grid/index.js +++ b/ui/src/components/baseline-grid/index.js @@ -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)}; } `; diff --git a/ui/yarn.lock b/ui/yarn.lock index ce464dcd..cf626e62 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -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"