From 17ab7a86effe7041c18c9b4cb9cdbabd53cb51fd Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Mon, 20 Jun 2022 12:18:40 -0700 Subject: [PATCH] Use getRenderHost from flipper-frontned-core in flipper-ui-core Summary: See D37139129 Reviewed By: lblasa Differential Revision: D37236435 fbshipit-source-id: 927e9f741bfedb65165f5d24f0acfb775925cdc7 --- desktop/flipper-ui-core/src/RenderHost.tsx | 148 ------------------ .../src/__tests__/test-utils/MockFlipper.tsx | 7 +- .../src/chrome/ChangelogSheet.tsx | 2 +- .../src/chrome/PlatformSelectWizard.tsx | 2 +- .../src/chrome/RatingButton.tsx | 2 +- .../src/chrome/ScreenCaptureButtons.tsx | 2 +- .../src/chrome/SettingsSheet.tsx | 2 +- .../src/chrome/VideoRecordingButton.tsx | 3 +- .../chrome/plugin-manager/PluginInstaller.tsx | 2 +- .../plugin-manager/PluginPackageInstaller.tsx | 2 +- .../__tests__/PluginInstaller.node.tsx | 2 +- .../src/chrome/settings/configFields.tsx | 2 +- .../src/dispatcher/__tests__/plugins.node.tsx | 2 +- .../src/dispatcher/application.tsx | 2 +- .../dispatcher/handleOpenPluginDeeplink.tsx | 2 +- .../src/dispatcher/notifications.tsx | 2 +- .../src/dispatcher/pluginDownloads.tsx | 2 +- .../src/dispatcher/pluginManager.tsx | 2 +- .../src/dispatcher/pluginMarketplace.tsx | 2 +- .../src/dispatcher/plugins.tsx | 2 +- .../src/dispatcher/tracking.tsx | 2 +- .../src/fb-stubs/checkForUpdate.tsx | 2 +- desktop/flipper-ui-core/src/global.tsx | 1 - desktop/flipper-ui-core/src/index.tsx | 2 +- .../src/reducers/application.tsx | 2 +- .../src/reducers/launcherSettings.tsx | 2 +- .../flipper-ui-core/src/reducers/settings.tsx | 2 +- .../src/reducers/usageTracking.tsx | 2 +- .../src/sandy-chrome/LeftRail.tsx | 2 +- .../src/sandy-chrome/SandyApp.tsx | 2 +- .../sandy-chrome/appinspect/AppSelector.tsx | 2 +- .../appinspect/LaunchEmulator.tsx | 2 +- .../__tests__/LaunchEmulator.spec.tsx | 2 +- .../src/startFlipperDesktop.tsx | 2 +- .../ui/components/searchable/Searchable.tsx | 2 +- .../src/ui/components/table/ManagedTable.tsx | 2 +- .../flipper-ui-core/src/utils/exportData.tsx | 2 +- .../flipperLibImplementation/downloadFile.tsx | 2 +- .../utils/flipperLibImplementation/index.tsx | 2 +- desktop/flipper-ui-core/src/utils/icons.tsx | 2 +- desktop/flipper-ui-core/src/utils/info.tsx | 2 +- .../src/utils/isPluginCompatible.tsx | 2 +- .../src/utils/isProduction.tsx | 2 +- .../flipper-ui-core/src/utils/loadTheme.tsx | 2 +- .../src/utils/runHealthchecks.tsx | 2 +- .../flipper-ui-core/src/utils/screenshot.tsx | 3 +- .../src/utils/useIsDarkMode.tsx | 2 +- 47 files changed, 49 insertions(+), 197 deletions(-) delete mode 100644 desktop/flipper-ui-core/src/RenderHost.tsx diff --git a/desktop/flipper-ui-core/src/RenderHost.tsx b/desktop/flipper-ui-core/src/RenderHost.tsx deleted file mode 100644 index 11c874b9d..000000000 --- a/desktop/flipper-ui-core/src/RenderHost.tsx +++ /dev/null @@ -1,148 +0,0 @@ -/** - * 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. - * - * @format - */ - -import type {NotificationEvents} from './dispatcher/notifications'; -import type {PluginNotification} from './reducers/notifications'; -import {FlipperLib} from 'flipper-plugin'; -import {FlipperServer, FlipperServerConfig} from 'flipper-common'; -import {Icon} from './utils/icons'; - -interface NotificationAction { - // Docs: https://electronjs.org/docs/api/structures/notification-action - - /** - * The label for the given action. - */ - text?: string; - /** - * The type of action, can be `button`. - */ - type: 'button'; -} - -// Subset of electron.d.ts -interface NotificationConstructorOptions { - /** - * A title for the notification, which will be shown at the top of the notification - * window when it is shown. - */ - title: string; - /** - * The body text of the notification, which will be displayed below the title or - * subtitle. - */ - body: string; - /** - * Actions to add to the notification. Please read the available actions and - * limitations in the `NotificationAction` documentation. - * - * @platform darwin - */ - actions?: NotificationAction[]; - /** - * A custom title for the close button of an alert. An empty string will cause the - * default localized text to be used. - * - * @platform darwin - */ - closeButtonText?: string; -} - -// Events that are emitted from the main.ts ovr the IPC process bridge in Electron -type MainProcessEvents = { - 'flipper-protocol-handler': [query: string]; - 'open-flipper-file': [url: string]; - notificationEvent: [ - eventName: NotificationEvents, - pluginNotification: PluginNotification, - arg: null | string | number, - ]; - trackUsage: any[]; - getLaunchTime: [launchStartTime: number]; -}; - -// Events that are emitted by the child process, to the main process -type ChildProcessEvents = { - setTheme: [theme: 'dark' | 'light' | 'system']; - sendNotification: [ - { - payload: NotificationConstructorOptions; - pluginNotification: PluginNotification; - closeAfter?: number; - }, - ]; - getLaunchTime: []; - componentDidMount: []; -}; - -/** - * Utilities provided by the render host, e.g. Electron, the Browser, etc - */ -export interface RenderHost { - readTextFromClipboard(): string | undefined; - writeTextToClipboard(text: string): void; - /** - * @deprecated - * WARNING! - * It is a low-level API call that might be removed in the future. - * It is not really deprecated yet, but we'll try to make it so. - * TODO: Remove in favor of "exportFile" - */ - showSaveDialog?(options: { - defaultPath?: string; - message?: string; - title?: string; - }): Promise; - /** - * @deprecated - * WARNING! - * It is a low-level API call that might be removed in the future. - * It is not really deprecated yet, but we'll try to make it so. - * TODO: Remove in favor of "importFile" - */ - showOpenDialog?(options: { - defaultPath?: string; - filter?: { - extensions: string[]; - name: string; - }; - }): Promise; - showSelectDirectoryDialog?(defaultPath?: string): Promise; - importFile: FlipperLib['importFile']; - exportFile: FlipperLib['exportFile']; - hasFocus(): boolean; - onIpcEvent( - event: Event, - callback: (...arg: MainProcessEvents[Event]) => void, - ): void; - sendIpcEvent( - event: Event, - ...args: ChildProcessEvents[Event] - ): void; - shouldUseDarkColors(): boolean; - restartFlipper(update?: boolean): void; - openLink(url: string): void; - loadDefaultPlugins(): Record; - GK(gatekeeper: string): boolean; - flipperServer: FlipperServer; - serverConfig: FlipperServerConfig; - requirePlugin(path: string): Promise; - getStaticResourceUrl(relativePath: string): string; - // given the requested icon and proposed public url of the icon, rewrite it to a local icon if needed - getLocalIconUrl?(icon: Icon, publicUrl: string): string; - unloadModule?(path: string): void; - getPercentCPUUsage?(): number; -} - -export function getRenderHostInstance(): RenderHost { - if (!FlipperRenderHostInstance) { - throw new Error('global FlipperRenderHostInstance was never set'); - } - return FlipperRenderHostInstance; -} diff --git a/desktop/flipper-ui-core/src/__tests__/test-utils/MockFlipper.tsx b/desktop/flipper-ui-core/src/__tests__/test-utils/MockFlipper.tsx index fc40b5ec0..decc96ce7 100644 --- a/desktop/flipper-ui-core/src/__tests__/test-utils/MockFlipper.tsx +++ b/desktop/flipper-ui-core/src/__tests__/test-utils/MockFlipper.tsx @@ -8,7 +8,11 @@ */ import {createStore} from 'redux'; -import {BaseDevice, TestDevice} from 'flipper-frontend-core'; +import { + BaseDevice, + TestDevice, + getRenderHostInstance, +} from 'flipper-frontend-core'; import {createRootReducer} from '../../reducers'; import {Store} from '../../reducers/index'; import Client from '../../Client'; @@ -26,7 +30,6 @@ import {initializeFlipperLibImplementation} from '../../utils/flipperLibImplemen import pluginManager from '../../dispatcher/pluginManager'; import {PluginDetails} from 'flipper-common'; import {ClientQuery, DeviceOS} from 'flipper-common'; -import {getRenderHostInstance} from '../../RenderHost'; export interface AppOptions { plugins?: PluginDefinition[]; diff --git a/desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx b/desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx index 6410dff33..8ca2322c4 100644 --- a/desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx +++ b/desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx @@ -12,7 +12,7 @@ import React, {Component} from 'react'; import {reportUsage} from 'flipper-common'; import {Modal} from 'antd'; import {Dialog, theme} from 'flipper-plugin'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const changelogKey = 'FlipperChangelogStatus'; diff --git a/desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx b/desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx index 5831a2682..f6910e30d 100644 --- a/desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx +++ b/desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx @@ -17,7 +17,7 @@ import {isEqual} from 'lodash'; import {Platform, reportUsage, Settings} from 'flipper-common'; import {Modal, Button} from 'antd'; import {Layout, withTrackingScope, _NuxManagerContext} from 'flipper-plugin'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const WIZARD_FINISHED_LOCAL_STORAGE_KEY = 'platformSelectWizardFinished'; diff --git a/desktop/flipper-ui-core/src/chrome/RatingButton.tsx b/desktop/flipper-ui-core/src/chrome/RatingButton.tsx index f59e7d9b9..007b529d3 100644 --- a/desktop/flipper-ui-core/src/chrome/RatingButton.tsx +++ b/desktop/flipper-ui-core/src/chrome/RatingButton.tsx @@ -32,7 +32,7 @@ import {useStore} from '../utils/useStore'; import {isLoggedIn} from '../fb-stubs/user'; import {useValue} from 'flipper-plugin'; import {reportPlatformFailures} from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; type NextAction = 'select-rating' | 'leave-comment' | 'finished'; diff --git a/desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx b/desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx index 0754349d4..e42dc6732 100644 --- a/desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx +++ b/desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx @@ -12,7 +12,7 @@ import React, {useState, useCallback} from 'react'; import {capture, getCaptureLocation, getFileName} from '../utils/screenshot'; import {CameraOutlined, VideoCameraOutlined} from '@ant-design/icons'; import {useStore} from '../utils/useStore'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {path} from 'flipper-plugin'; async function openFile(path: string) { diff --git a/desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx b/desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx index 0bfb30b18..394021b56 100644 --- a/desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx +++ b/desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx @@ -40,7 +40,7 @@ import { _NuxManagerContext, NUX, } from 'flipper-plugin'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {loadTheme} from '../utils/loadTheme'; type OwnProps = { diff --git a/desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx b/desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx index ea4d3b721..e4ea38c9c 100644 --- a/desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx +++ b/desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx @@ -8,9 +8,8 @@ */ import React, {Component} from 'react'; -import {BaseDevice} from 'flipper-frontend-core'; +import {BaseDevice, getRenderHostInstance} from 'flipper-frontend-core'; import {Button, Glyph, colors} from '../ui'; -import {getRenderHostInstance} from '../RenderHost'; import {path} from 'flipper-plugin'; type OwnProps = { diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx index 7b5534397..2e5842a7f 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx @@ -25,7 +25,7 @@ import {Dispatch, Action} from 'redux'; import PluginPackageInstaller from './PluginPackageInstaller'; import {Toolbar} from 'flipper-plugin'; import {Alert, Button, Input, Tooltip, Typography} from 'antd'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {WarningOutlined} from '@ant-design/icons'; const {Text, Link} = Typography; diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx index db3e44cde..7295494e3 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx @@ -18,7 +18,7 @@ import { import styled from '@emotion/styled'; import React, {useState} from 'react'; import {Toolbar, FileSelector} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const CenteredGlyph = styled(Glyph)({ margin: 'auto', diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx index df3dfb6f6..5bd8db1bc 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx @@ -14,7 +14,7 @@ import configureStore from 'redux-mock-store'; import {Provider} from 'react-redux'; import type {PluginDetails, UpdatablePluginDetails} from 'flipper-common'; import {Store} from '../../../reducers'; -import {getRenderHostInstance} from '../../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; let getUpdatablePluginsMock: jest.Mock; diff --git a/desktop/flipper-ui-core/src/chrome/settings/configFields.tsx b/desktop/flipper-ui-core/src/chrome/settings/configFields.tsx index 004ca9a2d..216383bf2 100644 --- a/desktop/flipper-ui-core/src/chrome/settings/configFields.tsx +++ b/desktop/flipper-ui-core/src/chrome/settings/configFields.tsx @@ -18,7 +18,7 @@ import { } from '../../ui'; import React, {useState, useEffect} from 'react'; import {getFlipperLib, theme} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export const ConfigFieldContainer = styled(FlexRow)({ paddingLeft: 10, diff --git a/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx index 220d3b95e..d83ccb4b4 100644 --- a/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx @@ -21,7 +21,7 @@ import {getLogger} from 'flipper-common'; import configureStore from 'redux-mock-store'; import TestPlugin from './TestPlugin'; import {_SandyPluginDefinition} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import path from 'path'; let loadDynamicPluginsMock: jest.Mock; diff --git a/desktop/flipper-ui-core/src/dispatcher/application.tsx b/desktop/flipper-ui-core/src/dispatcher/application.tsx index 100e5e19a..903443ca2 100644 --- a/desktop/flipper-ui-core/src/dispatcher/application.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/application.tsx @@ -16,7 +16,7 @@ import { import {tryCatchReportPlatformFailures} from 'flipper-common'; import {handleDeeplink} from '../deeplink'; import {Dialog} from 'flipper-plugin'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export default (store: Store, logger: Logger) => { const renderHost = getRenderHostInstance(); diff --git a/desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx b/desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx index df76e64dd..d5869fa41 100644 --- a/desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx @@ -38,7 +38,7 @@ import { DeeplinkInteractionState, OpenPluginParams, } from '../deeplinkTracking'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {waitFor} from '../utils/waitFor'; export function parseOpenPluginParams(query: string): OpenPluginParams { diff --git a/desktop/flipper-ui-core/src/dispatcher/notifications.tsx b/desktop/flipper-ui-core/src/dispatcher/notifications.tsx index 7633616be..190c9af19 100644 --- a/desktop/flipper-ui-core/src/dispatcher/notifications.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/notifications.tsx @@ -19,7 +19,7 @@ import {textContent} from 'flipper-plugin'; import {getPluginTitle} from '../utils/pluginUtils'; import {sideEffect} from '../utils/sideEffect'; import {openNotification} from '../sandy-chrome/notification/Notification'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export type NotificationEvents = | 'show' diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx index 3d279a645..8c71f71f7 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx @@ -20,7 +20,7 @@ import {loadPlugin} from '../reducers/pluginManager'; import {showErrorNotification} from '../utils/notifications'; import {pluginInstalled} from '../reducers/plugins'; import {getAllClients} from '../reducers/connections'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export default (store: Store) => { sideEffect( diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx index ae26fea61..0cdeec03f 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx @@ -43,7 +43,7 @@ import { defaultEnabledBackgroundPlugins, } from '../utils/pluginUtils'; import {getPluginKey} from '../utils/pluginKey'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; async function refreshInstalledPlugins(store: Store) { const flipperServer = getRenderHostInstance().flipperServer; diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginMarketplace.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginMarketplace.tsx index b2cfd1607..3920e799f 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginMarketplace.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginMarketplace.tsx @@ -25,7 +25,7 @@ import {selectCompatibleMarketplaceVersions} from './plugins'; import isPluginVersionMoreRecent from '../utils/isPluginVersionMoreRecent'; import {isConnectivityOrAuthError} from 'flipper-common'; import {isLoggedIn} from '../fb-stubs/user'; -import {getRenderHostInstance} from '..'; +import {getRenderHostInstance} from 'flipper-frontend-core'; // TODO: provide this value from settings export const pollingIntervalMs = getRenderHostInstance().serverConfig.env diff --git a/desktop/flipper-ui-core/src/dispatcher/plugins.tsx b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx index 8099c5fb3..b38b67a90 100644 --- a/desktop/flipper-ui-core/src/dispatcher/plugins.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx @@ -48,7 +48,7 @@ import {isDevicePluginDefinition} from '../utils/pluginUtils'; import isPluginCompatible from '../utils/isPluginCompatible'; import isPluginVersionMoreRecent from '../utils/isPluginVersionMoreRecent'; import {createSandyPluginWrapper} from '../utils/createSandyPluginWrapper'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import pMap from 'p-map'; import * as deprecatedExports from '../deprecated-exports'; diff --git a/desktop/flipper-ui-core/src/dispatcher/tracking.tsx b/desktop/flipper-ui-core/src/dispatcher/tracking.tsx index b944c6d5a..601cd23de 100644 --- a/desktop/flipper-ui-core/src/dispatcher/tracking.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/tracking.tsx @@ -27,7 +27,7 @@ import {deconstructClientId} from 'flipper-common'; import {sideEffect} from '../utils/sideEffect'; import {getSelectionInfo} from '../utils/info'; import type {SelectionInfo} from '../utils/info'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const TIME_SPENT_EVENT = 'time-spent'; diff --git a/desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx b/desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx index 491273c39..9d3381bdc 100644 --- a/desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx +++ b/desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx @@ -8,7 +8,7 @@ */ import {VersionCheckResult} from '../chrome/UpdateIndicator'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const updateServer = 'https://www.facebook.com/fbflipper/public/latest.json'; diff --git a/desktop/flipper-ui-core/src/global.tsx b/desktop/flipper-ui-core/src/global.tsx index 0723fa710..ad68d87dd 100644 --- a/desktop/flipper-ui-core/src/global.tsx +++ b/desktop/flipper-ui-core/src/global.tsx @@ -8,7 +8,6 @@ */ import {StoreEnhancerStoreCreator} from 'redux'; -import {RenderHost} from './RenderHost'; declare global { interface StoreEnhancerStateSanitizer { diff --git a/desktop/flipper-ui-core/src/index.tsx b/desktop/flipper-ui-core/src/index.tsx index d2f4c1fa0..4ebb44613 100644 --- a/desktop/flipper-ui-core/src/index.tsx +++ b/desktop/flipper-ui-core/src/index.tsx @@ -10,7 +10,7 @@ // TODO: should not be exported anymore, but still needed for 'import from 'flipper'' stuff export * from './deprecated-exports'; -export {RenderHost, getRenderHostInstance} from './RenderHost'; +export {RenderHost, getRenderHostInstance} from 'flipper-frontend-core'; export {startFlipperDesktop} from './startFlipperDesktop'; diff --git a/desktop/flipper-ui-core/src/reducers/application.tsx b/desktop/flipper-ui-core/src/reducers/application.tsx index 1a8242b51..762653f3a 100644 --- a/desktop/flipper-ui-core/src/reducers/application.tsx +++ b/desktop/flipper-ui-core/src/reducers/application.tsx @@ -8,7 +8,7 @@ */ import {v1 as uuidv1} from 'uuid'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {Actions} from './'; export type LauncherMsg = { diff --git a/desktop/flipper-ui-core/src/reducers/launcherSettings.tsx b/desktop/flipper-ui-core/src/reducers/launcherSettings.tsx index 495ac0bf0..488d8f6d9 100644 --- a/desktop/flipper-ui-core/src/reducers/launcherSettings.tsx +++ b/desktop/flipper-ui-core/src/reducers/launcherSettings.tsx @@ -8,7 +8,7 @@ */ import {LauncherSettings} from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {Actions} from './index'; export type Action = { diff --git a/desktop/flipper-ui-core/src/reducers/settings.tsx b/desktop/flipper-ui-core/src/reducers/settings.tsx index 32b29f86d..601438e28 100644 --- a/desktop/flipper-ui-core/src/reducers/settings.tsx +++ b/desktop/flipper-ui-core/src/reducers/settings.tsx @@ -8,7 +8,7 @@ */ import {Actions} from './index'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {Settings} from 'flipper-common'; export type Action = diff --git a/desktop/flipper-ui-core/src/reducers/usageTracking.tsx b/desktop/flipper-ui-core/src/reducers/usageTracking.tsx index 054d9ffc6..49867c2b1 100644 --- a/desktop/flipper-ui-core/src/reducers/usageTracking.tsx +++ b/desktop/flipper-ui-core/src/reducers/usageTracking.tsx @@ -10,7 +10,7 @@ import {produce} from 'immer'; import {Actions} from './'; import {SelectionInfo} from '../utils/info'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export type TrackingEvent = | { diff --git a/desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx b/desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx index 9afacbaa0..3275da78e 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx @@ -65,7 +65,7 @@ import { } from '../utils/exportData'; import {openDeeplinkDialog} from '../deeplink'; import {css} from '@emotion/css'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import openSupportRequestForm from '../fb-stubs/openSupportRequestForm'; import {StyleGuide} from './StyleGuide'; diff --git a/desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx b/desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx index f010ab2ad..d18ba1faf 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx @@ -40,7 +40,7 @@ import fbConfig from '../fb-stubs/config'; import {isFBEmployee} from '../utils/fbEmployee'; import {notification} from 'antd'; import isProduction from '../utils/isProduction'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export type ToplevelNavItem = | 'appinspect' diff --git a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx index bf88a6792..fecffee88 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx @@ -31,7 +31,7 @@ import {State} from '../../reducers'; import {brandColors, brandIcons, colors} from '../../ui/components/colors'; import {TroubleshootingGuide} from './fb-stubs/TroubleshootingGuide'; import {getSelectableDevices} from '../../selectors/connections'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const {Text} = Typography; diff --git a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx index e07044a05..768f42b9e 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx @@ -25,7 +25,7 @@ import { } from 'flipper-plugin'; import {Provider} from 'react-redux'; import {IOSDeviceParams} from 'flipper-common'; -import {getRenderHostInstance} from '../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import SettingsSheet from '../../chrome/SettingsSheet'; import {Link} from '../../ui'; diff --git a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx index 9171ea06e..016bbae9d 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx @@ -15,7 +15,7 @@ import {LaunchEmulatorDialog} from '../LaunchEmulator'; import {createRootReducer} from '../../../reducers'; import {sleep} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; test('Can render and launch android apps - no emulators', async () => { const store = createStore(createRootReducer()); diff --git a/desktop/flipper-ui-core/src/startFlipperDesktop.tsx b/desktop/flipper-ui-core/src/startFlipperDesktop.tsx index 56995fd0f..f3048503c 100644 --- a/desktop/flipper-ui-core/src/startFlipperDesktop.tsx +++ b/desktop/flipper-ui-core/src/startFlipperDesktop.tsx @@ -40,7 +40,7 @@ import {CopyOutlined} from '@ant-design/icons'; import {getVersionString} from './utils/versionString'; import {PersistGate} from 'redux-persist/integration/react'; import {setLoggerInstance, FlipperServer} from 'flipper-common'; -import {getRenderHostInstance} from './RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {startGlobalErrorHandling} from './utils/globalErrorHandling'; import {loadTheme} from './utils/loadTheme'; import {connectFlipperServerToStore} from './dispatcher/flipperServer'; diff --git a/desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx b/desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx index e5fc76d33..cb025e26f 100644 --- a/desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx +++ b/desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx @@ -20,7 +20,7 @@ import {debounce} from 'lodash'; import ToggleButton from '../ToggleSwitch'; import React from 'react'; import {Layout, theme, Toolbar} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const SearchBar = styled(Toolbar)({ height: 42, diff --git a/desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx b/desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx index 659909740..6ed2652c3 100644 --- a/desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx +++ b/desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx @@ -32,7 +32,7 @@ import {debounce} from 'lodash'; import {DEFAULT_ROW_HEIGHT} from './types'; import {notNull} from '../../../utils/typeUtils'; import {getFlipperLib, textContent} from 'flipper-plugin'; -import {getRenderHostInstance} from '../../../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; const EMPTY_OBJECT = {}; Object.freeze(EMPTY_OBJECT); diff --git a/desktop/flipper-ui-core/src/utils/exportData.tsx b/desktop/flipper-ui-core/src/utils/exportData.tsx index 01f5c657d..515f84180 100644 --- a/desktop/flipper-ui-core/src/utils/exportData.tsx +++ b/desktop/flipper-ui-core/src/utils/exportData.tsx @@ -30,7 +30,7 @@ import {ClientQuery} from 'flipper-common'; import ShareSheetExportUrl from '../chrome/ShareSheetExportUrl'; import ShareSheetExportFile from '../chrome/ShareSheetExportFile'; import ExportDataPluginSheet from '../chrome/ExportDataPluginSheet'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {uploadFlipperMedia} from '../fb-stubs/user'; export const IMPORT_FLIPPER_TRACE_EVENT = 'import-flipper-trace'; diff --git a/desktop/flipper-ui-core/src/utils/flipperLibImplementation/downloadFile.tsx b/desktop/flipper-ui-core/src/utils/flipperLibImplementation/downloadFile.tsx index 0c6bd7b97..6b0cdc5ee 100644 --- a/desktop/flipper-ui-core/src/utils/flipperLibImplementation/downloadFile.tsx +++ b/desktop/flipper-ui-core/src/utils/flipperLibImplementation/downloadFile.tsx @@ -9,7 +9,7 @@ import {assertNever, DownloadFileUpdate} from 'flipper-common'; import {FlipperLib, DownloadFileResponse} from 'flipper-plugin'; -import {RenderHost} from '../../RenderHost'; +import {RenderHost} from 'flipper-frontend-core'; export const downloadFileFactory = (renderHost: RenderHost): FlipperLib['remoteServerContext']['downloadFile'] => diff --git a/desktop/flipper-ui-core/src/utils/flipperLibImplementation/index.tsx b/desktop/flipper-ui-core/src/utils/flipperLibImplementation/index.tsx index 7fa8b3813..89561c703 100644 --- a/desktop/flipper-ui-core/src/utils/flipperLibImplementation/index.tsx +++ b/desktop/flipper-ui-core/src/utils/flipperLibImplementation/index.tsx @@ -26,7 +26,7 @@ import constants from '../../fb-stubs/constants'; import {addNotification} from '../../reducers/notifications'; import {deconstructPluginKey} from 'flipper-common'; import {DetailSidebarImpl} from '../../sandy-chrome/DetailSidebarImpl'; -import {RenderHost} from '../../RenderHost'; +import {RenderHost} from 'flipper-frontend-core'; import {setMenuEntries} from '../../reducers/connections'; import {downloadFileFactory} from './downloadFile'; import {Base64} from 'js-base64'; diff --git a/desktop/flipper-ui-core/src/utils/icons.tsx b/desktop/flipper-ui-core/src/utils/icons.tsx index 4ad52ffc3..2478ba405 100644 --- a/desktop/flipper-ui-core/src/utils/icons.tsx +++ b/desktop/flipper-ui-core/src/utils/icons.tsx @@ -7,7 +7,7 @@ * @format */ -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {IconSize} from '../ui/components/Glyph'; const AVAILABLE_SIZES: IconSize[] = [8, 10, 12, 16, 18, 20, 24, 32]; diff --git a/desktop/flipper-ui-core/src/utils/info.tsx b/desktop/flipper-ui-core/src/utils/info.tsx index f219b38b7..ab62b6082 100644 --- a/desktop/flipper-ui-core/src/utils/info.tsx +++ b/desktop/flipper-ui-core/src/utils/info.tsx @@ -13,7 +13,7 @@ import type {State, Store} from '../reducers/index'; import {sideEffect} from './sideEffect'; import {Logger, deconstructClientId} from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; type PlatformInfo = { arch: string; diff --git a/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx b/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx index a7676db9b..e26ada262 100644 --- a/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx +++ b/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx @@ -9,7 +9,7 @@ import {PluginDetails} from 'flipper-common'; import semver from 'semver'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; import {getAppVersion} from './info'; export function isPluginCompatible(plugin: PluginDetails) { diff --git a/desktop/flipper-ui-core/src/utils/isProduction.tsx b/desktop/flipper-ui-core/src/utils/isProduction.tsx index fdd9e5bd5..65cc6f2e8 100644 --- a/desktop/flipper-ui-core/src/utils/isProduction.tsx +++ b/desktop/flipper-ui-core/src/utils/isProduction.tsx @@ -7,7 +7,7 @@ * @format */ -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export default function isProduction() { return getRenderHostInstance().serverConfig.environmentInfo.isProduction; diff --git a/desktop/flipper-ui-core/src/utils/loadTheme.tsx b/desktop/flipper-ui-core/src/utils/loadTheme.tsx index 094005c8c..c9419e892 100644 --- a/desktop/flipper-ui-core/src/utils/loadTheme.tsx +++ b/desktop/flipper-ui-core/src/utils/loadTheme.tsx @@ -8,7 +8,7 @@ */ import {Settings} from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; export function loadTheme(theme: Settings['darkMode']) { let shouldUseDarkMode = false; diff --git a/desktop/flipper-ui-core/src/utils/runHealthchecks.tsx b/desktop/flipper-ui-core/src/utils/runHealthchecks.tsx index 650d7e31b..81c2f4639 100644 --- a/desktop/flipper-ui-core/src/utils/runHealthchecks.tsx +++ b/desktop/flipper-ui-core/src/utils/runHealthchecks.tsx @@ -12,7 +12,7 @@ import { reportPlatformFailures, FlipperDoctor, } from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; let healthcheckIsRunning: boolean; let runningHealthcheck: Promise; diff --git a/desktop/flipper-ui-core/src/utils/screenshot.tsx b/desktop/flipper-ui-core/src/utils/screenshot.tsx index 0b9bb1ed9..9743b9a96 100644 --- a/desktop/flipper-ui-core/src/utils/screenshot.tsx +++ b/desktop/flipper-ui-core/src/utils/screenshot.tsx @@ -7,9 +7,8 @@ * @format */ -import {BaseDevice} from 'flipper-frontend-core'; +import {BaseDevice, getRenderHostInstance} from 'flipper-frontend-core'; import {reportPlatformFailures} from 'flipper-common'; -import {getRenderHostInstance} from '../RenderHost'; import {getFlipperLib, path} from 'flipper-plugin'; import {assertNotNull} from './assertNotNull'; diff --git a/desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx b/desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx index 009cfb7ba..8240dc88a 100644 --- a/desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx +++ b/desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx @@ -8,7 +8,7 @@ */ import {useStore} from './useStore'; -import {getRenderHostInstance} from '../RenderHost'; +import {getRenderHostInstance} from 'flipper-frontend-core'; /** * This hook returns whether dark mode is currently being used.