diff --git a/package.json b/package.json index 332301731..075be7706 100644 --- a/package.json +++ b/package.json @@ -56,8 +56,8 @@ "lint-staged": "^10.2.11", "mini-css-extract-plugin": "^2.7.2", "nodemon": "^2.0.20", - "react": "^16.13.1", - "react-dom": "^16.13.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-test-renderer": "^17.0.2", "sass": "^1.69.5", "sass-loader": "^13.2.0", diff --git a/src/404.js b/src/404.js index 385397148..89fecdefc 100644 --- a/src/404.js +++ b/src/404.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Action404 from './components/404' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/500.js b/src/500.js index f1b3452bf..3d63f9660 100644 --- a/src/500.js +++ b/src/500.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Action500 from './components/500' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/catalog.js b/src/catalog.js index f36b1ada3..dff629f0e 100644 --- a/src/catalog.js +++ b/src/catalog.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import CatalogPage from './components/catalog-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/closed.js b/src/closed.js index 512e3eb15..6c37adca6 100644 --- a/src/closed.js +++ b/src/closed.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Closed from './components/closed' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/components/detail-carousel.jsx b/src/components/detail-carousel.jsx index c7ed6a81a..3558188d7 100644 --- a/src/components/detail-carousel.jsx +++ b/src/components/detail-carousel.jsx @@ -248,6 +248,7 @@ const DetailCarousel = ({widget, widgetHeight=''}) => { const snapToImage = (fast=false) => { const _pics = picScrollerRef.current + if(!_pics) return false //with react 18 rendering order is different, null check needed const i = selectionData.selectedImage.num if (_pics.children.length && _pics.children[i]) { const _offset = _pics.children[i].offsetLeft * -1 diff --git a/src/creator-page.js b/src/creator-page.js index e9a4dc4e9..403b91748 100644 --- a/src/creator-page.js +++ b/src/creator-page.js @@ -1,12 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' import WidgetCreatorPage from './components/widget-creator-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - , document.getElementById('app')) + ) diff --git a/src/detail.js b/src/detail.js index 08699782e..61bfa6ec9 100644 --- a/src/detail.js +++ b/src/detail.js @@ -1,14 +1,14 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import DetailPage from './components/detail-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); + +root.render( - - , document.getElementById('app')) + ) diff --git a/src/draft-not-playable.js b/src/draft-not-playable.js index b80ed413b..5b771d6dd 100644 --- a/src/draft-not-playable.js +++ b/src/draft-not-playable.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import DraftNotPlayable from './components/draft-not-playable' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/embedded-only.js b/src/embedded-only.js index 417a79a15..5306322fe 100644 --- a/src/embedded-only.js +++ b/src/embedded-only.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import EmbeddedOnly from './components/embedded-only' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/guides.js b/src/guides.js index 933a33a1c..e3b90acea 100644 --- a/src/guides.js +++ b/src/guides.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import GuidePage from './components/guide-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/help.js b/src/help.js index a1803fcc5..95afba541 100644 --- a/src/help.js +++ b/src/help.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import HelpPage from './components/help-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/homepage.js b/src/homepage.js index 95ac4d730..d53b03b71 100644 --- a/src/homepage.js +++ b/src/homepage.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Homepage from './components/homepage' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/login.js b/src/login.js index 10070630b..4fce6ed5a 100644 --- a/src/login.js +++ b/src/login.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import LoginPage from './components/login-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/lti-error.js b/src/lti-error.js index 12332381b..9613d6cd5 100644 --- a/src/lti-error.js +++ b/src/lti-error.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import ErrorGeneral from './components/lti/error-general' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/lti-open-preview.js b/src/lti-open-preview.js index d08e5667f..b52b445cf 100644 --- a/src/lti-open-preview.js +++ b/src/lti-open-preview.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import OpenPreview from './components/lti/open-preview' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/lti-post-login.js b/src/lti-post-login.js index 558d32f99..7c446dbb5 100644 --- a/src/lti-post-login.js +++ b/src/lti-post-login.js @@ -1,12 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' import PostLogin from './components/lti/post-login' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - , document.getElementById('app')) + ) diff --git a/src/lti-select-item.js b/src/lti-select-item.js index 048f2ffbc..acb1bc1fa 100644 --- a/src/lti-select-item.js +++ b/src/lti-select-item.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import SelectItem from './components/lti/select-item' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/media.js b/src/media.js index 05cde1a7f..a76cc895e 100644 --- a/src/media.js +++ b/src/media.js @@ -1,12 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' import MediaImporter from './components/media-importer' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - , document.getElementById('app')) \ No newline at end of file + ) diff --git a/src/my-widgets.js b/src/my-widgets.js index 31db7e058..7d1467771 100644 --- a/src/my-widgets.js +++ b/src/my-widgets.js @@ -1,7 +1,6 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import MyWidgetsPage from './components/my-widgets-page' import { onError } from './util/global-cache-options' @@ -11,9 +10,9 @@ const queryCache = new QueryCache({ export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app') + ) diff --git a/src/no-attempts.js b/src/no-attempts.js index ea7ed6dbf..ed637802d 100644 --- a/src/no-attempts.js +++ b/src/no-attempts.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import NoAttempts from './components/no-attempts' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/no-permission.js b/src/no-permission.js index 254a3d95d..96eacdb7d 100644 --- a/src/no-permission.js +++ b/src/no-permission.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import NoPermission from './components/no-permission' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/notifications.js b/src/notifications.js index 24648610f..d1fbcd9e9 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Notifications from './components/notifications' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/player-page.js b/src/player-page.js index 3ab8cfc8c..009eae20e 100644 --- a/src/player-page.js +++ b/src/player-page.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import WidgetPlayerPage from './components/widget-player-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/pre-embed-placeholder.js b/src/pre-embed-placeholder.js index 83ca51b29..1717112b9 100644 --- a/src/pre-embed-placeholder.js +++ b/src/pre-embed-placeholder.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import PreEmbedPlaceholder from './components/pre-embed-placeholder' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/profile.js b/src/profile.js index 292b27854..3f97f02e6 100644 --- a/src/profile.js +++ b/src/profile.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import ProfilePage from './components/profile-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/qset-history.js b/src/qset-history.js index 3148d29f5..4aae6b894 100644 --- a/src/qset-history.js +++ b/src/qset-history.js @@ -1,15 +1,14 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import QuestionHistory from './components/question-history' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app') + ) diff --git a/src/question-importer.js b/src/question-importer.js index 4445829e1..101b7fd67 100644 --- a/src/question-importer.js +++ b/src/question-importer.js @@ -1,15 +1,14 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import QuestionImporter from './components/question-importer' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app') -) \ No newline at end of file + +) diff --git a/src/retired.js b/src/retired.js index 19b0c3b1e..646ff8c70 100644 --- a/src/retired.js +++ b/src/retired.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import Retired from './components/retired' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/scores.js b/src/scores.js index b3e98cc1d..20e281233 100644 --- a/src/scores.js +++ b/src/scores.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import ScorePage from './components/score-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/settings.js b/src/settings.js index b354e2b93..4c518fa70 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import SettingsPage from './components/settings-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/support.js b/src/support.js index 21e274c29..ebd15b99c 100644 --- a/src/support.js +++ b/src/support.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import SupportPage from './components/support-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/user-admin.js b/src/user-admin.js index 6fda500b7..7496a8ecc 100644 --- a/src/user-admin.js +++ b/src/user-admin.js @@ -1,14 +1,13 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import UserAdminPage from './components/user-admin-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); +root.render( - - , document.getElementById('app')) + ) diff --git a/src/widget-admin.js b/src/widget-admin.js index ec2631691..43cf1db45 100644 --- a/src/widget-admin.js +++ b/src/widget-admin.js @@ -1,15 +1,15 @@ import React from 'react' -import ReactDOM from 'react-dom' +import {createRoot} from 'react-dom/client' import { QueryClient, QueryClientProvider, QueryCache } from 'react-query' -import { ReactQueryDevtools } from "react-query/devtools"; import WidgetAdminPage from './components/widget-admin-page' const queryCache = new QueryCache() export const queryClient = new QueryClient({ queryCache }) -ReactDOM.render( +const root = createRoot(document.getElementById('app')); + +root.render( - - , document.getElementById('app') + ) diff --git a/yarn.lock b/yarn.lock index da2722f63..71fc8428a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5952,15 +5952,13 @@ react-datepicker@^5.0.0: prop-types "^15.7.2" react-onclickoutside "^6.13.0" -react-dom@^16.13.1: - version "16.14.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" - integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== +react-dom@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.23.2" react-is@^16.12.0, react-is@^16.13.1, react-is@^16.8.6: version "16.13.1" @@ -6038,14 +6036,12 @@ react-test-renderer@^17.0.2: react-shallow-renderer "^16.13.1" scheduler "^0.20.2" -react@^16.13.1: - version "16.14.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" - integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== +react@^18.3.1: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" read-pkg@^4.0.1: version "4.0.1" @@ -6348,6 +6344,13 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"