Skip to content

Commit e419057

Browse files
committed
Fix ReactFiberScheduler dead code elimination
Should initialize to nothing, then assign the exports conditionally, instead of initializing to the old exports and then reassigning to the new ones.
1 parent 821a22f commit e419057

File tree

3 files changed

+56
-41
lines changed

3 files changed

+56
-41
lines changed

packages/react-reconciler/src/ReactFiberScheduler.js

Lines changed: 51 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -65,31 +65,31 @@ import {
6565
inferStartTimeFromExpirationTime as inferStartTimeFromExpirationTime_new,
6666
} from './ReactFiberScheduler.new';
6767

68-
export let requestCurrentTime = requestCurrentTime_old;
69-
export let computeExpirationForFiber = computeExpirationForFiber_old;
70-
export let captureCommitPhaseError = captureCommitPhaseError_old;
71-
export let onUncaughtError = onUncaughtError_old;
72-
export let renderDidSuspend = renderDidSuspend_old;
73-
export let renderDidError = renderDidError_old;
74-
export let pingSuspendedRoot = pingSuspendedRoot_old;
75-
export let retryTimedOutBoundary = retryTimedOutBoundary_old;
76-
export let resolveRetryThenable = resolveRetryThenable_old;
77-
export let markLegacyErrorBoundaryAsFailed = markLegacyErrorBoundaryAsFailed_old;
78-
export let isAlreadyFailedLegacyErrorBoundary = isAlreadyFailedLegacyErrorBoundary_old;
79-
export let scheduleWork = scheduleWork_old;
80-
export let flushRoot = flushRoot_old;
81-
export let batchedUpdates = batchedUpdates_old;
82-
export let unbatchedUpdates = unbatchedUpdates_old;
83-
export let flushSync = flushSync_old;
84-
export let flushControlled = flushControlled_old;
85-
export let deferredUpdates = deferredUpdates_old;
86-
export let syncUpdates = syncUpdates_old;
87-
export let interactiveUpdates = interactiveUpdates_old;
88-
export let flushInteractiveUpdates = flushInteractiveUpdates_old;
89-
export let computeUniqueAsyncExpiration = computeUniqueAsyncExpiration_old;
90-
export let flushPassiveEffects = flushPassiveEffects_old;
91-
export let warnIfNotCurrentlyBatchingInDev = warnIfNotCurrentlyBatchingInDev_old;
92-
export let inferStartTimeFromExpirationTime = inferStartTimeFromExpirationTime_old;
68+
export let requestCurrentTime;
69+
export let computeExpirationForFiber;
70+
export let captureCommitPhaseError;
71+
export let onUncaughtError;
72+
export let renderDidSuspend;
73+
export let renderDidError;
74+
export let pingSuspendedRoot;
75+
export let retryTimedOutBoundary;
76+
export let resolveRetryThenable;
77+
export let markLegacyErrorBoundaryAsFailed;
78+
export let isAlreadyFailedLegacyErrorBoundary;
79+
export let scheduleWork;
80+
export let flushRoot;
81+
export let batchedUpdates;
82+
export let unbatchedUpdates;
83+
export let flushSync;
84+
export let flushControlled;
85+
export let deferredUpdates;
86+
export let syncUpdates;
87+
export let interactiveUpdates;
88+
export let flushInteractiveUpdates;
89+
export let computeUniqueAsyncExpiration;
90+
export let flushPassiveEffects;
91+
export let warnIfNotCurrentlyBatchingInDev;
92+
export let inferStartTimeFromExpirationTime;
9393

9494
if (enableNewScheduler) {
9595
requestCurrentTime = requestCurrentTime_new;
@@ -117,6 +117,32 @@ if (enableNewScheduler) {
117117
flushPassiveEffects = flushPassiveEffects_new;
118118
warnIfNotCurrentlyBatchingInDev = warnIfNotCurrentlyBatchingInDev_new;
119119
inferStartTimeFromExpirationTime = inferStartTimeFromExpirationTime_new;
120+
} else {
121+
requestCurrentTime = requestCurrentTime_old;
122+
computeExpirationForFiber = computeExpirationForFiber_old;
123+
captureCommitPhaseError = captureCommitPhaseError_old;
124+
onUncaughtError = onUncaughtError_old;
125+
renderDidSuspend = renderDidSuspend_old;
126+
renderDidError = renderDidError_old;
127+
pingSuspendedRoot = pingSuspendedRoot_old;
128+
retryTimedOutBoundary = retryTimedOutBoundary_old;
129+
resolveRetryThenable = resolveRetryThenable_old;
130+
markLegacyErrorBoundaryAsFailed = markLegacyErrorBoundaryAsFailed_old;
131+
isAlreadyFailedLegacyErrorBoundary = isAlreadyFailedLegacyErrorBoundary_old;
132+
scheduleWork = scheduleWork_old;
133+
flushRoot = flushRoot_old;
134+
batchedUpdates = batchedUpdates_old;
135+
unbatchedUpdates = unbatchedUpdates_old;
136+
flushSync = flushSync_old;
137+
flushControlled = flushControlled_old;
138+
deferredUpdates = deferredUpdates_old;
139+
syncUpdates = syncUpdates_old;
140+
interactiveUpdates = interactiveUpdates_old;
141+
flushInteractiveUpdates = flushInteractiveUpdates_old;
142+
computeUniqueAsyncExpiration = computeUniqueAsyncExpiration_old;
143+
flushPassiveEffects = flushPassiveEffects_old;
144+
warnIfNotCurrentlyBatchingInDev = warnIfNotCurrentlyBatchingInDev_old;
145+
inferStartTimeFromExpirationTime = inferStartTimeFromExpirationTime_old;
120146
}
121147

122148
export type Thenable = {

scripts/rollup/forks.js

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,25 +65,14 @@ const forks = Object.freeze({
6565
return null;
6666
},
6767

68-
'react-reconciler/src/ReactFiberScheduler': (bundleType, entry) => {
69-
if (entry === 'react-dom/unstable-new-scheduler') {
70-
return 'react-reconciler/src/ReactFiberScheduler.new.js';
71-
}
72-
return 'react-reconciler/src/ReactFiberScheduler.old.js';
73-
},
74-
7568
// We have a few forks for different environments.
7669
'shared/ReactFeatureFlags': (bundleType, entry) => {
7770
switch (entry) {
7871
case 'react-dom/unstable-new-scheduler': {
79-
switch (bundleType) {
80-
case FB_WWW_DEV:
81-
case FB_WWW_PROD:
82-
case FB_WWW_PROFILING:
83-
return 'shared/forks/ReactFeatureFlags.www-new-scheduler.js';
84-
default:
85-
return 'shared/forks/ReactFeatureFlags.new-scheduler.js';
72+
if (entry === 'react-dom/unstable-new-scheduler') {
73+
return 'shared/forks/ReactFeatureFlags.www-new-scheduler.js';
8674
}
75+
return null;
8776
}
8877
case 'react-native-renderer':
8978
switch (bundleType) {

scripts/rollup/results.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1187,8 +1187,8 @@
11871187
"filename": "ReactDOMNewScheduler-prod.js",
11881188
"bundleType": "FB_WWW_PROD",
11891189
"packageName": "react-dom",
1190-
"size": 322404,
1191-
"gzip": 59691
1190+
"size": 324273,
1191+
"gzip": 60088
11921192
},
11931193
{
11941194
"filename": "ReactDOMNewScheduler-profiling.js",

0 commit comments

Comments
 (0)