Skip to content

Commit c1394ea

Browse files
committed
Fix Bug MessageChannel in Node Envs (issue #20756)
1 parent f519728 commit c1394ea

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

‎packages/scheduler/npm/index.js‎

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
'use strict';
22

3-
if (typeof window === 'undefined' || typeof MessageChannel !== 'function') {
4-
module.exports = require('./unstable_no_dom');
5-
} else if (process.env.NODE_ENV === 'production') {
6-
module.exports = require('./cjs/scheduler.production.min.js');
3+
// Duplicated from 'react/packages/shared/ExecutionEnvironment.js'
4+
var canUseDom = !!(
5+
typeof window !== 'undefined' &&
6+
typeof window.document !== 'undefined' &&
7+
typeof window.document.createElement !== 'undefined'
8+
);
9+
10+
// Checks if this is global space
11+
// eslint-disable-next-line no-undef
12+
var isThisGlobal = !!(typeof globalThis !== 'undefined' && globalThis === this);
13+
14+
if (canUseDom && isThisGlobal) {
15+
if (process.env.NODE_ENV === 'production') {
16+
module.exports = require('./cjs/scheduler.production.min.js');
17+
} else {
18+
module.exports = require('./cjs/scheduler.development.js');
19+
}
720
} else {
8-
module.exports = require('./cjs/scheduler.development.js');
21+
module.exports = require('./unstable_no_dom');
922
}

0 commit comments

Comments
 (0)