From 0eaeb604999df46347e493a46a3aef80ebd7aaa5 Mon Sep 17 00:00:00 2001 From: Seyyed Morteza Moosavi Date: Sun, 17 May 2020 14:31:23 +0430 Subject: [PATCH] upgrade react router dom 5.2 (#284) --- package.json | 4 ++-- src/react-router.d.ts | 6 +++++ src/shared/router/Router.tsx | 8 ++++--- yarn.lock | 45 ++++++++++++++++++------------------ 4 files changed, 35 insertions(+), 28 deletions(-) create mode 100644 src/react-router.d.ts diff --git a/package.json b/package.json index 739f6517..d0801359 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@types/react": "^16.9.23", "@types/react-dom": "^16.9.5", "@types/react-relay": "^7.0.3", - "@types/react-router-dom": "^5.1.3", + "@types/react-router-dom": "^5.1.5", "@types/relay-runtime": "^8.0.7", "@types/relay-test-utils": "^6.0.1", "base64-url": "^2.3.3", @@ -40,7 +40,7 @@ "react-dom": "0.0.0-experimental-aae83a4b9", "react-intersection-observer": "^8.25.2", "react-relay": "^0.0.0-experimental-5f1cb628", - "react-router-dom": "^5.1.2", + "react-router-dom": "^5.2.0", "react-scripts": "3.4.1", "relay-enum-generator": "^0.0.1", "relay-runtime": "^9.0.0", diff --git a/src/react-router.d.ts b/src/react-router.d.ts new file mode 100644 index 00000000..16112538 --- /dev/null +++ b/src/react-router.d.ts @@ -0,0 +1,6 @@ +import React from 'react'; +import { History } from 'history'; + +declare module 'react-router' { + export const __HistoryContext: React.Context; +} diff --git a/src/shared/router/Router.tsx b/src/shared/router/Router.tsx index 3f005abe..22c20ee1 100644 --- a/src/shared/router/Router.tsx +++ b/src/shared/router/Router.tsx @@ -1,6 +1,7 @@ import React, { SuspenseConfig, useDeferredValue, useEffect, useState } from 'react'; import { FCProps } from 'src/shared/types/FCProps'; import { History } from 'history'; +import { __HistoryContext as HistoryContext } from 'react-router'; import { __RouterContext as RouterContext } from 'react-router'; interface OwnProps { @@ -24,7 +25,7 @@ export function Router(props: Props) { // https://github.com/ReactTraining/react-router/blob/a1b96d5085053d1e3d67831a75d9a6c76e8dca70/packages/react-router/modules/Router.js#L22-L26 setLocation(history.location); } - return history.listen(location => { + return history.listen((location) => { setLocation(location); }); // `location` variable only used on initial value, because between render and useEffect if location has been @@ -34,13 +35,14 @@ export function Router(props: Props) { const deferredLocation = useDeferredValue(location, suspenseConfig); return ( + > + + ); } diff --git a/yarn.lock b/yarn.lock index dc50fec9..c6809fbf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1266,7 +1266,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.8.4", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3": +"@babel/runtime@7.8.4", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== @@ -2826,10 +2826,10 @@ "@types/react" "*" "@types/relay-runtime" "*" -"@types/react-router-dom@^5.1.3": - version "5.1.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.3.tgz#b5d28e7850bd274d944c0fbbe5d57e6b30d71196" - integrity sha512-pCq7AkOvjE65jkGS5fQwQhvUp4+4PVD9g39gXLZViP2UqFiFzsEpB3PKf0O6mdbKsewSK8N14/eegisa/0CwnA== +"@types/react-router-dom@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.5.tgz#7c334a2ea785dbad2b2dcdd83d2cf3d9973da090" + integrity sha512-ArBM4B1g3BWLGbaGvwBGO75GNFbLDUthrDojV2vHLih/Tq8M+tgvY1DSwkuNrPSwdp/GUL93WSEpTZs8nVyJLw== dependencies: "@types/history" "*" "@types/react" "*" @@ -11166,14 +11166,13 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= -mini-create-react-context@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189" - integrity sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw== +mini-create-react-context@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" + integrity sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA== dependencies: - "@babel/runtime" "^7.4.0" - gud "^1.0.0" - tiny-warning "^1.0.2" + "@babel/runtime" "^7.5.5" + tiny-warning "^1.0.3" mini-css-extract-plugin@0.9.0, mini-css-extract-plugin@^0.9.0: version "0.9.0" @@ -13826,29 +13825,29 @@ react-relay@^0.0.0-experimental-5f1cb628: nullthrows "^1.1.1" relay-runtime "8.0.0" -react-router-dom@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" - integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" loose-envify "^1.3.1" prop-types "^15.6.2" - react-router "5.1.2" + react-router "5.2.0" tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" - integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" hoist-non-react-statics "^3.1.0" loose-envify "^1.3.1" - mini-create-react-context "^0.3.0" + mini-create-react-context "^0.4.0" path-to-regexp "^1.7.0" prop-types "^15.6.2" react-is "^16.6.0" @@ -15939,7 +15938,7 @@ tiny-invariant@^1.0.2, tiny-invariant@^1.0.6: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== -tiny-warning@^1.0.0, tiny-warning@^1.0.2: +tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==