Skip to content

Commit 8c365d9

Browse files
crathornecolas
authored andcommitted
Replace fbjs canUseDom with inline module
Close necolas#2336 Ref necolas#2333
1 parent 80a72c3 commit 8c365d9

File tree

22 files changed

+42
-48
lines changed

22 files changed

+42
-48
lines changed

packages/benchmarks/src/app/theme.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
21
import { Dimensions, Platform } from 'react-native';
32

43
const baseFontSize = 14;
54
const baseUnit = 1.3125;
6-
const { canUseDOM } = ExecutionEnvironment;
5+
const canUseDOM = !!(
6+
typeof window !== 'undefined' &&
7+
window.document &&
8+
window.document.createElement
9+
);
710

811
const createPlatformLength = (multiplier) =>
912
Platform.select({

packages/react-native-web/src/exports/AccessibilityInfo/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
*
77
* @flow
88
*/
9-
10-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
11-
const { canUseDOM } = ExecutionEnvironment;
9+
import canUseDOM from '../../modules/canUseDom';
1210

1311
function isScreenReaderEnabled(): Promise<*> {
1412
return new Promise((resolve, reject) => {

packages/react-native-web/src/exports/AppState/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010

1111
import invariant from 'fbjs/lib/invariant';
1212
import EventEmitter from '../../vendor/react-native/emitter/_EventEmitter';
13-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
14-
const { canUseDOM } = ExecutionEnvironment;
13+
import canUseDOM from '../../modules/canUseDom';
1514

1615
// Android 4.4 browser
1716
const isPrefixed =

packages/react-native-web/src/exports/Appearance/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
*
88
* @flow
99
*/
10-
11-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
12-
const { canUseDOM } = ExecutionEnvironment;
10+
import canUseDOM from '../../modules/canUseDom';
1311

1412
export type ColorSchemeName = 'light' | 'dark';
1513

packages/react-native-web/src/exports/DeviceInfo/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
import type { DisplayMetrics } from '../Dimensions';
1111

1212
import Dimensions from '../Dimensions';
13-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
14-
const { canUseDOM } = ExecutionEnvironment;
13+
import canUseDOM from '../../modules/canUseDom';
1514

1615
const DeviceInfo = {
1716
Dimensions: {

packages/react-native-web/src/exports/Dimensions/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010

1111
import type { EventSubscription } from '../../vendor/react-native/emitter/EventEmitter';
1212
import invariant from 'fbjs/lib/invariant';
13-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
14-
const { canUseDOM } = ExecutionEnvironment;
13+
import canUseDOM from '../../modules/canUseDom';
1514

1615
export type DisplayMetrics = {|
1716
fontScale: number,

packages/react-native-web/src/exports/Linking/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
*/
1010

1111
import invariant from 'fbjs/lib/invariant';
12-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
13-
const { canUseDOM } = ExecutionEnvironment;
12+
import canUseDOM from '../../modules/canUseDom';
1413

1514
const initialURL = canUseDOM ? window.location.href : '';
1615

packages/react-native-web/src/exports/Modal/ModalContent.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import type { ViewProps } from '../View';
1313
import * as React from 'react';
1414
import View from '../View';
1515
import StyleSheet from '../StyleSheet';
16-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
17-
const { canUseDOM } = ExecutionEnvironment;
16+
import canUseDOM from '../../modules/canUseDom';
1817

1918
export type ModalContentProps = {
2019
...ViewProps,

packages/react-native-web/src/exports/Modal/ModalFocusTrap.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import View from '../View';
1313
import createElement from '../createElement';
1414
import StyleSheet from '../StyleSheet';
1515
import UIManager from '../UIManager';
16-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
17-
const { canUseDOM } = ExecutionEnvironment;
16+
import canUseDOM from '../../modules/canUseDom';
1817

1918
/**
2019
* This Component is used to "wrap" the modal we're opening

packages/react-native-web/src/exports/Modal/ModalPortal.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010

1111
import * as React from 'react';
1212
import ReactDOM from 'react-dom';
13-
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
14-
const { canUseDOM } = ExecutionEnvironment;
13+
import canUseDOM from '../../modules/canUseDom';
1514

1615
export type ModalPortalProps = {|
1716
children: any

0 commit comments

Comments
 (0)