diff --git a/example/package.json b/example/package.json index be374cb55f..b1457a6007 100644 --- a/example/package.json +++ b/example/package.json @@ -11,8 +11,8 @@ "@react-spring/three": "^9.7.3", "@react-three/drei": "^9.93.0", "@use-gesture/react": "latest", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "react": "19.0.0-canary-db913d8e17-20240422", + "react-dom": "19.0.0-canary-db913d8e17-20240422", "react-merge-refs": "^2.1.1", "react-use-refs": "^1.0.1", "three": "^0.160.0", diff --git a/package.json b/package.json index 3e0a8822a4..061cf759bd 100644 --- a/package.json +++ b/package.json @@ -49,13 +49,13 @@ "@changesets/changelog-git": "^0.1.11", "@changesets/cli": "^2.22.0", "@preconstruct/cli": "^2.1.5", - "@testing-library/react": "^13.0.0-alpha.5", + "@testing-library/react": "^15.0.2", "@types/jest": "^29.2.5", - "@types/react": "^18.0.5", - "@types/react-dom": "^18.0.1", + "@types/react": "18.2.73", + "@types/react-dom": "18.2.22", "@types/react-native": "0.69.5", - "@types/react-test-renderer": "^17.0.1", - "@types/scheduler": "^0.16.2", + "@types/react-test-renderer": "18.0.7", + "@types/scheduler": "0.23.0", "@types/three": "^0.141.0", "@typescript-eslint/eslint-plugin": "^5.17.0", "@typescript-eslint/parser": "^5.17.0", @@ -76,10 +76,10 @@ "lint-staged": "^12.3.7", "prettier": "^2.6.1", "pretty-quick": "^3.1.3", - "react": "^18.0.0", - "react-dom": "^18.0.0", + "react": "19.0.0-beta-94eed63c49-20240425", + "react-dom": "19.0.0-beta-94eed63c49-20240425", "react-native": "0.69.3", - "react-test-renderer": "^18.0.0", + "react-test-renderer": "19.0.0-beta-94eed63c49-20240425", "regenerator-runtime": "^0.13.9", "three": "^0.141.0", "three-stdlib": "^2.13.0", diff --git a/packages/fiber/package.json b/packages/fiber/package.json index c3133e030a..7bbe75e75d 100644 --- a/packages/fiber/package.json +++ b/packages/fiber/package.json @@ -43,13 +43,13 @@ }, "dependencies": { "@babel/runtime": "^7.17.8", - "@types/react-reconciler": "^0.26.7", + "@types/react-reconciler": "^0.28.8", "base64-js": "^1.5.1", "buffer": "^6.0.3", - "its-fine": "^1.0.6", - "react-reconciler": "^0.27.0", + "its-fine": "^1.2.5", + "react-reconciler": "0.31.0-beta-94eed63c49-20240425", "react-use-measure": "^2.1.1", - "scheduler": "^0.21.0", + "scheduler": "0.25.0-beta-94eed63c49-20240425", "suspend-react": "^0.1.3", "zustand": "^4.1.2" }, @@ -58,8 +58,8 @@ "expo-asset": ">=8.4", "expo-gl": ">=11.0", "expo-file-system": ">=11.0", - "react": ">=18.0", - "react-dom": ">=18.0", + "react": ">=19.0", + "react-dom": ">=19.0", "react-native": ">=0.69", "three": ">=0.141" }, diff --git a/packages/fiber/src/core/reconciler.tsx b/packages/fiber/src/core/reconciler.tsx index cda6204490..a936f7c683 100644 --- a/packages/fiber/src/core/reconciler.tsx +++ b/packages/fiber/src/core/reconciler.tsx @@ -1,7 +1,13 @@ import * as THREE from 'three' import * as React from 'react' import Reconciler from 'react-reconciler' -import { ContinuousEventPriority, DiscreteEventPriority, DefaultEventPriority } from 'react-reconciler/constants' +import { + // @ts-ignore + NoEventPriority, + ContinuousEventPriority, + DiscreteEventPriority, + DefaultEventPriority, +} from 'react-reconciler/constants' import { unstable_IdlePriority as idlePriority, unstable_scheduleCallback as scheduleCallback } from 'scheduler' import { diffProps, @@ -73,7 +79,7 @@ interface HostConfig { suspenseInstance: Instance hydratableInstance: never publicInstance: Instance['object'] - hostContext: never + hostContext: {} updatePayload: null | [true] | [false, Instance['props']] childSet: never timeoutHandle: number | undefined @@ -238,13 +244,18 @@ function removeChild( if (shouldDispose && child.type !== 'primitive' && child.object.type !== 'Scene') { if (typeof child.object.dispose === 'function') { const dispose = child.object.dispose.bind(child.object) - scheduleCallback(idlePriority, () => { + const handleDispose = () => { try { dispose() } catch (e) { - /* ... */ + // no-op } - }) + } + + // In a testing environment, cleanup immediately + if (typeof IS_REACT_ACT_ENVIRONMENT !== 'undefined') handleDispose() + // Otherwise, using a real GPU so schedule cleanup to prevent stalls + else scheduleCallback(idlePriority, handleDispose) } } @@ -309,6 +320,37 @@ function switchInstance( const handleTextInstance = () => console.warn('R3F: Text is not allowed in JSX! This could be stray whitespace or characters.') +const NO_CONTEXT: HostConfig['hostContext'] = {} + +let currentUpdatePriority: number = NoEventPriority + +// Effectively removed to diff in commit phase +// https://github.com/facebook/react/pull/27409 +function prepareUpdate( + instance: HostConfig['instance'], + _type: string, + oldProps: HostConfig['props'], + newProps: HostConfig['props'], +): HostConfig['updatePayload'] { + // Reconstruct primitives if object prop changes + if (instance.type === 'primitive' && oldProps.object !== newProps.object) return [true] + + // Throw if an object or literal was passed for args + if (newProps.args !== undefined && !Array.isArray(newProps.args)) + throw new Error('R3F: The args prop must be an array!') + + // Reconstruct instance if args change + if (newProps.args?.length !== oldProps.args?.length) return [true] + if (newProps.args?.some((value, index) => value !== oldProps.args?.[index])) return [true] + + // Create a diff-set, flag if there are any changes + const changedProps = diffProps(instance, newProps, true) + if (Object.keys(changedProps).length) return [false, changedProps] + + // Otherwise do not touch the instance + return null +} + export const reconciler = Reconciler< HostConfig['type'], HostConfig['props'], @@ -324,11 +366,11 @@ export const reconciler = Reconciler< HostConfig['timeoutHandle'], HostConfig['noTimeout'] >({ - supportsMutation: true, isPrimaryRenderer: false, + warnsIfNotActing: false, + supportsMutation: true, supportsPersistence: false, supportsHydration: false, - noTimeout: -1, createInstance, removeChild, appendChild, @@ -352,29 +394,20 @@ export const reconciler = Reconciler< insertBefore(scene, child, beforeChild) }, - getRootHostContext: () => null, - getChildHostContext: (parentHostContext) => parentHostContext, - prepareUpdate(instance, _type, oldProps, newProps) { - // Reconstruct primitives if object prop changes - if (instance.type === 'primitive' && oldProps.object !== newProps.object) return [true] - - // Throw if an object or literal was passed for args - if (newProps.args !== undefined && !Array.isArray(newProps.args)) - throw new Error('R3F: The args prop must be an array!') - - // Reconstruct instance if args change - if (newProps.args?.length !== oldProps.args?.length) return [true] - if (newProps.args?.some((value, index) => value !== oldProps.args?.[index])) return [true] - - // Create a diff-set, flag if there are any changes - const changedProps = diffProps(instance, newProps, true) - if (Object.keys(changedProps).length) return [false, changedProps] - - // Otherwise do not touch the instance - return null - }, - commitUpdate(instance, diff, type, _oldProps, newProps, fiber) { - const [reconstruct, changedProps] = diff! + getRootHostContext: () => NO_CONTEXT, + getChildHostContext: () => NO_CONTEXT, + // @ts-ignore prepareUpdate and updatePayload removed with React 19 + commitUpdate( + instance: HostConfig['instance'], + type: HostConfig['type'], + oldProps: HostConfig['props'], + newProps: HostConfig['props'], + fiber: any, + ) { + const diff = prepareUpdate(instance, type, oldProps, newProps) + if (diff === null) return + + const [reconstruct, changedProps] = diff // Reconstruct when args or 0, scheduleTimeout: (typeof setTimeout === 'function' ? setTimeout : undefined) as any, cancelTimeout: (typeof clearTimeout === 'function' ? clearTimeout : undefined) as any, - // @ts-ignore Deprecated experimental APIs - // https://github.com/facebook/react/blob/main/packages/shared/ReactFeatureFlags.js - // https://github.com/pmndrs/react-three-fiber/pull/2360#discussion_r916356874 - beforeActiveInstanceBlur: () => {}, - afterActiveInstanceBlur: () => {}, - detachDeletedInstance: () => {}, - // Gives React a clue as to how import the current interaction is - // https://github.com/facebook/react/tree/main/packages/react-reconciler#getcurrenteventpriority - getCurrentEventPriority() { + noTimeout: -1, + getInstanceFromNode: () => null, + beforeActiveInstanceBlur() {}, + afterActiveInstanceBlur() {}, + detachDeletedInstance() {}, + // @ts-ignore untyped react-experimental options inspired by react-art + // TODO: add shell types for these and upstream to DefinitelyTyped + // https://github.com/facebook/react/blob/main/packages/react-art/src/ReactFiberConfigART.js + shouldAttemptEagerTransition() { + return false + }, + requestPostPaintCallback() {}, + maySuspendCommit() { + return false + }, + preloadInstance() { + return true // true indicates already loaded + }, + startSuspendingCommit() {}, + suspendInstance() {}, + waitForCommitToBeReady() { + return null + }, + NotPendingTransition: null, + setCurrentUpdatePriority(newPriority: number) { + currentUpdatePriority = newPriority + }, + getCurrentUpdatePriority() { + return currentUpdatePriority + }, + resolveUpdatePriority() { + if (currentUpdatePriority) return currentUpdatePriority if (!globalScope) return DefaultEventPriority const name = globalScope.event?.type diff --git a/packages/fiber/src/core/renderer.tsx b/packages/fiber/src/core/renderer.tsx index dd9749642a..64a68eb305 100644 --- a/packages/fiber/src/core/renderer.tsx +++ b/packages/fiber/src/core/renderer.tsx @@ -207,7 +207,19 @@ export function createRoot(canvas: TCanvas): ReconcilerR const store = prevStore || createStore(invalidate, advance) // Create renderer const fiber = - prevFiber || reconciler.createContainer(store, ConcurrentRoot, null, false, null, '', logRecoverableError, null) + prevFiber || + (reconciler as any).createContainer( + store, // container + ConcurrentRoot, // tag + null, // hydration callbacks + false, // isStrictMode + null, // concurrentUpdatesByDefaultOverride + '', // identifierPrefix + logRecoverableError, // onUncaughtError + logRecoverableError, // onCaughtError + logRecoverableError, // onRecoverableError + null, // transitionCallbacks + ) // Map it if (!prevRoot) _roots.set(canvas, { fiber, store }) diff --git a/packages/fiber/src/core/utils.tsx b/packages/fiber/src/core/utils.tsx index 291c70edcd..995ab208e8 100644 --- a/packages/fiber/src/core/utils.tsx +++ b/packages/fiber/src/core/utils.tsx @@ -38,7 +38,7 @@ export type Act = (cb: () => Promise) => Promise /** * Safely flush async effects when testing, simulating a legacy root. */ -export const act: Act = (React as any).unstable_act +export const act: Act = (React as any).act export type Camera = (THREE.OrthographicCamera | THREE.PerspectiveCamera) & { manual?: boolean } export const isOrthographicCamera = (def: Camera): def is THREE.OrthographicCamera => diff --git a/packages/fiber/tests/canvas.native.test.tsx b/packages/fiber/tests/canvas.native.test.tsx index 8ffd1371f3..1f49083f68 100644 --- a/packages/fiber/tests/canvas.native.test.tsx +++ b/packages/fiber/tests/canvas.native.test.tsx @@ -61,6 +61,6 @@ describe('native Canvas', () => { ), ) - expect(() => renderer.unmount()).not.toThrow() + expect(async () => await act(async () => renderer.unmount())).not.toThrow() }) }) diff --git a/packages/fiber/tests/renderer.test.tsx b/packages/fiber/tests/renderer.test.tsx index 7fd5afd952..ad31f55e11 100644 --- a/packages/fiber/tests/renderer.test.tsx +++ b/packages/fiber/tests/renderer.test.tsx @@ -24,20 +24,14 @@ extend({ Mock }) type ComponentMesh = THREE.Mesh -const expectToThrow = async (callback: () => any) => { - const error = console.error - console.error = jest.fn() - - let thrown = false +const expectToThrow = async (callback: () => any, message: string) => { + let error: Error | undefined try { await callback() - } catch (_) { - thrown = true + } catch (e) { + error = e as Error } - - expect(thrown).toBe(true) - expect(console.error).toBeCalled() - console.error = error + expect(error?.message).toBe(message) } describe('renderer', () => { @@ -256,8 +250,8 @@ describe('renderer', () => { // Throw on non-array value await expectToThrow( - // @ts-expect-error - async () => await act(async () => root.render()), + async () => await act(async () => root.render()), + 'R3F: The args prop must be an array!', ) // Set @@ -316,8 +310,8 @@ describe('renderer', () => { // Throw on undefined await expectToThrow( - // @ts-expect-error - async () => await act(async () => root.render()), + async () => await act(async () => root.render()), + "R3F: Primitives without 'object' are invalid!", ) // Update @@ -397,21 +391,21 @@ describe('renderer', () => { // Removes events expect(internal.interaction.length).toBe(0) // Calls dispose on top-level instance - expect(dispose).toBeCalled() + expect(dispose).toHaveBeenCalled() // Also disposes of children - expect(childDispose).toBeCalled() + expect(childDispose).toHaveBeenCalled() // Disposes of attached children - expect(attachDispose).toBeCalled() + expect(attachDispose).toHaveBeenCalled() // Properly detaches attached children - expect(attach).toBeCalledTimes(1) - expect(detach).toBeCalledTimes(1) + expect(attach).toHaveBeenCalledTimes(1) + expect(detach).toHaveBeenCalledTimes(1) // Respects dispose={null} - expect(flagDispose).not.toBeCalled() + expect(flagDispose).not.toHaveBeenCalled() // Does not dispose of primitives - expect(object.dispose).not.toBeCalled() + expect(object.dispose).not.toHaveBeenCalled() // Only disposes of declarative primitive children - expect(objectExternal.dispose).not.toBeCalled() - expect(disposeDeclarativePrimitive).toBeCalled() + expect(objectExternal.dispose).not.toHaveBeenCalled() + expect(disposeDeclarativePrimitive).toHaveBeenCalled() }) it('can swap 4 array primitives', async () => { diff --git a/packages/shared/setupTests.ts b/packages/shared/setupTests.ts index 7bfa887704..156be2033a 100644 --- a/packages/shared/setupTests.ts +++ b/packages/shared/setupTests.ts @@ -5,16 +5,12 @@ import 'regenerator-runtime/runtime' declare global { var IS_REACT_ACT_ENVIRONMENT: boolean + var IS_REACT_NATIVE_TEST_ENVIRONMENT: boolean // https://github.com/facebook/react/pull/28419 } // Let React know that we'll be testing effectful components global.IS_REACT_ACT_ENVIRONMENT = true - -// Mock scheduler to test React features -jest.mock('scheduler', () => ({ - ...jest.requireActual('scheduler/unstable_mock'), - unstable_scheduleCallback: (_: any, callback: () => void) => callback(), -})) +global.IS_REACT_NATIVE_TEST_ENVIRONMENT = true // hide react-test-renderer warnings // ESLint is broken atm -- TypeError: The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received 'http://localhost/eslintrc.cjs' jest.mock('eslint', () => ({ diff --git a/packages/test-renderer/package.json b/packages/test-renderer/package.json index 4a86c84780..3d4076bd82 100644 --- a/packages/test-renderer/package.json +++ b/packages/test-renderer/package.json @@ -22,7 +22,7 @@ ] }, "peerDependencies": { - "react": ">=18.0", + "react": ">=19.0", "@react-three/fiber": ">=9.0.0", "three": ">=0.141" } diff --git a/packages/test-renderer/src/helpers/waitFor.ts b/packages/test-renderer/src/helpers/waitFor.ts index d80d2aec30..1cb20c8361 100644 --- a/packages/test-renderer/src/helpers/waitFor.ts +++ b/packages/test-renderer/src/helpers/waitFor.ts @@ -1,6 +1,4 @@ -import * as React from 'react' - -const act: (cb: () => Promise) => Promise = (React as any).unstable_act +import { act } from '@react-three/fiber' export interface WaitOptions { interval?: number diff --git a/yarn.lock b/yarn.lock index 5018f08fe7..6e6ee8b0de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2663,27 +2663,27 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@testing-library/dom@^8.5.0": - version "8.20.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== +"@testing-library/dom@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.0.0.tgz#ae1ab88aad35a728a38264041163174cafd7e8dd" + integrity sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.1.3" + aria-query "5.3.0" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/react@^13.0.0-alpha.5": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== +"@testing-library/react@^15.0.2": + version "15.0.2" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-15.0.2.tgz#d0fd7e9c41b819557639acf5f18e4cd1007ec295" + integrity sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" + "@testing-library/dom" "^10.0.0" "@types/react-dom" "^18.0.0" "@tootallnate/once@1": @@ -2858,7 +2858,7 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== -"@types/react-dom@^18.0.0", "@types/react-dom@^18.0.1": +"@types/react-dom@18.2.22", "@types/react-dom@^18.0.0": version "18.2.22" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.22.tgz#d332febf0815403de6da8a97e5fe282cbe609bae" integrity sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ== @@ -2872,28 +2872,21 @@ dependencies: "@types/react" "*" -"@types/react-reconciler@^0.26.7": - version "0.26.7" - resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.26.7.tgz#0c4643f30821ae057e401b0d9037e03e8e9b2a36" - integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ== - dependencies: - "@types/react" "*" - -"@types/react-reconciler@^0.28.0": +"@types/react-reconciler@^0.28.0", "@types/react-reconciler@^0.28.8": version "0.28.8" resolved "https://registry.yarnpkg.com/@types/react-reconciler/-/react-reconciler-0.28.8.tgz#e51710572bcccf214306833c2438575d310b3e98" integrity sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g== dependencies: "@types/react" "*" -"@types/react-test-renderer@^17.0.1": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-17.0.9.tgz#da6d06f3f37eefab39386c390140374dc5db5b33" - integrity sha512-bOfxcu5oZ+KxvACScbkTwZ4eGCtZFTz4VZCOVAIfGbThxqiXSIGipKVG8ubaYBXquUSQROzNIUzviWdSnnAlzg== +"@types/react-test-renderer@18.0.7": + version "18.0.7" + resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.7.tgz#2cfe657adb3688cdf543995eceb2e062b5a68728" + integrity sha512-1+ANPOWc6rB3IkSnElhjv6VLlKg2dSv/OWClUyZimbLsQyBn8Js9Vtdsi3UICJ2rIQ3k2la06dkB+C92QfhKmg== dependencies: - "@types/react" "^17" + "@types/react" "*" -"@types/react@*", "@types/react@^18.0.5", "@types/react@^18.2.47": +"@types/react@*", "@types/react@18.2.73", "@types/react@^18.2.47": version "18.2.73" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.73.tgz#0579548ad122660d99e00499d22e33b81e73ed94" integrity sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA== @@ -2901,15 +2894,6 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@^17": - version "17.0.80" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.80.tgz#a5dfc351d6a41257eb592d73d3a85d3b7dbcbb41" - integrity sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "^0.16" - csstype "^3.0.2" - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -2917,10 +2901,10 @@ dependencies: "@types/node" "*" -"@types/scheduler@^0.16", "@types/scheduler@^0.16.2": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== +"@types/scheduler@0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.23.0.tgz#0a6655b3e2708eaabca00b7372fafd7a792a7b09" + integrity sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw== "@types/semver@^7.3.12", "@types/semver@^7.5.0": version "7.5.8" @@ -3286,12 +3270,12 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== +aria-query@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: - deep-equal "^2.0.5" + dequal "^2.0.3" arr-diff@^4.0.0: version "4.0.0" @@ -3308,7 +3292,7 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== -array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: +array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== @@ -4434,30 +4418,6 @@ dedent@^1.0.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -4535,6 +4495,11 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +dequal@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -4756,21 +4721,6 @@ es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - es-iterator-helpers@^1.0.17: version "1.0.18" resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" @@ -5547,7 +5497,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -5970,7 +5920,7 @@ inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -internal-slot@^1.0.4, internal-slot@^1.0.7: +internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -5998,15 +5948,7 @@ is-accessor-descriptor@^1.0.1: dependencies: hasown "^2.0.0" -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: +is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== @@ -6180,7 +6122,7 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-map@^2.0.2, is-map@^2.0.3: +is-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== @@ -6251,7 +6193,7 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-set@^2.0.2, is-set@^2.0.3: +is-set@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== @@ -6432,10 +6374,10 @@ iterator.prototype@^1.1.2: reflect.getprototypeof "^1.0.4" set-function-name "^2.0.1" -its-fine@^1.0.6: - version "1.1.3" - resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.1.3.tgz#703219c696b8093940ce8ce6c3a52258750d2989" - integrity sha512-mncCA+yb6tuh5zK26cHqKlsSyxm4zdm4YgJpxycyx6p9fgxgK5PLu3iDVpKhzTn57Yrv3jk/r0aK0RFTT1OjFw== +its-fine@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/its-fine/-/its-fine-1.2.5.tgz#5466c287f86a0a73e772c8d8d515626c97195dc9" + integrity sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA== dependencies: "@types/react-reconciler" "^0.28.0" @@ -8428,14 +8370,6 @@ object-inspect@^1.12.2, object-inspect@^1.13.1: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -8987,15 +8921,26 @@ react-devtools-core@4.24.0: shell-quote "^1.6.1" ws "^7" -react-dom@^18.0.0, react-dom@^18.2.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@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0-beta-94eed63c49-20240425.tgz#5d10ac9f95f43f26130c2b8f59accc8f18485963" + integrity sha512-V0uHW7Xd0u/LDlmFO8sJ9TTNizAESS+pexJNOi3KbOU1taf2gUO5J8YIWis60xcQbh7YBqSklyYIIq3DfiKz3Q== dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" + scheduler "0.25.0-beta-94eed63c49-20240425" + +react-dom@19.0.0-canary-db913d8e17-20240422: + version "19.0.0-canary-db913d8e17-20240422" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0-canary-db913d8e17-20240422.tgz#606831aa157749c4f556a7d40645a3fae9245440" + integrity sha512-+LmfcPoEv38BcToZ76NWbPgyAqFzZb9ONYVn1F7p6cZmtJerNjmwTBOGZ06h/tugQwg0+dU2igpS3veF5l9E3g== + dependencies: + scheduler "0.25.0-canary-db913d8e17-20240422" + +react-is@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0-beta-94eed63c49-20240425.tgz#e636ae331655ced5616a9ce252e827ed1b917eda" + integrity sha512-jG3jI4NjfbeH899/6kP16TUT+CeVUFNDTw8nPvUxaLSPZVY3s33PRbOOcrd3X4r5nlsyozOYEzkomUlLM3bZcw== -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -9069,13 +9014,12 @@ react-native@0.69.3: whatwg-fetch "^3.0.0" ws "^6.1.4" -react-reconciler@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.27.0.tgz#360124fdf2d76447c7491ee5f0e04503ed9acf5b" - integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA== +react-reconciler@0.31.0-beta-94eed63c49-20240425: + version "0.31.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.31.0-beta-94eed63c49-20240425.tgz#c2d469ab0f933d82150ca871b8b2daae001fd0d7" + integrity sha512-1ffTu3lmFEjdSlHxGjb7ztGDdXtbhKSka8cTRB8/Cj99536qvLpohOfpEsdzkBo1x3I31Q4h+C8g/fZ54MZBxA== dependencies: - loose-envify "^1.1.0" - scheduler "^0.21.0" + scheduler "0.25.0-beta-94eed63c49-20240425" react-refresh@^0.10.0: version "0.10.0" @@ -9092,7 +9036,7 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== -react-shallow-renderer@16.15.0, react-shallow-renderer@^16.15.0: +react-shallow-renderer@16.15.0: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== @@ -9100,14 +9044,13 @@ react-shallow-renderer@16.15.0, react-shallow-renderer@^16.15.0: object-assign "^4.1.1" react-is "^16.12.0 || ^17.0.0 || ^18.0.0" -react-test-renderer@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e" - integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA== +react-test-renderer@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.0.0-beta-94eed63c49-20240425.tgz#458653f26e807c1b3b3c5fa3870ef5939d64afa5" + integrity sha512-lLAOO6Duvq6EHt3dGfn3pK8fBkJgHU2gqceje903/TDTlqlCrm+CXxCOsc6fjqWpD0RYkd1v8FpDEnusaQXijw== dependencies: - react-is "^18.2.0" - react-shallow-renderer "^16.15.0" - scheduler "^0.23.0" + react-is "19.0.0-beta-94eed63c49-20240425" + scheduler "0.25.0-beta-94eed63c49-20240425" react-use-measure@^2.1.1: version "2.1.1" @@ -9121,12 +9064,15 @@ react-use-refs@^1.0.1: resolved "https://registry.yarnpkg.com/react-use-refs/-/react-use-refs-1.0.1.tgz#44cab5f4764b3fa4a112189c0058fc8752d1eb2c" integrity sha512-zVmPRY5DJhzjGgmlIWw9pkdCNlIdrfsEXgdzcSau3MSpKPVuwRQU6DoviwH5f9n5Hc+M2HWW7mkRWbX+4eyC8w== -react@^18.0.0, react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" +react@19.0.0-beta-94eed63c49-20240425: + version "19.0.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/react/-/react-19.0.0-beta-94eed63c49-20240425.tgz#7b30b64c9b3517240d47ac00184ae2d59554bb9b" + integrity sha512-BPPKh5bZwcpw/Dgfh3A0MoU1GSl2edR2JggCq3QPdghQsrFg1aBuMkul5YB4rpII400RYq9VC5eF5Nm3spx0gA== + +react@19.0.0-canary-db913d8e17-20240422: + version "19.0.0-canary-db913d8e17-20240422" + resolved "https://registry.yarnpkg.com/react/-/react-19.0.0-canary-db913d8e17-20240422.tgz#cbf02302e5c082da6c4deefce59525a92972d3ee" + integrity sha512-6D1y1MWw586E1LRbKTZWTGUk8ONtdwu1zPN7EGMiJb0XDcXrLDjvA9dCmXWyRfivV6z+PRJh9YpS3DZjpq24Bg== read-pkg-up@^7.0.1: version "7.0.1" @@ -9252,7 +9198,7 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: +regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== @@ -9512,6 +9458,16 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" +scheduler@0.25.0-beta-94eed63c49-20240425: + version "0.25.0-beta-94eed63c49-20240425" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-beta-94eed63c49-20240425.tgz#db261000b28fa56d65fff2e9c17eb7bd094a669a" + integrity sha512-U8hoOV7uut5E8cMvRSMikEBBqLXfv2BpdxUsG45euaOfnqEgFrCdLLh6ydM+YBJ36+28olXMNmK2PFFzeg4UdQ== + +scheduler@0.25.0-canary-db913d8e17-20240422: + version "0.25.0-canary-db913d8e17-20240422" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0-canary-db913d8e17-20240422.tgz#93e0c376902c1faeb461c4777348873945f8d036" + integrity sha512-UOxM9t/xYfVfbM4zT4QmAMSBqP9/D9pUGPkrB4F0q3vTkIAGfTEE9qvRpAetAD+3zU0s9Ow30fG57VgvscNZYw== + scheduler@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" @@ -9519,13 +9475,6 @@ scheduler@^0.21.0: dependencies: loose-envify "^1.1.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== - dependencies: - loose-envify "^1.1.0" - "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -9933,13 +9882,6 @@ statuses@~1.5.0: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - stream-buffers@2.2.x: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" @@ -10921,7 +10863,7 @@ which-pm@2.0.0: load-yaml-file "^0.2.0" path-exists "^4.0.0" -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==