diff --git a/packages-modules/counter/browser/package.json b/packages-modules/counter/browser/package.json
index 660cc2805..114b3518f 100755
--- a/packages-modules/counter/browser/package.json
+++ b/packages-modules/counter/browser/package.json
@@ -20,7 +20,9 @@
},
"dependencies": {
"@sample-stack/platform-browser": "link:../../../packages/sample-platform/browser",
- "antd": "~5.1.7"
+ "antd": "~5.1.7",
+ "react-router": "^6.4.0",
+ "react-router-dom": "^6.4.0"
},
"peerDependencies": {
"@common-stack/client-react": "*",
@@ -43,4 +45,4 @@
"typescript": {
"definition": "lib/index.d.ts"
}
-}
+}
\ No newline at end of file
diff --git a/packages-modules/counter/browser/src/common/components/Dashboard.tsx b/packages-modules/counter/browser/src/common/components/Dashboard.tsx
index f1ce50960..ee2a7fae3 100755
--- a/packages-modules/counter/browser/src/common/components/Dashboard.tsx
+++ b/packages-modules/counter/browser/src/common/components/Dashboard.tsx
@@ -1,4 +1,4 @@
import * as React from 'react';
-import { renderRoutes } from 'react-router-config';
+// import { renderRoutes } from 'react-router-config';
-export default (props) => <>{renderRoutes(props.route.routes, { matchPath: props.route.path })}>;
+// export default (props) => <>{renderRoutes(props.route.routes, { matchPath: props.route.path })}>;
diff --git a/packages-modules/counter/browser/src/connected-react-router/__tests__/__snapshots__/connected-react-router-module.test.ts.snap b/packages-modules/counter/browser/src/connected-react-router/__tests__/__snapshots__/connected-react-router-module.test.ts.snap
deleted file mode 100755
index 7197ce014..000000000
--- a/packages-modules/counter/browser/src/connected-react-router/__tests__/__snapshots__/connected-react-router-module.test.ts.snap
+++ /dev/null
@@ -1,39 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`connector modules module configuredRoutes 1`] = `
-Array [
- Object {
- "component": [Function],
- "exact": true,
- "path": "/connected-react-router",
- "routes": Array [
- Object {
- "component": [Function],
- "exact": true,
- "path": "/connected-react-router/hello",
- },
- Object {
- "component": Object {
- "$$typeof": Symbol(react.memo),
- "WrappedComponent": [Function],
- "compare": null,
- "displayName": "Connect(Counter)",
- "type": [Function],
- },
- "exact": true,
- "path": "/connected-react-router/counter",
- },
- ],
- },
-]
-`;
-
-exports[`connector modules module routes 1`] = `
-
-
-
-`;
diff --git a/packages-modules/counter/browser/src/connected-react-router/constants/action-types.ts b/packages-modules/counter/browser/src/connected-react-router/constants/action-types.ts
deleted file mode 100755
index f73efec22..000000000
--- a/packages-modules/counter/browser/src/connected-react-router/constants/action-types.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export const enum CONNECTED_REACT_ROUTER_ACTION_TYPES {
- INCREMENT = '@connected-react-router/INCREMENT',
- DECREMENT = '@connected-react-router/DECREMENT',
-}
diff --git a/packages-modules/counter/browser/src/connected-react-router/constants/routes-types.ts b/packages-modules/counter/browser/src/connected-react-router/constants/routes-types.ts
deleted file mode 100755
index b4694d0de..000000000
--- a/packages-modules/counter/browser/src/connected-react-router/constants/routes-types.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export enum CONNECTED_REACT_ROUTER_ROUTES_TYPES {
- ROOT = '/',
- HOME = '/connected-react-router',
- HELLO = '/connected-react-router/hello',
- COUNTER = '/connected-react-router/counter',
-}
diff --git a/packages-modules/counter/browser/src/connected-react-router/interfaces/state.ts b/packages-modules/counter/browser/src/connected-react-router/interfaces/state.ts
deleted file mode 100755
index f5de723d6..000000000
--- a/packages-modules/counter/browser/src/connected-react-router/interfaces/state.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { RouterState } from 'connected-react-router';
-
-export interface State {
- connectedReactRouterCounter: number;
- router: RouterState;
-}
diff --git a/packages-modules/counter/browser/src/index.ts b/packages-modules/counter/browser/src/index.ts
index 8a83c5ff2..01aed16b8 100755
--- a/packages-modules/counter/browser/src/index.ts
+++ b/packages-modules/counter/browser/src/index.ts
@@ -2,9 +2,9 @@ import { Feature } from '@common-stack/client-react';
import Common from './common';
import ApolloCounter from './apollo-server-n-client';
-import ConnectedReactRouter from './connected-react-router';
+import ConnectedReactRouter from './redux-first-history';
import emotion from './emotion';
-import { ElectronTrayModule } from './connected-react-router/index.electron';
+import { ElectronTrayModule } from './redux-first-history/index.electron';
export default new Feature(Common, ConnectedReactRouter, ApolloCounter, emotion);
export { ElectronTrayModule };
diff --git a/packages-modules/counter/browser/src/connected-react-router/README.md b/packages-modules/counter/browser/src/redux-first-history/README.md
similarity index 79%
rename from packages-modules/counter/browser/src/connected-react-router/README.md
rename to packages-modules/counter/browser/src/redux-first-history/README.md
index c3e235afe..b43f6b1a7 100755
--- a/packages-modules/counter/browser/src/connected-react-router/README.md
+++ b/packages-modules/counter/browser/src/redux-first-history/README.md
@@ -7,4 +7,4 @@ In Hello link, you will see that the HelloChild component can access router stat
Reference:
-https://github.com/supasate/connected-react-router/tree/master/examples/typescript
\ No newline at end of file
+https://github.com/supasate/redux-first-history/tree/master/examples/typescript
\ No newline at end of file
diff --git a/packages-modules/counter/browser/src/connected-react-router/__tests__/connected-react-router-module.test.ts b/packages-modules/counter/browser/src/redux-first-history/__tests__/redux-first-history-module.test.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/__tests__/connected-react-router-module.test.ts
rename to packages-modules/counter/browser/src/redux-first-history/__tests__/redux-first-history-module.test.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/Counter.tsx b/packages-modules/counter/browser/src/redux-first-history/components/Counter.tsx
similarity index 94%
rename from packages-modules/counter/browser/src/connected-react-router/components/Counter.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/Counter.tsx
index 16f1a4519..465397345 100755
--- a/packages-modules/counter/browser/src/connected-react-router/components/Counter.tsx
+++ b/packages-modules/counter/browser/src/redux-first-history/components/Counter.tsx
@@ -2,7 +2,7 @@
import * as React from 'react';
import { Dispatch } from 'redux';
import { connect } from 'react-redux';
-import { RouteComponentProps } from 'react-router';
+// import { RouteComponentProps } from 'react-router';
import { increment, decrement } from '../redux';
import { State } from '../interfaces';
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/Hello.tsx b/packages-modules/counter/browser/src/redux-first-history/components/Hello.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/components/Hello.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/Hello.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/HelloChild.tsx b/packages-modules/counter/browser/src/redux-first-history/components/HelloChild.tsx
similarity index 58%
rename from packages-modules/counter/browser/src/connected-react-router/components/HelloChild.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/HelloChild.tsx
index c1aac8cfa..6bdbe3a72 100755
--- a/packages-modules/counter/browser/src/connected-react-router/components/HelloChild.tsx
+++ b/packages-modules/counter/browser/src/redux-first-history/components/HelloChild.tsx
@@ -14,9 +14,10 @@ interface HelloChildProps {
const HelloChildComponent = ({ pathname, search, hash }: HelloChildProps) => (
Hello-Child 23423
-
- - with query string
- - with hash
+
+ {/* has problem to load. we may not able to use react-router components outside of forntend-server */}
+ - with query string
+ - with hash
pathname: {pathname}
@@ -31,9 +32,10 @@ const HelloChildComponent = ({ pathname, search, hash }: HelloChildProps) => (
);
const mapStateToProps = (state: State) => ({
- pathname: state.router.location.pathname,
- search: state.router.location.search,
- hash: state.router.location.hash,
+ pathname: state.router?.location.pathname,
+ search: state.router?.location.search,
+ hash: state.router?.location.hash,
});
+console.log('---MAP STATE TO PROPS')
export const HelloChild = connect(mapStateToProps)(HelloChildComponent);
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/Home.tsx b/packages-modules/counter/browser/src/redux-first-history/components/Home.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/components/Home.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/Home.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/NavBar.tsx b/packages-modules/counter/browser/src/redux-first-history/components/NavBar.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/components/NavBar.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/NavBar.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/components/NoMatch.tsx b/packages-modules/counter/browser/src/redux-first-history/components/NoMatch.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/components/NoMatch.tsx
rename to packages-modules/counter/browser/src/redux-first-history/components/NoMatch.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/compute.tsx b/packages-modules/counter/browser/src/redux-first-history/compute.tsx
similarity index 97%
rename from packages-modules/counter/browser/src/connected-react-router/compute.tsx
rename to packages-modules/counter/browser/src/redux-first-history/compute.tsx
index 4a03969a8..24118145b 100755
--- a/packages-modules/counter/browser/src/connected-react-router/compute.tsx
+++ b/packages-modules/counter/browser/src/redux-first-history/compute.tsx
@@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
import * as React from 'react';
import { IMenuPosition, IRoute } from '@common-stack/client-react';
-import loadable from '@loadable/component'
+import loadable from '@loadable/component'
import { getFilteredMenus, getFilteredRoutes } from '../utils';
diff --git a/packages-modules/counter/browser/src/redux-first-history/constants/action-types.ts b/packages-modules/counter/browser/src/redux-first-history/constants/action-types.ts
new file mode 100755
index 000000000..c76427a70
--- /dev/null
+++ b/packages-modules/counter/browser/src/redux-first-history/constants/action-types.ts
@@ -0,0 +1,4 @@
+export const enum CONNECTED_REACT_ROUTER_ACTION_TYPES {
+ INCREMENT = '@redux-first-history/INCREMENT',
+ DECREMENT = '@redux-first-history/DECREMENT',
+}
diff --git a/packages-modules/counter/browser/src/connected-react-router/constants/index.ts b/packages-modules/counter/browser/src/redux-first-history/constants/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/constants/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/constants/index.ts
diff --git a/packages-modules/counter/browser/src/redux-first-history/constants/routes-types.ts b/packages-modules/counter/browser/src/redux-first-history/constants/routes-types.ts
new file mode 100755
index 000000000..89ec17f63
--- /dev/null
+++ b/packages-modules/counter/browser/src/redux-first-history/constants/routes-types.ts
@@ -0,0 +1,6 @@
+export enum CONNECTED_REACT_ROUTER_ROUTES_TYPES {
+ ROOT = '/',
+ HOME = '/redux-first-history',
+ HELLO = '/redux-first-history/hello',
+ COUNTER = '/redux-first-history/counter',
+}
diff --git a/packages-modules/counter/browser/src/connected-react-router/electron-module.tsx b/packages-modules/counter/browser/src/redux-first-history/electron-module.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/electron-module.tsx
rename to packages-modules/counter/browser/src/redux-first-history/electron-module.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/index.electron.ts b/packages-modules/counter/browser/src/redux-first-history/index.electron.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/index.electron.ts
rename to packages-modules/counter/browser/src/redux-first-history/index.electron.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/index.ts b/packages-modules/counter/browser/src/redux-first-history/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/index.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/interfaces/index.ts b/packages-modules/counter/browser/src/redux-first-history/interfaces/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/interfaces/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/interfaces/index.ts
diff --git a/packages-modules/counter/browser/src/redux-first-history/interfaces/state.ts b/packages-modules/counter/browser/src/redux-first-history/interfaces/state.ts
new file mode 100755
index 000000000..28d4f804d
--- /dev/null
+++ b/packages-modules/counter/browser/src/redux-first-history/interfaces/state.ts
@@ -0,0 +1,6 @@
+// import { RouterState } from 'redux-first-history';
+
+export interface State {
+ connectedReactRouterCounter: number;
+ router?: any;
+}
diff --git a/packages-modules/counter/browser/src/connected-react-router/module.tsx b/packages-modules/counter/browser/src/redux-first-history/module.tsx
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/module.tsx
rename to packages-modules/counter/browser/src/redux-first-history/module.tsx
diff --git a/packages-modules/counter/browser/src/connected-react-router/redux/actions/counter.ts b/packages-modules/counter/browser/src/redux-first-history/redux/actions/counter.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/redux/actions/counter.ts
rename to packages-modules/counter/browser/src/redux-first-history/redux/actions/counter.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/redux/actions/index.ts b/packages-modules/counter/browser/src/redux-first-history/redux/actions/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/redux/actions/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/redux/actions/index.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/redux/index.ts b/packages-modules/counter/browser/src/redux-first-history/redux/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/redux/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/redux/index.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/redux/reducers/counter.ts b/packages-modules/counter/browser/src/redux-first-history/redux/reducers/counter.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/redux/reducers/counter.ts
rename to packages-modules/counter/browser/src/redux-first-history/redux/reducers/counter.ts
diff --git a/packages-modules/counter/browser/src/connected-react-router/redux/reducers/index.ts b/packages-modules/counter/browser/src/redux-first-history/redux/reducers/index.ts
similarity index 100%
rename from packages-modules/counter/browser/src/connected-react-router/redux/reducers/index.ts
rename to packages-modules/counter/browser/src/redux-first-history/redux/reducers/index.ts
diff --git a/packages-modules/counter/electron/src/epics/count-tray-updater.ts b/packages-modules/counter/electron/src/epics/count-tray-updater.ts
index 2910586a4..d7b2fa0d4 100644
--- a/packages-modules/counter/electron/src/epics/count-tray-updater.ts
+++ b/packages-modules/counter/electron/src/epics/count-tray-updater.ts
@@ -3,7 +3,7 @@ import { ofType } from 'redux-observable';
import { Observable, of } from 'rxjs';
import { distinctUntilChanged, map, tap, exhaustMap, pluck, catchError, filter } from 'rxjs/operators';
import { ElectronTypes } from '@common-stack/client-core';
-import { CONNECTED_REACT_ROUTER_ACTION_TYPES } from '@sample-stack/counter-module-browser/lib/connected-react-router/constants/action-types';
+import { CONNECTED_REACT_ROUTER_ACTION_TYPES } from '@sample-stack/counter-module-browser/lib/redux-first-history/constants/action-types';
export const onCountChangedEpic = (
action$: Observable
,
diff --git a/packages-modules/counter/electron/src/index.ts b/packages-modules/counter/electron/src/index.ts
index f16f0a440..ce777a8db 100755
--- a/packages-modules/counter/electron/src/index.ts
+++ b/packages-modules/counter/electron/src/index.ts
@@ -1,5 +1,5 @@
import { Feature } from '@common-stack/client-react';
-import { connectedReactRouterCounter } from '@sample-stack/counter-module-browser/lib/connected-react-router/redux/reducers/counter';
+import { connectedReactRouterCounter } from '@sample-stack/counter-module-browser/lib/redux-first-history/redux/reducers/counter';
import { onCountChangedEpic } from './epics';
const ElectronMainModule = new Feature({
diff --git a/packages-modules/counter/mobile/src/connected-react-router/constants/action-types.ts b/packages-modules/counter/mobile/src/connected-react-router/constants/action-types.ts
index f73efec22..4c3cec118 100755
--- a/packages-modules/counter/mobile/src/connected-react-router/constants/action-types.ts
+++ b/packages-modules/counter/mobile/src/connected-react-router/constants/action-types.ts
@@ -1,4 +1,4 @@
export const enum CONNECTED_REACT_ROUTER_ACTION_TYPES {
- INCREMENT = '@connected-react-router/INCREMENT',
- DECREMENT = '@connected-react-router/DECREMENT',
+ INCREMENT = '@redux-first-server/INCREMENT',
+ DECREMENT = '@redux-first-server/DECREMENT',
}
diff --git a/packages-modules/counter/mobile/src/connected-react-router/interfaces/state.ts b/packages-modules/counter/mobile/src/connected-react-router/interfaces/state.ts
index f5de723d6..c2a3d5341 100755
--- a/packages-modules/counter/mobile/src/connected-react-router/interfaces/state.ts
+++ b/packages-modules/counter/mobile/src/connected-react-router/interfaces/state.ts
@@ -1,6 +1,6 @@
-import { RouterState } from 'connected-react-router';
+// import { RouterState } from 'connected-react-router';
export interface State {
connectedReactRouterCounter: number;
- router: RouterState;
+ router: any;
}
diff --git a/portable-devices/browser-extension/package.json b/portable-devices/browser-extension/package.json
index 4f4e0d30b..64f2af360 100644
--- a/portable-devices/browser-extension/package.json
+++ b/portable-devices/browser-extension/package.json
@@ -54,7 +54,6 @@
"body-parser": "^1.18.2",
"browser-bunyan": "^1.6.3",
"classnames": "^2.2.6",
- "connected-react-router": "^6.9.1",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"envalid": "~7.2.2",
@@ -62,7 +61,6 @@
"flat": "^4.0.0",
"graphql-tag": "^2.11.0",
"graphql-ws": "^5.11.2",
- "history": "^4.10.1",
"immutability-helper": "^3.0.1",
"inversify": "^6.0.2",
"isomorphic-fetch": "^2.2.1",
@@ -78,9 +76,6 @@
"react-loadable": "^5.5.0",
"react-redux": "^7.1.3",
"react-resizable": "^1.10.1",
- "react-router": "^5.3.3",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.1.2",
"react-transition-group": "^4.3.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
diff --git a/portable-devices/desktop/package.json b/portable-devices/desktop/package.json
index 547c985ec..6e66d7bb8 100644
--- a/portable-devices/desktop/package.json
+++ b/portable-devices/desktop/package.json
@@ -58,7 +58,6 @@
"apollo-server-errors": "^3.3.1",
"check-internet-connected": "^2.0.5",
"classnames": "^2.2.6",
- "connected-react-router": "^6.9.1",
"cors": "^2.8.5",
"cross-env": "^7.0.3",
"dotenv": "^8.2.0",
@@ -71,7 +70,6 @@
"graphql": "^15.0.0",
"graphql-tag": "^2.11.0",
"graphql-ws": "^5.11.2",
- "history": "^4.10.1",
"immutability-helper": "^3.0.1",
"inversify": "^6.0.2",
"inversify-binding-decorators": "^4.0.0",
@@ -86,9 +84,6 @@
"react-helmet": "^6.1.0",
"react-loadable": "^5.5.0",
"react-redux": "^7.1.3",
- "react-router": "^5.3.3",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.3.3",
"react-transition-group": "^4.3.0",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
@@ -119,6 +114,9 @@
"rimraf": "^3.0.2",
"workspaces-utils": "^1.2.1"
},
+ "peerDependencies": {
+ "connected-react-router": "^6.9.3"
+ },
"buildAbout": {
"appName": "Fullstack-Pro",
"apiApp": "https://time-tracker-api.herokuapp.com/"
diff --git a/portable-devices/desktop/src/renderer/app/Tray.tsx b/portable-devices/desktop/src/renderer/app/Tray.tsx
index cbc4eb566..480658abc 100644
--- a/portable-devices/desktop/src/renderer/app/Tray.tsx
+++ b/portable-devices/desktop/src/renderer/app/Tray.tsx
@@ -3,7 +3,7 @@ import { ApolloProvider } from '@apollo/client';
import { Provider } from 'react-redux';
import { createClientContainer } from '../config/main/client.service';
import { epic$ } from '../config/tray/epic-config';
-import { ConnectedRouter } from 'connected-react-router';
+import { HistoryRouter } from 'redux-first-history/rr6';
import { createReduxStore, history } from '../config/tray/redux-config';
import { MainRoute } from '../modules/tray';
import { ErrorBoundary } from './ErrorBoundary';
@@ -44,9 +44,9 @@ export class Main extends React.Component<{}, {}> {
-
+
- ,
+ ,
diff --git a/portable-devices/mobile/package.json b/portable-devices/mobile/package.json
index f8b1b12a1..854896a81 100644
--- a/portable-devices/mobile/package.json
+++ b/portable-devices/mobile/package.json
@@ -83,7 +83,6 @@
"apollo-link-logger": "^2.0.0",
"apollo-server-errors": "^3.3.1",
"big-integer": "^1.6.51",
- "connected-react-router": "^6.9.1",
"expo": "~48.0.20",
"expo-asset": "~8.9.1",
"expo-build-properties": "~0.6.0",
@@ -102,7 +101,6 @@
"expo-updates": "~0.16.4",
"expo-web-browser": "~12.1.1",
"graphql-ws": "^5.11.2",
- "history": "^4.10.1",
"immutability-helper": "^3.0.1",
"inversify": "^6.0.2",
"isomorphic-fetch": "^2.2.1",
@@ -131,10 +129,6 @@
"react-native-web": "~0.18.10",
"react-native-web-maps": "~0.3.0",
"react-redux": "^7.1.3",
- "react-router": "^5.3.3",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.3.3",
- "react-router-native": "^5.3.3",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-observable": "^1.2.0",
diff --git a/portable-devices/mobile/src/App.tsx b/portable-devices/mobile/src/App.tsx
index ecaeb9bdb..a350971af 100644
--- a/portable-devices/mobile/src/App.tsx
+++ b/portable-devices/mobile/src/App.tsx
@@ -7,7 +7,6 @@ import { Provider } from 'react-redux';
import { MainRoute } from './modules/modules';
import { persistStore } from 'redux-persist';
import { PersistGate } from 'redux-persist/integration/react';
-import { ConnectedRouter } from 'connected-react-router';
import {
createReduxStore,
history,
@@ -29,9 +28,7 @@ export default function App() {
-
-
diff --git a/servers/frontend-server/package.json b/servers/frontend-server/package.json
index 535e0b8de..45f96a7f7 100755
--- a/servers/frontend-server/package.json
+++ b/servers/frontend-server/package.json
@@ -71,7 +71,6 @@
"apollo-server-errors": "^3.3.1",
"classnames": "^2.2.6",
"compression": "^1.7.4",
- "connected-react-router": "^6.9.1",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"envalid": "~7.2.2",
@@ -81,7 +80,7 @@
"graphql": "^15.0.0",
"graphql-tag": "^2.11.0",
"graphql-ws": "^5.11.2",
- "history": "^4.10.1",
+ "history": "^5.0.0",
"immutability-helper": "^3.0.1",
"inversify": "^6.0.2",
"ioredis": "^4.14.0",
@@ -96,12 +95,12 @@
"react-helmet-async": "^1.3.0",
"react-loadable": "^5.5.0",
"react-redux": "^7.1.3",
- "react-router": "^5.3.3",
- "react-router-config": "^5.1.1",
- "react-router-dom": "^5.3.3",
+ "react-router": "^6.4.0",
+ "react-router-dom": "^6.4.0",
"react-transition-group": "^4.3.0",
"redis": "^2.8.0",
"redux": "^4.0.5",
+ "redux-first-history": "^5.1.1",
"redux-logger": "^3.0.6",
"redux-observable": "^1.2.0",
"redux-persist": "^6.0.0",
diff --git a/servers/frontend-server/src/app/Main.tsx b/servers/frontend-server/src/app/Main.tsx
old mode 100755
new mode 100644
index 774100f13..5edf39e41
--- a/servers/frontend-server/src/app/Main.tsx
+++ b/servers/frontend-server/src/app/Main.tsx
@@ -3,7 +3,7 @@ import { ApolloProvider } from '@apollo/client';
import { SlotFillProvider } from '@common-stack/components-pro';
import { InversifyProvider } from '@common-stack/client-react';
import { Provider as ReduxProvider } from 'react-redux';
-import { ConnectedRouter } from 'connected-react-router';
+import { HistoryRouter } from 'redux-first-history/rr6';
import { PersistGate } from 'redux-persist/integration/react';
import { persistStore } from 'redux-persist';
import { createBrowserHistory } from 'history';
@@ -16,11 +16,12 @@ import modules, { MainRoute } from '../modules';
const { apolloClient: client, container, serviceFunc } = createClientContainer();
const history = createBrowserHistory();
-const { store } = createReduxStore(history,client, serviceFunc(), container);
+const { store, reduxHistory } = createReduxStore(history, client, serviceFunc(), container);
let persistor = persistStore(store);
export class Main extends React.Component<{}, {}> {
public render() {
+ console.log(reduxHistory);
if (__SSR__) {
return (
@@ -30,9 +31,9 @@ export class Main extends React.Component<{}, {}> {
{() => (
-
+
{modules.getWrappedRoot()}
-
+
)}
@@ -49,11 +50,10 @@ export class Main extends React.Component<{}, {}> {
-
+
{modules.getWrappedRoot()}
-
+
- ,
diff --git a/servers/frontend-server/src/app/MainReactRouter.tsx b/servers/frontend-server/src/app/MainReactRouter.tsx
new file mode 100644
index 000000000..6c43ad0c0
--- /dev/null
+++ b/servers/frontend-server/src/app/MainReactRouter.tsx
@@ -0,0 +1,64 @@
+///
+import * as React from 'react';
+import { ApolloProvider } from '@apollo/client';
+import { Provider as ReduxProvider } from 'react-redux';
+import { PersistGate } from 'redux-persist/integration/react';
+import { persistStore } from 'redux-persist';
+import { HelmetProvider } from 'react-helmet-async';
+import { CacheProvider } from '@emotion/react';
+import { HistoryRouter } from 'redux-first-history/rr6';
+import createEmotionCache from '../common/createEmotionCache';
+import { createReduxStore } from '../config/redux-config';
+import { createClientContainer } from '../config/client.service';
+import modules, { MainRoute } from '../modules';
+
+const { apolloClient: client } = createClientContainer();
+
+const { store, history } = createReduxStore();
+const cache = createEmotionCache();
+
+export class Main extends React.Component<{}, {}> {
+ public render() {
+ if (__SSR__) {
+ let persistor = persistStore(store);
+ return (
+
+
+
+
+ {() => (
+
+ {modules.getWrappedRoot(
+
+
+ ,
+ )}
+
+ )}
+
+
+
+
+ );
+ } else {
+ let persistor = persistStore(store);
+ return (
+
+
+
+
+
+
+ {modules.getWrappedRoot()}
+
+
+
+
+
+
+ );
+ }
+ }
+}
+
+export default Main;
diff --git a/servers/frontend-server/src/backend/website-antui.tsx b/servers/frontend-server/src/backend/website-antui.tsx
index 093ed0e2a..9c20d479b 100755
--- a/servers/frontend-server/src/backend/website-antui.tsx
+++ b/servers/frontend-server/src/backend/website-antui.tsx
@@ -5,7 +5,7 @@ import { getDataFromTree } from '@apollo/client/react/ssr/ssr.cjs';
import path from 'path';
import fs from 'fs';
import { Provider as ReduxProvider } from 'react-redux';
-import { StaticRouter } from 'react-router';
+import { StaticRouter } from 'react-router-dom/server';
import { logger } from '@cdm-logger/server';
import { ChunkExtractor, ChunkExtractorManager } from '@loadable/server';
import { createMemoryHistory } from 'history';
@@ -105,9 +105,9 @@ async function renderServerSide(req, res) {
);
let pageContent = ReactDOMServer.renderToStaticMarkup(page);
pageContent = pageContent.replace(/__STYLESHEET__/, styleSheet);
- res.status(200);
+ // res.status(200);
res.send(`\n${pageContent}`);
- res.end();
+ // res.end();
}
} catch (err) {
logger.error(err,'SERVER SIDE RENDER failed due to (%j) ', err.message);
diff --git a/servers/frontend-server/src/backend/website-chakra-antui.tsx b/servers/frontend-server/src/backend/website-chakra-antui.tsx
index cffee64dd..2252cedad 100644
--- a/servers/frontend-server/src/backend/website-chakra-antui.tsx
+++ b/servers/frontend-server/src/backend/website-chakra-antui.tsx
@@ -7,7 +7,7 @@ import createEmotionServer from '@emotion/server/create-instance';
import path from 'path';
import fs from 'fs';
import { Provider as ReduxProvider } from 'react-redux';
-import { StaticRouter } from 'react-router';
+import { StaticRouter } from 'react-router-dom/server';
import { logger } from '@cdm-logger/server';
import { ChunkExtractor, ChunkExtractorManager } from '@loadable/server';
import { createMemoryHistory } from 'history';
@@ -32,7 +32,7 @@ async function renderServerSide(req, res) {
const { apolloClient: client, container } = createClientContainer();
let context: { pageNotFound?: boolean; url?: string } = { pageNotFound: false };
- const history = createMemoryHistory({ initialEntries: [req.url] });
+ const history = createMemoryHistory({ initialEntries: [req.url] }); // match initial route to express path
const { store } = createReduxStore(history);
const extractor = new ChunkExtractor({
diff --git a/servers/frontend-server/src/backend/website-chakra.tsx b/servers/frontend-server/src/backend/website-chakra.tsx
index 91a481fcd..8a65b6587 100644
--- a/servers/frontend-server/src/backend/website-chakra.tsx
+++ b/servers/frontend-server/src/backend/website-chakra.tsx
@@ -7,7 +7,7 @@ import createEmotionServer from '@emotion/server/create-instance';
import path from 'path';
import fs from 'fs';
import { Provider as ReduxProvider } from 'react-redux';
-import { StaticRouter } from 'react-router';
+import { StaticRouter } from 'react-router-dom/server';
import { logger } from '@cdm-logger/server';
import { ChunkExtractor, ChunkExtractorManager } from '@loadable/server';
import { createMemoryHistory } from 'history';
diff --git a/servers/frontend-server/src/config/base-redux-config.ts b/servers/frontend-server/src/config/base-redux-config.ts
index ede608992..b7e86c2a6 100644
--- a/servers/frontend-server/src/config/base-redux-config.ts
+++ b/servers/frontend-server/src/config/base-redux-config.ts
@@ -10,13 +10,14 @@ import {
applyMiddleware,
StoreEnhancer,
Middleware,
- compose,
Action,
ReducersMapObject,
PreloadedState,
+ compose,
} from 'redux';
import { EpicMiddleware, Epic } from 'redux-observable';
import { persistReducer, PersistConfig } from 'redux-persist';
+import { composeWithDevTools } from "redux-devtools-extension";
interface IReduxStore {
scope: 'browser' | 'server' | 'native' | 'ElectronMain';
@@ -81,7 +82,7 @@ export const createReduxStore = ({
if (postMiddleware) {
middlewares.push(...postMiddleware);
}
-
+
const enhancers: () => StoreEnhancer[] = () => [applyMiddleware(...middlewares)];
const composeEnhancers: any = (typeof window === 'undefined')
diff --git a/servers/frontend-server/src/config/redux-config.ts b/servers/frontend-server/src/config/redux-config.ts
index 21760e896..74aa38740 100644
--- a/servers/frontend-server/src/config/redux-config.ts
+++ b/servers/frontend-server/src/config/redux-config.ts
@@ -6,10 +6,10 @@ import storage from 'redux-persist/lib/storage';
import { combineReducers } from 'redux';
import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2';
import { createEpicMiddleware } from 'redux-observable';
-import { connectRouter, routerMiddleware } from 'connected-react-router';
import { persistReducer } from 'redux-persist';
import thunkMiddleware from 'redux-thunk';
import { REDUX_PERSIST_KEY } from '@common-stack/client-core';
+import { createReduxHistoryContext } from 'redux-first-history';
import { createReduxStore as createBaseReduxStore } from './base-redux-config';
import modules, { logger } from '../modules';
import { rootEpic, epic$ } from './epic-config';
@@ -33,20 +33,22 @@ export const persistConfig = {
transforms: modules.reduxPersistStateTransformers,
};
-export const getStoreReducer = (history: any, reducers: any) =>
- combineReducers({
- router: connectRouter(history),
- ...reducers,
- });
-
/**
* Add any reducers required for this app dirctly in to
* `combineReducers`
*/
export const createReduxStore = (history, apolloClient, services, container) => {
+ const { createReduxHistory, routerMiddleware, routerReducer } = createReduxHistoryContext({
+ history,
+ // other options if needed
+ });
+
+ const reducers = {
+ router: routerReducer,
+ ...modules.reducers,
+ };
// only in server side, url will be passed.
// middleware
- const router = connectRouter(history);
let store;
if ((module as any).hot && (module as any).hot.data && (module as any).hot.data.store) {
@@ -54,12 +56,7 @@ export const createReduxStore = (history, apolloClient, services, container) =>
store = (module as any).hot.data.store;
// replace the reducers always as we don't have ablity to find
// new reducer added through our `modules`
- store.replaceReducer(
- persistReducer(
- persistConfig,
- getStoreReducer((module as any).hot.data.history || history, modules.reducers),
- ),
- );
+ store.replaceReducer(persistReducer(persistConfig, combineReducers(reducers)));
// store.replaceReducer(storeReducer((module as any).hot.data.history || history));
} else {
// If we have preloaded state, save it.
@@ -70,23 +67,27 @@ export const createReduxStore = (history, apolloClient, services, container) =>
if (__CLIENT__) {
delete window.__PRELOADED_STATE__;
}
+
store = createBaseReduxStore({
scope: __CLIENT__ ? 'browser' : 'server',
isDebug: true,
isDev: process.env.NODE_ENV === 'development',
initialState,
persistConfig,
- middleware: [thunkMiddleware, routerMiddleware(history)],
+ middleware: [thunkMiddleware, routerMiddleware],
epicMiddleware: epicMiddlewareFunc(apolloClient, services, container),
rootEpic: rootEpic as any,
- reducers: { router, ...modules.reducers },
+ reducers,
});
}
+
+ const reduxHistory = createReduxHistory(store);
+
if ((module as any).hot) {
(module as any).hot.dispose((data) => {
// console.log("Saving Redux store:", JSON.stringify(store.getState()));
data.store = store;
- data.history = history;
+ data.history = reduxHistory;
});
(module as any).hot.accept('../config/epic-config', () => {
// we may need to reload epic always as we don't
@@ -98,6 +99,8 @@ export const createReduxStore = (history, apolloClient, services, container) =>
epic$.next(nextRootEpic);
});
}
+ container.bind('ReduxStore').toConstantValue(store);
+
if (container.isBound('ReduxStore')) {
container
.rebind('ReduxStore')
@@ -110,5 +113,6 @@ export const createReduxStore = (history, apolloClient, services, container) =>
.inRequestScope();
}
__CLIENT_REDUX_STORE__ = store;
- return { store };
+
+ return { store, reduxHistory };
};
diff --git a/servers/frontend-server/src/index.tsx b/servers/frontend-server/src/index.tsx
index acc2e6365..34882d1fe 100755
--- a/servers/frontend-server/src/index.tsx
+++ b/servers/frontend-server/src/index.tsx
@@ -30,6 +30,7 @@ if (__SSR__) {
let frontendReloadCount = 0;
const renderApp = ({ key }: { key: number }) => createRoot(rootEl!).render();
renderApp({ key: frontendReloadCount });
+
if (__DEV__) {
if ((module as any).hot) {
(module as any).hot.accept();
@@ -57,4 +58,5 @@ if (__SSR__) {
});
}
}
+
}
diff --git a/servers/frontend-server/src/modules/module.tsx b/servers/frontend-server/src/modules/module.tsx
index 9637d4536..cf0dfab21 100755
--- a/servers/frontend-server/src/modules/module.tsx
+++ b/servers/frontend-server/src/modules/module.tsx
@@ -1,17 +1,25 @@
import * as React from 'react';
import { Layout, ConfigProvider } from 'antd';
import counterModules from '@sample-stack/counter-module-browser';
-import { Feature, FeatureWithRouterFactory } from '@common-stack/client-react';
+import { Feature, FeatureWithRouterFactory, sortKeys } from '@common-stack/client-react';
+import { useRoutes } from "react-router-dom";
import { SiderMenu } from './layout';
import '@sample-stack/assets';
import { ErrorBoundary } from '../app/ErrorBoundary';
const features = new Feature(FeatureWithRouterFactory, counterModules);
-// console.log(features.getMenus());
+// console.log(features.getRoutes());
+// features.getRoutes() shouyld be updated as following, this code will be replaced after that.
+let routeConfig = sortKeys(features.routeConfig)
+ .map((route) => Object.values(route)[0])
+ .map((route) => ({ ...route, Component: route.component }));
+console.log(routeConfig);
-export const MainRoute = (props) => (
-
+export const MainRoute = (props) => {
+ const routes = useRoutes(routeConfig);
+
+ return
(
- {features.getRoutes()}
+ {routes}
-);
+}
export default features;
diff --git a/yarn.lock b/yarn.lock
index 6a743f1ef..bc7600378 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2032,13 +2032,20 @@
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.0", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.0", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.1", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.7", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.23.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
dependencies:
regenerator-runtime "^0.14.0"
+"@babel/runtime@^7.7.6":
+ version "7.23.4"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e"
+ integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/template@^7.0.0", "@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
@@ -6203,6 +6210,11 @@
react-json-tree "^0.18.0"
redux-devtools-themes "^1.0.0"
+"@remix-run/router@1.12.0":
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.12.0.tgz#e89b64b6fa97a8a5b740a4c38c2904b80f1f229a"
+ integrity sha512-2hXv036Bux90e1GXTWSMfNzfDDK8LA8JYEWfyHxzvwdp6GyoWEovKc9cotb3KCKmkdwsIBuFGX7ScTWyiHv7Eg==
+
"@repeaterjs/repeater@^3.0.4":
version "3.0.4"
resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca"
@@ -6329,6 +6341,8 @@
dependencies:
"@sample-stack/platform-browser" "link:packages/sample-platform/browser"
antd "~5.1.7"
+ react-router "^6.4.0"
+ react-router-dom "^6.4.0"
"@sample-stack/counter-module-electron@link:packages-modules/counter/electron":
version "0.0.1"
@@ -12115,17 +12129,6 @@ connect@^3.6.5, connect@^3.7.0:
parseurl "~1.3.3"
utils-merge "1.0.1"
-connected-react-router@^6.9.1:
- version "6.9.3"
- resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.9.3.tgz#72300aca9f9d6f38e1f4a2901572faa02adec972"
- integrity sha512-4ThxysOiv/R2Dc4Cke1eJwjKwH1Y51VDwlOrOfs1LjpdYOVvCNjNkZDayo7+sx42EeGJPQUNchWkjAIJdXGIOQ==
- dependencies:
- lodash.isequalwith "^4.4.0"
- prop-types "^15.7.2"
- optionalDependencies:
- immutable "^3.8.1 || ^4.0.0"
- seamless-immutable "^7.1.3"
-
connection-parse@0.0.x:
version "0.0.7"
resolved "https://registry.yarnpkg.com/connection-parse/-/connection-parse-0.0.7.tgz#18e7318aab06a699267372b10c5226d25a1c9a69"
@@ -17476,24 +17479,19 @@ history-with-query@^4.10.4:
tiny-warning "^1.0.0"
value-equal "^1.0.1"
-history@^4.10.1, history@^4.9.0:
- version "4.10.1"
- resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3"
- integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==
+history@^5.0.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
+ integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
dependencies:
- "@babel/runtime" "^7.1.2"
- loose-envify "^1.2.0"
- resolve-pathname "^3.0.0"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
- value-equal "^1.0.1"
+ "@babel/runtime" "^7.7.6"
hoist-non-react-statics@^2.3.1:
version "2.5.5"
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.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
@@ -17992,11 +17990,6 @@ immutable@^3.7.4:
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==
-"immutable@^3.8.1 || ^4.0.0":
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f"
- integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==
-
immutable@~3.7.4, immutable@~3.7.6:
version "3.7.6"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b"
@@ -21231,11 +21224,6 @@ lodash.isequal@^4.0.0, lodash.isequal@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
-lodash.isequalwith@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz#266726ddd528f854f21f4ea98a065606e0fbc6b0"
- integrity sha512-dcZON0IalGBpRmJBmMkaoV7d3I80R2O+FrzsZyHdNSFrANq/cgDqKQNmAHE8UEj4+QYWwwhkQOVdLHiAopzlsQ==
-
lodash.isinteger@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
@@ -25679,7 +25667,7 @@ promzard@^0.3.0:
dependencies:
read "1"
-prop-types@15.x, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.0, prop-types@^15.7.2, prop-types@^15.8.1:
+prop-types@15.x, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.0, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -26737,7 +26725,7 @@ react-highlight@^0.12.0:
dependencies:
highlight.js "^9.11.0"
-react-is@^16.12.0, react-is@^16.13.0, react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0:
+react-is@^16.12.0, react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -26977,48 +26965,20 @@ react-resizable@^1.10.1:
prop-types "15.x"
react-draggable "^4.0.3"
-react-router-config@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988"
- integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==
- dependencies:
- "@babel/runtime" "^7.1.2"
-
-react-router-dom@^5.1.2, react-router-dom@^5.3.3:
- version "5.3.4"
- resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6"
- integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==
+react-router-dom@^6.4.0:
+ version "6.19.0"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.19.0.tgz#ee807e36ae7dd954db7a3f770e38b7cc026c66a8"
+ integrity sha512-N6dWlcgL2w0U5HZUUqU2wlmOrSb3ighJmtQ438SWbhB1yuLTXQ8yyTBMK3BSvVjp7gBtKurT554nCtMOgxCZmQ==
dependencies:
- "@babel/runtime" "^7.12.13"
- history "^4.9.0"
- loose-envify "^1.3.1"
- prop-types "^15.6.2"
- react-router "5.3.4"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
+ "@remix-run/router" "1.12.0"
+ react-router "6.19.0"
-react-router-native@^5.3.3:
- version "5.3.4"
- resolved "https://registry.yarnpkg.com/react-router-native/-/react-router-native-5.3.4.tgz#17e78c94776e49ada961118e21838964ab8e26b4"
- integrity sha512-IVBs6opllXbUx6tHr7OYLScg2B3sTc5gP9zrQAZEJ+30aF3olYCRtLUEGOAuYKhjohYiH7pEM5WTcO+IYbApxg==
+react-router@6.19.0, react-router@^6.4.0:
+ version "6.19.0"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.19.0.tgz#6d5062fa33495859daca98d86292ab03b037a9ca"
+ integrity sha512-0W63PKCZ7+OuQd7Tm+RbkI8kCLmn4GPjDbX61tWljPxWgqTKlEpeQUwPkT1DRjYhF8KSihK0hQpmhU4uxVMcdw==
dependencies:
- prop-types "^15.6.1"
- react-router "5.3.4"
-
-react-router@5.3.4, react-router@^5.3.3:
- version "5.3.4"
- resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5"
- integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==
- dependencies:
- "@babel/runtime" "^7.12.13"
- history "^4.9.0"
- hoist-non-react-statics "^3.1.0"
- loose-envify "^1.3.1"
- path-to-regexp "^1.7.0"
- prop-types "^15.6.2"
- react-is "^16.6.0"
- tiny-invariant "^1.0.2"
- tiny-warning "^1.0.0"
+ "@remix-run/router" "1.12.0"
react-shallow-renderer@^16.13.1, react-shallow-renderer@^16.15.0:
version "16.15.0"
@@ -27424,6 +27384,11 @@ redux-devtools-themes@^1.0.0:
dependencies:
base16 "^1.0.0"
+redux-first-history@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/redux-first-history/-/redux-first-history-5.1.1.tgz#6aec4a3eaa52dbaaf2683776324d9219b182fab4"
+ integrity sha512-ujVHv+y9wC2rqavS5tLiSu6zkw+VYrEea+/ggwVTRuutadEtwxSRlaK19ry/PTLSQtFuUF1Xu+plL5erD4roVw==
+
redux-logger@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/redux-logger/-/redux-logger-3.0.6.tgz#f7555966f3098f3c88604c449cf0baf5778274bf"
@@ -28361,11 +28326,6 @@ scuid@^1.1.0:
resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab"
integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==
-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==
-
selderee@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/selderee/-/selderee-0.6.0.tgz#f3bee66cfebcb6f33df98e4a1df77388b42a96f7"