From ca324345351e9905f06a742717776dbd36018be9 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 28 Feb 2019 20:01:06 -0800 Subject: [PATCH] Update redux, reselect and moved to connected-react-router --- .../AddNewSeries/AddNewSeriesConnector.js | 2 +- .../ImportSeriesSelectFolderConnector.js | 2 +- frontend/src/App/App.js | 2 +- .../Page/Header/SeriesSearchInputConnector.js | 2 +- .../Details/SeriesDetailsPageConnector.js | 2 +- .../Definition/QualityDefinitionsConnector.js | 2 +- .../{reducers.js => createReducers.js} | 15 +- frontend/src/Store/Middleware/middlewares.js | 2 +- frontend/src/Store/createAppStore.js | 4 +- package.json | 12 +- yarn.lock | 131 +++++++++--------- 11 files changed, 88 insertions(+), 88 deletions(-) rename frontend/src/Store/Actions/{reducers.js => createReducers.js} (61%) diff --git a/frontend/src/AddSeries/AddNewSeries/AddNewSeriesConnector.js b/frontend/src/AddSeries/AddNewSeries/AddNewSeriesConnector.js index 9374fb54e..332e9322a 100644 --- a/frontend/src/AddSeries/AddNewSeries/AddNewSeriesConnector.js +++ b/frontend/src/AddSeries/AddNewSeries/AddNewSeriesConnector.js @@ -10,7 +10,7 @@ import AddNewSeries from './AddNewSeries'; function createMapStateToProps() { return createSelector( (state) => state.addSeries, - (state) => state.routing.location, + (state) => state.router.location, (addSeries, location) => { const { params } = parseUrl(location.search); diff --git a/frontend/src/AddSeries/ImportSeries/SelectFolder/ImportSeriesSelectFolderConnector.js b/frontend/src/AddSeries/ImportSeries/SelectFolder/ImportSeriesSelectFolderConnector.js index 50f723d4e..5ef79ec4e 100644 --- a/frontend/src/AddSeries/ImportSeries/SelectFolder/ImportSeriesSelectFolderConnector.js +++ b/frontend/src/AddSeries/ImportSeries/SelectFolder/ImportSeriesSelectFolderConnector.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; -import { push } from 'react-router-redux'; +import { push } from 'connected-react-router'; import createSystemStatusSelector from 'Store/Selectors/createSystemStatusSelector'; import { fetchRootFolders, addRootFolder } from 'Store/Actions/rootFolderActions'; import ImportSeriesSelectFolder from './ImportSeriesSelectFolder'; diff --git a/frontend/src/App/App.js b/frontend/src/App/App.js index a05ff1fc6..2baaf9fe9 100644 --- a/frontend/src/App/App.js +++ b/frontend/src/App/App.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import React from 'react'; import DocumentTitle from 'react-document-title'; import { Provider } from 'react-redux'; -import { ConnectedRouter } from 'react-router-redux'; +import { ConnectedRouter } from 'connected-react-router'; import PageConnector from 'Components/Page/PageConnector'; import AppRoutes from './AppRoutes'; diff --git a/frontend/src/Components/Page/Header/SeriesSearchInputConnector.js b/frontend/src/Components/Page/Header/SeriesSearchInputConnector.js index eef0b6706..604302318 100644 --- a/frontend/src/Components/Page/Header/SeriesSearchInputConnector.js +++ b/frontend/src/Components/Page/Header/SeriesSearchInputConnector.js @@ -1,5 +1,5 @@ import { connect } from 'react-redux'; -import { push } from 'react-router-redux'; +import { push } from 'connected-react-router'; import { createSelector } from 'reselect'; import createAllSeriesSelector from 'Store/Selectors/createAllSeriesSelector'; import createTagsSelector from 'Store/Selectors/createTagsSelector'; diff --git a/frontend/src/Series/Details/SeriesDetailsPageConnector.js b/frontend/src/Series/Details/SeriesDetailsPageConnector.js index bf440a532..d9905ad53 100644 --- a/frontend/src/Series/Details/SeriesDetailsPageConnector.js +++ b/frontend/src/Series/Details/SeriesDetailsPageConnector.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; -import { push } from 'react-router-redux'; +import { push } from 'connected-react-router'; import createAllSeriesSelector from 'Store/Selectors/createAllSeriesSelector'; import NotFound from 'Components/NotFound'; import SeriesDetailsConnector from './SeriesDetailsConnector'; diff --git a/frontend/src/Settings/Quality/Definition/QualityDefinitionsConnector.js b/frontend/src/Settings/Quality/Definition/QualityDefinitionsConnector.js index c2f830afd..b7a36fe72 100644 --- a/frontend/src/Settings/Quality/Definition/QualityDefinitionsConnector.js +++ b/frontend/src/Settings/Quality/Definition/QualityDefinitionsConnector.js @@ -89,4 +89,4 @@ QualityDefinitionsConnector.propTypes = { onChildStateChange: PropTypes.func.isRequired }; -export default connect(createMapStateToProps, mapDispatchToProps, null, { withRef: true })(QualityDefinitionsConnector); +export default connect(createMapStateToProps, mapDispatchToProps, null)(QualityDefinitionsConnector); diff --git a/frontend/src/Store/Actions/reducers.js b/frontend/src/Store/Actions/createReducers.js similarity index 61% rename from frontend/src/Store/Actions/reducers.js rename to frontend/src/Store/Actions/createReducers.js index 0254cd226..11928e4d2 100644 --- a/frontend/src/Store/Actions/reducers.js +++ b/frontend/src/Store/Actions/createReducers.js @@ -1,13 +1,10 @@ import { combineReducers } from 'redux'; import { enableBatching } from 'redux-batched-actions'; -import { routerReducer } from 'react-router-redux'; import actions from 'Store/Actions'; +import { connectRouter } from 'connected-react-router'; const defaultState = {}; - -const reducers = { - routing: routerReducer -}; +const reducers = {}; actions.forEach((action) => { const section = action.section; @@ -17,4 +14,10 @@ actions.forEach((action) => { }); export { defaultState }; -export default enableBatching(combineReducers(reducers)); + +export default function(history) { + return enableBatching(combineReducers({ + ...reducers, + router: connectRouter(history) + })); +} diff --git a/frontend/src/Store/Middleware/middlewares.js b/frontend/src/Store/Middleware/middlewares.js index 59937bc45..119743b23 100644 --- a/frontend/src/Store/Middleware/middlewares.js +++ b/frontend/src/Store/Middleware/middlewares.js @@ -1,6 +1,6 @@ import { applyMiddleware, compose } from 'redux'; import thunk from 'redux-thunk'; -import { routerMiddleware } from 'react-router-redux'; +import { routerMiddleware } from 'connected-react-router'; import createSentryMiddleware from './createSentryMiddleware'; import createPersistState from './createPersistState'; diff --git a/frontend/src/Store/createAppStore.js b/frontend/src/Store/createAppStore.js index e05c80323..4fef265f1 100644 --- a/frontend/src/Store/createAppStore.js +++ b/frontend/src/Store/createAppStore.js @@ -1,10 +1,10 @@ import { createStore } from 'redux'; -import reducers, { defaultState } from 'Store/Actions/reducers'; +import createReducers, { defaultState } from 'Store/Actions/createReducers'; import middlewares from 'Store/Middleware/middlewares'; function createAppStore(history) { const appStore = createStore( - reducers, + createReducers(history), defaultState, middlewares(history) ); diff --git a/package.json b/package.json index 44f5e4174..cf4a65f6d 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "babel-preset-stage-2": "6.24.1", "classnames": "2.2.6", "clipboard": "2.0.4", + "connected-react-router": "6.3.1", "create-react-class": "15.6.3", "css-loader": "0.28.9", "del": "3.0.0", @@ -85,21 +86,20 @@ "react-google-recaptcha": "1.0.5", "react-lazyload": "2.5.0", "react-measure": "1.4.7", - "react-redux": "5.0.7", + "react-redux": "6.0.1", "react-router-dom": "4.3.1", - "react-router-redux": "5.0.0-alpha.6", "react-slider": "0.11.2", "react-tabs": "3.0.0", "react-tether": "1.0.1", "react-text-truncate": "0.14.0", "react-virtualized": "9.21.0", - "redux": "4.0.0", - "redux-actions": "2.6.1", - "redux-batched-actions": "0.4.0", + "redux": "4.0.1", + "redux-actions": "2.6.4", + "redux-batched-actions": "0.4.1", "redux-localstorage": "0.4.1", "redux-thunk": "2.3.0", "require-nocache": "1.0.0", - "reselect": "3.0.1", + "reselect": "4.0.0", "run-sequence": "2.2.1", "signalr": "2.4.0", "streamqueue": "1.1.2", diff --git a/yarn.lock b/yarn.lock index c1429f2ed..4a722fc97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -86,7 +86,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.4.tgz#a43357e4bbf4b92a437fb9e465c192848287f27c" integrity sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ== -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1": version "7.3.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== @@ -2061,6 +2061,14 @@ concat-with-sourcemaps@^1.0.0: dependencies: source-map "^0.6.1" +connected-react-router@6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.3.1.tgz#b68e505cca553ce9b6a179d4166cf43b948c85bf" + integrity sha512-nhuQiLOAQlCgkCypGSUhycgaqqTh2IUwVFvzw2y13v8JqB92yTk3yeAKG6X1b0IcD7S4gQizYbjgejf7DJjbyw== + dependencies: + immutable "^3.8.1" + seamless-immutable "^7.1.3" + console-browserify@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" @@ -4100,7 +4108,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -history@4.7.2, history@^4.5.1, history@^4.7.2: +history@4.7.2, history@^4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b" integrity sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA== @@ -4125,7 +4133,7 @@ hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0: +hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== @@ -4240,6 +4248,11 @@ ignore@^5.0.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.5.tgz#c663c548d6ce186fb33616a8ccb5d46e56bdbbf9" integrity sha512-kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA== +immutable@^3.8.1: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -4347,7 +4360,7 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -invariant@^2.0.0, invariant@^2.1.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: +invariant@^2.1.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -4854,6 +4867,11 @@ jsx-ast-utils@^2.0.1: dependencies: array-includes "^3.0.3" +just-curry-it@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/just-curry-it/-/just-curry-it-3.1.0.tgz#ab59daed308a58b847ada166edd0a2d40766fbc5" + integrity sha512-mjzgSOFzlrurlURaHVjnQodyPNvrHrf1TbQP2XU9NSqBtHQPuHZ+Eb6TAJP7ASeJN9h9K0KXoRTs8u6ouHBKvg== + kind-of@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" @@ -4974,11 +4992,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash-es@^4.17.5: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0" - integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q== - lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" @@ -5039,11 +5052,6 @@ lodash.clone@^4.3.2: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.curry@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= - lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -5138,7 +5146,7 @@ lodash.upperfirst@4.3.1: resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" integrity sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984= -lodash@4.17.11, lodash@^4.11.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5: +lodash@4.17.11, lodash@^4.11.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -6770,7 +6778,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@15.7.2, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2: +prop-types@15.7.2, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -7009,7 +7017,7 @@ react-google-recaptcha@1.0.5: prop-types "^15.5.0" react-async-script "^1.0.0" -react-is@^16.7.0, react-is@^16.8.1: +react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.2: version "16.8.3" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.3.tgz#4ad8b029c2a718fc0cfc746c8d4e1b7221e5387d" integrity sha512-Y4rC1ZJmsxxkkPuMLwvKvlL1Zfpbcu+Bf4ZigkHup3v9EfdYhAlWAaVyA19olXq2o2mGn0w+dFKvk3pVVlYcIA== @@ -7033,17 +7041,17 @@ react-measure@1.4.7: prop-types "^15.5.4" resize-observer-polyfill "^1.4.1" -react-redux@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8" - integrity sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg== +react-redux@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-6.0.1.tgz#0d423e2c1cb10ada87293d47e7de7c329623ba4d" + integrity sha512-T52I52Kxhbqy/6TEfBv85rQSDz6+Y28V/pf52vDWs1YRXG19mcFOGfHnY2HsNFHyhP+ST34Aih98fvt6tqwVcQ== dependencies: - hoist-non-react-statics "^2.5.0" - invariant "^2.0.0" - lodash "^4.17.5" - lodash-es "^4.17.5" - loose-envify "^1.1.0" - prop-types "^15.6.0" + "@babel/runtime" "^7.3.1" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^16.8.2" react-router-dom@4.3.1: version "4.3.1" @@ -7057,16 +7065,7 @@ react-router-dom@4.3.1: react-router "^4.3.1" warning "^4.0.1" -react-router-redux@5.0.0-alpha.6: - version "5.0.0-alpha.6" - resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.6.tgz#7418663c2ecd3c51be856fcf28f3d1deecc1a576" - integrity sha1-dBhmPC7NPFG+hW/PKPPR3uzBpXY= - dependencies: - history "^4.5.1" - prop-types "^15.5.4" - react-router "^4.1.1" - -react-router@^4.1.1, react-router@^4.3.1: +react-router@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e" integrity sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg== @@ -7272,25 +7271,26 @@ reduce-function-call@^1.0.1: dependencies: balanced-match "^0.4.2" -reduce-reducers@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.5.tgz#ff77ca8068ff41007319b8b4b91533c7e0e54576" - integrity sha512-uoVmQnZQ+BtKKDKpBdbBri5SLNyIK9ULZGOA504++VbHcwouWE+fJDIo8AuESPF9/EYSkI0v05LDEQK6stCbTA== +reduce-reducers@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.4.3.tgz#8e052618801cd8fc2714b4915adaa8937eb6d66c" + integrity sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw== -redux-actions@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.1.tgz#42c06e94739fbe6db35db3605abb105bdb3724d8" - integrity sha1-QsBulHOfvm2zXbNgWrsQW9s3JNg= +redux-actions@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.6.4.tgz#e1d9d7d987d274071b0134b707365d3e25ba3b26" + integrity sha512-Gho+gnsvyR5h0pApoMdHLYssVEu4I0DNqyC91u43Xy/BvLrEddEMtukLF8oL3WXUy7DjxqKOKZHKmpKyN6hxlQ== dependencies: - invariant "^2.2.1" - lodash.camelcase "^4.3.0" - lodash.curry "^4.1.1" - reduce-reducers "^0.1.0" + invariant "^2.2.4" + just-curry-it "^3.1.0" + loose-envify "^1.4.0" + reduce-reducers "^0.4.3" + to-camel-case "^1.0.0" -redux-batched-actions@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/redux-batched-actions/-/redux-batched-actions-0.4.0.tgz#ad7ae145bffc0ff4eca2509314731ab358910429" - integrity sha512-LwwLX9qAPL83at9pPCXCiOEu75YqlPyvKHjBB0RG2ozLVSPsmWe8fJBClqwcGpPdGsEl+RIwcDU1y/59GMhZpw== +redux-batched-actions@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/redux-batched-actions/-/redux-batched-actions-0.4.1.tgz#a8de8cef50a1db4f009d5222820c836515597e22" + integrity sha512-r6tLDyBP3U9cXNLEHs0n1mX5TQfmk6xE0Y9uinYZ5HOyAWDgIJxYqRRkU/bC6XrJ4nS7tasNbxaHJHVmf9UdkA== redux-localstorage@0.4.1: version "0.4.1" @@ -7302,15 +7302,7 @@ redux-thunk@2.3.0: resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== -redux@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.0.tgz#aa698a92b729315d22b34a0553d7e6533555cc03" - integrity sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA== - dependencies: - loose-envify "^1.1.0" - symbol-observable "^1.2.0" - -redux@^4.0.1: +redux@4.0.1, redux@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== @@ -7494,10 +7486,10 @@ require-nocache@1.0.0: resolved "https://registry.yarnpkg.com/require-nocache/-/require-nocache-1.0.0.tgz#a665d0b60a07e8249875790a4d350219d3c85fa3" integrity sha1-pmXQtgoH6CSYdXkKTTUCGdPIX6M= -reselect@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" - integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc= +reselect@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.0.0.tgz#f2529830e5d3d0e021408b246a206ef4ea4437f7" + integrity sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA== resize-observer-polyfill@^1.4.1: version "1.5.1" @@ -7725,6 +7717,11 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +seamless-immutable@^7.1.3: + version "7.1.4" + resolved "https://registry.yarnpkg.com/seamless-immutable/-/seamless-immutable-7.1.4.tgz#6e9536def083ddc4dea0207d722e0e80d0f372f8" + integrity sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A== + section-iterator@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/section-iterator/-/section-iterator-2.0.0.tgz#bf444d7afeeb94ad43c39ad2fb26151627ccba2a" @@ -8517,7 +8514,7 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-camel-case@1.0.0: +to-camel-case@1.0.0, to-camel-case@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY=