diff --git a/package.json b/package.json index 5b9ae5477..857188665 100644 --- a/package.json +++ b/package.json @@ -79,10 +79,10 @@ "@types/lodash": "^4.14.180", "@types/object-assign": "^4.0.30", "@types/path-browserify": "^1.0.0", - "@types/react": "^18.0.26", + "@types/react": "^18.3.9", "@types/react-color": "^3.0.6", "@types/react-datepicker": "^4.4.2", - "@types/react-dom": "^18.0.10", + "@types/react-dom": "^18.3.0", "@types/react-helmet": "^6.1.5", "@types/react-motion": "^0.0.40", "@types/react-router-dom": "^5.3.3", @@ -134,10 +134,10 @@ "process": "^0.11.10", "punycode": "^2.1.1", "qrcode.react": "^3.1.0", - "react": "^18.0.0", + "react": "^18.3.1", "react-color": "^2.19.3", "react-datepicker": "^4.8.0", - "react-dom": "^18.0.0", + "react-dom": "^18.3.1", "react-error-boundary": "^4.0.11", "react-helmet": "^6.1.0", "react-hot-toast": "^2.4.0", @@ -155,7 +155,7 @@ "react-sparklines": "^1.7.0", "react-sticky-box": "^2.0.0", "react-swipeable-views": "^0.14.0", - "react-virtuoso": "^4.3.11", + "react-virtuoso": "^4.10.4", "redux": "^5.0.0", "redux-immutable": "^4.0.0", "redux-thunk": "^3.1.0", @@ -215,8 +215,6 @@ "vitest": "^2.1.1" }, "resolutions": { - "@types/react": "^18.0.26", - "@types/react-dom": "^18.0.10", "glob-parent": "^6.0.1", "jsonwebtoken": "^9.0.0", "loader-utils": "^2.0.3" diff --git a/src/components/site-error-boundary.tsx b/src/components/site-error-boundary.tsx index 189554278..61db29f1f 100644 --- a/src/components/site-error-boundary.tsx +++ b/src/components/site-error-boundary.tsx @@ -23,7 +23,7 @@ const SiteErrorBoundary: React.FC = ({ children }) => { const textarea = useRef(null); const [error, setError] = useState(); - const [componentStack, setComponentStack] = useState(); + const [componentStack, setComponentStack] = useState(); const [browser, setBrowser] = useState(); const [sentryEventId, setSentryEventId] = useState(); diff --git a/src/components/ui/column/column.tsx b/src/components/ui/column/column.tsx index 3d7326f2a..36c8912f1 100644 --- a/src/components/ui/column/column.tsx +++ b/src/components/ui/column/column.tsx @@ -64,7 +64,7 @@ export interface IColumn { } /** A backdrop for the main section of the UI. */ -const Column: React.FC = React.forwardRef((props, ref: React.ForwardedRef): JSX.Element => { +const Column = React.forwardRef((props, ref): JSX.Element => { const { backHref, children, label, transparent = false, withHeader = true, className, bodyClassName, action, size } = props; const soapboxConfig = useSoapboxConfig(); const [isScrolled, setIsScrolled] = useState(false); diff --git a/src/features/ui/components/modal-root.tsx b/src/features/ui/components/modal-root.tsx index d55548353..890ad9c08 100644 --- a/src/features/ui/components/modal-root.tsx +++ b/src/features/ui/components/modal-root.tsx @@ -51,7 +51,7 @@ import { import ModalLoading from './modal-loading'; /* eslint sort-keys: "error" */ -const MODAL_COMPONENTS: Record> = { +const MODAL_COMPONENTS: Record> = { 'ACCOUNT_MODERATION': AccountModerationModal, 'ACTIONS': ActionsModal, 'BIRTHDAYS': BirthdaysModal, diff --git a/src/features/ui/util/react-router-helpers.tsx b/src/features/ui/util/react-router-helpers.tsx index 06991287b..e45105fbb 100644 --- a/src/features/ui/util/react-router-helpers.tsx +++ b/src/features/ui/util/react-router-helpers.tsx @@ -17,7 +17,7 @@ type PageProps = { }; interface IWrappedRoute extends RouteProps { - component: React.LazyExoticComponent; + component: React.ExoticComponent; page?: React.ComponentType; content?: React.ReactNode; componentParams?: Record; diff --git a/yarn.lock b/yarn.lock index 1cbec8915..8901a2271 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2514,10 +2514,10 @@ date-fns "^2.0.1" react-popper "^2.2.5" -"@types/react-dom@^18.0.0", "@types/react-dom@^18.0.10": - version "18.0.10" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352" - integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== +"@types/react-dom@^18.0.0", "@types/react-dom@^18.3.0": + version "18.3.0" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" + integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== dependencies: "@types/react" "*" @@ -2566,13 +2566,12 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@^18.0.26": - version "18.0.26" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917" - integrity sha512-hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug== +"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@^18.3.9": + version "18.3.9" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.9.tgz#2cdf5f425ec8a133d67e9e3673909738b783db20" + integrity sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/reactcss@*": @@ -2601,11 +2600,6 @@ dependencies: "@types/node" "*" -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - "@types/semver@^7.3.9", "@types/semver@^7.5.0": version "7.5.2" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564" @@ -7157,13 +7151,13 @@ react-datepicker@^4.8.0: react-onclickoutside "^6.12.0" react-popper "^2.2.5" -react-dom@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== +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" - scheduler "^0.23.0" + scheduler "^0.23.2" react-error-boundary@^3.1.0, react-error-boundary@^3.1.4: version "3.1.4" @@ -7435,15 +7429,15 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react-virtuoso@^4.3.11: - version "4.3.11" - resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.3.11.tgz#ab24e707287ef1b4bb5b52f3b14795ba896e9768" - integrity sha512-0YrCvQ5GsIKRcN34GxrzhSJGuMNI+hGxWci5cTVuPQ8QWTEsrKfCyqm7YNBMmV3pu7onG1YVUBo86CyCXdejXg== +react-virtuoso@^4.10.4: + version "4.10.4" + resolved "https://registry.yarnpkg.com/react-virtuoso/-/react-virtuoso-4.10.4.tgz#856ed415d7071db0c666ce84809bab8bb834f45c" + integrity sha512-G/gprhTbK+lzMxoo/iStcZxVEGph/cIhc3WANEpt92RuMw+LiCZOmBfKoeoZOHlm/iyftTrDJhGaTCpxyucnkQ== -react@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== +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" @@ -7778,10 +7772,10 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +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"