[compiler] Improve merging of scopes that invalidate together (#34049)

We try to merge consecutive reactive scopes that will always invalidate
together, but there's one common case that isn't handled.

```js
const y = [[x]];
```

Here we'll create two consecutive scopes for the inner and outer array
expressions. Because the input to the second scope is a temporary,
they'll merge into one scope.

But if we name the inner array, the merging stops:

```js
const array = [x];
const y = [array];
```

This is because the merging logic checks if all the dependencies of the
second scope are outputs of the first scope, but doesn't account for
renaming due to LoadLocal/StoreLocal. The fix is to track these
temporaries.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/facebook/react/pull/34049).
* __->__ #34049
* #34047
* #34044

DiffTrain build for [ddf8bc3fba](https://github.com/facebook/react/commit/ddf8bc3fbac7aefbf557e2e4a3e14d8de1b80872)
This commit is contained in:
josephsavona
2025-08-01 13:07:00 -07:00
parent c4e079782f
commit 952bee4aa2
35 changed files with 102 additions and 92 deletions
+16 -6
View File
@@ -37487,6 +37487,7 @@ class FindLastUsageVisitor extends ReactiveFunctionVisitor {
let Transform$4 = class Transform extends ReactiveFunctionTransform {
constructor(lastUsage) {
super();
this.temporaries = new Map();
this.lastUsage = lastUsage;
}
transformScope(scopeBlock, state) {
@@ -37500,6 +37501,7 @@ let Transform$4 = class Transform extends ReactiveFunctionTransform {
}
}
visitBlock(block, state) {
var _a;
this.traverseBlock(block, state);
let current = null;
const merged = [];
@@ -37543,6 +37545,9 @@ let Transform$4 = class Transform extends ReactiveFunctionTransform {
case 'UnaryExpression': {
if (current !== null && instr.instruction.lvalue !== null) {
current.lvalues.add(instr.instruction.lvalue.identifier.declarationId);
if (instr.instruction.value.kind === 'LoadLocal') {
this.temporaries.set(instr.instruction.lvalue.identifier.declarationId, instr.instruction.value.place.identifier.declarationId);
}
}
break;
}
@@ -37552,6 +37557,8 @@ let Transform$4 = class Transform extends ReactiveFunctionTransform {
for (const lvalue of eachInstructionLValue(instr.instruction)) {
current.lvalues.add(lvalue.identifier.declarationId);
}
this.temporaries.set(instr.instruction.value.lvalue.place.identifier
.declarationId, (_a = this.temporaries.get(instr.instruction.value.value.identifier.declarationId)) !== null && _a !== void 0 ? _a : instr.instruction.value.value.identifier.declarationId);
}
else {
reset();
@@ -37569,7 +37576,7 @@ let Transform$4 = class Transform extends ReactiveFunctionTransform {
}
case 'scope': {
if (current !== null &&
canMergeScopes(current.block, instr) &&
canMergeScopes(current.block, instr, this.temporaries) &&
areLValuesLastUsedByScope(instr.scope, current.lvalues, this.lastUsage)) {
current.block.scope.range.end = makeInstructionId(Math.max(current.block.scope.range.end, instr.scope.range.end));
for (const [key, value] of instr.scope.declarations) {
@@ -37665,7 +37672,7 @@ function areLValuesLastUsedByScope(scope, lvalues, lastUsage) {
}
return true;
}
function canMergeScopes(current, next) {
function canMergeScopes(current, next, temporaries) {
if (current.scope.reassignments.size !== 0 ||
next.scope.reassignments.size !== 0) {
return false;
@@ -37679,12 +37686,15 @@ function canMergeScopes(current, next) {
path: [],
}))), next.scope.dependencies) ||
(next.scope.dependencies.size !== 0 &&
[...next.scope.dependencies].every(dep => isAlwaysInvalidatingType(dep.identifier.type) &&
Iterable_some(current.scope.declarations.values(), decl => decl.identifier.declarationId === dep.identifier.declarationId)))) {
[...next.scope.dependencies].every(dep => dep.path.length === 0 &&
isAlwaysInvalidatingType(dep.identifier.type) &&
Iterable_some(current.scope.declarations.values(), decl => decl.identifier.declarationId === dep.identifier.declarationId ||
decl.identifier.declarationId ===
temporaries.get(dep.identifier.declarationId))))) {
return true;
}
log(` ${printReactiveScopeSummary(current.scope)}`);
log(` ${printReactiveScopeSummary(next.scope)}`);
log(` ${printReactiveScopeSummary(current.scope)} ${[...current.scope.declarations.values()].map(decl => decl.identifier.declarationId)}`);
log(` ${printReactiveScopeSummary(next.scope)} ${[...next.scope.dependencies].map(dep => { var _a; return `${dep.identifier.declarationId} ${(_a = temporaries.get(dep.identifier.declarationId)) !== null && _a !== void 0 ? _a : dep.identifier.declarationId}`; })}`);
return false;
}
function isAlwaysInvalidatingType(type) {
+1 -1
View File
@@ -1 +1 @@
0860b9cc1f4a7188b41204bddc57a127a8bbf6e9
ddf8bc3fbac7aefbf557e2e4a3e14d8de1b80872
+1 -1
View File
@@ -1 +1 @@
0860b9cc1f4a7188b41204bddc57a127a8bbf6e9
ddf8bc3fbac7aefbf557e2e4a3e14d8de1b80872
+1 -1
View File
@@ -1434,7 +1434,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+1 -1
View File
@@ -1434,7 +1434,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+1 -1
View File
@@ -610,4 +610,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
+1 -1
View File
@@ -610,4 +610,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
@@ -614,7 +614,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -614,7 +614,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -19318,10 +19318,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -19355,7 +19355,7 @@ __DEV__ &&
exports.Shape = Shape;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+3 -3
View File
@@ -19089,10 +19089,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -19126,7 +19126,7 @@ __DEV__ &&
exports.Shape = Shape;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -11293,10 +11293,10 @@ var slice = Array.prototype.slice,
})(React.Component);
var internals$jscomp$inline_1608 = {
bundleType: 0,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1609 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -11322,4 +11322,4 @@ exports.RadialGradient = RadialGradient;
exports.Shape = TYPES.SHAPE;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
@@ -11005,10 +11005,10 @@ var slice = Array.prototype.slice,
})(React.Component);
var internals$jscomp$inline_1581 = {
bundleType: 0,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-art",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1582 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -11034,4 +11034,4 @@ exports.RadialGradient = RadialGradient;
exports.Shape = TYPES.SHAPE;
exports.Surface = Surface;
exports.Text = Text;
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
@@ -31767,11 +31767,11 @@ __DEV__ &&
return_targetInst = null;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-www-classic-0860b9cc-20250801" !== isomorphicReactPackageVersion)
if ("19.2.0-www-classic-ddf8bc3f-20250801" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-www-classic-0860b9cc-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-www-classic-ddf8bc3f-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -31814,10 +31814,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -32417,7 +32417,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
+5 -5
View File
@@ -31552,11 +31552,11 @@ __DEV__ &&
return_targetInst = null;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-www-modern-0860b9cc-20250801" !== isomorphicReactPackageVersion)
if ("19.2.0-www-modern-ddf8bc3f-20250801" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-www-modern-0860b9cc-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-www-modern-ddf8bc3f-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -31599,10 +31599,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -32202,7 +32202,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -19543,14 +19543,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2067 = React.version;
if (
"19.2.0-www-classic-0860b9cc-20250801" !==
"19.2.0-www-classic-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2067
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2067,
"19.2.0-www-classic-0860b9cc-20250801"
"19.2.0-www-classic-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -19568,10 +19568,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2680 = {
bundleType: 0,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2681 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -19983,4 +19983,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
@@ -19272,14 +19272,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2057 = React.version;
if (
"19.2.0-www-modern-0860b9cc-20250801" !==
"19.2.0-www-modern-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2057
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2057,
"19.2.0-www-modern-0860b9cc-20250801"
"19.2.0-www-modern-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -19297,10 +19297,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2662 = {
bundleType: 0,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2663 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -19712,4 +19712,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
@@ -21551,14 +21551,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2313 = React.version;
if (
"19.2.0-www-classic-0860b9cc-20250801" !==
"19.2.0-www-classic-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2313
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2313,
"19.2.0-www-classic-0860b9cc-20250801"
"19.2.0-www-classic-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -21576,10 +21576,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2315 = {
bundleType: 0,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
enableSchedulingProfiler &&
((internals$jscomp$inline_2315.getLaneLabelMap = getLaneLabelMap),
@@ -21994,7 +21994,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -21345,14 +21345,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2303 = React.version;
if (
"19.2.0-www-modern-0860b9cc-20250801" !==
"19.2.0-www-modern-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2303
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2303,
"19.2.0-www-modern-0860b9cc-20250801"
"19.2.0-www-modern-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -21370,10 +21370,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2305 = {
bundleType: 0,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
enableSchedulingProfiler &&
((internals$jscomp$inline_2305.getLaneLabelMap = getLaneLabelMap),
@@ -21788,7 +21788,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -10159,5 +10159,5 @@ __DEV__ &&
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
})();
@@ -10088,5 +10088,5 @@ __DEV__ &&
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
})();
@@ -6892,4 +6892,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
@@ -6825,4 +6825,4 @@ exports.renderToString = function (children, options) {
'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToReadableStream" which supports Suspense on the server'
);
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
@@ -32088,11 +32088,11 @@ __DEV__ &&
return_targetInst = null;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-www-classic-0860b9cc-20250801" !== isomorphicReactPackageVersion)
if ("19.2.0-www-classic-ddf8bc3f-20250801" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-www-classic-0860b9cc-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-www-classic-ddf8bc3f-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -32135,10 +32135,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -32904,5 +32904,5 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
})();
@@ -31873,11 +31873,11 @@ __DEV__ &&
return_targetInst = null;
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-www-modern-0860b9cc-20250801" !== isomorphicReactPackageVersion)
if ("19.2.0-www-modern-ddf8bc3f-20250801" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-dom: 19.2.0-www-modern-0860b9cc-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-www-modern-ddf8bc3f-20250801\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -31920,10 +31920,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -32689,5 +32689,5 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
})();
@@ -19859,14 +19859,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2096 = React.version;
if (
"19.2.0-www-classic-0860b9cc-20250801" !==
"19.2.0-www-classic-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2096
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2096,
"19.2.0-www-classic-0860b9cc-20250801"
"19.2.0-www-classic-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -19884,10 +19884,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2714 = {
bundleType: 0,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2715 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -20450,4 +20450,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
@@ -19588,14 +19588,14 @@ function getCrossOriginStringAs(as, input) {
}
var isomorphicReactPackageVersion$jscomp$inline_2086 = React.version;
if (
"19.2.0-www-modern-0860b9cc-20250801" !==
"19.2.0-www-modern-ddf8bc3f-20250801" !==
isomorphicReactPackageVersion$jscomp$inline_2086
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2086,
"19.2.0-www-modern-0860b9cc-20250801"
"19.2.0-www-modern-ddf8bc3f-20250801"
)
);
Internals.findDOMNode = function (componentOrElement) {
@@ -19613,10 +19613,10 @@ Internals.Events = [
];
var internals$jscomp$inline_2696 = {
bundleType: 0,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2697 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -20179,4 +20179,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
@@ -22145,7 +22145,7 @@ __DEV__ &&
version: rendererVersion,
rendererPackageName: rendererPackageName,
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -21925,7 +21925,7 @@ __DEV__ &&
version: rendererVersion,
rendererPackageName: rendererPackageName,
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -14041,7 +14041,7 @@ module.exports = function ($$$config) {
version: rendererVersion,
rendererPackageName: rendererPackageName,
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -13758,7 +13758,7 @@ module.exports = function ($$$config) {
version: rendererVersion,
rendererPackageName: rendererPackageName,
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -15446,10 +15446,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-classic-0860b9cc-20250801",
version: "19.2.0-www-classic-ddf8bc3f-20250801",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-classic-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-classic-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -15584,5 +15584,5 @@ __DEV__ &&
exports.unstable_batchedUpdates = function (fn, a) {
return fn(a);
};
exports.version = "19.2.0-www-classic-0860b9cc-20250801";
exports.version = "19.2.0-www-classic-ddf8bc3f-20250801";
})();
@@ -15446,10 +15446,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-www-modern-0860b9cc-20250801",
version: "19.2.0-www-modern-ddf8bc3f-20250801",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-www-modern-0860b9cc-20250801"
reconcilerVersion: "19.2.0-www-modern-ddf8bc3f-20250801"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -15584,5 +15584,5 @@ __DEV__ &&
exports.unstable_batchedUpdates = function (fn, a) {
return fn(a);
};
exports.version = "19.2.0-www-modern-0860b9cc-20250801";
exports.version = "19.2.0-www-modern-ddf8bc3f-20250801";
})();
+1 -1
View File
@@ -1 +1 @@
19.2.0-www-classic-0860b9cc-20250801
19.2.0-www-classic-ddf8bc3f-20250801
+1 -1
View File
@@ -1 +1 @@
19.2.0-www-modern-0860b9cc-20250801
19.2.0-www-modern-ddf8bc3f-20250801