mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[compiler] Improve IIFE inlining (#33726)
We currently inline IIFEs by creating a temporary and a labeled block w
the original code. The original return statements turn into an
assignment to the temporary and break out of the label. However, many
cases of IIFEs are due to inlining of manual `useMemo()`, and these
cases often have only a single return statement. Here, the output is
cleaner if we avoid the temporary and label - so that's what we do in
this PR.
Note that the most complex part of the change is actually around
ValidatePreserveExistingMemo - we have some logic to track the IIFE
temporary reassignmetns which needs to be updated to handle the simpler
version of inlining.
---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33726).
* __->__ #33726
* #33725
DiffTrain build for [956d770adf](https://github.com/facebook/react/commit/956d770adf59e1f8a00a7b7c52b5727ef9e353e7)
This commit is contained in:
@@ -27640,7 +27640,7 @@ function printInstructionValue(instrValue) {
|
||||
break;
|
||||
}
|
||||
case 'FinishMemoize': {
|
||||
value = `FinishMemoize decl=${printPlace(instrValue.decl)}`;
|
||||
value = `FinishMemoize decl=${printPlace(instrValue.decl)}${instrValue.pruned ? ' pruned' : ''}`;
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
@@ -39546,6 +39546,17 @@ function mergeConsecutiveBlocks(fn) {
|
||||
merged.merge(block.id, predecessorId);
|
||||
fn.body.blocks.delete(block.id);
|
||||
}
|
||||
for (const [, block] of fn.body.blocks) {
|
||||
for (const phi of block.phis) {
|
||||
for (const [predecessorId, operand] of phi.operands) {
|
||||
const mapped = merged.get(predecessorId);
|
||||
if (mapped !== predecessorId) {
|
||||
phi.operands.delete(predecessorId);
|
||||
phi.operands.set(mapped, operand);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
markPredecessors(fn.body);
|
||||
for (const [, { terminal }] of fn.body.blocks) {
|
||||
if (terminalHasFallthrough(terminal)) {
|
||||
@@ -48815,6 +48826,13 @@ class PruneScopesTransform extends ReactiveFunctionTransform {
|
||||
const ids = getOrInsertDefault(this.reassignments, value.lvalue.place.identifier.declarationId, new Set());
|
||||
ids.add(value.value.identifier);
|
||||
}
|
||||
else if (value.kind === 'LoadLocal' &&
|
||||
value.place.identifier.scope != null &&
|
||||
instruction.lvalue != null &&
|
||||
instruction.lvalue.identifier.scope == null) {
|
||||
const ids = getOrInsertDefault(this.reassignments, instruction.lvalue.identifier.declarationId, new Set());
|
||||
ids.add(value.place.identifier);
|
||||
}
|
||||
else if (value.kind === 'FinishMemoize') {
|
||||
let decls;
|
||||
if (value.decl.identifier.scope == null) {
|
||||
@@ -52688,21 +52706,60 @@ function inlineImmediatelyInvokedFunctionExpressions(fn) {
|
||||
};
|
||||
fn.body.blocks.set(continuationBlockId, continuationBlock);
|
||||
block.instructions.length = ii;
|
||||
const newTerminal = {
|
||||
block: body.loweredFunc.func.body.entry,
|
||||
id: makeInstructionId(0),
|
||||
kind: 'label',
|
||||
fallthrough: continuationBlockId,
|
||||
loc: block.terminal.loc,
|
||||
};
|
||||
block.terminal = newTerminal;
|
||||
const result = instr.lvalue;
|
||||
declareTemporary(fn.env, block, result);
|
||||
promoteTemporary(result.identifier);
|
||||
for (const [id, block] of body.loweredFunc.func.body.blocks) {
|
||||
block.preds.clear();
|
||||
rewriteBlock(fn.env, block, continuationBlockId, result);
|
||||
fn.body.blocks.set(id, block);
|
||||
if (hasSingleExitReturnTerminal(body.loweredFunc.func)) {
|
||||
block.terminal = {
|
||||
kind: 'goto',
|
||||
block: body.loweredFunc.func.body.entry,
|
||||
id: block.terminal.id,
|
||||
loc: block.terminal.loc,
|
||||
variant: GotoVariant.Break,
|
||||
};
|
||||
for (const block of body.loweredFunc.func.body.blocks.values()) {
|
||||
if (block.terminal.kind === 'return') {
|
||||
block.instructions.push({
|
||||
id: makeInstructionId(0),
|
||||
loc: block.terminal.loc,
|
||||
lvalue: instr.lvalue,
|
||||
value: {
|
||||
kind: 'LoadLocal',
|
||||
loc: block.terminal.loc,
|
||||
place: block.terminal.value,
|
||||
},
|
||||
effects: null,
|
||||
});
|
||||
block.terminal = {
|
||||
kind: 'goto',
|
||||
block: continuationBlockId,
|
||||
id: block.terminal.id,
|
||||
loc: block.terminal.loc,
|
||||
variant: GotoVariant.Break,
|
||||
};
|
||||
}
|
||||
}
|
||||
for (const [id, block] of body.loweredFunc.func.body.blocks) {
|
||||
block.preds.clear();
|
||||
fn.body.blocks.set(id, block);
|
||||
}
|
||||
}
|
||||
else {
|
||||
const newTerminal = {
|
||||
block: body.loweredFunc.func.body.entry,
|
||||
id: makeInstructionId(0),
|
||||
kind: 'label',
|
||||
fallthrough: continuationBlockId,
|
||||
loc: block.terminal.loc,
|
||||
};
|
||||
block.terminal = newTerminal;
|
||||
const result = instr.lvalue;
|
||||
declareTemporary(fn.env, block, result);
|
||||
if (result.identifier.name == null) {
|
||||
promoteTemporary(result.identifier);
|
||||
}
|
||||
for (const [id, block] of body.loweredFunc.func.body.blocks) {
|
||||
block.preds.clear();
|
||||
rewriteBlock(fn.env, block, continuationBlockId, result);
|
||||
fn.body.blocks.set(id, block);
|
||||
}
|
||||
}
|
||||
queue.push(continuationBlock);
|
||||
continue queue;
|
||||
@@ -52717,14 +52774,26 @@ function inlineImmediatelyInvokedFunctionExpressions(fn) {
|
||||
}
|
||||
}
|
||||
if (inlinedFunctions.size !== 0) {
|
||||
for (const [, block] of fn.body.blocks) {
|
||||
for (const block of fn.body.blocks.values()) {
|
||||
retainWhere(block.instructions, instr => !inlinedFunctions.has(instr.lvalue.identifier.id));
|
||||
}
|
||||
reversePostorderBlocks(fn.body);
|
||||
markInstructionIds(fn.body);
|
||||
markPredecessors(fn.body);
|
||||
mergeConsecutiveBlocks(fn);
|
||||
}
|
||||
}
|
||||
function hasSingleExitReturnTerminal(fn) {
|
||||
let hasReturn = false;
|
||||
let exitCount = 0;
|
||||
for (const [, block] of fn.body.blocks) {
|
||||
if (block.terminal.kind === 'return' || block.terminal.kind === 'throw') {
|
||||
hasReturn || (hasReturn = block.terminal.kind === 'return');
|
||||
exitCount++;
|
||||
}
|
||||
}
|
||||
return exitCount === 1 && hasReturn;
|
||||
}
|
||||
function rewriteBlock(env, block, returnTarget, returnValue) {
|
||||
const { terminal } = block;
|
||||
if (terminal.kind !== 'return') {
|
||||
@@ -57161,6 +57230,14 @@ class Visitor extends ReactiveFunctionVisitor {
|
||||
const ids = getOrInsertDefault(state.manualMemoState.reassignments, value.lvalue.place.identifier.declarationId, new Set());
|
||||
ids.add(value.value.identifier);
|
||||
}
|
||||
if (value.kind === 'LoadLocal' &&
|
||||
value.place.identifier.scope != null &&
|
||||
instruction.lvalue != null &&
|
||||
instruction.lvalue.identifier.scope == null &&
|
||||
state.manualMemoState != null) {
|
||||
const ids = getOrInsertDefault(state.manualMemoState.reassignments, instruction.lvalue.identifier.declarationId, new Set());
|
||||
ids.add(value.place.identifier);
|
||||
}
|
||||
if (value.kind === 'StartMemoize') {
|
||||
let depsFromSource = null;
|
||||
if (value.deps != null) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
befc1246b07a04b401bc6e914b7f336a442dca1a
|
||||
956d770adf59e1f8a00a7b7c52b5727ef9e353e7
|
||||
|
||||
@@ -1 +1 @@
|
||||
befc1246b07a04b401bc6e914b7f336a442dca1a
|
||||
956d770adf59e1f8a00a7b7c52b5727ef9e353e7
|
||||
|
||||
@@ -1434,7 +1434,7 @@ __DEV__ &&
|
||||
exports.useTransition = function () {
|
||||
return resolveDispatcher().useTransition();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -1434,7 +1434,7 @@ __DEV__ &&
|
||||
exports.useTransition = function () {
|
||||
return resolveDispatcher().useTransition();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -610,4 +610,4 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactSharedInternals.H.useTransition();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
|
||||
@@ -610,4 +610,4 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactSharedInternals.H.useTransition();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
|
||||
@@ -614,7 +614,7 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactSharedInternals.H.useTransition();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
"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-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -19299,10 +19299,10 @@ __DEV__ &&
|
||||
(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-art",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -19336,7 +19336,7 @@ __DEV__ &&
|
||||
exports.Shape = Shape;
|
||||
exports.Surface = Surface;
|
||||
exports.Text = Text;
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -19070,10 +19070,10 @@ __DEV__ &&
|
||||
(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-art",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -19107,7 +19107,7 @@ __DEV__ &&
|
||||
exports.Shape = Shape;
|
||||
exports.Surface = Surface;
|
||||
exports.Text = Text;
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -11305,10 +11305,10 @@ var slice = Array.prototype.slice,
|
||||
})(React.Component);
|
||||
var internals$jscomp$inline_1610 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-art",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1611 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -11334,4 +11334,4 @@ exports.RadialGradient = RadialGradient;
|
||||
exports.Shape = TYPES.SHAPE;
|
||||
exports.Surface = Surface;
|
||||
exports.Text = Text;
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
|
||||
@@ -11017,10 +11017,10 @@ var slice = Array.prototype.slice,
|
||||
})(React.Component);
|
||||
var internals$jscomp$inline_1583 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-art",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1584 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -11046,4 +11046,4 @@ exports.RadialGradient = RadialGradient;
|
||||
exports.Shape = TYPES.SHAPE;
|
||||
exports.Surface = Surface;
|
||||
exports.Text = Text;
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
|
||||
@@ -31748,11 +31748,11 @@ __DEV__ &&
|
||||
return_targetInst = null;
|
||||
(function () {
|
||||
var isomorphicReactPackageVersion = React.version;
|
||||
if ("19.2.0-www-classic-befc1246-20250708" !== isomorphicReactPackageVersion)
|
||||
if ("19.2.0-www-classic-956d770a-20250708" !== 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-befc1246-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
"\n - react-dom: 19.2.0-www-classic-956d770a-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
);
|
||||
})();
|
||||
("function" === typeof Map &&
|
||||
@@ -31795,10 +31795,10 @@ __DEV__ &&
|
||||
!(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -32398,7 +32398,7 @@ __DEV__ &&
|
||||
exports.useFormStatus = function () {
|
||||
return resolveDispatcher().useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -31533,11 +31533,11 @@ __DEV__ &&
|
||||
return_targetInst = null;
|
||||
(function () {
|
||||
var isomorphicReactPackageVersion = React.version;
|
||||
if ("19.2.0-www-modern-befc1246-20250708" !== isomorphicReactPackageVersion)
|
||||
if ("19.2.0-www-modern-956d770a-20250708" !== 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-befc1246-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
"\n - react-dom: 19.2.0-www-modern-956d770a-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
);
|
||||
})();
|
||||
("function" === typeof Map &&
|
||||
@@ -31580,10 +31580,10 @@ __DEV__ &&
|
||||
!(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -32183,7 +32183,7 @@ __DEV__ &&
|
||||
exports.useFormStatus = function () {
|
||||
return resolveDispatcher().useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -19564,14 +19564,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2069 = React.version;
|
||||
if (
|
||||
"19.2.0-www-classic-befc1246-20250708" !==
|
||||
"19.2.0-www-classic-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2069
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2069,
|
||||
"19.2.0-www-classic-befc1246-20250708"
|
||||
"19.2.0-www-classic-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -19589,10 +19589,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2682 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2683 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -20004,4 +20004,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
|
||||
@@ -19293,14 +19293,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2059 = React.version;
|
||||
if (
|
||||
"19.2.0-www-modern-befc1246-20250708" !==
|
||||
"19.2.0-www-modern-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2059
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2059,
|
||||
"19.2.0-www-modern-befc1246-20250708"
|
||||
"19.2.0-www-modern-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -19318,10 +19318,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2664 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2665 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -19733,4 +19733,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
|
||||
@@ -21571,14 +21571,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2315 = React.version;
|
||||
if (
|
||||
"19.2.0-www-classic-befc1246-20250708" !==
|
||||
"19.2.0-www-classic-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2315
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2315,
|
||||
"19.2.0-www-classic-befc1246-20250708"
|
||||
"19.2.0-www-classic-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -21596,10 +21596,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2317 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
enableSchedulingProfiler &&
|
||||
((internals$jscomp$inline_2317.getLaneLabelMap = getLaneLabelMap),
|
||||
@@ -22014,7 +22014,7 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -21365,14 +21365,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2305 = React.version;
|
||||
if (
|
||||
"19.2.0-www-modern-befc1246-20250708" !==
|
||||
"19.2.0-www-modern-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2305
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2305,
|
||||
"19.2.0-www-modern-befc1246-20250708"
|
||||
"19.2.0-www-modern-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -21390,10 +21390,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2307 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
enableSchedulingProfiler &&
|
||||
((internals$jscomp$inline_2307.getLaneLabelMap = getLaneLabelMap),
|
||||
@@ -21808,7 +21808,7 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -10137,5 +10137,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-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -10066,5 +10066,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-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -6868,4 +6868,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-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
|
||||
@@ -6801,4 +6801,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-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
|
||||
@@ -32069,11 +32069,11 @@ __DEV__ &&
|
||||
return_targetInst = null;
|
||||
(function () {
|
||||
var isomorphicReactPackageVersion = React.version;
|
||||
if ("19.2.0-www-classic-befc1246-20250708" !== isomorphicReactPackageVersion)
|
||||
if ("19.2.0-www-classic-956d770a-20250708" !== 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-befc1246-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
"\n - react-dom: 19.2.0-www-classic-956d770a-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
);
|
||||
})();
|
||||
("function" === typeof Map &&
|
||||
@@ -32116,10 +32116,10 @@ __DEV__ &&
|
||||
!(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -32885,5 +32885,5 @@ __DEV__ &&
|
||||
exports.useFormStatus = function () {
|
||||
return resolveDispatcher().useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -31854,11 +31854,11 @@ __DEV__ &&
|
||||
return_targetInst = null;
|
||||
(function () {
|
||||
var isomorphicReactPackageVersion = React.version;
|
||||
if ("19.2.0-www-modern-befc1246-20250708" !== isomorphicReactPackageVersion)
|
||||
if ("19.2.0-www-modern-956d770a-20250708" !== 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-befc1246-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
"\n - react-dom: 19.2.0-www-modern-956d770a-20250708\nLearn more: https://react.dev/warnings/version-mismatch")
|
||||
);
|
||||
})();
|
||||
("function" === typeof Map &&
|
||||
@@ -31901,10 +31901,10 @@ __DEV__ &&
|
||||
!(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -32670,5 +32670,5 @@ __DEV__ &&
|
||||
exports.useFormStatus = function () {
|
||||
return resolveDispatcher().useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -19880,14 +19880,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2098 = React.version;
|
||||
if (
|
||||
"19.2.0-www-classic-befc1246-20250708" !==
|
||||
"19.2.0-www-classic-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2098
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2098,
|
||||
"19.2.0-www-classic-befc1246-20250708"
|
||||
"19.2.0-www-classic-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -19905,10 +19905,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2716 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2717 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -20471,4 +20471,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
|
||||
@@ -19609,14 +19609,14 @@ function getCrossOriginStringAs(as, input) {
|
||||
}
|
||||
var isomorphicReactPackageVersion$jscomp$inline_2088 = React.version;
|
||||
if (
|
||||
"19.2.0-www-modern-befc1246-20250708" !==
|
||||
"19.2.0-www-modern-956d770a-20250708" !==
|
||||
isomorphicReactPackageVersion$jscomp$inline_2088
|
||||
)
|
||||
throw Error(
|
||||
formatProdErrorMessage(
|
||||
527,
|
||||
isomorphicReactPackageVersion$jscomp$inline_2088,
|
||||
"19.2.0-www-modern-befc1246-20250708"
|
||||
"19.2.0-www-modern-956d770a-20250708"
|
||||
)
|
||||
);
|
||||
Internals.findDOMNode = function (componentOrElement) {
|
||||
@@ -19634,10 +19634,10 @@ Internals.Events = [
|
||||
];
|
||||
var internals$jscomp$inline_2698 = {
|
||||
bundleType: 0,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-dom",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_2699 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
@@ -20200,4 +20200,4 @@ exports.useFormState = function (action, initialState, permalink) {
|
||||
exports.useFormStatus = function () {
|
||||
return ReactSharedInternals.H.useHostTransitionStatus();
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
|
||||
@@ -22126,7 +22126,7 @@ __DEV__ &&
|
||||
version: rendererVersion,
|
||||
rendererPackageName: rendererPackageName,
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
null !== extraDevToolsConfig &&
|
||||
(internals.rendererConfig = extraDevToolsConfig);
|
||||
|
||||
@@ -21906,7 +21906,7 @@ __DEV__ &&
|
||||
version: rendererVersion,
|
||||
rendererPackageName: rendererPackageName,
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
null !== extraDevToolsConfig &&
|
||||
(internals.rendererConfig = extraDevToolsConfig);
|
||||
|
||||
@@ -14061,7 +14061,7 @@ module.exports = function ($$$config) {
|
||||
version: rendererVersion,
|
||||
rendererPackageName: rendererPackageName,
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
null !== extraDevToolsConfig &&
|
||||
(internals.rendererConfig = extraDevToolsConfig);
|
||||
|
||||
@@ -13778,7 +13778,7 @@ module.exports = function ($$$config) {
|
||||
version: rendererVersion,
|
||||
rendererPackageName: rendererPackageName,
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
null !== extraDevToolsConfig &&
|
||||
(internals.rendererConfig = extraDevToolsConfig);
|
||||
|
||||
@@ -15434,10 +15434,10 @@ __DEV__ &&
|
||||
(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-classic-befc1246-20250708",
|
||||
version: "19.2.0-www-classic-956d770a-20250708",
|
||||
rendererPackageName: "react-test-renderer",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-classic-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-classic-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -15572,5 +15572,5 @@ __DEV__ &&
|
||||
exports.unstable_batchedUpdates = function (fn, a) {
|
||||
return fn(a);
|
||||
};
|
||||
exports.version = "19.2.0-www-classic-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-classic-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -15434,10 +15434,10 @@ __DEV__ &&
|
||||
(function () {
|
||||
var internals = {
|
||||
bundleType: 1,
|
||||
version: "19.2.0-www-modern-befc1246-20250708",
|
||||
version: "19.2.0-www-modern-956d770a-20250708",
|
||||
rendererPackageName: "react-test-renderer",
|
||||
currentDispatcherRef: ReactSharedInternals,
|
||||
reconcilerVersion: "19.2.0-www-modern-befc1246-20250708"
|
||||
reconcilerVersion: "19.2.0-www-modern-956d770a-20250708"
|
||||
};
|
||||
internals.overrideHookState = overrideHookState;
|
||||
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
|
||||
@@ -15572,5 +15572,5 @@ __DEV__ &&
|
||||
exports.unstable_batchedUpdates = function (fn, a) {
|
||||
return fn(a);
|
||||
};
|
||||
exports.version = "19.2.0-www-modern-befc1246-20250708";
|
||||
exports.version = "19.2.0-www-modern-956d770a-20250708";
|
||||
})();
|
||||
|
||||
@@ -1 +1 @@
|
||||
19.2.0-www-classic-befc1246-20250708
|
||||
19.2.0-www-classic-956d770a-20250708
|
||||
@@ -1 +1 @@
|
||||
19.2.0-www-modern-befc1246-20250708
|
||||
19.2.0-www-modern-956d770a-20250708
|
||||
Reference in New Issue
Block a user