Skip to content

Commit 9ece68a

Browse files
committed
[compiler] Infer deps configuration (facebook#31616)
Adds a way to configure how we insert deps for experimental purposes. ``` [ { module: 'react', imported: 'useEffect', numRequiredArgs: 1, }, { module: 'MyExperimentalEffectHooks', imported: 'useExperimentalEffect', numRequiredArgs: 2, }, ] ``` would insert dependencies for calls of `useEffect` imported from `react` if they have 1 argument and calls of useExperimentalEffect` from `MyExperimentalEffectHooks` if they have 2 arguments. The pushed dep array is appended to the arg list. DiffTrain build for [2a9f4c0](facebook@2a9f4c0)
1 parent 3f60ca6 commit 9ece68a

34 files changed

+188
-188
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
91061073d57783c061889ac6720ef1ab7f0c2149
1+
2a9f4c04e54294b668e0a2ae11c1930c2e57b248
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
91061073d57783c061889ac6720ef1ab7f0c2149
1+
2a9f4c04e54294b668e0a2ae11c1930c2e57b248

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,22 @@ __DEV__ &&
945945
function useMemoCache(size) {
946946
return resolveDispatcher().useMemoCache(size);
947947
}
948+
function useResourceEffect(
949+
create,
950+
createDeps,
951+
update,
952+
updateDeps,
953+
destroy
954+
) {
955+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
956+
return resolveDispatcher().useResourceEffect(
957+
create,
958+
createDeps,
959+
update,
960+
updateDeps,
961+
destroy
962+
);
963+
}
948964
function noop() {}
949965
function enqueueTask(task) {
950966
if (null === enqueueTaskImpl)
@@ -1200,7 +1216,10 @@ __DEV__ &&
12001216
});
12011217
}
12021218
: enqueueTask,
1203-
ReactCompilerRuntime = { c: useMemoCache };
1219+
ReactCompilerRuntime = { c: useMemoCache },
1220+
experimental_useResourceEffect = enableUseResourceEffectHook
1221+
? useResourceEffect
1222+
: void 0;
12041223
exports.Children = {
12051224
map: mapChildren,
12061225
forEach: function (children, forEachFunc, forEachContext) {
@@ -1579,22 +1598,7 @@ __DEV__ &&
15791598
exports.experimental_useEffectEvent = function (callback) {
15801599
return resolveDispatcher().useEffectEvent(callback);
15811600
};
1582-
exports.experimental_useResourceEffect = function (
1583-
create,
1584-
createDeps,
1585-
update,
1586-
updateDeps,
1587-
destroy
1588-
) {
1589-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
1590-
return resolveDispatcher().useResourceEffect(
1591-
create,
1592-
createDeps,
1593-
update,
1594-
updateDeps,
1595-
destroy
1596-
);
1597-
};
1601+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
15981602
exports.forwardRef = function (render) {
15991603
null != render && render.$$typeof === REACT_MEMO_TYPE
16001604
? error$jscomp$0(
@@ -1837,7 +1841,7 @@ __DEV__ &&
18371841
exports.useTransition = function () {
18381842
return resolveDispatcher().useTransition();
18391843
};
1840-
exports.version = "19.0.0-www-classic-91061073-20241121";
1844+
exports.version = "19.0.0-www-classic-2a9f4c04-20241122";
18411845
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
18421846
"function" ===
18431847
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,22 @@ __DEV__ &&
945945
function useMemoCache(size) {
946946
return resolveDispatcher().useMemoCache(size);
947947
}
948+
function useResourceEffect(
949+
create,
950+
createDeps,
951+
update,
952+
updateDeps,
953+
destroy
954+
) {
955+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
956+
return resolveDispatcher().useResourceEffect(
957+
create,
958+
createDeps,
959+
update,
960+
updateDeps,
961+
destroy
962+
);
963+
}
948964
function noop() {}
949965
function enqueueTask(task) {
950966
if (null === enqueueTaskImpl)
@@ -1200,7 +1216,10 @@ __DEV__ &&
12001216
});
12011217
}
12021218
: enqueueTask,
1203-
ReactCompilerRuntime = { c: useMemoCache };
1219+
ReactCompilerRuntime = { c: useMemoCache },
1220+
experimental_useResourceEffect = enableUseResourceEffectHook
1221+
? useResourceEffect
1222+
: void 0;
12041223
exports.Children = {
12051224
map: mapChildren,
12061225
forEach: function (children, forEachFunc, forEachContext) {
@@ -1579,22 +1598,7 @@ __DEV__ &&
15791598
exports.experimental_useEffectEvent = function (callback) {
15801599
return resolveDispatcher().useEffectEvent(callback);
15811600
};
1582-
exports.experimental_useResourceEffect = function (
1583-
create,
1584-
createDeps,
1585-
update,
1586-
updateDeps,
1587-
destroy
1588-
) {
1589-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
1590-
return resolveDispatcher().useResourceEffect(
1591-
create,
1592-
createDeps,
1593-
update,
1594-
updateDeps,
1595-
destroy
1596-
);
1597-
};
1601+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
15981602
exports.forwardRef = function (render) {
15991603
null != render && render.$$typeof === REACT_MEMO_TYPE
16001604
? error$jscomp$0(
@@ -1837,7 +1841,7 @@ __DEV__ &&
18371841
exports.useTransition = function () {
18381842
return resolveDispatcher().useTransition();
18391843
};
1840-
exports.version = "19.0.0-www-modern-91061073-20241121";
1844+
exports.version = "19.0.0-www-modern-2a9f4c04-20241122";
18411845
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
18421846
"function" ===
18431847
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

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

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,16 @@ function lazyInitializer(payload) {
325325
function useMemoCache(size) {
326326
return ReactSharedInternals.H.useMemoCache(size);
327327
}
328+
function useResourceEffect(create, createDeps, update, updateDeps, destroy) {
329+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
330+
return ReactSharedInternals.H.useResourceEffect(
331+
create,
332+
createDeps,
333+
update,
334+
updateDeps,
335+
destroy
336+
);
337+
}
328338
var reportGlobalError =
329339
"function" === typeof reportError
330340
? reportError
@@ -355,7 +365,10 @@ var reportGlobalError =
355365
console.error(error);
356366
};
357367
function noop() {}
358-
var ReactCompilerRuntime = { c: useMemoCache };
368+
var ReactCompilerRuntime = { c: useMemoCache },
369+
experimental_useResourceEffect = enableUseResourceEffectHook
370+
? useResourceEffect
371+
: void 0;
359372
exports.Children = {
360373
map: mapChildren,
361374
forEach: function (children, forEachFunc, forEachContext) {
@@ -498,22 +511,7 @@ exports.createRef = function () {
498511
exports.experimental_useEffectEvent = function (callback) {
499512
return ReactSharedInternals.H.useEffectEvent(callback);
500513
};
501-
exports.experimental_useResourceEffect = function (
502-
create,
503-
createDeps,
504-
update,
505-
updateDeps,
506-
destroy
507-
) {
508-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
509-
return ReactSharedInternals.H.useResourceEffect(
510-
create,
511-
createDeps,
512-
update,
513-
updateDeps,
514-
destroy
515-
);
516-
};
514+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
517515
exports.forwardRef = function (render) {
518516
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
519517
};
@@ -636,4 +634,4 @@ exports.useSyncExternalStore = function (
636634
exports.useTransition = function () {
637635
return ReactSharedInternals.H.useTransition();
638636
};
639-
exports.version = "19.0.0-www-classic-91061073-20241121";
637+
exports.version = "19.0.0-www-classic-2a9f4c04-20241122";

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

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,16 @@ function lazyInitializer(payload) {
325325
function useMemoCache(size) {
326326
return ReactSharedInternals.H.useMemoCache(size);
327327
}
328+
function useResourceEffect(create, createDeps, update, updateDeps, destroy) {
329+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
330+
return ReactSharedInternals.H.useResourceEffect(
331+
create,
332+
createDeps,
333+
update,
334+
updateDeps,
335+
destroy
336+
);
337+
}
328338
var reportGlobalError =
329339
"function" === typeof reportError
330340
? reportError
@@ -355,7 +365,10 @@ var reportGlobalError =
355365
console.error(error);
356366
};
357367
function noop() {}
358-
var ReactCompilerRuntime = { c: useMemoCache };
368+
var ReactCompilerRuntime = { c: useMemoCache },
369+
experimental_useResourceEffect = enableUseResourceEffectHook
370+
? useResourceEffect
371+
: void 0;
359372
exports.Children = {
360373
map: mapChildren,
361374
forEach: function (children, forEachFunc, forEachContext) {
@@ -498,22 +511,7 @@ exports.createRef = function () {
498511
exports.experimental_useEffectEvent = function (callback) {
499512
return ReactSharedInternals.H.useEffectEvent(callback);
500513
};
501-
exports.experimental_useResourceEffect = function (
502-
create,
503-
createDeps,
504-
update,
505-
updateDeps,
506-
destroy
507-
) {
508-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
509-
return ReactSharedInternals.H.useResourceEffect(
510-
create,
511-
createDeps,
512-
update,
513-
updateDeps,
514-
destroy
515-
);
516-
};
514+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
517515
exports.forwardRef = function (render) {
518516
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
519517
};
@@ -636,4 +634,4 @@ exports.useSyncExternalStore = function (
636634
exports.useTransition = function () {
637635
return ReactSharedInternals.H.useTransition();
638636
};
639-
exports.version = "19.0.0-www-modern-91061073-20241121";
637+
exports.version = "19.0.0-www-modern-2a9f4c04-20241122";

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

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,16 @@ function lazyInitializer(payload) {
329329
function useMemoCache(size) {
330330
return ReactSharedInternals.H.useMemoCache(size);
331331
}
332+
function useResourceEffect(create, createDeps, update, updateDeps, destroy) {
333+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
334+
return ReactSharedInternals.H.useResourceEffect(
335+
create,
336+
createDeps,
337+
update,
338+
updateDeps,
339+
destroy
340+
);
341+
}
332342
var reportGlobalError =
333343
"function" === typeof reportError
334344
? reportError
@@ -359,7 +369,10 @@ var reportGlobalError =
359369
console.error(error);
360370
};
361371
function noop() {}
362-
var ReactCompilerRuntime = { c: useMemoCache };
372+
var ReactCompilerRuntime = { c: useMemoCache },
373+
experimental_useResourceEffect = enableUseResourceEffectHook
374+
? useResourceEffect
375+
: void 0;
363376
exports.Children = {
364377
map: mapChildren,
365378
forEach: function (children, forEachFunc, forEachContext) {
@@ -502,22 +515,7 @@ exports.createRef = function () {
502515
exports.experimental_useEffectEvent = function (callback) {
503516
return ReactSharedInternals.H.useEffectEvent(callback);
504517
};
505-
exports.experimental_useResourceEffect = function (
506-
create,
507-
createDeps,
508-
update,
509-
updateDeps,
510-
destroy
511-
) {
512-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
513-
return ReactSharedInternals.H.useResourceEffect(
514-
create,
515-
createDeps,
516-
update,
517-
updateDeps,
518-
destroy
519-
);
520-
};
518+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
521519
exports.forwardRef = function (render) {
522520
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
523521
};
@@ -640,7 +638,7 @@ exports.useSyncExternalStore = function (
640638
exports.useTransition = function () {
641639
return ReactSharedInternals.H.useTransition();
642640
};
643-
exports.version = "19.0.0-www-classic-91061073-20241121";
641+
exports.version = "19.0.0-www-classic-2a9f4c04-20241122";
644642
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
645643
"function" ===
646644
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

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

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,16 @@ function lazyInitializer(payload) {
329329
function useMemoCache(size) {
330330
return ReactSharedInternals.H.useMemoCache(size);
331331
}
332+
function useResourceEffect(create, createDeps, update, updateDeps, destroy) {
333+
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
334+
return ReactSharedInternals.H.useResourceEffect(
335+
create,
336+
createDeps,
337+
update,
338+
updateDeps,
339+
destroy
340+
);
341+
}
332342
var reportGlobalError =
333343
"function" === typeof reportError
334344
? reportError
@@ -359,7 +369,10 @@ var reportGlobalError =
359369
console.error(error);
360370
};
361371
function noop() {}
362-
var ReactCompilerRuntime = { c: useMemoCache };
372+
var ReactCompilerRuntime = { c: useMemoCache },
373+
experimental_useResourceEffect = enableUseResourceEffectHook
374+
? useResourceEffect
375+
: void 0;
363376
exports.Children = {
364377
map: mapChildren,
365378
forEach: function (children, forEachFunc, forEachContext) {
@@ -502,22 +515,7 @@ exports.createRef = function () {
502515
exports.experimental_useEffectEvent = function (callback) {
503516
return ReactSharedInternals.H.useEffectEvent(callback);
504517
};
505-
exports.experimental_useResourceEffect = function (
506-
create,
507-
createDeps,
508-
update,
509-
updateDeps,
510-
destroy
511-
) {
512-
if (!enableUseResourceEffectHook) throw Error("Not implemented.");
513-
return ReactSharedInternals.H.useResourceEffect(
514-
create,
515-
createDeps,
516-
update,
517-
updateDeps,
518-
destroy
519-
);
520-
};
518+
exports.experimental_useResourceEffect = experimental_useResourceEffect;
521519
exports.forwardRef = function (render) {
522520
return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
523521
};
@@ -640,7 +638,7 @@ exports.useSyncExternalStore = function (
640638
exports.useTransition = function () {
641639
return ReactSharedInternals.H.useTransition();
642640
};
643-
exports.version = "19.0.0-www-modern-91061073-20241121";
641+
exports.version = "19.0.0-www-modern-2a9f4c04-20241122";
644642
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
645643
"function" ===
646644
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)