Skip to content

Commit 0c1b2bf

Browse files
committed
[compiler] Fix inferEffectDependencies lint false positives (#32769)
Currently, inferred effect dependencies are considered a "compiler-required" feature. This means that untransformed callsites should escalate to a build error. `ValidateNoUntransformedReferences` iterates 'special effect' callsites and checks that the compiler was able to successfully transform them. Prior to this PR, this relied on checking the number of arguments passed to this special effect. This obviously doesn't work with `noEmit: true`, which is used for our eslint plugin (this avoids mutating the babel program as other linters run with the same ast). This PR adds a set of `babel.SourceLocation`s to do best effort matching in this mode. DiffTrain build for [8039f1b](8039f1b)
1 parent d587415 commit 0c1b2bf

35 files changed

+108
-94
lines changed

compiled/eslint-plugin-react-hooks/index.js

+22-8
Original file line numberDiff line numberDiff line change
@@ -37381,6 +37381,7 @@ class Environment {
3738137381
_Environment_nextScope.set(this, 0);
3738237382
_Environment_scope.set(this, void 0);
3738337383
_Environment_outlinedFunctions.set(this, []);
37384+
this.inferredEffectLocations = new Set();
3738437385
_Environment_contextIdentifiers.set(this, void 0);
3738537386
_Environment_hoistedIdentifiers.set(this, void 0);
3738637387
__classPrivateFieldSet(this, _Environment_scope, scope, "f");
@@ -42169,6 +42170,7 @@ function codegenReactiveFunction(cx, fn) {
4216942170
outlined: [],
4217042171
hasFireRewrite: fn.env.hasFireRewrite,
4217142172
hasInferredEffect: fn.env.hasInferredEffect,
42173+
inferredEffectLocations: fn.env.inferredEffectLocations,
4217242174
});
4217342175
}
4217442176
class CountMemoBlockVisitor extends ReactiveFunctionVisitor {
@@ -48286,6 +48288,7 @@ function inferEffectDependencies(fn) {
4828648288
});
4828748289
value.args.push(Object.assign(Object.assign({}, depsPlace), { effect: Effect.Freeze }));
4828848290
rewriteInstrs.set(instr.id, newInstructions);
48291+
fn.env.inferredEffectLocations.add(callee.loc);
4828948292
}
4829048293
else if (loadGlobals.has(value.args[0].identifier.id)) {
4829148294
newInstructions.push({
@@ -48296,6 +48299,7 @@ function inferEffectDependencies(fn) {
4829648299
});
4829748300
value.args.push(Object.assign(Object.assign({}, depsPlace), { effect: Effect.Freeze }));
4829848301
rewriteInstrs.set(instr.id, newInstructions);
48302+
fn.env.inferredEffectLocations.add(callee.loc);
4829948303
}
4830048304
}
4830148305
}
@@ -54378,6 +54382,7 @@ function compileProgram(program, pass) {
5437854382
ArrowFunctionExpression: traverseFunction,
5437954383
}, Object.assign(Object.assign({}, pass), { opts: Object.assign(Object.assign({}, pass.opts), pass.opts), filename: (_b = pass.filename) !== null && _b !== void 0 ? _b : null }));
5438054384
const retryErrors = [];
54385+
const inferredEffectLocations = new Set();
5438154386
const processFn = (fn, fnType) => {
5438254387
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
5438354388
let optInDirectives = [];
@@ -54462,6 +54467,10 @@ function compileProgram(program, pass) {
5446254467
if (!pass.opts.noEmit) {
5446354468
return compileResult.compiledFn;
5446454469
}
54470+
for (const loc of compileResult.compiledFn.inferredEffectLocations) {
54471+
if (loc !== GeneratedSource)
54472+
inferredEffectLocations.add(loc);
54473+
}
5446554474
return null;
5446654475
};
5446754476
while (queue.length !== 0) {
@@ -54516,7 +54525,7 @@ function compileProgram(program, pass) {
5451654525
if (compiledFns.length > 0) {
5451754526
addImportsToProgram(program, programContext);
5451854527
}
54519-
return { retryErrors };
54528+
return { retryErrors, inferredEffectLocations };
5452054529
}
5452154530
function shouldSkipCompilation(program, pass) {
5452254531
if (pass.opts.sources) {
@@ -55190,7 +55199,10 @@ function assertValidEffectImportReference(numArgs, paths, context) {
5519055199
const parent = path.parentPath;
5519155200
if (parent != null && parent.isCallExpression()) {
5519255201
const args = parent.get('arguments');
55193-
if (args.length === numArgs) {
55202+
const maybeCalleeLoc = path.node.loc;
55203+
const hasInferredEffect = maybeCalleeLoc != null &&
55204+
context.inferredEffectLocations.has(maybeCalleeLoc);
55205+
if (args.length === numArgs && !hasInferredEffect) {
5519455206
const maybeErrorDiagnostic = matchCompilerDiagnostic(path, context.transformErrors);
5519555207
throwInvalidReact({
5519655208
reason: '[InferEffectDependencies] React Compiler is unable to infer dependencies of this effect. ' +
@@ -55219,7 +55231,7 @@ function assertValidFireImportReference(paths, context) {
5521955231
}, context);
5522055232
}
5522155233
}
55222-
function validateNoUntransformedReferences(path, filename, logger, env, transformErrors) {
55234+
function validateNoUntransformedReferences(path, filename, logger, env, compileResult) {
5522355235
const moduleLoadChecks = new Map();
5522455236
if (env.enableFire) {
5522555237
for (const module of Environment.knownReactModules) {
@@ -55234,7 +55246,7 @@ function validateNoUntransformedReferences(path, filename, logger, env, transfor
5523455246
}
5523555247
}
5523655248
if (moduleLoadChecks.size > 0) {
55237-
transformProgram(path, moduleLoadChecks, filename, logger, transformErrors);
55249+
transformProgram(path, moduleLoadChecks, filename, logger, compileResult);
5523855250
}
5523955251
}
5524055252
function validateImportSpecifier(specifier, importSpecifierChecks, state) {
@@ -55294,13 +55306,15 @@ function validateNamespacedImport(specifier, importSpecifierChecks, state) {
5529455306
checkFn(references, state);
5529555307
}
5529655308
}
55297-
function transformProgram(path, moduleLoadChecks, filename, logger, transformErrors) {
55309+
function transformProgram(path, moduleLoadChecks, filename, logger, compileResult) {
55310+
var _a, _b;
5529855311
const traversalState = {
5529955312
shouldInvalidateScopes: true,
5530055313
program: path,
5530155314
filename,
5530255315
logger,
55303-
transformErrors,
55316+
transformErrors: (_a = compileResult === null || compileResult === void 0 ? void 0 : compileResult.retryErrors) !== null && _a !== void 0 ? _a : [],
55317+
inferredEffectLocations: (_b = compileResult === null || compileResult === void 0 ? void 0 : compileResult.inferredEffectLocations) !== null && _b !== void 0 ? _b : new Set(),
5530455318
};
5530555319
path.traverse({
5530655320
ImportDeclaration(path) {
@@ -55336,7 +55350,7 @@ function BabelPluginReactCompiler(_babel) {
5533655350
visitor: {
5533755351
Program: {
5533855352
enter(prog, pass) {
55339-
var _a, _b, _c, _d, _e;
55353+
var _a, _b, _c, _d;
5534055354
const filename = (_a = pass.filename) !== null && _a !== void 0 ? _a : 'unknown';
5534155355
if (ENABLE_REACT_COMPILER_TIMINGS === true) {
5534255356
performance.mark(`${filename}:start`, {
@@ -55359,7 +55373,7 @@ function BabelPluginReactCompiler(_babel) {
5535955373
comments: (_c = pass.file.ast.comments) !== null && _c !== void 0 ? _c : [],
5536055374
code: pass.file.code,
5536155375
});
55362-
validateNoUntransformedReferences(prog, (_d = pass.filename) !== null && _d !== void 0 ? _d : null, opts.logger, opts.environment, (_e = result === null || result === void 0 ? void 0 : result.retryErrors) !== null && _e !== void 0 ? _e : []);
55376+
validateNoUntransformedReferences(prog, (_d = pass.filename) !== null && _d !== void 0 ? _d : null, opts.logger, opts.environment, result);
5536355377
if (ENABLE_REACT_COMPILER_TIMINGS === true) {
5536455378
performance.mark(`${filename}:end`, {
5536555379
detail: 'BabelPlugin:Program:end',

compiled/facebook-www/REVISION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4280563b04898baad423dc7d0f8b0dfea3b1797a
1+
8039f1b2a05d00437cd29707761aeae098c80adc
+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4280563b04898baad423dc7d0f8b0dfea3b1797a
1+
8039f1b2a05d00437cd29707761aeae098c80adc

compiled/facebook-www/React-dev.classic.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1511,7 +1511,7 @@ __DEV__ &&
15111511
exports.useTransition = function () {
15121512
return resolveDispatcher().useTransition();
15131513
};
1514-
exports.version = "19.1.0-www-classic-4280563b-20250326";
1514+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";
15151515
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
15161516
"function" ===
15171517
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-dev.modern.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1511,7 +1511,7 @@ __DEV__ &&
15111511
exports.useTransition = function () {
15121512
return resolveDispatcher().useTransition();
15131513
};
1514-
exports.version = "19.1.0-www-modern-4280563b-20250326";
1514+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";
15151515
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
15161516
"function" ===
15171517
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-prod.classic.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -624,4 +624,4 @@ exports.useSyncExternalStore = function (
624624
exports.useTransition = function () {
625625
return ReactSharedInternals.H.useTransition();
626626
};
627-
exports.version = "19.1.0-www-classic-4280563b-20250326";
627+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";

compiled/facebook-www/React-prod.modern.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -624,4 +624,4 @@ exports.useSyncExternalStore = function (
624624
exports.useTransition = function () {
625625
return ReactSharedInternals.H.useTransition();
626626
};
627-
exports.version = "19.1.0-www-modern-4280563b-20250326";
627+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";

compiled/facebook-www/React-profiling.classic.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,7 @@ exports.useSyncExternalStore = function (
628628
exports.useTransition = function () {
629629
return ReactSharedInternals.H.useTransition();
630630
};
631-
exports.version = "19.1.0-www-classic-4280563b-20250326";
631+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";
632632
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
633633
"function" ===
634634
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-profiling.modern.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,7 @@ exports.useSyncExternalStore = function (
628628
exports.useTransition = function () {
629629
return ReactSharedInternals.H.useTransition();
630630
};
631-
exports.version = "19.1.0-www-modern-4280563b-20250326";
631+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";
632632
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
633633
"function" ===
634634
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-dev.classic.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -18200,10 +18200,10 @@ __DEV__ &&
1820018200
(function () {
1820118201
var internals = {
1820218202
bundleType: 1,
18203-
version: "19.1.0-www-classic-4280563b-20250326",
18203+
version: "19.1.0-www-classic-8039f1b2-20250327",
1820418204
rendererPackageName: "react-art",
1820518205
currentDispatcherRef: ReactSharedInternals,
18206-
reconcilerVersion: "19.1.0-www-classic-4280563b-20250326"
18206+
reconcilerVersion: "19.1.0-www-classic-8039f1b2-20250327"
1820718207
};
1820818208
internals.overrideHookState = overrideHookState;
1820918209
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -18237,7 +18237,7 @@ __DEV__ &&
1823718237
exports.Shape = Shape;
1823818238
exports.Surface = Surface;
1823918239
exports.Text = Text;
18240-
exports.version = "19.1.0-www-classic-4280563b-20250326";
18240+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";
1824118241
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1824218242
"function" ===
1824318243
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-dev.modern.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -17972,10 +17972,10 @@ __DEV__ &&
1797217972
(function () {
1797317973
var internals = {
1797417974
bundleType: 1,
17975-
version: "19.1.0-www-modern-4280563b-20250326",
17975+
version: "19.1.0-www-modern-8039f1b2-20250327",
1797617976
rendererPackageName: "react-art",
1797717977
currentDispatcherRef: ReactSharedInternals,
17978-
reconcilerVersion: "19.1.0-www-modern-4280563b-20250326"
17978+
reconcilerVersion: "19.1.0-www-modern-8039f1b2-20250327"
1797917979
};
1798017980
internals.overrideHookState = overrideHookState;
1798117981
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -18009,7 +18009,7 @@ __DEV__ &&
1800918009
exports.Shape = Shape;
1801018010
exports.Surface = Surface;
1801118011
exports.Text = Text;
18012-
exports.version = "19.1.0-www-modern-4280563b-20250326";
18012+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";
1801318013
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1801418014
"function" ===
1801518015
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-prod.classic.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -11152,10 +11152,10 @@ var slice = Array.prototype.slice,
1115211152
})(React.Component);
1115311153
var internals$jscomp$inline_1582 = {
1115411154
bundleType: 0,
11155-
version: "19.1.0-www-classic-4280563b-20250326",
11155+
version: "19.1.0-www-classic-8039f1b2-20250327",
1115611156
rendererPackageName: "react-art",
1115711157
currentDispatcherRef: ReactSharedInternals,
11158-
reconcilerVersion: "19.1.0-www-classic-4280563b-20250326"
11158+
reconcilerVersion: "19.1.0-www-classic-8039f1b2-20250327"
1115911159
};
1116011160
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1116111161
var hook$jscomp$inline_1583 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -11181,4 +11181,4 @@ exports.RadialGradient = RadialGradient;
1118111181
exports.Shape = TYPES.SHAPE;
1118211182
exports.Surface = Surface;
1118311183
exports.Text = Text;
11184-
exports.version = "19.1.0-www-classic-4280563b-20250326";
11184+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";

compiled/facebook-www/ReactART-prod.modern.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -10865,10 +10865,10 @@ var slice = Array.prototype.slice,
1086510865
})(React.Component);
1086610866
var internals$jscomp$inline_1555 = {
1086710867
bundleType: 0,
10868-
version: "19.1.0-www-modern-4280563b-20250326",
10868+
version: "19.1.0-www-modern-8039f1b2-20250327",
1086910869
rendererPackageName: "react-art",
1087010870
currentDispatcherRef: ReactSharedInternals,
10871-
reconcilerVersion: "19.1.0-www-modern-4280563b-20250326"
10871+
reconcilerVersion: "19.1.0-www-modern-8039f1b2-20250327"
1087210872
};
1087310873
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1087410874
var hook$jscomp$inline_1556 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -10894,4 +10894,4 @@ exports.RadialGradient = RadialGradient;
1089410894
exports.Shape = TYPES.SHAPE;
1089510895
exports.Surface = Surface;
1089610896
exports.Text = Text;
10897-
exports.version = "19.1.0-www-modern-4280563b-20250326";
10897+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";

compiled/facebook-www/ReactDOM-dev.classic.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -29918,11 +29918,11 @@ __DEV__ &&
2991829918
return_targetInst = null;
2991929919
(function () {
2992029920
var isomorphicReactPackageVersion = React.version;
29921-
if ("19.1.0-www-classic-4280563b-20250326" !== isomorphicReactPackageVersion)
29921+
if ("19.1.0-www-classic-8039f1b2-20250327" !== isomorphicReactPackageVersion)
2992229922
throw Error(
2992329923
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2992429924
(isomorphicReactPackageVersion +
29925-
"\n - react-dom: 19.1.0-www-classic-4280563b-20250326\nLearn more: https://react.dev/warnings/version-mismatch")
29925+
"\n - react-dom: 19.1.0-www-classic-8039f1b2-20250327\nLearn more: https://react.dev/warnings/version-mismatch")
2992629926
);
2992729927
})();
2992829928
("function" === typeof Map &&
@@ -29965,10 +29965,10 @@ __DEV__ &&
2996529965
!(function () {
2996629966
var internals = {
2996729967
bundleType: 1,
29968-
version: "19.1.0-www-classic-4280563b-20250326",
29968+
version: "19.1.0-www-classic-8039f1b2-20250327",
2996929969
rendererPackageName: "react-dom",
2997029970
currentDispatcherRef: ReactSharedInternals,
29971-
reconcilerVersion: "19.1.0-www-classic-4280563b-20250326"
29971+
reconcilerVersion: "19.1.0-www-classic-8039f1b2-20250327"
2997229972
};
2997329973
internals.overrideHookState = overrideHookState;
2997429974
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -30566,7 +30566,7 @@ __DEV__ &&
3056630566
exports.useFormStatus = function () {
3056730567
return resolveDispatcher().useHostTransitionStatus();
3056830568
};
30569-
exports.version = "19.1.0-www-classic-4280563b-20250326";
30569+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";
3057030570
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
3057130571
"function" ===
3057230572
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactDOM-dev.modern.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -29704,11 +29704,11 @@ __DEV__ &&
2970429704
return_targetInst = null;
2970529705
(function () {
2970629706
var isomorphicReactPackageVersion = React.version;
29707-
if ("19.1.0-www-modern-4280563b-20250326" !== isomorphicReactPackageVersion)
29707+
if ("19.1.0-www-modern-8039f1b2-20250327" !== isomorphicReactPackageVersion)
2970829708
throw Error(
2970929709
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2971029710
(isomorphicReactPackageVersion +
29711-
"\n - react-dom: 19.1.0-www-modern-4280563b-20250326\nLearn more: https://react.dev/warnings/version-mismatch")
29711+
"\n - react-dom: 19.1.0-www-modern-8039f1b2-20250327\nLearn more: https://react.dev/warnings/version-mismatch")
2971229712
);
2971329713
})();
2971429714
("function" === typeof Map &&
@@ -29751,10 +29751,10 @@ __DEV__ &&
2975129751
!(function () {
2975229752
var internals = {
2975329753
bundleType: 1,
29754-
version: "19.1.0-www-modern-4280563b-20250326",
29754+
version: "19.1.0-www-modern-8039f1b2-20250327",
2975529755
rendererPackageName: "react-dom",
2975629756
currentDispatcherRef: ReactSharedInternals,
29757-
reconcilerVersion: "19.1.0-www-modern-4280563b-20250326"
29757+
reconcilerVersion: "19.1.0-www-modern-8039f1b2-20250327"
2975829758
};
2975929759
internals.overrideHookState = overrideHookState;
2976029760
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -30352,7 +30352,7 @@ __DEV__ &&
3035230352
exports.useFormStatus = function () {
3035330353
return resolveDispatcher().useHostTransitionStatus();
3035430354
};
30355-
exports.version = "19.1.0-www-modern-4280563b-20250326";
30355+
exports.version = "19.1.0-www-modern-8039f1b2-20250327";
3035630356
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
3035730357
"function" ===
3035830358
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactDOM-prod.classic.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -18807,14 +18807,14 @@ function getCrossOriginStringAs(as, input) {
1880718807
}
1880818808
var isomorphicReactPackageVersion$jscomp$inline_1974 = React.version;
1880918809
if (
18810-
"19.1.0-www-classic-4280563b-20250326" !==
18810+
"19.1.0-www-classic-8039f1b2-20250327" !==
1881118811
isomorphicReactPackageVersion$jscomp$inline_1974
1881218812
)
1881318813
throw Error(
1881418814
formatProdErrorMessage(
1881518815
527,
1881618816
isomorphicReactPackageVersion$jscomp$inline_1974,
18817-
"19.1.0-www-classic-4280563b-20250326"
18817+
"19.1.0-www-classic-8039f1b2-20250327"
1881818818
)
1881918819
);
1882018820
Internals.findDOMNode = function (componentOrElement) {
@@ -18832,10 +18832,10 @@ Internals.Events = [
1883218832
];
1883318833
var internals$jscomp$inline_2558 = {
1883418834
bundleType: 0,
18835-
version: "19.1.0-www-classic-4280563b-20250326",
18835+
version: "19.1.0-www-classic-8039f1b2-20250327",
1883618836
rendererPackageName: "react-dom",
1883718837
currentDispatcherRef: ReactSharedInternals,
18838-
reconcilerVersion: "19.1.0-www-classic-4280563b-20250326"
18838+
reconcilerVersion: "19.1.0-www-classic-8039f1b2-20250327"
1883918839
};
1884018840
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1884118841
var hook$jscomp$inline_2559 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -19199,4 +19199,4 @@ exports.useFormState = function (action, initialState, permalink) {
1919919199
exports.useFormStatus = function () {
1920019200
return ReactSharedInternals.H.useHostTransitionStatus();
1920119201
};
19202-
exports.version = "19.1.0-www-classic-4280563b-20250326";
19202+
exports.version = "19.1.0-www-classic-8039f1b2-20250327";

0 commit comments

Comments
 (0)