[eslint] Do not allow useEffectEvent fns to be called in arbitrary closures (#33544)

Summary:

useEffectEvent is meant to be used specifically in combination with
useEffect, and using
the feature in arbitrary closures can lead to surprising reactivity
semantics. In order to
minimize risk in the experimental rollout, we are going to restrict its
usage to being
called directly inside an effect or another useEffectEvent, effectively
enforcing the function
coloring statically. Without an effect system this is the best we can
do.

DiffTrain build for [97cdd5d3c3](https://github.com/facebook/react/commit/97cdd5d3c33eda77be4f96a43f72d6916d3badbb)
This commit is contained in:
jbrown215
2025-07-10 13:57:17 -07:00
parent 5638224a7f
commit d151b55a3d
26 changed files with 103 additions and 99 deletions
+1 -1
View File
@@ -1 +1 @@
19.2.0-native-fb-96c61b7f-20250709
19.2.0-native-fb-97cdd5d3-20250710
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<54ce8c996530424c6dbbe57ee0c7b530>>
* @generated SignedSource<<f7f345f50160a2fa575bed174fa760fc>>
*/
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<f57ce4bc763f8d06a9de0fa040c4d553>>
* @generated SignedSource<<2ade998e2c2a0dc89117fbb76a26a2eb>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<f57ce4bc763f8d06a9de0fa040c4d553>>
* @generated SignedSource<<2ade998e2c2a0dc89117fbb76a26a2eb>>
*/
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<7f35f874020af7c9b20cb65a85a86ce9>>
* @generated SignedSource<<17b41f9b2a609ec1fb0d9d149a346e01>>
*/
/*
@@ -29006,11 +29006,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-96c61b7f-20250709" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-97cdd5d3-20250710" !== 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-native-fb-96c61b7f-20250709\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -29047,10 +29047,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -29188,5 +29188,5 @@ __DEV__ &&
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<cbfb766ad5768ce6dbfc31cdb70cdf2c>>
* @generated SignedSource<<b7fd685d836f02d9d4a980ff4062fe09>>
*/
/*
@@ -17123,14 +17123,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2004 = React.version;
if (
"19.2.0-native-fb-96c61b7f-20250709" !==
"19.2.0-native-fb-97cdd5d3-20250710" !==
isomorphicReactPackageVersion$jscomp$inline_2004
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2004,
"19.2.0-native-fb-96c61b7f-20250709"
"19.2.0-native-fb-97cdd5d3-20250710"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17152,10 +17152,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2523 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2524 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17253,4 +17253,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<eafe383aac070413d77fd5b3e9abfc0f>>
* @generated SignedSource<<b3a064c8e61697bd26ac2532b42b95bc>>
*/
/*
@@ -19080,14 +19080,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2244 = React.version;
if (
"19.2.0-native-fb-96c61b7f-20250709" !==
"19.2.0-native-fb-97cdd5d3-20250710" !==
isomorphicReactPackageVersion$jscomp$inline_2244
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2244,
"19.2.0-native-fb-96c61b7f-20250709"
"19.2.0-native-fb-97cdd5d3-20250710"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19109,10 +19109,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2251 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709",
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$319 = 0;
@@ -19225,4 +19225,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
listenToAllSupportedEvents(container);
return new ReactDOMHydrationRoot(initialChildren);
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<4b0cf4b987913316f68fe032c8401cc7>>
* @generated SignedSource<<e326d7371a7cc26da4b5b01884683093>>
*/
/*
@@ -29062,11 +29062,11 @@ __DEV__ &&
};
(function () {
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-96c61b7f-20250709" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-97cdd5d3-20250710" !== 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-native-fb-96c61b7f-20250709\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-dom: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
);
})();
("function" === typeof Map &&
@@ -29103,10 +29103,10 @@ __DEV__ &&
!(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -29560,7 +29560,7 @@ __DEV__ &&
exports.useFormStatus = function () {
return resolveDispatcher().useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<6bfce6c2d48c0c26f55d770acdb63231>>
* @generated SignedSource<<51223ca10c541710ebf7753f56ccd2eb>>
*/
/*
@@ -17134,14 +17134,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2005 = React.version;
if (
"19.2.0-native-fb-96c61b7f-20250709" !==
"19.2.0-native-fb-97cdd5d3-20250710" !==
isomorphicReactPackageVersion$jscomp$inline_2005
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2005,
"19.2.0-native-fb-96c61b7f-20250709"
"19.2.0-native-fb-97cdd5d3-20250710"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17163,10 +17163,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2526 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_2527 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17417,4 +17417,4 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<71cbe4de868429952b3aba69ec4c1c74>>
* @generated SignedSource<<5d506356eaed59dd393f2704ae6b6d19>>
*/
/*
@@ -19095,14 +19095,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
};
var isomorphicReactPackageVersion$jscomp$inline_2245 = React.version;
if (
"19.2.0-native-fb-96c61b7f-20250709" !==
"19.2.0-native-fb-97cdd5d3-20250710" !==
isomorphicReactPackageVersion$jscomp$inline_2245
)
throw Error(
formatProdErrorMessage(
527,
isomorphicReactPackageVersion$jscomp$inline_2245,
"19.2.0-native-fb-96c61b7f-20250709"
"19.2.0-native-fb-97cdd5d3-20250710"
)
);
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -19124,10 +19124,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
};
var internals$jscomp$inline_2252 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-dom",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709",
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$319 = 0;
@@ -19393,7 +19393,7 @@ exports.useFormState = function (action, initialState, permalink) {
exports.useFormStatus = function () {
return ReactSharedInternals.H.useHostTransitionStatus();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<c769fb6e6d6bafa4a3277e0dcdc54d45>>
* @generated SignedSource<<83950976b3a7862f9b90815c18fde22b>>
*/
"use strict";
@@ -15727,10 +15727,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
internals.overrideHookState = overrideHookState;
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -15875,5 +15875,5 @@ __DEV__ &&
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
})();
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<8512727e0fd341dd00838c76194b35ea>>
* @generated SignedSource<<553884dfed71acb1b5f0201d9cea8a00>>
*/
"use strict";
@@ -9907,10 +9907,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1434 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
var hook$jscomp$inline_1435 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -10046,4 +10046,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<84215dd5b79732fd3833da0edb3a7c7b>>
* @generated SignedSource<<961f7058833934550a318b0c5b056b0c>>
*/
"use strict";
@@ -10527,10 +10527,10 @@ function wrapFiber(fiber) {
}
var internals$jscomp$inline_1241 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-test-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709",
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710",
getLaneLabelMap: function () {
for (
var map = new Map(), lane = 1, index$143 = 0;
@@ -10681,4 +10681,4 @@ exports.unstable_batchedUpdates = function (fn, a) {
flushSyncWorkAcrossRoots_impl(0, !0));
}
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<eb7183f4badf30ad5686d555fbffe4fa>>
* @generated SignedSource<<32481c5f240453d085fc8f50be4b287b>>
*/
"use strict";
@@ -1413,7 +1413,7 @@ __DEV__ &&
exports.useTransition = function () {
return resolveDispatcher().useTransition();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<59c25010a06a1fe77ff909ef3beb5250>>
* @generated SignedSource<<c893a09be6ffd9c19d1cb93a60854b05>>
*/
"use strict";
@@ -589,4 +589,4 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<ebaaa79c5c59d6da65a4b3347fcee54b>>
* @generated SignedSource<<8a69f4168349f454b1d6627459e84524>>
*/
"use strict";
@@ -593,7 +593,7 @@ exports.useSyncExternalStore = function (
exports.useTransition = function () {
return ReactSharedInternals.H.useTransition();
};
exports.version = "19.2.0-native-fb-96c61b7f-20250709";
exports.version = "19.2.0-native-fb-97cdd5d3-20250710";
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
"function" ===
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
@@ -1 +1 @@
96c61b7f1f145b9fe5103051b636959cdeb20cc8
97cdd5d3c33eda77be4f96a43f72d6916d3badbb
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<816a47f054a892c069dc1684796ac0ee>>
* @generated SignedSource<<ab1190f0ce25f9186754f0d157355abe>>
*/
"use strict";
@@ -19236,10 +19236,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<a2d617cf35dffc8df6189391c7ae06c3>>
* @generated SignedSource<<98a7d005996a58b166a3231f23d68d9b>>
*/
"use strict";
@@ -11031,10 +11031,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1238 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1238.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<58e7044b2491dc14f95fabf800b9759c>>
* @generated SignedSource<<e3cb069919c1870d4044878f1ec94819>>
*/
"use strict";
@@ -12959,10 +12959,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1473 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1473.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<d4b28e32c8f822f08ab20cf6b762d41a>>
* @generated SignedSource<<70d7bd0807383a9e00b204ff63b365ec>>
*/
"use strict";
@@ -19569,11 +19569,11 @@ __DEV__ &&
shouldSuspendImpl = newShouldSuspendImpl;
};
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-96c61b7f-20250709" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-97cdd5d3-20250710" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-96c61b7f-20250709\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -19599,10 +19599,10 @@ __DEV__ &&
(function () {
var internals = {
bundleType: 1,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<e5d2b353b21d5a2174f1c64bedac84aa>>
* @generated SignedSource<<5ee22ac2771685511adc19eae9b2bf6f>>
*/
"use strict";
@@ -11223,11 +11223,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-96c61b7f-20250709" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-97cdd5d3-20250710" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-96c61b7f-20250709\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -11277,10 +11277,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1294 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1294.rendererConfig = extraDevToolsConfig);
@@ -7,7 +7,7 @@
* @noflow
* @nolint
* @preventMunge
* @generated SignedSource<<1f91657917fb8baa8e6aee8fb21138b3>>
* @generated SignedSource<<fea1795ef7b942b131c0d3c4af1e8554>>
*/
"use strict";
@@ -13140,11 +13140,11 @@ function updateContainer(element, container, parentComponent, callback) {
return lane;
}
var isomorphicReactPackageVersion = React.version;
if ("19.2.0-native-fb-96c61b7f-20250709" !== isomorphicReactPackageVersion)
if ("19.2.0-native-fb-97cdd5d3-20250710" !== isomorphicReactPackageVersion)
throw Error(
'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
(isomorphicReactPackageVersion +
"\n - react-native-renderer: 19.2.0-native-fb-96c61b7f-20250709\nLearn more: https://react.dev/warnings/version-mismatch")
"\n - react-native-renderer: 19.2.0-native-fb-97cdd5d3-20250710\nLearn more: https://react.dev/warnings/version-mismatch")
);
if (
"function" !==
@@ -13194,10 +13194,10 @@ batchedUpdatesImpl = function (fn, a) {
var roots = new Map(),
internals$jscomp$inline_1529 = {
bundleType: 0,
version: "19.2.0-native-fb-96c61b7f-20250709",
version: "19.2.0-native-fb-97cdd5d3-20250710",
rendererPackageName: "react-native-renderer",
currentDispatcherRef: ReactSharedInternals,
reconcilerVersion: "19.2.0-native-fb-96c61b7f-20250709"
reconcilerVersion: "19.2.0-native-fb-97cdd5d3-20250710"
};
null !== extraDevToolsConfig &&
(internals$jscomp$inline_1529.rendererConfig = extraDevToolsConfig);
@@ -12,7 +12,7 @@
* @lightSyntaxTransform
* @preventMunge
* @oncall react_core
* @generated SignedSource<<974d03ba476b591ae502c12572adf1a7>>
* @generated SignedSource<<e7a6d81bd31c10ba7c77205c75f347c2>>
*/
'use strict';
@@ -55211,13 +55211,15 @@ const rule = {
}
},
Identifier(node) {
if (lastEffect == null &&
useEffectEventFunctions.has(node) &&
node.parent.type !== 'CallExpression') {
if (lastEffect == null && useEffectEventFunctions.has(node)) {
const message = `\`${getSourceCode().getText(node)}\` is a function created with React Hook "useEffectEvent", and can only be called from ` +
'the same component.' +
(node.parent.type === 'CallExpression'
? ''
: ' They cannot be assigned to variables or passed down.');
context.report({
node,
message: `\`${getSourceCode().getText(node)}\` is a function created with React Hook "useEffectEvent", and can only be called from ` +
'the same component. They cannot be assigned to variables or passed down.',
message,
});
}
},
@@ -6,7 +6,7 @@
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* @generated SignedSource<<85ce0ff2972753253a94ea787ba0dbc5>>
* @generated SignedSource<<30d570b42bb03e2b1bd6df9e6d3061fd>>
*/
'use strict';
@@ -54990,13 +54990,15 @@ const rule = {
}
},
Identifier(node) {
if (lastEffect == null &&
useEffectEventFunctions.has(node) &&
node.parent.type !== 'CallExpression') {
if (lastEffect == null && useEffectEventFunctions.has(node)) {
const message = `\`${getSourceCode().getText(node)}\` is a function created with React Hook "useEffectEvent", and can only be called from ` +
'the same component.' +
(node.parent.type === 'CallExpression'
? ''
: ' They cannot be assigned to variables or passed down.');
context.report({
node,
message: `\`${getSourceCode().getText(node)}\` is a function created with React Hook "useEffectEvent", and can only be called from ` +
'the same component. They cannot be assigned to variables or passed down.',
message,
});
}
},
@@ -1,7 +1,7 @@
{
"name": "eslint-plugin-react-hooks",
"description": "ESLint rules for React Hooks",
"version": "0.0.0-experimental-96c61b7f-20250709",
"version": "0.0.0-experimental-97cdd5d3-20250710",
"repository": {
"type": "git",
"url": "https://github.com/facebook/react.git",