From ba5f0673205128985d7f8522fd9b67b54ee3d220 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Tue, 20 Oct 2020 03:22:15 -0700 Subject: [PATCH] Fix circular imports and lint against them Summary: When trying to refactor some components, did once again run into circular imports that cause the flipper startup sequence to fail. Added linting rules to make sure this is much less likely to happen in the future, and fixed all resulting errors Reviewed By: nikoant Differential Revision: D24390583 fbshipit-source-id: 9b20cf6a4d3555dc68f0069c2950dd7162b17e67 --- desktop/app/src/.eslintrc.js | 21 +++++++++++++++++++ desktop/app/src/App.tsx | 2 +- desktop/app/src/NotificationsHub.tsx | 4 ++-- desktop/app/src/PluginContainer.tsx | 4 ++-- desktop/app/src/chrome/AutoUpdateVersion.tsx | 2 +- .../src/chrome/CancellableExportStatus.tsx | 2 +- desktop/app/src/chrome/ChangelogSheet.tsx | 2 +- desktop/app/src/chrome/DevicesButton.tsx | 2 +- desktop/app/src/chrome/DoctorBar.tsx | 6 +++--- desktop/app/src/chrome/DoctorSheet.tsx | 2 +- .../src/chrome/JSEmulatorLauncherSheet.tsx | 2 +- desktop/app/src/chrome/LocationsButton.tsx | 4 ++-- desktop/app/src/chrome/MetroButton.tsx | 13 ++++-------- desktop/app/src/chrome/Popover.tsx | 2 +- desktop/app/src/chrome/RatingButton.tsx | 4 ++-- .../app/src/chrome/ScreenCaptureButtons.tsx | 2 +- desktop/app/src/chrome/SettingsSheet.tsx | 2 +- .../app/src/chrome/ShareSheetExportFile.tsx | 2 +- .../app/src/chrome/ShareSheetExportUrl.tsx | 10 +-------- desktop/app/src/chrome/Sheet.tsx | 2 +- desktop/app/src/chrome/SignInSheet.tsx | 2 +- desktop/app/src/chrome/TitleBar.tsx | 4 ++-- desktop/app/src/chrome/UpdateIndicator.tsx | 2 +- desktop/app/src/chrome/UserAccount.tsx | 2 +- desktop/app/src/chrome/WarningEmployee.tsx | 2 +- .../src/chrome/mainsidebar/MainSidebar2.tsx | 6 +++--- .../mainsidebar/MainSidebarUtilsSection.tsx | 3 ++- .../src/chrome/mainsidebar/sidebarUtils.tsx | 8 +++---- .../chrome/plugin-manager/PluginDebugger.tsx | 2 +- .../chrome/plugin-manager/PluginInstaller.tsx | 2 +- .../chrome/plugin-manager/PluginManager.tsx | 2 +- .../plugin-manager/PluginPackageInstaller.tsx | 2 +- .../chrome/settings/KeyboardShortcutInput.tsx | 2 +- .../src/chrome/settings/ToggledSection.tsx | 2 +- .../app/src/chrome/settings/configFields.tsx | 10 ++++++++- desktop/app/src/createTablePlugin.tsx | 2 +- desktop/app/src/devices/BaseDevice.tsx | 2 +- .../src/dispatcher/__tests__/TestPlugin.tsx | 2 +- .../src/dispatcher/__tests__/plugins.node.tsx | 2 +- desktop/app/src/dispatcher/metroDevice.tsx | 2 +- desktop/app/src/dispatcher/reactNative.tsx | 4 ++-- desktop/app/src/dispatcher/tracking.tsx | 2 +- desktop/app/src/fb-stubs/IDEFileResolver.tsx | 5 ++++- .../src/fb-stubs/LauncherSettingsPanel.tsx | 2 +- .../LayoutInspectorSidebarExtensions.tsx | 6 ++++-- desktop/app/src/plugins/TableNativePlugin.tsx | 2 +- desktop/app/src/sandy-chrome/LeftRail.tsx | 2 +- desktop/app/src/sandy-chrome/SandyApp.tsx | 2 +- .../src/sandy-chrome/TemporarilyTitlebar.tsx | 2 +- .../app/src/sandy-chrome/WelcomeScreen.tsx | 2 +- .../app/src/ui/components/PopoverProvider.tsx | 2 +- .../app/src/ui/components/ToggleSwitch.tsx | 2 +- .../elements-inspector/ElementsInspector.tsx | 2 +- .../__tests__/crashReporterUtility.node.js | 2 +- .../src/utils/__tests__/pluginUtils.node.js | 2 +- desktop/app/src/utils/pluginStateRecorder.tsx | 2 +- desktop/app/src/utils/screenshot.tsx | 2 +- 57 files changed, 108 insertions(+), 86 deletions(-) create mode 100644 desktop/app/src/.eslintrc.js diff --git a/desktop/app/src/.eslintrc.js b/desktop/app/src/.eslintrc.js new file mode 100644 index 000000000..fae2075bb --- /dev/null +++ b/desktop/app/src/.eslintrc.js @@ -0,0 +1,21 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +module.exports = { + rules: { + 'no-restricted-imports': [ + 'error', + { + // These paths lead to circular import issues in Flipper app and are forbidden + paths: ['flipper'], + patterns: ['app/src/*'], + }, + ], + }, +}; diff --git a/desktop/app/src/App.tsx b/desktop/app/src/App.tsx index 367db78d1..db7dfa5aa 100644 --- a/desktop/app/src/App.tsx +++ b/desktop/app/src/App.tsx @@ -8,7 +8,7 @@ */ import React from 'react'; -import {FlexRow, styled, Layout} from 'flipper'; +import {FlexRow, styled, Layout} from './ui'; import {connect} from 'react-redux'; import TitleBar from './chrome/TitleBar'; import MainSidebar2 from './chrome/mainsidebar/MainSidebar2'; diff --git a/desktop/app/src/NotificationsHub.tsx b/desktop/app/src/NotificationsHub.tsx index 049b59c80..88bf6464c 100644 --- a/desktop/app/src/NotificationsHub.tsx +++ b/desktop/app/src/NotificationsHub.tsx @@ -7,7 +7,7 @@ * @format */ -import {SearchableProps} from 'flipper'; +import {SearchableProps} from './ui'; import {Logger} from './fb-interfaces/Logger'; import { Searchable, @@ -20,7 +20,7 @@ import { ContextMenu, styled, colors, -} from 'flipper'; +} from './ui'; import {PluginDefinition, DevicePluginMap, ClientPluginMap} from './plugin'; import {connect} from 'react-redux'; import React, {Component, Fragment} from 'react'; diff --git a/desktop/app/src/PluginContainer.tsx b/desktop/app/src/PluginContainer.tsx index 5ec9644b1..288cd17db 100644 --- a/desktop/app/src/PluginContainer.tsx +++ b/desktop/app/src/PluginContainer.tsx @@ -24,12 +24,11 @@ import { FlexRow, colors, styled, - ArchivedDevice, Glyph, Label, VBox, View, -} from 'flipper'; +} from './ui'; import { StaticView, setStaticView, @@ -49,6 +48,7 @@ import {processMessageQueue} from './utils/messageQueue'; import {ToggleButton, SmallText} from './ui'; import {SandyPluginRenderer} from 'flipper-plugin'; import {isDevicePluginDefinition} from './utils/pluginUtils'; +import ArchivedDevice from './devices/ArchivedDevice'; const Container = styled(FlexColumn)({ width: 0, diff --git a/desktop/app/src/chrome/AutoUpdateVersion.tsx b/desktop/app/src/chrome/AutoUpdateVersion.tsx index a5e41a901..6cb945227 100644 --- a/desktop/app/src/chrome/AutoUpdateVersion.tsx +++ b/desktop/app/src/chrome/AutoUpdateVersion.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexRow, colors, LoadingIndicator, Glyph, styled} from 'flipper'; +import {FlexRow, colors, LoadingIndicator, Glyph, styled} from '../ui'; import {remote} from 'electron'; import isProduction from '../utils/isProduction'; import React, {Component} from 'react'; diff --git a/desktop/app/src/chrome/CancellableExportStatus.tsx b/desktop/app/src/chrome/CancellableExportStatus.tsx index f429ae744..2c6bf0b93 100644 --- a/desktop/app/src/chrome/CancellableExportStatus.tsx +++ b/desktop/app/src/chrome/CancellableExportStatus.tsx @@ -8,7 +8,7 @@ */ import {FlexRow, Button} from '../ui/index'; -import {styled, LoadingIndicator, Text} from 'flipper'; +import {styled, LoadingIndicator, Text} from '../ui'; import React, {Component} from 'react'; import {colors} from '../ui/components/colors'; diff --git a/desktop/app/src/chrome/ChangelogSheet.tsx b/desktop/app/src/chrome/ChangelogSheet.tsx index b1807b287..1418cba32 100644 --- a/desktop/app/src/chrome/ChangelogSheet.tsx +++ b/desktop/app/src/chrome/ChangelogSheet.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, styled, Text, FlexRow, Button, Markdown} from 'flipper'; +import {FlexColumn, styled, Text, FlexRow, Button, Markdown} from '../ui'; import {readFileSync} from 'fs'; import React, {Component} from 'react'; import path from 'path'; diff --git a/desktop/app/src/chrome/DevicesButton.tsx b/desktop/app/src/chrome/DevicesButton.tsx index 64bc8c9e9..5c6a3bf63 100644 --- a/desktop/app/src/chrome/DevicesButton.tsx +++ b/desktop/app/src/chrome/DevicesButton.tsx @@ -7,7 +7,7 @@ * @format */ -import {Button, styled} from 'flipper'; +import {Button, styled} from '../ui'; import {connect, ReactReduxContext} from 'react-redux'; import {selectDevice, preferDevice} from '../reducers/connections'; diff --git a/desktop/app/src/chrome/DoctorBar.tsx b/desktop/app/src/chrome/DoctorBar.tsx index 779fb665b..6cf241e83 100644 --- a/desktop/app/src/chrome/DoctorBar.tsx +++ b/desktop/app/src/chrome/DoctorBar.tsx @@ -7,7 +7,7 @@ * @format */ -import {styled, colors} from 'flipper'; +import {styled, colors} from '../ui'; import React, {Component} from 'react'; import {connect} from 'react-redux'; import { @@ -17,8 +17,8 @@ import { ACTIVE_SHEET_SETTINGS, } from '../reducers/application'; import {State as Store} from '../reducers/index'; -import {ButtonGroup, Button} from 'flipper'; -import {FlexColumn, FlexRow} from 'flipper'; +import {ButtonGroup, Button} from '../ui'; +import {FlexColumn, FlexRow} from '../ui'; import runHealthchecks, { HealthcheckSettings, HealthcheckEventsHandler, diff --git a/desktop/app/src/chrome/DoctorSheet.tsx b/desktop/app/src/chrome/DoctorSheet.tsx index e1d035c6c..40700a07a 100644 --- a/desktop/app/src/chrome/DoctorSheet.tsx +++ b/desktop/app/src/chrome/DoctorSheet.tsx @@ -19,7 +19,7 @@ import { Button, FlexBox, Checkbox, -} from 'flipper'; +} from '../ui'; import React, {Component} from 'react'; import {connect} from 'react-redux'; import {State as Store} from '../reducers'; diff --git a/desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx b/desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx index f6d1cee4c..4f646e949 100644 --- a/desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx +++ b/desktop/app/src/chrome/JSEmulatorLauncherSheet.tsx @@ -16,7 +16,7 @@ import { Spacer, Input, Label, -} from 'flipper'; +} from '../ui'; import React, {Component} from 'react'; import {connect} from 'react-redux'; import {State as Store} from '../reducers'; diff --git a/desktop/app/src/chrome/LocationsButton.tsx b/desktop/app/src/chrome/LocationsButton.tsx index 5e44c7731..34f828160 100644 --- a/desktop/app/src/chrome/LocationsButton.tsx +++ b/desktop/app/src/chrome/LocationsButton.tsx @@ -7,7 +7,7 @@ * @format */ -import {Button, styled} from 'flipper'; +import {Button, styled} from '../ui'; import {connect} from 'react-redux'; import React, {Component} from 'react'; import {State as Store} from '../reducers'; @@ -21,7 +21,7 @@ import { // eslint-disable-next-line flipper/no-relative-imports-across-packages import {PersistedState as NavPluginState} from '../../../plugins/navigation/types'; import BaseDevice from '../devices/BaseDevice'; -import {State as PluginState} from 'app/src/reducers/pluginStates'; +import {State as PluginState} from '../reducers/pluginStates'; import {platform} from 'os'; import {getPluginKey} from '../utils/pluginUtils'; diff --git a/desktop/app/src/chrome/MetroButton.tsx b/desktop/app/src/chrome/MetroButton.tsx index cb4bd924d..fa517a13e 100644 --- a/desktop/app/src/chrome/MetroButton.tsx +++ b/desktop/app/src/chrome/MetroButton.tsx @@ -8,16 +8,11 @@ */ import React, {useCallback, useEffect, useState} from 'react'; -import { - Button, - ButtonGroup, - MetroDevice, - connect, - colors, - styled, -} from 'flipper'; +import {Button, ButtonGroup, colors} from '../ui'; import {State} from '../reducers'; -import {MetroReportableEvent} from '../devices/MetroDevice'; +import MetroDevice, {MetroReportableEvent} from '../devices/MetroDevice'; +import styled from '@emotion/styled'; +import {connect} from 'react-redux'; type LogEntry = {}; diff --git a/desktop/app/src/chrome/Popover.tsx b/desktop/app/src/chrome/Popover.tsx index f9e009916..c45e068b0 100644 --- a/desktop/app/src/chrome/Popover.tsx +++ b/desktop/app/src/chrome/Popover.tsx @@ -15,7 +15,7 @@ import { Button, styled, colors, -} from 'flipper'; +} from '../ui'; import React, {PureComponent} from 'react'; const Anchor = styled.img({ diff --git a/desktop/app/src/chrome/RatingButton.tsx b/desktop/app/src/chrome/RatingButton.tsx index fca374ee4..262bbe166 100644 --- a/desktop/app/src/chrome/RatingButton.tsx +++ b/desktop/app/src/chrome/RatingButton.tsx @@ -17,13 +17,13 @@ import { styled, Input, Link, -} from 'flipper'; +} from '../ui'; import Popover from '../ui/components/Popover2'; import GK from '../fb-stubs/GK'; import * as UserFeedback from '../fb-stubs/UserFeedback'; import {FeedbackPrompt} from '../fb-stubs/UserFeedback'; import {connect} from 'react-redux'; -import {State as Store} from 'app/src/reducers'; +import {State as Store} from '../reducers'; type PropsFromState = { sessionId: string | null; diff --git a/desktop/app/src/chrome/ScreenCaptureButtons.tsx b/desktop/app/src/chrome/ScreenCaptureButtons.tsx index f2aaf270e..9f1f67753 100644 --- a/desktop/app/src/chrome/ScreenCaptureButtons.tsx +++ b/desktop/app/src/chrome/ScreenCaptureButtons.tsx @@ -7,7 +7,7 @@ * @format */ -import {Button, ButtonGroup} from 'flipper'; +import {Button, ButtonGroup} from '../ui'; import React, {Component} from 'react'; import {connect} from 'react-redux'; import path from 'path'; diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx index 3ba7e181c..b7d464048 100644 --- a/desktop/app/src/chrome/SettingsSheet.tsx +++ b/desktop/app/src/chrome/SettingsSheet.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, Button, styled, Text, FlexRow, Spacer} from 'flipper'; +import {FlexColumn, Button, styled, Text, FlexRow, Spacer} from '../ui'; import React, {Component} from 'react'; import {updateSettings, Action} from '../reducers/settings'; import { diff --git a/desktop/app/src/chrome/ShareSheetExportFile.tsx b/desktop/app/src/chrome/ShareSheetExportFile.tsx index c8c7a3afb..5ddeeaff3 100644 --- a/desktop/app/src/chrome/ShareSheetExportFile.tsx +++ b/desktop/app/src/chrome/ShareSheetExportFile.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, Button, styled, Text, FlexRow, Spacer} from 'flipper'; +import {FlexColumn, Button, styled, Text, FlexRow, Spacer} from '../ui'; import React, {Component} from 'react'; import {setExportStatusComponent, unsetShare} from '../reducers/application'; import {reportPlatformFailures} from '../utils/metrics'; diff --git a/desktop/app/src/chrome/ShareSheetExportUrl.tsx b/desktop/app/src/chrome/ShareSheetExportUrl.tsx index a2aaa522b..262641781 100644 --- a/desktop/app/src/chrome/ShareSheetExportUrl.tsx +++ b/desktop/app/src/chrome/ShareSheetExportUrl.tsx @@ -7,15 +7,7 @@ * @format */ -import { - FlexColumn, - Button, - styled, - Text, - FlexRow, - Spacer, - Input, -} from 'flipper'; +import {FlexColumn, Button, styled, Text, FlexRow, Spacer, Input} from '../ui'; import React, {Component} from 'react'; import {ReactReduxContext} from 'react-redux'; import { diff --git a/desktop/app/src/chrome/Sheet.tsx b/desktop/app/src/chrome/Sheet.tsx index ed8dcc6a1..758246c1c 100644 --- a/desktop/app/src/chrome/Sheet.tsx +++ b/desktop/app/src/chrome/Sheet.tsx @@ -12,7 +12,7 @@ import {Transition} from 'react-transition-group'; import {TransitionStatus} from 'react-transition-group/Transition'; import {setActiveSheet} from '../reducers/application'; import {connect} from 'react-redux'; -import {styled} from 'flipper'; +import {styled} from '../ui'; import {PLUGIN_SHEET_ELEMENT_ID} from '../ui/components/Sheet'; import {ACTIVE_SHEET_PLUGIN_SHEET} from '../reducers/application'; import {State as Store} from '../reducers'; diff --git a/desktop/app/src/chrome/SignInSheet.tsx b/desktop/app/src/chrome/SignInSheet.tsx index d4a601ce3..d44ce984a 100644 --- a/desktop/app/src/chrome/SignInSheet.tsx +++ b/desktop/app/src/chrome/SignInSheet.tsx @@ -17,7 +17,7 @@ import { Input, Link, colors, -} from 'flipper'; +} from '../ui'; import React, {Component} from 'react'; import {writeKeychain, getUser} from '../fb-stubs/user'; import {login} from '../reducers/user'; diff --git a/desktop/app/src/chrome/TitleBar.tsx b/desktop/app/src/chrome/TitleBar.tsx index c773e59ce..f5869e0ab 100644 --- a/desktop/app/src/chrome/TitleBar.tsx +++ b/desktop/app/src/chrome/TitleBar.tsx @@ -27,8 +27,7 @@ import { styled, Text, LoadingIndicator, - getPluginKey, -} from 'flipper'; +} from '../ui'; import {connect} from 'react-redux'; import RatingButton from './RatingButton'; import DevicesButton from './DevicesButton'; @@ -46,6 +45,7 @@ import {reportUsage} from '../utils/metrics'; import FpsGraph from './FpsGraph'; import NetworkGraph from './NetworkGraph'; import MetroButton from './MetroButton'; +import {getPluginKey} from '../utils/pluginUtils'; const AppTitleBar = styled(FlexRow)<{focused?: boolean}>(({focused}) => ({ userSelect: 'none', diff --git a/desktop/app/src/chrome/UpdateIndicator.tsx b/desktop/app/src/chrome/UpdateIndicator.tsx index d91f04c07..e491f585f 100644 --- a/desktop/app/src/chrome/UpdateIndicator.tsx +++ b/desktop/app/src/chrome/UpdateIndicator.tsx @@ -8,7 +8,7 @@ */ import {LauncherMsg} from '../reducers/application'; -import {colors, FlexRow, Glyph, styled} from 'flipper'; +import {colors, FlexRow, Glyph, styled} from '../ui'; import Tooltip from '../ui/components/Tooltip'; import isProduction from '../utils/isProduction'; import { diff --git a/desktop/app/src/chrome/UserAccount.tsx b/desktop/app/src/chrome/UserAccount.tsx index 25c872ba2..5063a4cb5 100644 --- a/desktop/app/src/chrome/UserAccount.tsx +++ b/desktop/app/src/chrome/UserAccount.tsx @@ -10,7 +10,7 @@ import {User, USER_UNAUTHORIZED, USER_NOT_SIGNEDIN} from '../reducers/user'; import {ActiveSheet} from '../reducers/application'; -import {styled, FlexRow, Glyph, Text, colors} from 'flipper'; +import {styled, FlexRow, Glyph, Text, colors} from '../ui'; import {logout} from '../reducers/user'; import {setActiveSheet, ACTIVE_SHEET_SIGN_IN} from '../reducers/application'; import {connect} from 'react-redux'; diff --git a/desktop/app/src/chrome/WarningEmployee.tsx b/desktop/app/src/chrome/WarningEmployee.tsx index da3a32cd0..59cd4b3bf 100644 --- a/desktop/app/src/chrome/WarningEmployee.tsx +++ b/desktop/app/src/chrome/WarningEmployee.tsx @@ -7,7 +7,7 @@ * @format */ -import {styled, FlexColumn, Text, Button, colors} from 'flipper'; +import {styled, FlexColumn, Text, Button, colors} from '../ui'; import React from 'react'; diff --git a/desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx b/desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx index 43b1d0e59..c5edae0ed 100644 --- a/desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx +++ b/desktop/app/src/chrome/mainsidebar/MainSidebar2.tsx @@ -19,13 +19,11 @@ import { colors, Glyph, styled, - GK, - ArchivedDevice, SmallText, Info, HBox, LoadingIndicator, -} from 'flipper'; +} from '../../ui'; import React, { PureComponent, Fragment, @@ -61,6 +59,8 @@ import { } from './sidebarUtils'; import {useLocalStorage} from '../../utils/useLocalStorage'; import {PluginDefinition, ClientPluginMap, DevicePluginMap} from '../../plugin'; +import GK from '../../fb-stubs/GK'; +import ArchivedDevice from '../../devices/ArchivedDevice'; type FlipperPlugins = PluginDefinition[]; type PluginsByCategoryType = [string, FlipperPlugins][]; diff --git a/desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx b/desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx index e2b67e291..5c5ac8314 100644 --- a/desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx +++ b/desktop/app/src/chrome/mainsidebar/MainSidebarUtilsSection.tsx @@ -9,7 +9,6 @@ import React from 'react'; import {connect} from 'react-redux'; -import {colors, GK} from 'flipper'; import config from '../../fb-stubs/config'; import {PluginNotification} from '../../reducers/notifications'; @@ -31,6 +30,8 @@ import {Group} from '../../reducers/supportForm'; import {getInstance} from '../../fb-stubs/Logger'; import {ConsoleLogs, errorCounterAtom} from '../ConsoleLogs'; import {useValue} from 'flipper-plugin'; +import {colors} from '../../ui'; +import GK from '../../fb-stubs/GK'; type OwnProps = {}; diff --git a/desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx b/desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx index 877b46398..2bcbd273c 100644 --- a/desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx +++ b/desktop/app/src/chrome/mainsidebar/sidebarUtils.tsx @@ -19,13 +19,13 @@ import { brandColors, Spacer, Heading, - Client, - BaseDevice, - StaticView, -} from 'flipper'; +} from '../../ui'; import {BackgroundColorProperty} from 'csstype'; import {getPluginTitle} from '../../utils/pluginUtils'; import {PluginDefinition} from '../../plugin'; +import {StaticView} from '../../reducers/connections'; +import BaseDevice from '../../devices/BaseDevice'; +import Client from '../../Client'; export type FlipperPlugins = PluginDefinition[]; export type PluginsByCategory = [string, FlipperPlugins][]; diff --git a/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx b/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx index 9cc1d175c..0a7e8aec1 100644 --- a/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx +++ b/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx @@ -12,7 +12,7 @@ import Client from '../../Client'; import {TableBodyRow} from '../../ui/components/table/types'; import React, {Component, Fragment} from 'react'; import {connect} from 'react-redux'; -import {Text, ManagedTable, styled, colors, Link, Bordered} from 'flipper'; +import {Text, ManagedTable, styled, colors, Link, Bordered} from '../../ui'; import StatusIndicator from '../../ui/components/StatusIndicator'; import {State as Store} from '../../reducers'; import {DevicePluginDefinition, ClientPluginDefinition} from '../../plugin'; diff --git a/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx index dff791411..43a175b66 100644 --- a/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx +++ b/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx @@ -24,7 +24,7 @@ import { Text, LoadingIndicator, Tooltip, -} from 'flipper'; +} from '../../ui'; import React, {useCallback, useState, useEffect} from 'react'; import {List} from 'immutable'; import {reportPlatformFailures, reportUsage} from '../../utils/metrics'; diff --git a/desktop/app/src/chrome/plugin-manager/PluginManager.tsx b/desktop/app/src/chrome/plugin-manager/PluginManager.tsx index 4eaf28a1d..4a88ee6a0 100644 --- a/desktop/app/src/chrome/plugin-manager/PluginManager.tsx +++ b/desktop/app/src/chrome/plugin-manager/PluginManager.tsx @@ -8,7 +8,7 @@ */ import React, {useState} from 'react'; -import {FlexColumn, Button, styled, Tab, Tabs, TabsContainer} from 'flipper'; +import {FlexColumn, Button, styled, Tab, Tabs, TabsContainer} from '../../ui'; import PluginDebugger from './PluginDebugger'; import PluginInstaller from './PluginInstaller'; diff --git a/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx b/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx index 9feb68e79..dfb681117 100644 --- a/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx +++ b/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx @@ -15,7 +15,7 @@ import { Glyph, colors, LoadingIndicator, -} from 'flipper'; +} from '../../ui'; import styled from '@emotion/styled'; import {default as FileSelector} from '../../ui/components/FileSelector'; import React, {useState} from 'react'; diff --git a/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx b/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx index bf01b5870..cc8365714 100644 --- a/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx +++ b/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, styled, FlexRow, Text, Glyph, colors} from 'flipper'; +import {FlexColumn, styled, FlexRow, Text, Glyph, colors} from '../../ui'; import React, {useRef, useState, useEffect} from 'react'; type PressedKeys = { diff --git a/desktop/app/src/chrome/settings/ToggledSection.tsx b/desktop/app/src/chrome/settings/ToggledSection.tsx index 4ec60ff08..387b41873 100644 --- a/desktop/app/src/chrome/settings/ToggledSection.tsx +++ b/desktop/app/src/chrome/settings/ToggledSection.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlexColumn, styled, FlexRow, ToggleButton} from 'flipper'; +import {FlexColumn, styled, FlexRow, ToggleButton} from '../../ui'; import React from 'react'; import {theme} from '../../sandy-chrome/theme'; diff --git a/desktop/app/src/chrome/settings/configFields.tsx b/desktop/app/src/chrome/settings/configFields.tsx index 143ad19a7..4b8aec368 100644 --- a/desktop/app/src/chrome/settings/configFields.tsx +++ b/desktop/app/src/chrome/settings/configFields.tsx @@ -8,7 +8,15 @@ */ import electron from 'electron'; -import {FlexColumn, styled, Text, FlexRow, Input, colors, Glyph} from 'flipper'; +import { + FlexColumn, + styled, + Text, + FlexRow, + Input, + colors, + Glyph, +} from '../../ui'; import React, {useState} from 'react'; import {promises as fs} from 'fs'; import {remote} from 'electron'; diff --git a/desktop/app/src/createTablePlugin.tsx b/desktop/app/src/createTablePlugin.tsx index 52fc3c066..a6baa99cd 100644 --- a/desktop/app/src/createTablePlugin.tsx +++ b/desktop/app/src/createTablePlugin.tsx @@ -12,7 +12,7 @@ import { TableRows_immutable, TableColumnSizes, TableColumns, -} from 'flipper'; +} from './ui'; import FlexColumn from './ui/components/FlexColumn'; import Button from './ui/components/Button'; import DetailSidebar from './chrome/DetailSidebar'; diff --git a/desktop/app/src/devices/BaseDevice.tsx b/desktop/app/src/devices/BaseDevice.tsx index f8e4290e1..ca0d4738a 100644 --- a/desktop/app/src/devices/BaseDevice.tsx +++ b/desktop/app/src/devices/BaseDevice.tsx @@ -8,12 +8,12 @@ */ import stream from 'stream'; -import type {DeviceLogListener} from 'flipper'; import { DeviceLogEntry, SandyDevicePluginInstance, SandyPluginDefinition, DeviceType, + DeviceLogListener, } from 'flipper-plugin'; import type {DevicePluginDefinition, DevicePluginMap} from '../plugin'; import {getFlipperLibImplementation} from '../utils/flipperLibImplementation'; diff --git a/desktop/app/src/dispatcher/__tests__/TestPlugin.tsx b/desktop/app/src/dispatcher/__tests__/TestPlugin.tsx index a155e5e74..b8d5c8b41 100644 --- a/desktop/app/src/dispatcher/__tests__/TestPlugin.tsx +++ b/desktop/app/src/dispatcher/__tests__/TestPlugin.tsx @@ -7,7 +7,7 @@ * @format */ -import {FlipperPlugin} from 'flipper'; +import {FlipperPlugin} from '../../plugin'; export default class extends FlipperPlugin { static id = 'Static ID'; diff --git a/desktop/app/src/dispatcher/__tests__/plugins.node.tsx b/desktop/app/src/dispatcher/__tests__/plugins.node.tsx index 04bdc3a63..b0304521a 100644 --- a/desktop/app/src/dispatcher/__tests__/plugins.node.tsx +++ b/desktop/app/src/dispatcher/__tests__/plugins.node.tsx @@ -19,7 +19,7 @@ import dispatcher, { import {PluginDetails} from 'flipper-plugin-lib'; import path from 'path'; import {remote} from 'electron'; -import {FlipperPlugin} from 'flipper'; +import {FlipperPlugin} from '../../plugin'; import reducers, {State} from '../../reducers/index'; import {getInstance} from '../../fb-stubs/Logger'; import configureStore from 'redux-mock-store'; diff --git a/desktop/app/src/dispatcher/metroDevice.tsx b/desktop/app/src/dispatcher/metroDevice.tsx index 3a625609f..fefc05645 100644 --- a/desktop/app/src/dispatcher/metroDevice.tsx +++ b/desktop/app/src/dispatcher/metroDevice.tsx @@ -11,7 +11,7 @@ import {Store} from '../reducers/index'; import {Logger} from '../fb-interfaces/Logger'; import {registerDeviceCallbackOnPlugins} from '../utils/onRegisterDevice'; import MetroDevice from '../devices/MetroDevice'; -import {ArchivedDevice} from 'flipper'; +import ArchivedDevice from '../devices/ArchivedDevice'; import http from 'http'; import {addErrorNotification} from '../reducers/notifications'; diff --git a/desktop/app/src/dispatcher/reactNative.tsx b/desktop/app/src/dispatcher/reactNative.tsx index ffd043240..cc3748a50 100644 --- a/desktop/app/src/dispatcher/reactNative.tsx +++ b/desktop/app/src/dispatcher/reactNative.tsx @@ -8,8 +8,8 @@ */ import {remote} from 'electron'; -import {MetroDevice} from 'flipper'; -import {Store} from 'app/src/reducers'; +import MetroDevice from '../devices/MetroDevice'; +import {Store} from '../reducers'; type ShortcutEventCommand = | { diff --git a/desktop/app/src/dispatcher/tracking.tsx b/desktop/app/src/dispatcher/tracking.tsx index c05a27279..5875a3f06 100644 --- a/desktop/app/src/dispatcher/tracking.tsx +++ b/desktop/app/src/dispatcher/tracking.tsx @@ -24,7 +24,7 @@ import { State as UsageTrackingState, } from '../reducers/usageTracking'; import produce from 'immer'; -import {BaseDevice} from 'flipper'; +import BaseDevice from '../devices/BaseDevice'; import {deconstructClientId} from '../utils/clientUtils'; import {getCPUUsage} from 'process'; diff --git a/desktop/app/src/fb-stubs/IDEFileResolver.tsx b/desktop/app/src/fb-stubs/IDEFileResolver.tsx index a4043be3d..bda4cd339 100644 --- a/desktop/app/src/fb-stubs/IDEFileResolver.tsx +++ b/desktop/app/src/fb-stubs/IDEFileResolver.tsx @@ -7,7 +7,10 @@ * @format */ -import {Element, ElementFramework} from 'flipper'; +import { + ElementFramework, + Element, +} from '../ui/components/elements-inspector/ElementsInspector'; export enum IDEType { 'DIFFUSION', diff --git a/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx b/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx index faa6d87b5..7bcb31e9f 100644 --- a/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx +++ b/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx @@ -7,7 +7,7 @@ * @format */ -import {Tristate} from 'app/src/reducers/settings'; +import {Tristate} from '../reducers/settings'; export default function (_props: { isPrefetchingEnabled: Tristate; diff --git a/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx b/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx index 25e98b5b5..7049f7ce6 100644 --- a/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx +++ b/desktop/app/src/fb-stubs/LayoutInspectorSidebarExtensions.tsx @@ -7,8 +7,10 @@ * @format */ -import {PluginClient, Client, Element} from 'flipper'; -import {Logger} from 'app/src/fb-interfaces/Logger'; +import Client from '../Client'; +import {Logger} from '../fb-interfaces/Logger'; +import {PluginClient} from '../plugin'; +import {Element} from '../ui'; export default [] as Array< ( diff --git a/desktop/app/src/plugins/TableNativePlugin.tsx b/desktop/app/src/plugins/TableNativePlugin.tsx index 52b17cf84..fdde5df5a 100644 --- a/desktop/app/src/plugins/TableNativePlugin.tsx +++ b/desktop/app/src/plugins/TableNativePlugin.tsx @@ -33,7 +33,7 @@ import textContent from '../utils/textContent'; import createPaste from '../fb-stubs/createPaste'; import {ReactNode} from 'react'; import React from 'react'; -import {KeyboardActions} from 'app/src/MenuBar'; +import {KeyboardActions} from '../MenuBar'; type ID = string; diff --git a/desktop/app/src/sandy-chrome/LeftRail.tsx b/desktop/app/src/sandy-chrome/LeftRail.tsx index 20f84a589..60f430cc2 100644 --- a/desktop/app/src/sandy-chrome/LeftRail.tsx +++ b/desktop/app/src/sandy-chrome/LeftRail.tsx @@ -8,7 +8,7 @@ */ import React, {cloneElement, useState, useCallback, useMemo} from 'react'; -import {styled, Layout} from 'flipper'; +import {styled, Layout} from '../ui'; import {Button, Divider, Badge, Tooltip, Avatar, Popover} from 'antd'; import { MobileFilled, diff --git a/desktop/app/src/sandy-chrome/SandyApp.tsx b/desktop/app/src/sandy-chrome/SandyApp.tsx index cc73469d2..5dfe97a81 100644 --- a/desktop/app/src/sandy-chrome/SandyApp.tsx +++ b/desktop/app/src/sandy-chrome/SandyApp.tsx @@ -8,7 +8,7 @@ */ import React, {useEffect, useState, useCallback} from 'react'; -import {styled} from 'flipper'; +import {styled} from '../ui'; import {Layout, Sidebar} from '../ui'; import {theme} from './theme'; import {Logger} from '../fb-interfaces/Logger'; diff --git a/desktop/app/src/sandy-chrome/TemporarilyTitlebar.tsx b/desktop/app/src/sandy-chrome/TemporarilyTitlebar.tsx index ad9862336..44fdb8a63 100644 --- a/desktop/app/src/sandy-chrome/TemporarilyTitlebar.tsx +++ b/desktop/app/src/sandy-chrome/TemporarilyTitlebar.tsx @@ -8,7 +8,7 @@ */ import React from 'react'; -import {styled, colors} from 'flipper'; +import {styled, colors} from '../ui'; import FpsGraph from '../chrome/FpsGraph'; import NetworkGraph from '../chrome/NetworkGraph'; import isProduction from '../utils/isProduction'; diff --git a/desktop/app/src/sandy-chrome/WelcomeScreen.tsx b/desktop/app/src/sandy-chrome/WelcomeScreen.tsx index 6dc442c12..99fc7616f 100644 --- a/desktop/app/src/sandy-chrome/WelcomeScreen.tsx +++ b/desktop/app/src/sandy-chrome/WelcomeScreen.tsx @@ -8,7 +8,7 @@ */ import React, {cloneElement} from 'react'; -import {styled, FlexRow, FlexColumn} from 'flipper'; +import {styled, FlexRow, FlexColumn} from '../ui'; import {Modal, Button, Image, Checkbox, Space, Typography} from 'antd'; import { RocketOutlined, diff --git a/desktop/app/src/ui/components/PopoverProvider.tsx b/desktop/app/src/ui/components/PopoverProvider.tsx index 390ecead8..73e74f0cd 100644 --- a/desktop/app/src/ui/components/PopoverProvider.tsx +++ b/desktop/app/src/ui/components/PopoverProvider.tsx @@ -17,7 +17,7 @@ import { RefObject, } from 'react'; import React from 'react'; -import {styled, colors} from 'flipper'; +import {colors, styled} from '../../ui'; import {useWindowSize} from '../../utils/useWindowSize'; type PopoverManager = { diff --git a/desktop/app/src/ui/components/ToggleSwitch.tsx b/desktop/app/src/ui/components/ToggleSwitch.tsx index 9a93ecf67..478e5e471 100644 --- a/desktop/app/src/ui/components/ToggleSwitch.tsx +++ b/desktop/app/src/ui/components/ToggleSwitch.tsx @@ -72,7 +72,7 @@ type Props = { * **Usage** * * ```jsx - * import {ToggleButton} from 'flipper'; + * import {ToggleButton} from '../ui'; * * ``` */ diff --git a/desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx b/desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx index 92474ae1c..cebd90a92 100644 --- a/desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx +++ b/desktop/app/src/ui/components/elements-inspector/ElementsInspector.tsx @@ -9,7 +9,7 @@ import {Component} from 'react'; import {Elements, DecorateRow} from './elements'; -import {ContextMenuExtension} from 'flipper'; +import {ContextMenuExtension} from '../../../ui'; import React from 'react'; export type ElementID = string; diff --git a/desktop/app/src/utils/__tests__/crashReporterUtility.node.js b/desktop/app/src/utils/__tests__/crashReporterUtility.node.js index 4435ab130..4b8650c82 100644 --- a/desktop/app/src/utils/__tests__/crashReporterUtility.node.js +++ b/desktop/app/src/utils/__tests__/crashReporterUtility.node.js @@ -8,7 +8,7 @@ */ import {shouldParseAndroidLog} from '../crashReporterUtility.tsx'; -import type {DeviceLogEntry, LogLevel} from 'flipper'; +import type {DeviceLogEntry, LogLevel} from '../../'; function getAndroidLog( date: Date, diff --git a/desktop/app/src/utils/__tests__/pluginUtils.node.js b/desktop/app/src/utils/__tests__/pluginUtils.node.js index 5b9d71942..98db60903 100644 --- a/desktop/app/src/utils/__tests__/pluginUtils.node.js +++ b/desktop/app/src/utils/__tests__/pluginUtils.node.js @@ -15,7 +15,7 @@ import type {State as PluginsState} from '../../reducers/plugins.tsx'; import type {State as PluginStatesState} from '../../reducers/pluginStates.tsx'; import type {PluginDetails} from 'flipper-plugin-lib'; import type {State as PluginMessageQueueState} from '../../reducers/pluginStates.tsx'; -import {FlipperBasePlugin} from 'flipper'; +import {FlipperBasePlugin} from '../../plugin'; import type {ReduxState} from '../../reducers/index.tsx'; function createMockFlipperPluginWithDefaultPersistedState(id: string) { diff --git a/desktop/app/src/utils/pluginStateRecorder.tsx b/desktop/app/src/utils/pluginStateRecorder.tsx index 3b95068c7..e692cb477 100644 --- a/desktop/app/src/utils/pluginStateRecorder.tsx +++ b/desktop/app/src/utils/pluginStateRecorder.tsx @@ -175,7 +175,7 @@ function generateTestSuite(pluginName: string, snapShotFileName: string) { import fs from 'fs'; import path from 'path'; -import {deserialize} from 'flipper'; +import {deserialize} from '../ui'; import Plugin from '../'; test('Verify events produce a consistent end state for plugin ${pluginName}', async () => { diff --git a/desktop/app/src/utils/screenshot.tsx b/desktop/app/src/utils/screenshot.tsx index d237a7b2d..f102daa1b 100644 --- a/desktop/app/src/utils/screenshot.tsx +++ b/desktop/app/src/utils/screenshot.tsx @@ -9,7 +9,7 @@ import fs from 'fs'; import path from 'path'; -import {BaseDevice} from 'flipper'; +import BaseDevice from '../devices/BaseDevice'; import {reportPlatformFailures} from './metrics'; import expandTilde from 'expand-tilde'; import {remote} from 'electron';