From c4c1f02446f20b45861afb211f2c0d6f5bc389eb Mon Sep 17 00:00:00 2001 From: eivindh Date: Sun, 13 May 2018 15:36:03 +0200 Subject: [PATCH] Simplified store types --- package.json | 2 +- src/configureStore.ts | 12 ++++-------- src/reducers/index.ts | 9 +++------ yarn.lock | 19 +++++++++++++++---- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 336e03e..ad6724c 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "react-router": "^4.2.0", "react-router-dom": "^4.2.2", "react-router-redux": "^5.0.0-alpha.6", - "redux": "^3.7.2", + "redux": "^4.0.0", "redux-saga": "^0.13.0" }, "devDependencies": { diff --git a/src/configureStore.ts b/src/configureStore.ts index da6eba8..a3c1276 100644 --- a/src/configureStore.ts +++ b/src/configureStore.ts @@ -2,13 +2,9 @@ import createHistory from 'history/createBrowserHistory' import { routerMiddleware } from 'react-router-redux' import { applyMiddleware, compose, createStore } from 'redux' import createSagaMiddleware from 'redux-saga' - import rootReducer, { State } from './reducers' import SagaManager from './sagas/SagaManager' -// Allow require to be used in TS file -declare function require (name: string): any - const __DEV__ = process.env.NODE_ENV === 'development' const sagaMiddleware = createSagaMiddleware() @@ -16,12 +12,12 @@ const sagaMiddleware = createSagaMiddleware() export const history = createHistory() const middlewares = [sagaMiddleware, routerMiddleware(history)] -const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose +const composeEnhancers: typeof compose = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose -export default function configureStore (initialState?: State) { - const store = createStore( +export default function configureStore (initialState?: Partial) { + const store = createStore( rootReducer, - initialState || {} as State, + initialState || {}, composeEnhancers( applyMiddleware(...middlewares) ) diff --git a/src/reducers/index.ts b/src/reducers/index.ts index cbe5f8f..a878408 100644 --- a/src/reducers/index.ts +++ b/src/reducers/index.ts @@ -1,13 +1,10 @@ -import { routerReducer as routing, RouterState } from 'react-router-redux' +import { routerReducer as routing } from 'react-router-redux' import { combineReducers } from 'redux' import version from './version' -export type State = Readonly<{ - version: string - routing: RouterState -}> +export type State = ReturnType -const reducers = combineReducers({ +const reducers = combineReducers({ routing, version }) diff --git a/yarn.lock b/yarn.lock index 9353783..c27bb10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4997,10 +4997,14 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash-es@^4.17.5, lodash-es@^4.2.1: +lodash-es@^4.17.5: version "4.17.8" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.8.tgz#6fa8c8c5d337481df0bdf1c0d899d42473121e45" +lodash-es@^4.2.1: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" + lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" @@ -5033,11 +5037,11 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.4: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.4: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -lodash@^4.17.10: +lodash@^4.17.10, lodash@^4.2.1: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -6917,6 +6921,13 @@ redux@^3.6.0, redux@^3.7.2: loose-envify "^1.1.0" symbol-observable "^1.0.3" +redux@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.0.tgz#aa698a92b729315d22b34a0553d7e6533555cc03" + dependencies: + loose-envify "^1.1.0" + symbol-observable "^1.2.0" + regenerate@^1.2.1: version "1.3.3" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" @@ -8033,7 +8044,7 @@ symbol-observable@^0.2.2: version "0.2.4" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" -symbol-observable@^1.0.3: +symbol-observable@^1.0.3, symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"