Replace fbjs canUseDom with inline module

Close #2336
Ref #2333
This commit is contained in:
Cody Rathor
2022-07-08 12:59:11 -07:00
committed by Nicolas Gallagher
parent 80a72c327c
commit 8c365d9892
22 changed files with 42 additions and 48 deletions
+5 -2
View File
@@ -1,9 +1,12 @@
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
import { Dimensions, Platform } from 'react-native';
const baseFontSize = 14;
const baseUnit = 1.3125;
const { canUseDOM } = ExecutionEnvironment;
const canUseDOM = !!(
typeof window !== 'undefined' &&
window.document &&
window.document.createElement
);
const createPlatformLength = (multiplier) =>
Platform.select({
@@ -6,9 +6,7 @@
*
* @flow
*/
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
function isScreenReaderEnabled(): Promise<*> {
return new Promise((resolve, reject) => {
+1 -2
View File
@@ -10,8 +10,7 @@
import invariant from 'fbjs/lib/invariant';
import EventEmitter from '../../vendor/react-native/emitter/_EventEmitter';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
// Android 4.4 browser
const isPrefixed =
+1 -3
View File
@@ -7,9 +7,7 @@
*
* @flow
*/
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
export type ColorSchemeName = 'light' | 'dark';
+1 -2
View File
@@ -10,8 +10,7 @@
import type { DisplayMetrics } from '../Dimensions';
import Dimensions from '../Dimensions';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
const DeviceInfo = {
Dimensions: {
+1 -2
View File
@@ -10,8 +10,7 @@
import type { EventSubscription } from '../../vendor/react-native/emitter/EventEmitter';
import invariant from 'fbjs/lib/invariant';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
export type DisplayMetrics = {|
fontScale: number,
+1 -2
View File
@@ -9,8 +9,7 @@
*/
import invariant from 'fbjs/lib/invariant';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
const initialURL = canUseDOM ? window.location.href : '';
@@ -13,8 +13,7 @@ import type { ViewProps } from '../View';
import * as React from 'react';
import View from '../View';
import StyleSheet from '../StyleSheet';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
export type ModalContentProps = {
...ViewProps,
@@ -13,8 +13,7 @@ import View from '../View';
import createElement from '../createElement';
import StyleSheet from '../StyleSheet';
import UIManager from '../UIManager';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
/**
* This Component is used to "wrap" the modal we're opening
+1 -2
View File
@@ -10,8 +10,7 @@
import * as React from 'react';
import ReactDOM from 'react-dom';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
export type ModalPortalProps = {|
children: any
@@ -13,8 +13,7 @@ import type { ViewProps } from '../View';
import * as React from 'react';
import StyleSheet from '../StyleSheet';
import View from '../View';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../modules/canUseDom';
const cssFunction: 'constant' | 'env' = (function () {
if (
@@ -8,8 +8,7 @@
*/
import normalizeValueWithProperty from './normalizeValueWithProperty';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../../modules/canUseDom';
type Style = { [key: string]: any };
@@ -6,9 +6,7 @@
*
* @flow strict-local
*/
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../../../modules/canUseDom';
// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696
export default function createCSSStyleSheet(
@@ -8,8 +8,7 @@
*/
import type { OrderedCSSStyleSheet } from './createOrderedCSSStyleSheet';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
import canUseDOM from '../../../modules/canUseDom';
import createCSSStyleSheet from './createCSSStyleSheet';
import createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';
@@ -37,7 +36,7 @@ export function createSheet(
): Sheet {
let sheet;
if (ExecutionEnvironment.canUseDOM) {
if (canUseDOM) {
const rootNode: Node = root != null ? root.getRootNode() : document;
// Create the initial style sheet
if (sheets.length === 0) {
+1 -2
View File
@@ -13,9 +13,8 @@ import { localizeStyle } from 'styleq/transform-localize-style';
import { preprocess } from './preprocess';
import { styleq } from 'styleq';
import { validate } from './validate';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
import canUseDOM from '../../modules/canUseDom';
const { canUseDOM } = ExecutionEnvironment;
const staticStyleMap: WeakMap<Object, Object> = new WeakMap();
const sheet = createSheet();
@@ -0,0 +1,16 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
*/
const canUseDOM: boolean = !!(
typeof window !== 'undefined' &&
window.document &&
window.document.createElement
);
export default canUseDOM;
@@ -8,9 +8,7 @@
*/
'use strict';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
type Listener = (e: any) => void;
+1 -2
View File
@@ -8,8 +8,7 @@
*/
import createEventHandle from '../createEventHandle';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
export type Modality = 'keyboard' | 'mouse' | 'touch' | 'pen';
@@ -6,9 +6,7 @@
*
* @flow
*/
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
const _requestIdleCallback = function (cb: Function, options?: Object) {
return setTimeout(() => {
@@ -12,8 +12,7 @@ import type { LayoutEvent } from '../../types';
import useLayoutEffect from '../useLayoutEffect';
import UIManager from '../../exports/UIManager';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
const DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';
@@ -11,8 +11,7 @@
*/
import { useEffect, useLayoutEffect } from 'react';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
const useLayoutEffectImpl: typeof useLayoutEffect = canUseDOM
? useLayoutEffect
@@ -151,8 +151,7 @@ import {
setResponderId
} from './utils';
import ResponderTouchHistoryStore from './ResponderTouchHistoryStore';
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
const { canUseDOM } = ExecutionEnvironment;
import canUseDOM from '../canUseDom';
/* ------------ TYPES ------------ */