From 7e50c0466a11145a87c66ca62c03f4e05e921568 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Tue, 16 Nov 2021 05:25:40 -0800 Subject: [PATCH] Move app/src (mostly) to flipper-ui-core/src Summary: This diff moves all UI code from app/src to app/flipper-ui-core. That is now slightly too much (e.g. node deps are not removed yet), but from here it should be easier to move things out again, as I don't want this diff to be open for too long to avoid too much merge conflicts. * But at least flipper-ui-core is Electron free :) * Killed all cross module imports as well, as they where now even more in the way * Some unit test needed some changes, most not too big (but emotion hashes got renumbered in the snapshots, feel free to ignore that) * Found some files that were actually meaningless (tsconfig in plugins, WatchTools files, that start generating compile errors, removed those Follow up work: * make flipper-ui-core configurable, and wire up flipper-server-core in Electron instead of here * remove node deps (aigoncharov) * figure out correct place to load GKs, plugins, make intern requests etc., and move to the correct module * clean up deps Reviewed By: aigoncharov Differential Revision: D32427722 fbshipit-source-id: 14fe92e1ceb15b9dcf7bece367c8ab92df927a70 --- desktop/.vscode/settings.json | 4 +- desktop/app/package.json | 76 +-------- .../app/src/electron/initializeElectron.tsx | 83 +++++++--- desktop/app/src/electron/setupMenuBar.tsx | 10 +- desktop/app/src/fb-stubs/WatchTools.tsx | 18 -- desktop/app/src/index.tsx | 125 +------------- desktop/app/src/init.tsx | 16 +- desktop/app/src/utils/isProduction.tsx | 21 --- desktop/app/tsconfig.json | 15 -- desktop/flipper-ui-core/package.json | 78 ++++++++- .../{app => flipper-ui-core}/src/.eslintrc.js | 2 +- .../{app => flipper-ui-core}/src/Client.tsx | 0 .../src/NotificationsHub.tsx | 0 .../src/PluginContainer.tsx | 0 .../src/ReleaseChannel.tsx | 0 .../src/RenderHost.tsx | 22 +-- .../src/__mocks__/electron.tsx | 0 .../src/__mocks__/uuid.tsx | 0 .../src/__tests__/PluginContainer.node.tsx | 0 .../createMockFlipperWithPlugin.node.tsx.snap | 0 .../createMockFlipperWithPlugin.node.tsx | 0 .../src/__tests__/deeplink.node.tsx | 0 .../src/__tests__/disconnect.node.tsx | 0 .../src/chrome/ChangelogSheet.tsx | 0 .../src/chrome/ConsoleLogs.tsx | 0 .../src/chrome/DoctorSheet.tsx | 0 .../src/chrome/ExportDataPluginSheet.tsx | 0 .../src/chrome/FlipperDevTools.tsx | 0 .../src/chrome/FlipperMessages.tsx | 0 .../src/chrome/FpsGraph.tsx | 0 .../src/chrome/ListView.tsx | 0 .../src/chrome/MetroButton.tsx | 0 .../src/chrome/NetworkGraph.tsx | 0 .../src/chrome/PlatformSelectWizard.tsx | 0 .../src/chrome/PluginActions.tsx | 0 .../src/chrome/PluginActionsMenu.tsx | 0 .../src/chrome/RatingButton.tsx | 0 .../src/chrome/ScreenCaptureButtons.tsx | 0 .../src/chrome/SettingsSheet.tsx | 0 .../src/chrome/ShareSheetErrorList.tsx | 0 .../src/chrome/ShareSheetExportFile.tsx | 4 +- .../src/chrome/ShareSheetExportUrl.tsx | 4 +- .../src/chrome/ShareSheetPendingDialog.tsx | 0 .../src/chrome/UpdateIndicator.tsx | 0 .../src/chrome/VideoRecordingButton.tsx | 0 .../chrome/__tests__/ChangelogSheet.node.tsx | 0 .../__tests__/ShareSheetErrorList.node.tsx | 0 .../ShareSheetPendingDialog.node.tsx | 0 .../ShareSheetPendingDialog.node.tsx.snap | 0 .../__tests__/flipper_messages.node.tsx | 0 .../src/chrome/fb-stubs/PluginInfo.tsx | 0 .../src/chrome/fb-stubs/SignInSheet.tsx | 0 .../chrome/plugin-manager/PluginDebugger.tsx | 0 .../chrome/plugin-manager/PluginInstaller.tsx | 0 .../chrome/plugin-manager/PluginManager.tsx | 0 .../plugin-manager/PluginPackageInstaller.tsx | 0 .../__tests__/PluginInstaller.node.tsx | 0 .../PluginInstaller.node.tsx.snap | 156 +++++++++--------- .../chrome/settings/KeyboardShortcutInput.tsx | 0 .../src/chrome/settings/ToggledSection.tsx | 0 .../src/chrome/settings/configFields.tsx | 0 .../{app => flipper-ui-core}/src/deeplink.tsx | 0 .../src/deeplinkTracking.tsx | 0 .../src/deprecated-exports.tsx | 132 +++++++++++++++ .../src/devices/ArchivedDevice.tsx | 0 .../src/devices/BaseDevice.tsx | 0 .../src/devices/__tests__/BaseDevice.node.tsx | 0 .../src/dispatcher/__tests__/TestPlugin.tsx | 0 .../__tests__/deeplinkURLParsing.node.tsx | 0 .../handleOpenPluginDeeplink.node.tsx | 0 .../__tests__/pluginManager.node.tsx | 0 .../src/dispatcher/__tests__/plugins.node.tsx | 2 +- .../dispatcher/__tests__/tracking.node.tsx | 0 .../src/dispatcher/application.tsx | 0 .../dispatcher/fb-stubs/pluginMarketplace.tsx | 0 .../src/dispatcher/fb-stubs/user.tsx | 0 .../src/dispatcher/flipperServer.tsx | 0 .../dispatcher/handleOpenPluginDeeplink.tsx | 0 .../src/dispatcher/index.tsx | 0 .../src/dispatcher/notifications.tsx | 0 .../src/dispatcher/pluginDownloads.tsx | 0 .../src/dispatcher/pluginManager.tsx | 38 +++-- .../src/dispatcher/plugins.tsx | 7 +- .../src/dispatcher/pluginsChangeListener.tsx | 0 .../src/dispatcher/reactNative.tsx | 0 .../src/dispatcher/tracking.tsx | 0 .../src/dispatcher/types.tsx | 0 .../src/fb-stubs/ErrorReporter.tsx | 0 .../src/fb-stubs/GK.tsx | 0 .../src/fb-stubs/IDEFileResolver.tsx | 0 .../src/fb-stubs/LauncherSettingsPanel.tsx | 0 .../src/fb-stubs/Logger.tsx | 0 .../src/fb-stubs/Prefetcher.tsx | 0 .../src/fb-stubs/ScribeLogger.tsx | 0 .../src/fb-stubs/SupportRequestDetails.tsx | 0 .../src/fb-stubs/SupportRequestFormV2.tsx | 0 .../src/fb-stubs/UserFeedback.tsx | 0 .../src/fb-stubs/__mocks__/Logger.tsx | 0 .../src/fb-stubs/checkForUpdate.tsx | 0 .../src/fb-stubs/config.tsx | 0 .../src/fb-stubs/constants.tsx | 0 .../src/fb-stubs/createPaste.tsx | 0 .../src/fb-stubs/user.tsx | 0 .../{app => flipper-ui-core}/src/global.ts | 3 + desktop/flipper-ui-core/src/index.tsx | 9 +- .../{app => flipper-ui-core}/src/plugin.tsx | 0 .../__snapshots__/healthchecks.node.tsx.snap | 0 .../reducers/__tests__/applications.node.tsx | 0 .../reducers/__tests__/connections.node.tsx | 0 .../reducers/__tests__/healthchecks.node.tsx | 0 .../reducers/__tests__/notifications.node.tsx | 0 .../src/reducers/__tests__/plugins.node.tsx | 0 .../__tests__/sandydeviceplugins.node.tsx | 2 +- .../reducers/__tests__/sandyplugins.node.tsx | 3 +- .../src/reducers/__tests__/settings.node.tsx | 0 .../src/reducers/__tests__/user.node.tsx | 0 .../src/reducers/application.tsx | 0 .../src/reducers/connections.tsx | 0 .../src/reducers/healthchecks.tsx | 0 .../src/reducers/index.tsx | 0 .../src/reducers/launcherSettings.tsx | 0 .../src/reducers/notifications.tsx | 0 .../src/reducers/pluginDownloads.tsx | 0 .../src/reducers/pluginManager.tsx | 0 .../src/reducers/pluginMessageQueue.tsx | 0 .../src/reducers/plugins.tsx | 0 .../src/reducers/settings.tsx | 0 .../src/reducers/supportForm.tsx | 0 .../src/reducers/usageTracking.tsx | 0 .../src/reducers/user.tsx | 0 .../src/sandy-chrome/CenteredContainer.tsx | 0 .../src/sandy-chrome/ContentContainer.tsx | 0 .../src/sandy-chrome/DesignComponentDemos.tsx | 0 .../src/sandy-chrome/DetailSidebarImpl.tsx | 0 .../src/sandy-chrome/LeftRail.tsx | 0 .../src/sandy-chrome/LeftSidebar.tsx | 0 .../src/sandy-chrome/SandyApp.tsx | 0 .../src/sandy-chrome/SandyDesignSystem.tsx | 0 .../src/sandy-chrome/SandyIcons.tsx | 0 .../src/sandy-chrome/SetupDoctorScreen.tsx | 0 .../src/sandy-chrome/StyleGuide.tsx | 0 .../src/sandy-chrome/WelcomeScreen.tsx | 0 .../sandy-chrome/appinspect/AppInspect.tsx | 0 .../sandy-chrome/appinspect/AppSelector.tsx | 0 .../appinspect/BookmarkSection.tsx | 19 ++- .../appinspect/LaunchEmulator.tsx | 0 .../src/sandy-chrome/appinspect/NoDevices.tsx | 0 .../sandy-chrome/appinspect/PluginList.tsx | 0 .../__tests__/LaunchEmulator.spec.tsx | 0 .../appinspect/__tests__/PluginList.spec.tsx | 0 .../fb-stubs/ConnectivityStatus.tsx | 0 .../fb-stubs/TroubleshootingGuide.tsx | 0 .../notification/BlocklistSettingButton.tsx | 0 .../notification/Notification.tsx | 0 .../__tests__/notificationUtils.spec.tsx | 0 .../notification/notificationUtils.tsx | 0 .../src/selectors/connections.tsx | 0 .../src/selectors/createSelector.tsx | 0 .../src/startFlipperDesktop.tsx | 16 +- .../{app => flipper-ui-core}/src/store.tsx | 9 +- .../src/test-utils/DeviceTestPlugin.tsx | 0 .../src/test-utils/MockFlipper.tsx | 0 .../src/test-utils/TestDevice.tsx | 0 .../src/test-utils/TestPlugin.tsx | 0 .../test-utils/createFlipperServerMock.tsx | 0 .../createMockFlipperWithPlugin.tsx | 0 .../src/ui/components/Button.tsx | 0 .../src/ui/components/ButtonGroup.tsx | 0 .../src/ui/components/CenteredView.tsx | 0 .../src/ui/components/Checkbox.tsx | 0 .../src/ui/components/ContextMenu.tsx | 0 .../src/ui/components/ErrorBlock.tsx | 0 .../src/ui/components/ErrorBoundary.tsx | 0 .../src/ui/components/FileList.tsx | 0 .../src/ui/components/FileSelector.tsx | 0 .../src/ui/components/FlexBox.tsx | 0 .../src/ui/components/FlexCenter.tsx | 0 .../src/ui/components/FlexColumn.tsx | 0 .../src/ui/components/FlexRow.tsx | 0 .../src/ui/components/Glyph.tsx | 0 .../src/ui/components/HBox.tsx | 0 .../src/ui/components/Heading.tsx | 0 .../src/ui/components/HorizontalRule.tsx | 0 .../src/ui/components/Info.tsx | 0 .../src/ui/components/Input.tsx | 0 .../src/ui/components/Label.tsx | 0 .../src/ui/components/Labeled.tsx | 0 .../src/ui/components/Line.tsx | 0 .../src/ui/components/Link.tsx | 0 .../src/ui/components/LoadingIndicator.tsx | 0 .../src/ui/components/Markdown.tsx | 0 .../src/ui/components/ModalOverlay.tsx | 0 .../src/ui/components/MultiLineInput.tsx | 0 .../src/ui/components/Orderable.tsx | 0 .../src/ui/components/Panel.tsx | 0 .../src/ui/components/Radio.tsx | 0 .../src/ui/components/RequireLogin.tsx | 0 .../src/ui/components/RoundedSection.tsx | 0 .../src/ui/components/Scrollable.tsx | 0 .../src/ui/components/Select.tsx | 0 .../src/ui/components/Sidebar.tsx | 0 .../src/ui/components/SmallText.tsx | 0 .../src/ui/components/StackTrace.tsx | 0 .../src/ui/components/StarButton.tsx | 0 .../src/ui/components/StatusIndicator.tsx | 0 .../src/ui/components/Tab.tsx | 0 .../src/ui/components/Tabs.tsx | 0 .../src/ui/components/TabsContainer.tsx | 0 .../src/ui/components/Text.tsx | 0 .../src/ui/components/Textarea.tsx | 0 .../src/ui/components/ToggleSwitch.tsx | 0 .../src/ui/components/Toolbar.tsx | 0 .../src/ui/components/ToolbarIcon.tsx | 0 .../src/ui/components/Tooltip.tsx | 0 .../src/ui/components/TooltipProvider.tsx | 0 .../src/ui/components/VBox.tsx | 0 .../src/ui/components/View.tsx | 0 .../components/__tests__/ToolbarIcon.node.tsx | 0 .../src/ui/components/colors.tsx | 0 .../elements-inspector/ElementFramework.tsx | 0 .../elements-inspector/Visualizer.tsx | 0 .../components/elements-inspector/sidebar.tsx | 0 .../src/ui/components/filter/FilterRow.tsx | 0 .../src/ui/components/filter/types.tsx | 0 .../ui/components/searchable/FilterToken.tsx | 0 .../ui/components/searchable/Searchable.tsx | 0 .../components/searchable/SearchableTable.tsx | 0 .../src/ui/components/table/ManagedTable.tsx | 0 .../src/ui/components/table/TableHead.tsx | 0 .../src/ui/components/table/TableRow.tsx | 0 .../src/ui/components/table/types.tsx | 0 .../src/ui/components/table/utils.tsx | 0 .../{app => flipper-ui-core}/src/ui/index.tsx | 0 .../src/utils/Idler.tsx | 0 .../src/utils/__tests__/Idler.node.tsx | 0 .../__tests__/data/settings-v1-valid.json | 0 .../src/utils/__tests__/exportData.node.tsx | 2 +- .../src/utils/__tests__/icons.node.tsx | 0 .../src/utils/__tests__/info.node.tsx | 2 +- .../utils/__tests__/jsonFileStorage.node.tsx | 6 +- .../__tests__/messageQueueSandy.node.tsx | 5 +- .../utils/__tests__/packageMetadata.node.tsx | 0 .../src/utils/__tests__/pluginUtils.node.tsx | 0 .../utils/__tests__/processConfig.node.tsx | 0 .../utils/__tests__/promiseTimeout.node.tsx | 0 .../src/utils/__tests__/sideEffect.node.tsx | 0 .../src/utils/assertNotNull.tsx | 0 .../src/utils/clientUtils.tsx | 0 .../src/utils/createSandyPluginWrapper.tsx | 0 .../src/utils/electronModuleCache.tsx | 0 .../src/utils/exportData.tsx | 0 .../src/utils/fbEmployee.tsx | 0 .../src/utils/flipperLibImplementation.tsx | 0 .../src/utils/geometry.tsx | 0 .../src/utils/icons.d.ts | 0 .../src/utils/icons.ts | 0 .../src/utils/info.tsx | 0 .../src/utils/isPluginCompatible.tsx | 0 .../src/utils/isPluginVersionMoreRecent.tsx | 0 .../src/utils/isProduction.tsx} | 8 +- .../src/utils/jsonFileReduxPersistStorage.tsx | 0 .../src/utils/jsonTypes.tsx | 0 .../src/utils/launcher.tsx | 0 .../src/utils/launcherSettingsStorage.tsx | 0 .../src/utils/loadDynamicPlugins.tsx | 0 .../src/utils/messageQueue.tsx | 0 .../src/utils/notifications.tsx | 0 .../src/utils/packageMetadata.tsx | 0 .../src/utils/pathUtils.tsx | 0 .../src/utils/persistor.tsx | 0 .../src/utils/pluginKey.tsx | 0 .../src/utils/pluginStats.tsx | 0 .../src/utils/pluginUtils.tsx | 0 .../src/utils/processConfig.tsx | 0 .../src/utils/promiseTimeout.tsx | 0 .../src/utils/reduxDevToolsConfig.tsx | 0 .../src/utils/reloadFlipper.tsx | 0 .../src/utils/runHealthchecks.tsx | 0 .../src/utils/screenshot.tsx | 0 .../src/utils/sideEffect.tsx | 0 .../src/utils/testUtils.tsx | 0 .../src/utils/typeUtils.tsx | 0 .../src/utils/useIsDarkMode.tsx | 0 .../src/utils/useStore.tsx | 0 .../src/utils/useWindowSize.tsx | 0 .../src/utils/versionString.tsx | 0 .../src/utils/vscodeUtils.tsx | 0 desktop/flipper-ui-core/tsconfig.json | 19 ++- .../__tests__/DatabaseDetailSidebar.node.tsx | 48 ++---- .../plugins/public/navigation/tsconfig.json | 8 - desktop/scripts/build-release.ts | 2 +- desktop/scripts/jest-setup.js | 4 +- desktop/tsconfig.base.json | 2 +- 293 files changed, 483 insertions(+), 497 deletions(-) delete mode 100644 desktop/app/src/fb-stubs/WatchTools.tsx delete mode 100644 desktop/app/src/utils/isProduction.tsx rename desktop/{app => flipper-ui-core}/src/.eslintrc.js (90%) rename desktop/{app => flipper-ui-core}/src/Client.tsx (100%) rename desktop/{app => flipper-ui-core}/src/NotificationsHub.tsx (100%) rename desktop/{app => flipper-ui-core}/src/PluginContainer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ReleaseChannel.tsx (100%) rename desktop/{app => flipper-ui-core}/src/RenderHost.tsx (89%) rename desktop/{app => flipper-ui-core}/src/__mocks__/electron.tsx (100%) rename desktop/{app => flipper-ui-core}/src/__mocks__/uuid.tsx (100%) rename desktop/{app => flipper-ui-core}/src/__tests__/PluginContainer.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap (100%) rename desktop/{app => flipper-ui-core}/src/__tests__/createMockFlipperWithPlugin.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/__tests__/deeplink.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/__tests__/disconnect.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ChangelogSheet.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ConsoleLogs.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/DoctorSheet.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ExportDataPluginSheet.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/FlipperDevTools.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/FlipperMessages.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/FpsGraph.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ListView.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/MetroButton.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/NetworkGraph.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/PlatformSelectWizard.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/PluginActions.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/PluginActionsMenu.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/RatingButton.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ScreenCaptureButtons.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/SettingsSheet.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ShareSheetErrorList.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/ShareSheetExportFile.tsx (97%) rename desktop/{app => flipper-ui-core}/src/chrome/ShareSheetExportUrl.tsx (97%) rename desktop/{app => flipper-ui-core}/src/chrome/ShareSheetPendingDialog.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/UpdateIndicator.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/VideoRecordingButton.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/__tests__/ChangelogSheet.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/__tests__/ShareSheetErrorList.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap (100%) rename desktop/{app => flipper-ui-core}/src/chrome/__tests__/flipper_messages.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/fb-stubs/PluginInfo.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/fb-stubs/SignInSheet.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/PluginDebugger.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/PluginInstaller.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/PluginManager.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/PluginPackageInstaller.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap (80%) rename desktop/{app => flipper-ui-core}/src/chrome/settings/KeyboardShortcutInput.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/settings/ToggledSection.tsx (100%) rename desktop/{app => flipper-ui-core}/src/chrome/settings/configFields.tsx (100%) rename desktop/{app => flipper-ui-core}/src/deeplink.tsx (100%) rename desktop/{app => flipper-ui-core}/src/deeplinkTracking.tsx (100%) create mode 100644 desktop/flipper-ui-core/src/deprecated-exports.tsx rename desktop/{app => flipper-ui-core}/src/devices/ArchivedDevice.tsx (100%) rename desktop/{app => flipper-ui-core}/src/devices/BaseDevice.tsx (100%) rename desktop/{app => flipper-ui-core}/src/devices/__tests__/BaseDevice.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/TestPlugin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/deeplinkURLParsing.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/handleOpenPluginDeeplink.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/pluginManager.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/plugins.node.tsx (99%) rename desktop/{app => flipper-ui-core}/src/dispatcher/__tests__/tracking.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/application.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/fb-stubs/pluginMarketplace.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/fb-stubs/user.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/flipperServer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/handleOpenPluginDeeplink.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/index.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/notifications.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/pluginDownloads.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/pluginManager.tsx (92%) rename desktop/{app => flipper-ui-core}/src/dispatcher/plugins.tsx (98%) rename desktop/{app => flipper-ui-core}/src/dispatcher/pluginsChangeListener.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/reactNative.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/tracking.tsx (100%) rename desktop/{app => flipper-ui-core}/src/dispatcher/types.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/ErrorReporter.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/GK.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/IDEFileResolver.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/LauncherSettingsPanel.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/Logger.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/Prefetcher.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/ScribeLogger.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/SupportRequestDetails.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/SupportRequestFormV2.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/UserFeedback.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/__mocks__/Logger.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/checkForUpdate.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/config.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/constants.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/createPaste.tsx (100%) rename desktop/{app => flipper-ui-core}/src/fb-stubs/user.tsx (100%) rename desktop/{app => flipper-ui-core}/src/global.ts (88%) rename desktop/{app => flipper-ui-core}/src/plugin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/applications.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/connections.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/healthchecks.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/notifications.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/plugins.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/sandydeviceplugins.node.tsx (98%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/sandyplugins.node.tsx (99%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/settings.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/__tests__/user.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/application.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/connections.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/healthchecks.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/index.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/launcherSettings.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/notifications.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/pluginDownloads.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/pluginManager.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/pluginMessageQueue.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/plugins.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/settings.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/supportForm.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/usageTracking.tsx (100%) rename desktop/{app => flipper-ui-core}/src/reducers/user.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/CenteredContainer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/ContentContainer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/DesignComponentDemos.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/DetailSidebarImpl.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/LeftRail.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/LeftSidebar.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/SandyApp.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/SandyDesignSystem.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/SandyIcons.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/SetupDoctorScreen.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/StyleGuide.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/WelcomeScreen.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/AppInspect.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/AppSelector.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/BookmarkSection.tsx (85%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/LaunchEmulator.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/NoDevices.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/PluginList.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/__tests__/PluginList.spec.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/fb-stubs/ConnectivityStatus.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/appinspect/fb-stubs/TroubleshootingGuide.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/notification/BlocklistSettingButton.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/notification/Notification.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/notification/__tests__/notificationUtils.spec.tsx (100%) rename desktop/{app => flipper-ui-core}/src/sandy-chrome/notification/notificationUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/selectors/connections.tsx (100%) rename desktop/{app => flipper-ui-core}/src/selectors/createSelector.tsx (100%) rename desktop/{app => flipper-ui-core}/src/startFlipperDesktop.tsx (96%) rename desktop/{app => flipper-ui-core}/src/store.tsx (86%) rename desktop/{app => flipper-ui-core}/src/test-utils/DeviceTestPlugin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/test-utils/MockFlipper.tsx (100%) rename desktop/{app => flipper-ui-core}/src/test-utils/TestDevice.tsx (100%) rename desktop/{app => flipper-ui-core}/src/test-utils/TestPlugin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/test-utils/createFlipperServerMock.tsx (100%) rename desktop/{app => flipper-ui-core}/src/test-utils/createMockFlipperWithPlugin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Button.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ButtonGroup.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/CenteredView.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Checkbox.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ContextMenu.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ErrorBlock.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ErrorBoundary.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FileList.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FileSelector.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FlexBox.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FlexCenter.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FlexColumn.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/FlexRow.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Glyph.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/HBox.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Heading.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/HorizontalRule.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Info.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Input.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Label.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Labeled.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Line.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Link.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/LoadingIndicator.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Markdown.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ModalOverlay.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/MultiLineInput.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Orderable.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Panel.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Radio.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/RequireLogin.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/RoundedSection.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Scrollable.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Select.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Sidebar.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/SmallText.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/StackTrace.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/StarButton.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/StatusIndicator.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Tab.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Tabs.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/TabsContainer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Text.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Textarea.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ToggleSwitch.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Toolbar.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/ToolbarIcon.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/Tooltip.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/TooltipProvider.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/VBox.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/View.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/__tests__/ToolbarIcon.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/colors.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/elements-inspector/ElementFramework.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/elements-inspector/Visualizer.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/elements-inspector/sidebar.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/filter/FilterRow.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/filter/types.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/searchable/FilterToken.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/searchable/Searchable.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/searchable/SearchableTable.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/table/ManagedTable.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/table/TableHead.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/table/TableRow.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/table/types.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/components/table/utils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/ui/index.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/Idler.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/Idler.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/data/settings-v1-valid.json (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/exportData.node.tsx (99%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/icons.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/info.node.tsx (98%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/jsonFileStorage.node.tsx (87%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/messageQueueSandy.node.tsx (99%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/packageMetadata.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/pluginUtils.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/processConfig.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/promiseTimeout.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/__tests__/sideEffect.node.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/assertNotNull.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/clientUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/createSandyPluginWrapper.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/electronModuleCache.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/exportData.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/fbEmployee.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/flipperLibImplementation.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/geometry.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/icons.d.ts (100%) rename desktop/{app => flipper-ui-core}/src/utils/icons.ts (100%) rename desktop/{app => flipper-ui-core}/src/utils/info.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/isPluginCompatible.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/isPluginVersionMoreRecent.tsx (100%) rename desktop/{app/src/utils/getDefaultPluginsIndex.tsx => flipper-ui-core/src/utils/isProduction.tsx} (56%) rename desktop/{app => flipper-ui-core}/src/utils/jsonFileReduxPersistStorage.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/jsonTypes.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/launcher.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/launcherSettingsStorage.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/loadDynamicPlugins.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/messageQueue.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/notifications.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/packageMetadata.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/pathUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/persistor.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/pluginKey.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/pluginStats.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/pluginUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/processConfig.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/promiseTimeout.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/reduxDevToolsConfig.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/reloadFlipper.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/runHealthchecks.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/screenshot.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/sideEffect.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/testUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/typeUtils.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/useIsDarkMode.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/useStore.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/useWindowSize.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/versionString.tsx (100%) rename desktop/{app => flipper-ui-core}/src/utils/vscodeUtils.tsx (100%) delete mode 100644 desktop/plugins/public/navigation/tsconfig.json diff --git a/desktop/.vscode/settings.json b/desktop/.vscode/settings.json index 98fe20313..1146adbcd 100644 --- a/desktop/.vscode/settings.json +++ b/desktop/.vscode/settings.json @@ -16,10 +16,10 @@ } ], "[typescriptreact]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint" + "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint" + "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" diff --git a/desktop/app/package.json b/desktop/app/package.json index 97f3cbe72..a94b200d8 100644 --- a/desktop/app/package.json +++ b/desktop/app/package.json @@ -14,81 +14,15 @@ "build": "tsc -b" }, "dependencies": { - "@ant-design/icons": "^4.7.0", - "@emotion/css": "^11.5.0", - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@iarna/toml": "^2.2.5", - "@tanishiking/aho-corasick": "^0.0.1", - "@types/archiver": "^5.1.1", - "@types/uuid": "^8.3.1", - "adbkit": "^2.11.1", - "adbkit-logcat": "^2.0.1", - "antd": "4.16.8", - "archiver": "^5.0.2", - "async-mutex": "^0.3.2", - "axios": "^0.22.0", - "cbuffer": "^2.2.0", - "console-feed": "^3.2.2", - "crc32": "^0.2.2", - "deep-equal": "^2.0.5", - "expand-tilde": "^2.0.2", - "flipper-client-sdk": "^0.0.3", "flipper-common": "0.0.0", - "flipper-doctor": "0.0.0", - "flipper-plugin": "0.0.0", - "flipper-plugin-lib": "0.0.0", "flipper-server-core": "0.0.0", "flipper-ui-core": "0.0.0", - "fs-extra": "^10.0.0", - "immer": "^9.0.6", "invariant": "^2.2.2", - "js-base64": "^3.7.2", - "lodash": "^4.17.21", - "lodash.memoize": "^4.1.2", - "open": "^8.3.0", - "openssl-wrapper": "^0.3.4", - "p-filter": "^2.1.0", - "p-map": "^4.0.0", - "promise-retry": "^2.0.1", - "promisify-child-process": "^4.1.0", - "react": "17.0.2", - "react-async": "^10.0.0", - "react-debounce-render": "^7.0.0", - "react-dom": "^17.0.1", - "react-electron-web-view": "^2.0.1", - "react-element-to-jsx-string": "^14.3.1", - "react-markdown": "^6.0.3", - "react-player": "^2.9.0", - "react-redux": "^7.2.6", - "react-test-renderer": "^17.0.1", - "react-virtualized-auto-sizer": "^1.0.6", - "react-window": "^1.8.6", - "recursive-readdir": "^2.2.2", - "redux": "^4.1.1", - "redux-persist": "^6.0.0", - "reselect": "^4.0.0", - "semver": "^7.3.5", - "tmp": "^0.2.1", - "uuid": "^8.3.2", - "which": "^2.0.1", - "ws": "^8.2.3", - "xdg-basedir": "^4.0.0" - }, - "optionalDependencies": { - "7zip-bin-mac": "^1.0.1" - }, - "devDependencies": { - "@testing-library/dom": "^8.10.1", - "@testing-library/react": "^12.1.2", - "@types/lodash.memoize": "^4.1.6", - "@types/split2": "^3.2.1", - "flipper-test-utils": "0.0.0", "metro-runtime": "^0.66.2", - "mock-fs": "^5.0.0", - "pretty-format": "^27.3.1", - "react-refresh": "^0.10.0", - "redux-mock-store": "^1.0.1", - "ts-jest": "^26.5.6" + "pretty-format": "^27.3.1" + }, + "optionalDependencies": {}, + "devDependencies": { + "react-refresh": "^0.10.0" } } diff --git a/desktop/app/src/electron/initializeElectron.tsx b/desktop/app/src/electron/initializeElectron.tsx index 0040a88bf..91eb4c4f2 100644 --- a/desktop/app/src/electron/initializeElectron.tsx +++ b/desktop/app/src/electron/initializeElectron.tsx @@ -22,15 +22,59 @@ import { clipboard, shell, } from 'electron'; -import {getRenderHostInstance, setRenderHostInstance} from '../RenderHost'; -import isProduction from '../utils/isProduction'; +import type {RenderHost} from 'flipper-ui-core'; import fs from 'fs'; import {setupMenuBar} from './setupMenuBar'; +import os from 'os'; + +declare global { + interface Window { + FlipperRenderHostInstance: RenderHost; + } +} + +if (process.env.NODE_ENV === 'development' && os.platform() === 'darwin') { + // By default Node.JS has its internal certificate storage and doesn't use + // the system store. Because of this, it's impossible to access ondemand / devserver + // which are signed using some internal self-issued FB certificates. These certificates + // are automatically installed to MacOS system store on FB machines, so here we're using + // this "mac-ca" library to load them into Node.JS. + global.electronRequire('mac-ca'); +} export function initializeElectron() { const app = remote.app; - setRenderHostInstance({ + const execPath = process.execPath || remote.process.execPath; + const isProduction = !/node_modules[\\/]electron[\\/]/.test(execPath); + + function restart(update: boolean = false) { + if (isProduction) { + if (update) { + const options = { + args: process.argv + .splice(0, 1) + .filter((arg) => arg !== '--no-launcher' && arg !== '--no-updater'), + }; + remote.app.relaunch(options); + } else { + remote.app.relaunch(); + } + remote.app.exit(); + } else { + // Relaunching the process with the standard way doesn't work in dev mode. + // So instead we're sending a signal to dev server to kill the current instance of electron and launch new. + fetch( + `${window.FlipperRenderHostInstance.env.DEV_SERVER_URL}/_restartElectron`, + { + method: 'POST', + }, + ); + } + } + + window.FlipperRenderHostInstance = { processId: remote.process.pid, + isProduction, readTextFromClipboard() { return clipboard.readText(); }, @@ -95,16 +139,23 @@ export function initializeElectron() { paths: { appPath: app.getAppPath(), homePath: app.getPath('home'), - execPath: process.execPath || remote.process.execPath, + execPath, staticPath: getStaticDir(), tempPath: app.getPath('temp'), desktopPath: app.getPath('desktop'), }, - }); + loadDefaultPlugins: getDefaultPluginsIndex, + }; setupMenuBar(); } +function getDefaultPluginsIndex() { + // eslint-disable-next-line import/no-unresolved + const index = require('../defaultPlugins'); + return index.default || index; +} + function getStaticDir() { let _staticPath = path.resolve(__dirname, '..', '..', '..', 'static'); if (fs.existsSync(_staticPath)) { @@ -118,25 +169,3 @@ function getStaticDir() { } return _staticPath; } - -function restart(update: boolean = false) { - if (isProduction()) { - if (update) { - const options = { - args: process.argv - .splice(0, 1) - .filter((arg) => arg !== '--no-launcher' && arg !== '--no-updater'), - }; - remote.app.relaunch(options); - } else { - remote.app.relaunch(); - } - remote.app.exit(); - } else { - // Relaunching the process with the standard way doesn't work in dev mode. - // So instead we're sending a signal to dev server to kill the current instance of electron and launch new. - fetch(`${getRenderHostInstance().env.DEV_SERVER_URL}/_restartElectron`, { - method: 'POST', - }); - } -} diff --git a/desktop/app/src/electron/setupMenuBar.tsx b/desktop/app/src/electron/setupMenuBar.tsx index fc3d466f4..0c998f7da 100644 --- a/desktop/app/src/electron/setupMenuBar.tsx +++ b/desktop/app/src/electron/setupMenuBar.tsx @@ -14,7 +14,6 @@ import electron, {MenuItemConstructorOptions} from 'electron'; import {getLogger} from 'flipper-common'; import {_buildInMenuEntries, _wrapInteractionHandler} from 'flipper-plugin'; import {webFrame} from 'electron'; -import reloadFlipper from '../utils/reloadFlipper'; export function setupMenuBar() { const template = getTemplate(electron.remote.app); @@ -44,8 +43,13 @@ function getTemplate(app: electron.App): Array { label: 'Reload', accelerator: 'CmdOrCtrl+R', click: function (_, _focusedWindow: electron.BrowserWindow | undefined) { - getLogger().track('usage', 'reload'); - reloadFlipper(); + try { + getLogger().track('usage', 'reload'); + } catch (e) { + // Ignore track failures (which can happen if we try to reload from a broken state) + console.warn('Could not track reload', e); + } + window.location.reload(); }, }, { diff --git a/desktop/app/src/fb-stubs/WatchTools.tsx b/desktop/app/src/fb-stubs/WatchTools.tsx deleted file mode 100644 index fddd01d81..000000000 --- a/desktop/app/src/fb-stubs/WatchTools.tsx +++ /dev/null @@ -1,18 +0,0 @@ -/** - * 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 - */ - -import React, {Component} from 'react'; -import {StaticViewProps} from '../reducers/connections'; -import {Text} from '../ui'; - -export default class extends Component { - render() { - return Debug Videos on Watch Bugs.; - } -} diff --git a/desktop/app/src/index.tsx b/desktop/app/src/index.tsx index c4971b8d5..8e0f340e0 100644 --- a/desktop/app/src/index.tsx +++ b/desktop/app/src/index.tsx @@ -7,126 +7,5 @@ * @format */ -export {default as styled} from '@emotion/styled'; -export {keyframes} from '@emotion/css'; -export {produce} from 'immer'; - -export * from './ui/index'; -export {textContent, sleep} from 'flipper-plugin'; -export * from './utils/jsonTypes'; -export {default as GK, loadGKs, loadDistilleryGK} from './fb-stubs/GK'; -export {default as createPaste} from './fb-stubs/createPaste'; -export { - internGraphGETAPIRequest, - internGraphPOSTAPIRequest, - graphQLQuery, - isLoggedIn, - getUser, -} from './fb-stubs/user'; -export {FlipperPlugin, FlipperDevicePlugin, BaseAction} from './plugin'; -export {PluginClient, Props, KeyboardActions} from './plugin'; -export {default as Client} from './Client'; -export {reportUsage} from 'flipper-common'; -export {default as promiseTimeout} from './utils/promiseTimeout'; -export {bufferToBlob} from './utils/screenshot'; -export {getPluginKey} from './utils/pluginKey'; -export {Notification, Idler} from 'flipper-plugin'; -export {IdlerImpl} from './utils/Idler'; -export {Store, State as ReduxState} from './reducers/index'; -export {default as BaseDevice} from './devices/BaseDevice'; -export {default as isProduction} from './utils/isProduction'; -export {DetailSidebar} from 'flipper-plugin'; -export {default as Device} from './devices/BaseDevice'; -export {default as ArchivedDevice} from './devices/ArchivedDevice'; -export {DeviceOS as OS} from 'flipper-plugin'; -export {default as Button} from './ui/components/Button'; -export {default as ToggleButton} from './ui/components/ToggleSwitch'; -export {default as ButtonGroup} from './ui/components/ButtonGroup'; -export {colors, brandColors} from './ui/components/colors'; -export {default as Glyph} from './ui/components/Glyph'; -export {default as LoadingIndicator} from './ui/components/LoadingIndicator'; -export { - TableColumns, - TableRows, - TableBodyColumn, - TableBodyRow, - TableHighlightedRows, - TableRowSortOrder, - TableColumnOrder, - TableColumnSizes, -} from './ui/components/table/types'; -export {default as ManagedTable} from './ui/components/table/ManagedTable'; -export {ManagedTableProps} from './ui/components/table/ManagedTable'; -export { - DataInspectorExpanded, - DataDescriptionType, - MarkerTimeline, -} from 'flipper-plugin'; -export {DataInspector as ManagedDataInspector} from 'flipper-plugin'; -export {HighlightManager} from 'flipper-plugin'; -export {default as Tabs} from './ui/components/Tabs'; -export {default as Tab} from './ui/components/Tab'; -export {default as Input} from './ui/components/Input'; -export {default as Textarea} from './ui/components/Textarea'; -export {default as Select} from './ui/components/Select'; -export {default as Checkbox} from './ui/components/Checkbox'; -export {default as Orderable} from './ui/components/Orderable'; -export {Component, PureComponent} from 'react'; -export {default as ContextMenu} from './ui/components/ContextMenu'; -export {FileListFiles} from './ui/components/FileList'; -export {default as FileList} from './ui/components/FileList'; -export {default as View} from './ui/components/View'; -export {default as Sidebar} from './ui/components/Sidebar'; -export {default as FlexBox} from './ui/components/FlexBox'; -export {default as FlexRow} from './ui/components/FlexRow'; -export {default as FlexColumn} from './ui/components/FlexColumn'; -export {default as FlexCenter} from './ui/components/FlexCenter'; -export {Toolbar} from 'flipper-plugin'; -export {Spacer} from './ui/components/Toolbar'; -export {default as ToolbarIcon} from './ui/components/ToolbarIcon'; -export {default as Panel} from './ui/components/Panel'; -export {default as Text} from './ui/components/Text'; -export {default as Link} from './ui/components/Link'; -export {default as Tooltip} from './ui/components/Tooltip'; -export {default as StatusIndicator} from './ui/components/StatusIndicator'; -export {default as HorizontalRule} from './ui/components/HorizontalRule'; -export {default as Label} from './ui/components/Label'; -export {default as Heading} from './ui/components/Heading'; -export * from './utils/pathUtils'; -export {Filter} from './ui/components/filter/types'; -export {default as StackTrace} from './ui/components/StackTrace'; -export { - SearchBox, - SearchInput, - SearchIcon, - SearchableProps, - default as Searchable, -} from './ui/components/searchable/Searchable'; -export { - default as SearchableTable, - filterRowsFactory, -} from './ui/components/searchable/SearchableTable'; -export { - ElementsInspector, - ElementsInspectorElement as Element, - // TODO: clean up or create namespace - ElementsInspectorProps, - ElementAttribute, - ElementData, - ElementSearchResultSet, - ElementID, -} from 'flipper-plugin'; -export {ElementFramework} from './ui/components/elements-inspector/ElementFramework'; -export {InspectorSidebar} from './ui/components/elements-inspector/sidebar'; -export {default as FileSelector} from './ui/components/FileSelector'; -export {getFlipperMediaCDN, appendAccessTokenToUrl} from './fb-stubs/user'; -export {Rect} from './utils/geometry'; -export {Logger} from 'flipper-common'; -export {getLogger} from 'flipper-common'; -export {callVSCode} from './utils/vscodeUtils'; -export {IDEFileResolver, IDEType} from './fb-stubs/IDEFileResolver'; -export {renderMockFlipperWithPlugin} from './test-utils/createMockFlipperWithPlugin'; -export {Tracked} from 'flipper-plugin'; // To be able to use it in legacy plugins -export {RequireLogin} from './ui/components/RequireLogin'; -export {TestDevice} from './test-utils/TestDevice'; -export {connect} from 'react-redux'; +// Ideally we don't want to expose those, but this is for legacy compatibility +export * from 'flipper-ui-core'; diff --git a/desktop/app/src/init.tsx b/desktop/app/src/init.tsx index f28227fc1..297fe3eee 100644 --- a/desktop/app/src/init.tsx +++ b/desktop/app/src/init.tsx @@ -8,29 +8,15 @@ */ import {initializeElectron} from './electron/initializeElectron'; - -import GK from './fb-stubs/GK'; import {enableMapSet} from 'immer'; -import os from 'os'; initializeElectron(); -if (process.env.NODE_ENV === 'development' && os.platform() === 'darwin') { - // By default Node.JS has its internal certificate storage and doesn't use - // the system store. Because of this, it's impossible to access ondemand / devserver - // which are signed using some internal self-issued FB certificates. These certificates - // are automatically installed to MacOS system store on FB machines, so here we're using - // this "mac-ca" library to load them into Node.JS. - global.electronRequire('mac-ca'); -} - enableMapSet(); -GK.init(); - // By turning this in a require, we force the JS that the body of this module (init) has completed (initializeElectron), // before starting the rest of the Flipper process. // This prevent issues where the render host is referred at module initialisation level, // but not set yet, which might happen when using normal imports. // eslint-disable-next-line import/no-commonjs -require('./startFlipperDesktop'); +require('flipper-ui-core').startFlipperDesktop(); diff --git a/desktop/app/src/utils/isProduction.tsx b/desktop/app/src/utils/isProduction.tsx deleted file mode 100644 index 301fa790b..000000000 --- a/desktop/app/src/utils/isProduction.tsx +++ /dev/null @@ -1,21 +0,0 @@ -/** - * 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 - */ - -import {getRenderHostInstance} from '../RenderHost'; - -let _isProduction: boolean | undefined; - -export default function isProduction(): boolean { - if (_isProduction === undefined) { - _isProduction = !/node_modules[\\/]electron[\\/]/.test( - getRenderHostInstance().paths.execPath, - ); - } - return _isProduction; -} diff --git a/desktop/app/tsconfig.json b/desktop/app/tsconfig.json index 626776af9..1ec367826 100644 --- a/desktop/app/tsconfig.json +++ b/desktop/app/tsconfig.json @@ -7,29 +7,14 @@ "emitDeclarationOnly": true }, "references": [ - { - "path": "../doctor" - }, { "path": "../flipper-common" }, - { - "path": "../flipper-plugin" - }, { "path": "../flipper-server-core" }, { "path": "../flipper-ui-core" - }, - { - "path": "../plugin-lib" - }, - { - "path": "../test-utils" - }, - { - "path": "../plugins/public/navigation" } ], "exclude": ["**/node_modules/", "**/__tests__/", "**/lib/"] diff --git a/desktop/flipper-ui-core/package.json b/desktop/flipper-ui-core/package.json index efd27b172..1f6780ed3 100644 --- a/desktop/flipper-ui-core/package.json +++ b/desktop/flipper-ui-core/package.json @@ -9,9 +9,81 @@ "types": "lib/index.d.ts", "license": "MIT", "bugs": "https://github.com/facebook/flipper/issues", - "dependencies": {}, - "devDependencies": {}, - "peerDependencies": {}, + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@emotion/css": "^11.5.0", + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@iarna/toml": "^2.2.5", + "@tanishiking/aho-corasick": "^0.0.1", + "@types/archiver": "^5.1.1", + "@types/uuid": "^8.3.1", + "adbkit": "^2.11.1", + "adbkit-logcat": "^2.0.1", + "antd": "4.16.8", + "archiver": "^5.0.2", + "async-mutex": "^0.3.2", + "axios": "^0.22.0", + "cbuffer": "^2.2.0", + "console-feed": "^3.2.2", + "crc32": "^0.2.2", + "deep-equal": "^2.0.5", + "expand-tilde": "^2.0.2", + "flipper-client-sdk": "^0.0.3", + "flipper-common": "0.0.0", + "flipper-doctor": "0.0.0", + "flipper-plugin": "0.0.0", + "flipper-plugin-lib": "0.0.0", + "flipper-server-core": "0.0.0", + "flipper-ui-core": "0.0.0", + "fs-extra": "^10.0.0", + "immer": "^9.0.6", + "invariant": "^2.2.2", + "js-base64": "^3.7.2", + "lodash": "^4.17.21", + "lodash.memoize": "^4.1.2", + "open": "^8.3.0", + "openssl-wrapper": "^0.3.4", + "p-filter": "^2.1.0", + "p-map": "^4.0.0", + "promise-retry": "^2.0.1", + "promisify-child-process": "^4.1.0", + "react": "17.0.2", + "react-async": "^10.0.0", + "react-debounce-render": "^7.0.0", + "react-dom": "^17.0.1", + "react-electron-web-view": "^2.0.1", + "react-element-to-jsx-string": "^14.3.1", + "react-markdown": "^6.0.3", + "react-player": "^2.9.0", + "react-redux": "^7.2.6", + "react-test-renderer": "^17.0.1", + "react-virtualized-auto-sizer": "^1.0.6", + "react-window": "^1.8.6", + "recursive-readdir": "^2.2.2", + "redux": "^4.1.1", + "redux-persist": "^6.0.0", + "reselect": "^4.0.0", + "semver": "^7.3.5", + "tmp": "^0.2.1", + "uuid": "^8.3.2", + "which": "^2.0.1", + "ws": "^8.2.3", + "xdg-basedir": "^4.0.0" + }, + "optionalDependencies": { + "7zip-bin-mac": "^1.0.1" + }, + "devDependencies": { + "@testing-library/dom": "^8.10.1", + "@testing-library/react": "^12.1.2", + "@types/lodash.memoize": "^4.1.6", + "@types/split2": "^3.2.1", + "flipper-test-utils": "0.0.0", + "mock-fs": "^5.0.0", + "redux-mock-store": "^1.0.1", + "ts-jest": "^26.5.6" + }, "scripts": { "reset": "rimraf lib *.tsbuildinfo", "build": "tsc -b", diff --git a/desktop/app/src/.eslintrc.js b/desktop/flipper-ui-core/src/.eslintrc.js similarity index 90% rename from desktop/app/src/.eslintrc.js rename to desktop/flipper-ui-core/src/.eslintrc.js index fae2075bb..cad8e32d7 100644 --- a/desktop/app/src/.eslintrc.js +++ b/desktop/flipper-ui-core/src/.eslintrc.js @@ -14,7 +14,7 @@ module.exports = { { // These paths lead to circular import issues in Flipper app and are forbidden paths: ['flipper'], - patterns: ['app/src/*'], + patterns: ['flipper-ui-core/src/*'], }, ], }, diff --git a/desktop/app/src/Client.tsx b/desktop/flipper-ui-core/src/Client.tsx similarity index 100% rename from desktop/app/src/Client.tsx rename to desktop/flipper-ui-core/src/Client.tsx diff --git a/desktop/app/src/NotificationsHub.tsx b/desktop/flipper-ui-core/src/NotificationsHub.tsx similarity index 100% rename from desktop/app/src/NotificationsHub.tsx rename to desktop/flipper-ui-core/src/NotificationsHub.tsx diff --git a/desktop/app/src/PluginContainer.tsx b/desktop/flipper-ui-core/src/PluginContainer.tsx similarity index 100% rename from desktop/app/src/PluginContainer.tsx rename to desktop/flipper-ui-core/src/PluginContainer.tsx diff --git a/desktop/app/src/ReleaseChannel.tsx b/desktop/flipper-ui-core/src/ReleaseChannel.tsx similarity index 100% rename from desktop/app/src/ReleaseChannel.tsx rename to desktop/flipper-ui-core/src/ReleaseChannel.tsx diff --git a/desktop/app/src/RenderHost.tsx b/desktop/flipper-ui-core/src/RenderHost.tsx similarity index 89% rename from desktop/app/src/RenderHost.tsx rename to desktop/flipper-ui-core/src/RenderHost.tsx index 8a763ade3..90a187b9d 100644 --- a/desktop/app/src/RenderHost.tsx +++ b/desktop/flipper-ui-core/src/RenderHost.tsx @@ -54,6 +54,7 @@ type ChildProcessEvents = { */ export interface RenderHost { readonly processId: number; + readonly isProduction: boolean; readTextFromClipboard(): string | undefined; writeTextToClipboard(text: string): void; showSaveDialog?: FlipperLib['showSaveDialog']; @@ -78,24 +79,20 @@ export interface RenderHost { env: Partial>; paths: Record; openLink(url: string): void; + loadDefaultPlugins(): Record; } -let renderHostInstance: RenderHost | undefined; - export function getRenderHostInstance(): RenderHost { - if (!renderHostInstance) { - throw new Error('setRenderHostInstance was never called'); + if (!window.FlipperRenderHostInstance) { + throw new Error('global FlipperRenderHostInstance was never set'); } - return renderHostInstance; -} - -export function setRenderHostInstance(instance: RenderHost) { - renderHostInstance = instance; + return window.FlipperRenderHostInstance; } if (process.env.NODE_ENV === 'test') { - setRenderHostInstance({ + window.FlipperRenderHostInstance = { processId: -1, + isProduction: false, readTextFromClipboard() { return ''; }, @@ -122,5 +119,8 @@ if (process.env.NODE_ENV === 'test') { staticPath: path.join(process.cwd(), 'static'), tempPath: `/tmp/`, }, - }); + loadDefaultPlugins() { + return {}; + }, + }; } diff --git a/desktop/app/src/__mocks__/electron.tsx b/desktop/flipper-ui-core/src/__mocks__/electron.tsx similarity index 100% rename from desktop/app/src/__mocks__/electron.tsx rename to desktop/flipper-ui-core/src/__mocks__/electron.tsx diff --git a/desktop/app/src/__mocks__/uuid.tsx b/desktop/flipper-ui-core/src/__mocks__/uuid.tsx similarity index 100% rename from desktop/app/src/__mocks__/uuid.tsx rename to desktop/flipper-ui-core/src/__mocks__/uuid.tsx diff --git a/desktop/app/src/__tests__/PluginContainer.node.tsx b/desktop/flipper-ui-core/src/__tests__/PluginContainer.node.tsx similarity index 100% rename from desktop/app/src/__tests__/PluginContainer.node.tsx rename to desktop/flipper-ui-core/src/__tests__/PluginContainer.node.tsx diff --git a/desktop/app/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap b/desktop/flipper-ui-core/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap similarity index 100% rename from desktop/app/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap rename to desktop/flipper-ui-core/src/__tests__/__snapshots__/createMockFlipperWithPlugin.node.tsx.snap diff --git a/desktop/app/src/__tests__/createMockFlipperWithPlugin.node.tsx b/desktop/flipper-ui-core/src/__tests__/createMockFlipperWithPlugin.node.tsx similarity index 100% rename from desktop/app/src/__tests__/createMockFlipperWithPlugin.node.tsx rename to desktop/flipper-ui-core/src/__tests__/createMockFlipperWithPlugin.node.tsx diff --git a/desktop/app/src/__tests__/deeplink.node.tsx b/desktop/flipper-ui-core/src/__tests__/deeplink.node.tsx similarity index 100% rename from desktop/app/src/__tests__/deeplink.node.tsx rename to desktop/flipper-ui-core/src/__tests__/deeplink.node.tsx diff --git a/desktop/app/src/__tests__/disconnect.node.tsx b/desktop/flipper-ui-core/src/__tests__/disconnect.node.tsx similarity index 100% rename from desktop/app/src/__tests__/disconnect.node.tsx rename to desktop/flipper-ui-core/src/__tests__/disconnect.node.tsx diff --git a/desktop/app/src/chrome/ChangelogSheet.tsx b/desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx similarity index 100% rename from desktop/app/src/chrome/ChangelogSheet.tsx rename to desktop/flipper-ui-core/src/chrome/ChangelogSheet.tsx diff --git a/desktop/app/src/chrome/ConsoleLogs.tsx b/desktop/flipper-ui-core/src/chrome/ConsoleLogs.tsx similarity index 100% rename from desktop/app/src/chrome/ConsoleLogs.tsx rename to desktop/flipper-ui-core/src/chrome/ConsoleLogs.tsx diff --git a/desktop/app/src/chrome/DoctorSheet.tsx b/desktop/flipper-ui-core/src/chrome/DoctorSheet.tsx similarity index 100% rename from desktop/app/src/chrome/DoctorSheet.tsx rename to desktop/flipper-ui-core/src/chrome/DoctorSheet.tsx diff --git a/desktop/app/src/chrome/ExportDataPluginSheet.tsx b/desktop/flipper-ui-core/src/chrome/ExportDataPluginSheet.tsx similarity index 100% rename from desktop/app/src/chrome/ExportDataPluginSheet.tsx rename to desktop/flipper-ui-core/src/chrome/ExportDataPluginSheet.tsx diff --git a/desktop/app/src/chrome/FlipperDevTools.tsx b/desktop/flipper-ui-core/src/chrome/FlipperDevTools.tsx similarity index 100% rename from desktop/app/src/chrome/FlipperDevTools.tsx rename to desktop/flipper-ui-core/src/chrome/FlipperDevTools.tsx diff --git a/desktop/app/src/chrome/FlipperMessages.tsx b/desktop/flipper-ui-core/src/chrome/FlipperMessages.tsx similarity index 100% rename from desktop/app/src/chrome/FlipperMessages.tsx rename to desktop/flipper-ui-core/src/chrome/FlipperMessages.tsx diff --git a/desktop/app/src/chrome/FpsGraph.tsx b/desktop/flipper-ui-core/src/chrome/FpsGraph.tsx similarity index 100% rename from desktop/app/src/chrome/FpsGraph.tsx rename to desktop/flipper-ui-core/src/chrome/FpsGraph.tsx diff --git a/desktop/app/src/chrome/ListView.tsx b/desktop/flipper-ui-core/src/chrome/ListView.tsx similarity index 100% rename from desktop/app/src/chrome/ListView.tsx rename to desktop/flipper-ui-core/src/chrome/ListView.tsx diff --git a/desktop/app/src/chrome/MetroButton.tsx b/desktop/flipper-ui-core/src/chrome/MetroButton.tsx similarity index 100% rename from desktop/app/src/chrome/MetroButton.tsx rename to desktop/flipper-ui-core/src/chrome/MetroButton.tsx diff --git a/desktop/app/src/chrome/NetworkGraph.tsx b/desktop/flipper-ui-core/src/chrome/NetworkGraph.tsx similarity index 100% rename from desktop/app/src/chrome/NetworkGraph.tsx rename to desktop/flipper-ui-core/src/chrome/NetworkGraph.tsx diff --git a/desktop/app/src/chrome/PlatformSelectWizard.tsx b/desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx similarity index 100% rename from desktop/app/src/chrome/PlatformSelectWizard.tsx rename to desktop/flipper-ui-core/src/chrome/PlatformSelectWizard.tsx diff --git a/desktop/app/src/chrome/PluginActions.tsx b/desktop/flipper-ui-core/src/chrome/PluginActions.tsx similarity index 100% rename from desktop/app/src/chrome/PluginActions.tsx rename to desktop/flipper-ui-core/src/chrome/PluginActions.tsx diff --git a/desktop/app/src/chrome/PluginActionsMenu.tsx b/desktop/flipper-ui-core/src/chrome/PluginActionsMenu.tsx similarity index 100% rename from desktop/app/src/chrome/PluginActionsMenu.tsx rename to desktop/flipper-ui-core/src/chrome/PluginActionsMenu.tsx diff --git a/desktop/app/src/chrome/RatingButton.tsx b/desktop/flipper-ui-core/src/chrome/RatingButton.tsx similarity index 100% rename from desktop/app/src/chrome/RatingButton.tsx rename to desktop/flipper-ui-core/src/chrome/RatingButton.tsx diff --git a/desktop/app/src/chrome/ScreenCaptureButtons.tsx b/desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx similarity index 100% rename from desktop/app/src/chrome/ScreenCaptureButtons.tsx rename to desktop/flipper-ui-core/src/chrome/ScreenCaptureButtons.tsx diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx similarity index 100% rename from desktop/app/src/chrome/SettingsSheet.tsx rename to desktop/flipper-ui-core/src/chrome/SettingsSheet.tsx diff --git a/desktop/app/src/chrome/ShareSheetErrorList.tsx b/desktop/flipper-ui-core/src/chrome/ShareSheetErrorList.tsx similarity index 100% rename from desktop/app/src/chrome/ShareSheetErrorList.tsx rename to desktop/flipper-ui-core/src/chrome/ShareSheetErrorList.tsx diff --git a/desktop/app/src/chrome/ShareSheetExportFile.tsx b/desktop/flipper-ui-core/src/chrome/ShareSheetExportFile.tsx similarity index 97% rename from desktop/app/src/chrome/ShareSheetExportFile.tsx rename to desktop/flipper-ui-core/src/chrome/ShareSheetExportFile.tsx index 13d16807d..c53814621 100644 --- a/desktop/app/src/chrome/ShareSheetExportFile.tsx +++ b/desktop/flipper-ui-core/src/chrome/ShareSheetExportFile.tsx @@ -20,7 +20,7 @@ import { } from '../utils/exportData'; import ShareSheetErrorList from './ShareSheetErrorList'; import ShareSheetPendingDialog from './ShareSheetPendingDialog'; -import {ReactReduxContext} from 'react-redux'; +import {ReactReduxContext, ReactReduxContextValue} from 'react-redux'; import {MiddlewareAPI} from '../reducers/index'; import {Modal} from 'antd'; @@ -71,7 +71,7 @@ type State = { }; export default class ShareSheetExportFile extends Component { - static contextType = ReactReduxContext; + static contextType: React.Context = ReactReduxContext; state: State = { fetchMetaDataErrors: null, diff --git a/desktop/app/src/chrome/ShareSheetExportUrl.tsx b/desktop/flipper-ui-core/src/chrome/ShareSheetExportUrl.tsx similarity index 97% rename from desktop/app/src/chrome/ShareSheetExportUrl.tsx rename to desktop/flipper-ui-core/src/chrome/ShareSheetExportUrl.tsx index a384dd4f7..a222474aa 100644 --- a/desktop/app/src/chrome/ShareSheetExportUrl.tsx +++ b/desktop/flipper-ui-core/src/chrome/ShareSheetExportUrl.tsx @@ -9,7 +9,7 @@ import {FlexColumn, styled, Text, FlexRow, Spacer, Input} from '../ui'; import React, {Component} from 'react'; -import {ReactReduxContext} from 'react-redux'; +import {ReactReduxContext, ReactReduxContextValue} from 'react-redux'; import {Logger} from 'flipper-common'; import {IdlerImpl} from '../utils/Idler'; import { @@ -70,7 +70,7 @@ type State = { }; export default class ShareSheetExportUrl extends Component { - static contextType = ReactReduxContext; + static contextType: React.Context = ReactReduxContext; state: State = { fetchMetaDataErrors: null, diff --git a/desktop/app/src/chrome/ShareSheetPendingDialog.tsx b/desktop/flipper-ui-core/src/chrome/ShareSheetPendingDialog.tsx similarity index 100% rename from desktop/app/src/chrome/ShareSheetPendingDialog.tsx rename to desktop/flipper-ui-core/src/chrome/ShareSheetPendingDialog.tsx diff --git a/desktop/app/src/chrome/UpdateIndicator.tsx b/desktop/flipper-ui-core/src/chrome/UpdateIndicator.tsx similarity index 100% rename from desktop/app/src/chrome/UpdateIndicator.tsx rename to desktop/flipper-ui-core/src/chrome/UpdateIndicator.tsx diff --git a/desktop/app/src/chrome/VideoRecordingButton.tsx b/desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx similarity index 100% rename from desktop/app/src/chrome/VideoRecordingButton.tsx rename to desktop/flipper-ui-core/src/chrome/VideoRecordingButton.tsx diff --git a/desktop/app/src/chrome/__tests__/ChangelogSheet.node.tsx b/desktop/flipper-ui-core/src/chrome/__tests__/ChangelogSheet.node.tsx similarity index 100% rename from desktop/app/src/chrome/__tests__/ChangelogSheet.node.tsx rename to desktop/flipper-ui-core/src/chrome/__tests__/ChangelogSheet.node.tsx diff --git a/desktop/app/src/chrome/__tests__/ShareSheetErrorList.node.tsx b/desktop/flipper-ui-core/src/chrome/__tests__/ShareSheetErrorList.node.tsx similarity index 100% rename from desktop/app/src/chrome/__tests__/ShareSheetErrorList.node.tsx rename to desktop/flipper-ui-core/src/chrome/__tests__/ShareSheetErrorList.node.tsx diff --git a/desktop/app/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx b/desktop/flipper-ui-core/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx similarity index 100% rename from desktop/app/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx rename to desktop/flipper-ui-core/src/chrome/__tests__/ShareSheetPendingDialog.node.tsx diff --git a/desktop/app/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap b/desktop/flipper-ui-core/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap similarity index 100% rename from desktop/app/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap rename to desktop/flipper-ui-core/src/chrome/__tests__/__snapshots__/ShareSheetPendingDialog.node.tsx.snap diff --git a/desktop/app/src/chrome/__tests__/flipper_messages.node.tsx b/desktop/flipper-ui-core/src/chrome/__tests__/flipper_messages.node.tsx similarity index 100% rename from desktop/app/src/chrome/__tests__/flipper_messages.node.tsx rename to desktop/flipper-ui-core/src/chrome/__tests__/flipper_messages.node.tsx diff --git a/desktop/app/src/chrome/fb-stubs/PluginInfo.tsx b/desktop/flipper-ui-core/src/chrome/fb-stubs/PluginInfo.tsx similarity index 100% rename from desktop/app/src/chrome/fb-stubs/PluginInfo.tsx rename to desktop/flipper-ui-core/src/chrome/fb-stubs/PluginInfo.tsx diff --git a/desktop/app/src/chrome/fb-stubs/SignInSheet.tsx b/desktop/flipper-ui-core/src/chrome/fb-stubs/SignInSheet.tsx similarity index 100% rename from desktop/app/src/chrome/fb-stubs/SignInSheet.tsx rename to desktop/flipper-ui-core/src/chrome/fb-stubs/SignInSheet.tsx diff --git a/desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx similarity index 100% rename from desktop/app/src/chrome/plugin-manager/PluginDebugger.tsx rename to desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx diff --git a/desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx similarity index 100% rename from desktop/app/src/chrome/plugin-manager/PluginInstaller.tsx rename to desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx diff --git a/desktop/app/src/chrome/plugin-manager/PluginManager.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginManager.tsx similarity index 100% rename from desktop/app/src/chrome/plugin-manager/PluginManager.tsx rename to desktop/flipper-ui-core/src/chrome/plugin-manager/PluginManager.tsx diff --git a/desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx similarity index 100% rename from desktop/app/src/chrome/plugin-manager/PluginPackageInstaller.tsx rename to desktop/flipper-ui-core/src/chrome/plugin-manager/PluginPackageInstaller.tsx diff --git a/desktop/app/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx similarity index 100% rename from desktop/app/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx rename to desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx diff --git a/desktop/app/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap similarity index 80% rename from desktop/app/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap rename to desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap index bd8f339f8..fd3d65c80 100644 --- a/desktop/app/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/__snapshots__/PluginInstaller.node.tsx.snap @@ -53,74 +53,74 @@ exports[`load PluginInstaller list 1`] = `
Name
Version
Description
@@ -129,17 +129,17 @@ exports[`load PluginInstaller list 1`] = `
@@ -150,7 +150,7 @@ exports[`load PluginInstaller list 1`] = `
@@ -161,7 +161,7 @@ exports[`load PluginInstaller list 1`] = `
@@ -178,7 +178,7 @@ exports[`load PluginInstaller list 1`] = ` href="https://yarnpkg.com/en/package/flipper-plugin-hello" >
@@ -202,11 +202,11 @@ exports[`load PluginInstaller list 1`] = `
@@ -217,7 +217,7 @@ exports[`load PluginInstaller list 1`] = `
@@ -228,7 +228,7 @@ exports[`load PluginInstaller list 1`] = `
@@ -245,7 +245,7 @@ exports[`load PluginInstaller list 1`] = ` href="https://yarnpkg.com/en/package/flipper-plugin-world" >
@@ -275,33 +275,33 @@ exports[`load PluginInstaller list 1`] = ` class="css-1lxv8hi-Container-Horizontal-SandyToolbarContainer e1ecpah20" >
dots-3-circle
@@ -387,74 +387,74 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
Name
Version
Description
@@ -463,17 +463,17 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -484,7 +484,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -495,7 +495,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -512,7 +512,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = ` href="https://yarnpkg.com/en/package/flipper-plugin-hello" >
@@ -536,11 +536,11 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -551,7 +551,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -562,7 +562,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = `
@@ -579,7 +579,7 @@ exports[`load PluginInstaller list with one plugin installed 1`] = ` href="https://yarnpkg.com/en/package/flipper-plugin-world" >
@@ -609,33 +609,33 @@ exports[`load PluginInstaller list with one plugin installed 1`] = ` class="css-1lxv8hi-Container-Horizontal-SandyToolbarContainer e1ecpah20" >
dots-3-circle
diff --git a/desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx b/desktop/flipper-ui-core/src/chrome/settings/KeyboardShortcutInput.tsx similarity index 100% rename from desktop/app/src/chrome/settings/KeyboardShortcutInput.tsx rename to desktop/flipper-ui-core/src/chrome/settings/KeyboardShortcutInput.tsx diff --git a/desktop/app/src/chrome/settings/ToggledSection.tsx b/desktop/flipper-ui-core/src/chrome/settings/ToggledSection.tsx similarity index 100% rename from desktop/app/src/chrome/settings/ToggledSection.tsx rename to desktop/flipper-ui-core/src/chrome/settings/ToggledSection.tsx diff --git a/desktop/app/src/chrome/settings/configFields.tsx b/desktop/flipper-ui-core/src/chrome/settings/configFields.tsx similarity index 100% rename from desktop/app/src/chrome/settings/configFields.tsx rename to desktop/flipper-ui-core/src/chrome/settings/configFields.tsx diff --git a/desktop/app/src/deeplink.tsx b/desktop/flipper-ui-core/src/deeplink.tsx similarity index 100% rename from desktop/app/src/deeplink.tsx rename to desktop/flipper-ui-core/src/deeplink.tsx diff --git a/desktop/app/src/deeplinkTracking.tsx b/desktop/flipper-ui-core/src/deeplinkTracking.tsx similarity index 100% rename from desktop/app/src/deeplinkTracking.tsx rename to desktop/flipper-ui-core/src/deeplinkTracking.tsx diff --git a/desktop/flipper-ui-core/src/deprecated-exports.tsx b/desktop/flipper-ui-core/src/deprecated-exports.tsx new file mode 100644 index 000000000..c4971b8d5 --- /dev/null +++ b/desktop/flipper-ui-core/src/deprecated-exports.tsx @@ -0,0 +1,132 @@ +/** + * 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 + */ + +export {default as styled} from '@emotion/styled'; +export {keyframes} from '@emotion/css'; +export {produce} from 'immer'; + +export * from './ui/index'; +export {textContent, sleep} from 'flipper-plugin'; +export * from './utils/jsonTypes'; +export {default as GK, loadGKs, loadDistilleryGK} from './fb-stubs/GK'; +export {default as createPaste} from './fb-stubs/createPaste'; +export { + internGraphGETAPIRequest, + internGraphPOSTAPIRequest, + graphQLQuery, + isLoggedIn, + getUser, +} from './fb-stubs/user'; +export {FlipperPlugin, FlipperDevicePlugin, BaseAction} from './plugin'; +export {PluginClient, Props, KeyboardActions} from './plugin'; +export {default as Client} from './Client'; +export {reportUsage} from 'flipper-common'; +export {default as promiseTimeout} from './utils/promiseTimeout'; +export {bufferToBlob} from './utils/screenshot'; +export {getPluginKey} from './utils/pluginKey'; +export {Notification, Idler} from 'flipper-plugin'; +export {IdlerImpl} from './utils/Idler'; +export {Store, State as ReduxState} from './reducers/index'; +export {default as BaseDevice} from './devices/BaseDevice'; +export {default as isProduction} from './utils/isProduction'; +export {DetailSidebar} from 'flipper-plugin'; +export {default as Device} from './devices/BaseDevice'; +export {default as ArchivedDevice} from './devices/ArchivedDevice'; +export {DeviceOS as OS} from 'flipper-plugin'; +export {default as Button} from './ui/components/Button'; +export {default as ToggleButton} from './ui/components/ToggleSwitch'; +export {default as ButtonGroup} from './ui/components/ButtonGroup'; +export {colors, brandColors} from './ui/components/colors'; +export {default as Glyph} from './ui/components/Glyph'; +export {default as LoadingIndicator} from './ui/components/LoadingIndicator'; +export { + TableColumns, + TableRows, + TableBodyColumn, + TableBodyRow, + TableHighlightedRows, + TableRowSortOrder, + TableColumnOrder, + TableColumnSizes, +} from './ui/components/table/types'; +export {default as ManagedTable} from './ui/components/table/ManagedTable'; +export {ManagedTableProps} from './ui/components/table/ManagedTable'; +export { + DataInspectorExpanded, + DataDescriptionType, + MarkerTimeline, +} from 'flipper-plugin'; +export {DataInspector as ManagedDataInspector} from 'flipper-plugin'; +export {HighlightManager} from 'flipper-plugin'; +export {default as Tabs} from './ui/components/Tabs'; +export {default as Tab} from './ui/components/Tab'; +export {default as Input} from './ui/components/Input'; +export {default as Textarea} from './ui/components/Textarea'; +export {default as Select} from './ui/components/Select'; +export {default as Checkbox} from './ui/components/Checkbox'; +export {default as Orderable} from './ui/components/Orderable'; +export {Component, PureComponent} from 'react'; +export {default as ContextMenu} from './ui/components/ContextMenu'; +export {FileListFiles} from './ui/components/FileList'; +export {default as FileList} from './ui/components/FileList'; +export {default as View} from './ui/components/View'; +export {default as Sidebar} from './ui/components/Sidebar'; +export {default as FlexBox} from './ui/components/FlexBox'; +export {default as FlexRow} from './ui/components/FlexRow'; +export {default as FlexColumn} from './ui/components/FlexColumn'; +export {default as FlexCenter} from './ui/components/FlexCenter'; +export {Toolbar} from 'flipper-plugin'; +export {Spacer} from './ui/components/Toolbar'; +export {default as ToolbarIcon} from './ui/components/ToolbarIcon'; +export {default as Panel} from './ui/components/Panel'; +export {default as Text} from './ui/components/Text'; +export {default as Link} from './ui/components/Link'; +export {default as Tooltip} from './ui/components/Tooltip'; +export {default as StatusIndicator} from './ui/components/StatusIndicator'; +export {default as HorizontalRule} from './ui/components/HorizontalRule'; +export {default as Label} from './ui/components/Label'; +export {default as Heading} from './ui/components/Heading'; +export * from './utils/pathUtils'; +export {Filter} from './ui/components/filter/types'; +export {default as StackTrace} from './ui/components/StackTrace'; +export { + SearchBox, + SearchInput, + SearchIcon, + SearchableProps, + default as Searchable, +} from './ui/components/searchable/Searchable'; +export { + default as SearchableTable, + filterRowsFactory, +} from './ui/components/searchable/SearchableTable'; +export { + ElementsInspector, + ElementsInspectorElement as Element, + // TODO: clean up or create namespace + ElementsInspectorProps, + ElementAttribute, + ElementData, + ElementSearchResultSet, + ElementID, +} from 'flipper-plugin'; +export {ElementFramework} from './ui/components/elements-inspector/ElementFramework'; +export {InspectorSidebar} from './ui/components/elements-inspector/sidebar'; +export {default as FileSelector} from './ui/components/FileSelector'; +export {getFlipperMediaCDN, appendAccessTokenToUrl} from './fb-stubs/user'; +export {Rect} from './utils/geometry'; +export {Logger} from 'flipper-common'; +export {getLogger} from 'flipper-common'; +export {callVSCode} from './utils/vscodeUtils'; +export {IDEFileResolver, IDEType} from './fb-stubs/IDEFileResolver'; +export {renderMockFlipperWithPlugin} from './test-utils/createMockFlipperWithPlugin'; +export {Tracked} from 'flipper-plugin'; // To be able to use it in legacy plugins +export {RequireLogin} from './ui/components/RequireLogin'; +export {TestDevice} from './test-utils/TestDevice'; +export {connect} from 'react-redux'; diff --git a/desktop/app/src/devices/ArchivedDevice.tsx b/desktop/flipper-ui-core/src/devices/ArchivedDevice.tsx similarity index 100% rename from desktop/app/src/devices/ArchivedDevice.tsx rename to desktop/flipper-ui-core/src/devices/ArchivedDevice.tsx diff --git a/desktop/app/src/devices/BaseDevice.tsx b/desktop/flipper-ui-core/src/devices/BaseDevice.tsx similarity index 100% rename from desktop/app/src/devices/BaseDevice.tsx rename to desktop/flipper-ui-core/src/devices/BaseDevice.tsx diff --git a/desktop/app/src/devices/__tests__/BaseDevice.node.tsx b/desktop/flipper-ui-core/src/devices/__tests__/BaseDevice.node.tsx similarity index 100% rename from desktop/app/src/devices/__tests__/BaseDevice.node.tsx rename to desktop/flipper-ui-core/src/devices/__tests__/BaseDevice.node.tsx diff --git a/desktop/app/src/dispatcher/__tests__/TestPlugin.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/TestPlugin.tsx similarity index 100% rename from desktop/app/src/dispatcher/__tests__/TestPlugin.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/TestPlugin.tsx diff --git a/desktop/app/src/dispatcher/__tests__/deeplinkURLParsing.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/deeplinkURLParsing.node.tsx similarity index 100% rename from desktop/app/src/dispatcher/__tests__/deeplinkURLParsing.node.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/deeplinkURLParsing.node.tsx diff --git a/desktop/app/src/dispatcher/__tests__/handleOpenPluginDeeplink.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/handleOpenPluginDeeplink.node.tsx similarity index 100% rename from desktop/app/src/dispatcher/__tests__/handleOpenPluginDeeplink.node.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/handleOpenPluginDeeplink.node.tsx diff --git a/desktop/app/src/dispatcher/__tests__/pluginManager.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/pluginManager.node.tsx similarity index 100% rename from desktop/app/src/dispatcher/__tests__/pluginManager.node.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/pluginManager.node.tsx diff --git a/desktop/app/src/dispatcher/__tests__/plugins.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx similarity index 99% rename from desktop/app/src/dispatcher/__tests__/plugins.node.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx index 95fc9c57b..5732e9dfc 100644 --- a/desktop/app/src/dispatcher/__tests__/plugins.node.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx @@ -7,7 +7,7 @@ * @format */ -jest.mock('../../defaultPlugins'); +jest.mock('../../../../app/src/defaultPlugins'); jest.mock('../../utils/loadDynamicPlugins'); import dispatcher, { getDynamicPlugins, diff --git a/desktop/app/src/dispatcher/__tests__/tracking.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/tracking.node.tsx similarity index 100% rename from desktop/app/src/dispatcher/__tests__/tracking.node.tsx rename to desktop/flipper-ui-core/src/dispatcher/__tests__/tracking.node.tsx diff --git a/desktop/app/src/dispatcher/application.tsx b/desktop/flipper-ui-core/src/dispatcher/application.tsx similarity index 100% rename from desktop/app/src/dispatcher/application.tsx rename to desktop/flipper-ui-core/src/dispatcher/application.tsx diff --git a/desktop/app/src/dispatcher/fb-stubs/pluginMarketplace.tsx b/desktop/flipper-ui-core/src/dispatcher/fb-stubs/pluginMarketplace.tsx similarity index 100% rename from desktop/app/src/dispatcher/fb-stubs/pluginMarketplace.tsx rename to desktop/flipper-ui-core/src/dispatcher/fb-stubs/pluginMarketplace.tsx diff --git a/desktop/app/src/dispatcher/fb-stubs/user.tsx b/desktop/flipper-ui-core/src/dispatcher/fb-stubs/user.tsx similarity index 100% rename from desktop/app/src/dispatcher/fb-stubs/user.tsx rename to desktop/flipper-ui-core/src/dispatcher/fb-stubs/user.tsx diff --git a/desktop/app/src/dispatcher/flipperServer.tsx b/desktop/flipper-ui-core/src/dispatcher/flipperServer.tsx similarity index 100% rename from desktop/app/src/dispatcher/flipperServer.tsx rename to desktop/flipper-ui-core/src/dispatcher/flipperServer.tsx diff --git a/desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx b/desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx similarity index 100% rename from desktop/app/src/dispatcher/handleOpenPluginDeeplink.tsx rename to desktop/flipper-ui-core/src/dispatcher/handleOpenPluginDeeplink.tsx diff --git a/desktop/app/src/dispatcher/index.tsx b/desktop/flipper-ui-core/src/dispatcher/index.tsx similarity index 100% rename from desktop/app/src/dispatcher/index.tsx rename to desktop/flipper-ui-core/src/dispatcher/index.tsx diff --git a/desktop/app/src/dispatcher/notifications.tsx b/desktop/flipper-ui-core/src/dispatcher/notifications.tsx similarity index 100% rename from desktop/app/src/dispatcher/notifications.tsx rename to desktop/flipper-ui-core/src/dispatcher/notifications.tsx diff --git a/desktop/app/src/dispatcher/pluginDownloads.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx similarity index 100% rename from desktop/app/src/dispatcher/pluginDownloads.tsx rename to desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx diff --git a/desktop/app/src/dispatcher/pluginManager.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx similarity index 92% rename from desktop/app/src/dispatcher/pluginManager.tsx rename to desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx index 118239d55..002e71bb9 100644 --- a/desktop/app/src/dispatcher/pluginManager.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx @@ -98,22 +98,28 @@ export function processPluginCommandsQueue( store: Store, ) { for (const command of queue) { - switch (command.type) { - case 'LOAD_PLUGIN': - loadPlugin(store, command.payload); - break; - case 'UNINSTALL_PLUGIN': - uninstallPlugin(store, command.payload); - break; - case 'UPDATE_PLUGIN': - updatePlugin(store, command.payload); - break; - case 'SWITCH_PLUGIN': - switchPlugin(store, command.payload); - break; - default: - console.error('Unexpected plugin command', command); - break; + try { + switch (command.type) { + case 'LOAD_PLUGIN': + loadPlugin(store, command.payload); + break; + case 'UNINSTALL_PLUGIN': + uninstallPlugin(store, command.payload); + break; + case 'UPDATE_PLUGIN': + updatePlugin(store, command.payload); + break; + case 'SWITCH_PLUGIN': + switchPlugin(store, command.payload); + break; + default: + console.error('Unexpected plugin command', command); + break; + } + } catch (e) { + // make sure that upon failure the command is still marked processed to avoid + // unending loops! + console.error('Failed to process command', command); } } store.dispatch(pluginCommandsProcessed(queue.length)); diff --git a/desktop/app/src/dispatcher/plugins.tsx b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx similarity index 98% rename from desktop/app/src/dispatcher/plugins.tsx rename to desktop/flipper-ui-core/src/dispatcher/plugins.tsx index 771f1509b..14896a950 100644 --- a/desktop/app/src/dispatcher/plugins.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx @@ -46,13 +46,12 @@ import * as antdesign_icons from '@ant-design/icons'; // @ts-ignore import * as crc32 from 'crc32'; -// eslint-disable-next-line import/no-unresolved -import getDefaultPluginsIndex from '../utils/getDefaultPluginsIndex'; import {isDevicePluginDefinition} from '../utils/pluginUtils'; import isPluginCompatible from '../utils/isPluginCompatible'; import isPluginVersionMoreRecent from '../utils/isPluginVersionMoreRecent'; import {getStaticPath} from '../utils/pathUtils'; import {createSandyPluginWrapper} from '../utils/createSandyPluginWrapper'; +import {getRenderHostInstance} from '../RenderHost'; let defaultPluginsIndex: any = null; export default async (store: Store, _logger: Logger) => { @@ -62,7 +61,7 @@ export default async (store: Store, _logger: Logger) => { // this list should match `replace-flipper-requires.tsx` and the `builtInModules` in `desktop/.eslintrc` globalObject.React = React; globalObject.ReactDOM = ReactDOM; - globalObject.Flipper = require('../index'); + globalObject.Flipper = require('../deprecated-exports'); globalObject.adbkit = adbkit; globalObject.FlipperPlugin = FlipperPluginSDK; globalObject.Immer = Immer; @@ -75,7 +74,7 @@ export default async (store: Store, _logger: Logger) => { const disabledPlugins: Array = []; const failedPlugins: Array<[ActivatablePluginDetails, string]> = []; - defaultPluginsIndex = getDefaultPluginsIndex(); + defaultPluginsIndex = getRenderHostInstance().loadDefaultPlugins(); const marketplacePlugins = selectCompatibleMarketplaceVersions( store.getState().plugins.marketplacePlugins, diff --git a/desktop/app/src/dispatcher/pluginsChangeListener.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginsChangeListener.tsx similarity index 100% rename from desktop/app/src/dispatcher/pluginsChangeListener.tsx rename to desktop/flipper-ui-core/src/dispatcher/pluginsChangeListener.tsx diff --git a/desktop/app/src/dispatcher/reactNative.tsx b/desktop/flipper-ui-core/src/dispatcher/reactNative.tsx similarity index 100% rename from desktop/app/src/dispatcher/reactNative.tsx rename to desktop/flipper-ui-core/src/dispatcher/reactNative.tsx diff --git a/desktop/app/src/dispatcher/tracking.tsx b/desktop/flipper-ui-core/src/dispatcher/tracking.tsx similarity index 100% rename from desktop/app/src/dispatcher/tracking.tsx rename to desktop/flipper-ui-core/src/dispatcher/tracking.tsx diff --git a/desktop/app/src/dispatcher/types.tsx b/desktop/flipper-ui-core/src/dispatcher/types.tsx similarity index 100% rename from desktop/app/src/dispatcher/types.tsx rename to desktop/flipper-ui-core/src/dispatcher/types.tsx diff --git a/desktop/app/src/fb-stubs/ErrorReporter.tsx b/desktop/flipper-ui-core/src/fb-stubs/ErrorReporter.tsx similarity index 100% rename from desktop/app/src/fb-stubs/ErrorReporter.tsx rename to desktop/flipper-ui-core/src/fb-stubs/ErrorReporter.tsx diff --git a/desktop/app/src/fb-stubs/GK.tsx b/desktop/flipper-ui-core/src/fb-stubs/GK.tsx similarity index 100% rename from desktop/app/src/fb-stubs/GK.tsx rename to desktop/flipper-ui-core/src/fb-stubs/GK.tsx diff --git a/desktop/app/src/fb-stubs/IDEFileResolver.tsx b/desktop/flipper-ui-core/src/fb-stubs/IDEFileResolver.tsx similarity index 100% rename from desktop/app/src/fb-stubs/IDEFileResolver.tsx rename to desktop/flipper-ui-core/src/fb-stubs/IDEFileResolver.tsx diff --git a/desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx b/desktop/flipper-ui-core/src/fb-stubs/LauncherSettingsPanel.tsx similarity index 100% rename from desktop/app/src/fb-stubs/LauncherSettingsPanel.tsx rename to desktop/flipper-ui-core/src/fb-stubs/LauncherSettingsPanel.tsx diff --git a/desktop/app/src/fb-stubs/Logger.tsx b/desktop/flipper-ui-core/src/fb-stubs/Logger.tsx similarity index 100% rename from desktop/app/src/fb-stubs/Logger.tsx rename to desktop/flipper-ui-core/src/fb-stubs/Logger.tsx diff --git a/desktop/app/src/fb-stubs/Prefetcher.tsx b/desktop/flipper-ui-core/src/fb-stubs/Prefetcher.tsx similarity index 100% rename from desktop/app/src/fb-stubs/Prefetcher.tsx rename to desktop/flipper-ui-core/src/fb-stubs/Prefetcher.tsx diff --git a/desktop/app/src/fb-stubs/ScribeLogger.tsx b/desktop/flipper-ui-core/src/fb-stubs/ScribeLogger.tsx similarity index 100% rename from desktop/app/src/fb-stubs/ScribeLogger.tsx rename to desktop/flipper-ui-core/src/fb-stubs/ScribeLogger.tsx diff --git a/desktop/app/src/fb-stubs/SupportRequestDetails.tsx b/desktop/flipper-ui-core/src/fb-stubs/SupportRequestDetails.tsx similarity index 100% rename from desktop/app/src/fb-stubs/SupportRequestDetails.tsx rename to desktop/flipper-ui-core/src/fb-stubs/SupportRequestDetails.tsx diff --git a/desktop/app/src/fb-stubs/SupportRequestFormV2.tsx b/desktop/flipper-ui-core/src/fb-stubs/SupportRequestFormV2.tsx similarity index 100% rename from desktop/app/src/fb-stubs/SupportRequestFormV2.tsx rename to desktop/flipper-ui-core/src/fb-stubs/SupportRequestFormV2.tsx diff --git a/desktop/app/src/fb-stubs/UserFeedback.tsx b/desktop/flipper-ui-core/src/fb-stubs/UserFeedback.tsx similarity index 100% rename from desktop/app/src/fb-stubs/UserFeedback.tsx rename to desktop/flipper-ui-core/src/fb-stubs/UserFeedback.tsx diff --git a/desktop/app/src/fb-stubs/__mocks__/Logger.tsx b/desktop/flipper-ui-core/src/fb-stubs/__mocks__/Logger.tsx similarity index 100% rename from desktop/app/src/fb-stubs/__mocks__/Logger.tsx rename to desktop/flipper-ui-core/src/fb-stubs/__mocks__/Logger.tsx diff --git a/desktop/app/src/fb-stubs/checkForUpdate.tsx b/desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx similarity index 100% rename from desktop/app/src/fb-stubs/checkForUpdate.tsx rename to desktop/flipper-ui-core/src/fb-stubs/checkForUpdate.tsx diff --git a/desktop/app/src/fb-stubs/config.tsx b/desktop/flipper-ui-core/src/fb-stubs/config.tsx similarity index 100% rename from desktop/app/src/fb-stubs/config.tsx rename to desktop/flipper-ui-core/src/fb-stubs/config.tsx diff --git a/desktop/app/src/fb-stubs/constants.tsx b/desktop/flipper-ui-core/src/fb-stubs/constants.tsx similarity index 100% rename from desktop/app/src/fb-stubs/constants.tsx rename to desktop/flipper-ui-core/src/fb-stubs/constants.tsx diff --git a/desktop/app/src/fb-stubs/createPaste.tsx b/desktop/flipper-ui-core/src/fb-stubs/createPaste.tsx similarity index 100% rename from desktop/app/src/fb-stubs/createPaste.tsx rename to desktop/flipper-ui-core/src/fb-stubs/createPaste.tsx diff --git a/desktop/app/src/fb-stubs/user.tsx b/desktop/flipper-ui-core/src/fb-stubs/user.tsx similarity index 100% rename from desktop/app/src/fb-stubs/user.tsx rename to desktop/flipper-ui-core/src/fb-stubs/user.tsx diff --git a/desktop/app/src/global.ts b/desktop/flipper-ui-core/src/global.ts similarity index 88% rename from desktop/app/src/global.ts rename to desktop/flipper-ui-core/src/global.ts index 7ca6d7e6d..1bc85b671 100644 --- a/desktop/app/src/global.ts +++ b/desktop/flipper-ui-core/src/global.ts @@ -9,6 +9,7 @@ import {StoreEnhancerStoreCreator} from 'redux'; import {Store} from './reducers'; +import {RenderHost} from './RenderHost'; declare global { interface StoreEnhancerStateSanitizer { @@ -25,5 +26,7 @@ declare global { Flipper: { init: () => void; }; + + FlipperRenderHostInstance: RenderHost; } } diff --git a/desktop/flipper-ui-core/src/index.tsx b/desktop/flipper-ui-core/src/index.tsx index 90a375a48..3f6b2b6c3 100644 --- a/desktop/flipper-ui-core/src/index.tsx +++ b/desktop/flipper-ui-core/src/index.tsx @@ -7,6 +7,9 @@ * @format */ -export function helloWorld() { - return true; -} +// TODO: should not be exported anymore, but still needed for 'import from 'flipper'' stuff +export * from './deprecated-exports'; + +export {RenderHost, getRenderHostInstance} from './RenderHost'; + +export {startFlipperDesktop} from './startFlipperDesktop'; diff --git a/desktop/app/src/plugin.tsx b/desktop/flipper-ui-core/src/plugin.tsx similarity index 100% rename from desktop/app/src/plugin.tsx rename to desktop/flipper-ui-core/src/plugin.tsx diff --git a/desktop/app/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap b/desktop/flipper-ui-core/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap similarity index 100% rename from desktop/app/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap rename to desktop/flipper-ui-core/src/reducers/__tests__/__snapshots__/healthchecks.node.tsx.snap diff --git a/desktop/app/src/reducers/__tests__/applications.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/applications.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/applications.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/applications.node.tsx diff --git a/desktop/app/src/reducers/__tests__/connections.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/connections.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/connections.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/connections.node.tsx diff --git a/desktop/app/src/reducers/__tests__/healthchecks.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/healthchecks.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/healthchecks.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/healthchecks.node.tsx diff --git a/desktop/app/src/reducers/__tests__/notifications.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/notifications.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/notifications.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/notifications.node.tsx diff --git a/desktop/app/src/reducers/__tests__/plugins.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/plugins.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx diff --git a/desktop/app/src/reducers/__tests__/sandydeviceplugins.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/sandydeviceplugins.node.tsx similarity index 98% rename from desktop/app/src/reducers/__tests__/sandydeviceplugins.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/sandydeviceplugins.node.tsx index 6256dba20..620b8de57 100644 --- a/desktop/app/src/reducers/__tests__/sandydeviceplugins.node.tsx +++ b/desktop/flipper-ui-core/src/reducers/__tests__/sandydeviceplugins.node.tsx @@ -8,7 +8,7 @@ */ import {createMockFlipperWithPlugin} from '../../test-utils/createMockFlipperWithPlugin'; -import {Store} from '../../'; +import {Store} from '../../reducers/'; import {selectPlugin} from '../../reducers/connections'; import { _SandyPluginDefinition, diff --git a/desktop/app/src/reducers/__tests__/sandyplugins.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/sandyplugins.node.tsx similarity index 99% rename from desktop/app/src/reducers/__tests__/sandyplugins.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/sandyplugins.node.tsx index ea9afd9ac..731f36009 100644 --- a/desktop/app/src/reducers/__tests__/sandyplugins.node.tsx +++ b/desktop/flipper-ui-core/src/reducers/__tests__/sandyplugins.node.tsx @@ -8,7 +8,8 @@ */ import {createMockFlipperWithPlugin} from '../../test-utils/createMockFlipperWithPlugin'; -import {Store, Client} from '../../'; +import Client from '../../Client'; +import {Store} from '../../reducers'; import {registerPlugins} from '../../reducers/plugins'; import { _SandyPluginDefinition, diff --git a/desktop/app/src/reducers/__tests__/settings.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/settings.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/settings.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/settings.node.tsx diff --git a/desktop/app/src/reducers/__tests__/user.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/user.node.tsx similarity index 100% rename from desktop/app/src/reducers/__tests__/user.node.tsx rename to desktop/flipper-ui-core/src/reducers/__tests__/user.node.tsx diff --git a/desktop/app/src/reducers/application.tsx b/desktop/flipper-ui-core/src/reducers/application.tsx similarity index 100% rename from desktop/app/src/reducers/application.tsx rename to desktop/flipper-ui-core/src/reducers/application.tsx diff --git a/desktop/app/src/reducers/connections.tsx b/desktop/flipper-ui-core/src/reducers/connections.tsx similarity index 100% rename from desktop/app/src/reducers/connections.tsx rename to desktop/flipper-ui-core/src/reducers/connections.tsx diff --git a/desktop/app/src/reducers/healthchecks.tsx b/desktop/flipper-ui-core/src/reducers/healthchecks.tsx similarity index 100% rename from desktop/app/src/reducers/healthchecks.tsx rename to desktop/flipper-ui-core/src/reducers/healthchecks.tsx diff --git a/desktop/app/src/reducers/index.tsx b/desktop/flipper-ui-core/src/reducers/index.tsx similarity index 100% rename from desktop/app/src/reducers/index.tsx rename to desktop/flipper-ui-core/src/reducers/index.tsx diff --git a/desktop/app/src/reducers/launcherSettings.tsx b/desktop/flipper-ui-core/src/reducers/launcherSettings.tsx similarity index 100% rename from desktop/app/src/reducers/launcherSettings.tsx rename to desktop/flipper-ui-core/src/reducers/launcherSettings.tsx diff --git a/desktop/app/src/reducers/notifications.tsx b/desktop/flipper-ui-core/src/reducers/notifications.tsx similarity index 100% rename from desktop/app/src/reducers/notifications.tsx rename to desktop/flipper-ui-core/src/reducers/notifications.tsx diff --git a/desktop/app/src/reducers/pluginDownloads.tsx b/desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx similarity index 100% rename from desktop/app/src/reducers/pluginDownloads.tsx rename to desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx diff --git a/desktop/app/src/reducers/pluginManager.tsx b/desktop/flipper-ui-core/src/reducers/pluginManager.tsx similarity index 100% rename from desktop/app/src/reducers/pluginManager.tsx rename to desktop/flipper-ui-core/src/reducers/pluginManager.tsx diff --git a/desktop/app/src/reducers/pluginMessageQueue.tsx b/desktop/flipper-ui-core/src/reducers/pluginMessageQueue.tsx similarity index 100% rename from desktop/app/src/reducers/pluginMessageQueue.tsx rename to desktop/flipper-ui-core/src/reducers/pluginMessageQueue.tsx diff --git a/desktop/app/src/reducers/plugins.tsx b/desktop/flipper-ui-core/src/reducers/plugins.tsx similarity index 100% rename from desktop/app/src/reducers/plugins.tsx rename to desktop/flipper-ui-core/src/reducers/plugins.tsx diff --git a/desktop/app/src/reducers/settings.tsx b/desktop/flipper-ui-core/src/reducers/settings.tsx similarity index 100% rename from desktop/app/src/reducers/settings.tsx rename to desktop/flipper-ui-core/src/reducers/settings.tsx diff --git a/desktop/app/src/reducers/supportForm.tsx b/desktop/flipper-ui-core/src/reducers/supportForm.tsx similarity index 100% rename from desktop/app/src/reducers/supportForm.tsx rename to desktop/flipper-ui-core/src/reducers/supportForm.tsx diff --git a/desktop/app/src/reducers/usageTracking.tsx b/desktop/flipper-ui-core/src/reducers/usageTracking.tsx similarity index 100% rename from desktop/app/src/reducers/usageTracking.tsx rename to desktop/flipper-ui-core/src/reducers/usageTracking.tsx diff --git a/desktop/app/src/reducers/user.tsx b/desktop/flipper-ui-core/src/reducers/user.tsx similarity index 100% rename from desktop/app/src/reducers/user.tsx rename to desktop/flipper-ui-core/src/reducers/user.tsx diff --git a/desktop/app/src/sandy-chrome/CenteredContainer.tsx b/desktop/flipper-ui-core/src/sandy-chrome/CenteredContainer.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/CenteredContainer.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/CenteredContainer.tsx diff --git a/desktop/app/src/sandy-chrome/ContentContainer.tsx b/desktop/flipper-ui-core/src/sandy-chrome/ContentContainer.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/ContentContainer.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/ContentContainer.tsx diff --git a/desktop/app/src/sandy-chrome/DesignComponentDemos.tsx b/desktop/flipper-ui-core/src/sandy-chrome/DesignComponentDemos.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/DesignComponentDemos.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/DesignComponentDemos.tsx diff --git a/desktop/app/src/sandy-chrome/DetailSidebarImpl.tsx b/desktop/flipper-ui-core/src/sandy-chrome/DetailSidebarImpl.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/DetailSidebarImpl.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/DetailSidebarImpl.tsx diff --git a/desktop/app/src/sandy-chrome/LeftRail.tsx b/desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/LeftRail.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/LeftRail.tsx diff --git a/desktop/app/src/sandy-chrome/LeftSidebar.tsx b/desktop/flipper-ui-core/src/sandy-chrome/LeftSidebar.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/LeftSidebar.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/LeftSidebar.tsx diff --git a/desktop/app/src/sandy-chrome/SandyApp.tsx b/desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/SandyApp.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/SandyApp.tsx diff --git a/desktop/app/src/sandy-chrome/SandyDesignSystem.tsx b/desktop/flipper-ui-core/src/sandy-chrome/SandyDesignSystem.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/SandyDesignSystem.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/SandyDesignSystem.tsx diff --git a/desktop/app/src/sandy-chrome/SandyIcons.tsx b/desktop/flipper-ui-core/src/sandy-chrome/SandyIcons.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/SandyIcons.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/SandyIcons.tsx diff --git a/desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx b/desktop/flipper-ui-core/src/sandy-chrome/SetupDoctorScreen.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/SetupDoctorScreen.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/SetupDoctorScreen.tsx diff --git a/desktop/app/src/sandy-chrome/StyleGuide.tsx b/desktop/flipper-ui-core/src/sandy-chrome/StyleGuide.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/StyleGuide.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/StyleGuide.tsx diff --git a/desktop/app/src/sandy-chrome/WelcomeScreen.tsx b/desktop/flipper-ui-core/src/sandy-chrome/WelcomeScreen.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/WelcomeScreen.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/WelcomeScreen.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/AppInspect.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppInspect.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/AppInspect.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppInspect.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/AppSelector.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/AppSelector.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/BookmarkSection.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/BookmarkSection.tsx similarity index 85% rename from desktop/app/src/sandy-chrome/appinspect/BookmarkSection.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/BookmarkSection.tsx index d25083e1f..479bd3701 100644 --- a/desktop/app/src/sandy-chrome/appinspect/BookmarkSection.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/BookmarkSection.tsx @@ -20,8 +20,11 @@ import { } from 'flipper-plugin'; import {State} from '../../reducers'; -// eslint-disable-next-line flipper/no-relative-imports-across-packages -import type {NavigationPlugin} from '../../../../plugins/public/navigation/index'; +// TODO, based on: from '../../../../plugins/public/navigation/index'; +// TODO: this file should be typed again, and the navigation core logic moved to flipper-ui-common or devices or smth, +// and removing the `any` types in this files +type NavigationPlugin = any; + import {useMemoize} from 'flipper-plugin'; import styled from '@emotion/styled'; @@ -42,16 +45,16 @@ export function BookmarkSection() { } function BookmarkSectionInput({navPlugin}: {navPlugin: NavigationPlugin}) { - const currentURI = useValue(navPlugin.currentURI); - const bookmarks = useValue(navPlugin.bookmarks); - const patterns = useValue(navPlugin.appMatchPatterns); + const currentURI = useValue(navPlugin.currentURI) as any; + const bookmarks = useValue(navPlugin.bookmarks) as any; + const patterns = useValue(navPlugin.appMatchPatterns) as any; const isBookmarked = useMemo( () => bookmarks.has(currentURI), [bookmarks, currentURI], ); - const autoCompleteItems = useMemoize( + const autoCompleteItems: any = useMemoize( navPlugin.getAutoCompleteAppMatchPatterns, [currentURI, bookmarks, patterns, 20], ); @@ -88,7 +91,7 @@ function BookmarkSectionInput({navPlugin}: {navPlugin: NavigationPlugin}) { options={[ { label: Bookmarks, - options: Array.from(bookmarks.values()).map((bookmark) => ({ + options: Array.from(bookmarks.values()).map((bookmark: any) => ({ value: bookmark.uri, label: ( @@ -97,7 +100,7 @@ function BookmarkSectionInput({navPlugin}: {navPlugin: NavigationPlugin}) { }, { label: Entry points, - options: autoCompleteItems.map((value) => ({ + options: autoCompleteItems.map((value: any) => ({ value: value.pattern, label: ( diff --git a/desktop/app/src/sandy-chrome/appinspect/LaunchEmulator.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/LaunchEmulator.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/LaunchEmulator.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/NoDevices.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/NoDevices.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/NoDevices.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/NoDevices.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/PluginList.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/PluginList.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/LaunchEmulator.spec.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/__tests__/PluginList.spec.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/PluginList.spec.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/__tests__/PluginList.spec.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/__tests__/PluginList.spec.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/fb-stubs/ConnectivityStatus.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/fb-stubs/ConnectivityStatus.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/fb-stubs/ConnectivityStatus.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/fb-stubs/ConnectivityStatus.tsx diff --git a/desktop/app/src/sandy-chrome/appinspect/fb-stubs/TroubleshootingGuide.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/fb-stubs/TroubleshootingGuide.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/appinspect/fb-stubs/TroubleshootingGuide.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/appinspect/fb-stubs/TroubleshootingGuide.tsx diff --git a/desktop/app/src/sandy-chrome/notification/BlocklistSettingButton.tsx b/desktop/flipper-ui-core/src/sandy-chrome/notification/BlocklistSettingButton.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/notification/BlocklistSettingButton.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/notification/BlocklistSettingButton.tsx diff --git a/desktop/app/src/sandy-chrome/notification/Notification.tsx b/desktop/flipper-ui-core/src/sandy-chrome/notification/Notification.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/notification/Notification.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/notification/Notification.tsx diff --git a/desktop/app/src/sandy-chrome/notification/__tests__/notificationUtils.spec.tsx b/desktop/flipper-ui-core/src/sandy-chrome/notification/__tests__/notificationUtils.spec.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/notification/__tests__/notificationUtils.spec.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/notification/__tests__/notificationUtils.spec.tsx diff --git a/desktop/app/src/sandy-chrome/notification/notificationUtils.tsx b/desktop/flipper-ui-core/src/sandy-chrome/notification/notificationUtils.tsx similarity index 100% rename from desktop/app/src/sandy-chrome/notification/notificationUtils.tsx rename to desktop/flipper-ui-core/src/sandy-chrome/notification/notificationUtils.tsx diff --git a/desktop/app/src/selectors/connections.tsx b/desktop/flipper-ui-core/src/selectors/connections.tsx similarity index 100% rename from desktop/app/src/selectors/connections.tsx rename to desktop/flipper-ui-core/src/selectors/connections.tsx diff --git a/desktop/app/src/selectors/createSelector.tsx b/desktop/flipper-ui-core/src/selectors/createSelector.tsx similarity index 100% rename from desktop/app/src/selectors/createSelector.tsx rename to desktop/flipper-ui-core/src/selectors/createSelector.tsx diff --git a/desktop/app/src/startFlipperDesktop.tsx b/desktop/flipper-ui-core/src/startFlipperDesktop.tsx similarity index 96% rename from desktop/app/src/startFlipperDesktop.tsx rename to desktop/flipper-ui-core/src/startFlipperDesktop.tsx index 1100cec3b..aaaaf058c 100644 --- a/desktop/app/src/startFlipperDesktop.tsx +++ b/desktop/flipper-ui-core/src/startFlipperDesktop.tsx @@ -168,6 +168,8 @@ function setProcessState(store: Store) { } function init() { + GK.init(); + // TODO: centralise all those initialisations in a single configuration call flipperCommonGK.get = (name) => GK.get(name); const store = getStore(); @@ -226,12 +228,14 @@ function init() { ); } -setImmediate(() => { - // make sure all modules are loaded - // @ts-ignore - window.flipperInit = init; - window.dispatchEvent(new Event('flipper-store-ready')); -}); +export function startFlipperDesktop() { + setImmediate(() => { + // make sure all modules are loaded + // @ts-ignore + window.flipperInit = init; + window.dispatchEvent(new Event('flipper-store-ready')); + }); +} const CodeBlock = styled(Input.TextArea)({ ...theme.monospace, diff --git a/desktop/app/src/store.tsx b/desktop/flipper-ui-core/src/store.tsx similarity index 86% rename from desktop/app/src/store.tsx rename to desktop/flipper-ui-core/src/store.tsx index f57712773..2bb18ba5f 100644 --- a/desktop/app/src/store.tsx +++ b/desktop/flipper-ui-core/src/store.tsx @@ -16,7 +16,6 @@ import { Store, } from './reducers/index'; import {stateSanitizer} from './utils/reduxDevToolsConfig'; -import isProduction from './utils/isProduction'; let store: Store; @@ -34,11 +33,9 @@ function initStore() { : undefined, ); - if (!isProduction()) { - // For debugging purposes only - // @ts-ignore - window.flipperStore = store; - } + // For debugging purposes only + // @ts-ignore + window.flipperStore = store; return store; } diff --git a/desktop/app/src/test-utils/DeviceTestPlugin.tsx b/desktop/flipper-ui-core/src/test-utils/DeviceTestPlugin.tsx similarity index 100% rename from desktop/app/src/test-utils/DeviceTestPlugin.tsx rename to desktop/flipper-ui-core/src/test-utils/DeviceTestPlugin.tsx diff --git a/desktop/app/src/test-utils/MockFlipper.tsx b/desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx similarity index 100% rename from desktop/app/src/test-utils/MockFlipper.tsx rename to desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx diff --git a/desktop/app/src/test-utils/TestDevice.tsx b/desktop/flipper-ui-core/src/test-utils/TestDevice.tsx similarity index 100% rename from desktop/app/src/test-utils/TestDevice.tsx rename to desktop/flipper-ui-core/src/test-utils/TestDevice.tsx diff --git a/desktop/app/src/test-utils/TestPlugin.tsx b/desktop/flipper-ui-core/src/test-utils/TestPlugin.tsx similarity index 100% rename from desktop/app/src/test-utils/TestPlugin.tsx rename to desktop/flipper-ui-core/src/test-utils/TestPlugin.tsx diff --git a/desktop/app/src/test-utils/createFlipperServerMock.tsx b/desktop/flipper-ui-core/src/test-utils/createFlipperServerMock.tsx similarity index 100% rename from desktop/app/src/test-utils/createFlipperServerMock.tsx rename to desktop/flipper-ui-core/src/test-utils/createFlipperServerMock.tsx diff --git a/desktop/app/src/test-utils/createMockFlipperWithPlugin.tsx b/desktop/flipper-ui-core/src/test-utils/createMockFlipperWithPlugin.tsx similarity index 100% rename from desktop/app/src/test-utils/createMockFlipperWithPlugin.tsx rename to desktop/flipper-ui-core/src/test-utils/createMockFlipperWithPlugin.tsx diff --git a/desktop/app/src/ui/components/Button.tsx b/desktop/flipper-ui-core/src/ui/components/Button.tsx similarity index 100% rename from desktop/app/src/ui/components/Button.tsx rename to desktop/flipper-ui-core/src/ui/components/Button.tsx diff --git a/desktop/app/src/ui/components/ButtonGroup.tsx b/desktop/flipper-ui-core/src/ui/components/ButtonGroup.tsx similarity index 100% rename from desktop/app/src/ui/components/ButtonGroup.tsx rename to desktop/flipper-ui-core/src/ui/components/ButtonGroup.tsx diff --git a/desktop/app/src/ui/components/CenteredView.tsx b/desktop/flipper-ui-core/src/ui/components/CenteredView.tsx similarity index 100% rename from desktop/app/src/ui/components/CenteredView.tsx rename to desktop/flipper-ui-core/src/ui/components/CenteredView.tsx diff --git a/desktop/app/src/ui/components/Checkbox.tsx b/desktop/flipper-ui-core/src/ui/components/Checkbox.tsx similarity index 100% rename from desktop/app/src/ui/components/Checkbox.tsx rename to desktop/flipper-ui-core/src/ui/components/Checkbox.tsx diff --git a/desktop/app/src/ui/components/ContextMenu.tsx b/desktop/flipper-ui-core/src/ui/components/ContextMenu.tsx similarity index 100% rename from desktop/app/src/ui/components/ContextMenu.tsx rename to desktop/flipper-ui-core/src/ui/components/ContextMenu.tsx diff --git a/desktop/app/src/ui/components/ErrorBlock.tsx b/desktop/flipper-ui-core/src/ui/components/ErrorBlock.tsx similarity index 100% rename from desktop/app/src/ui/components/ErrorBlock.tsx rename to desktop/flipper-ui-core/src/ui/components/ErrorBlock.tsx diff --git a/desktop/app/src/ui/components/ErrorBoundary.tsx b/desktop/flipper-ui-core/src/ui/components/ErrorBoundary.tsx similarity index 100% rename from desktop/app/src/ui/components/ErrorBoundary.tsx rename to desktop/flipper-ui-core/src/ui/components/ErrorBoundary.tsx diff --git a/desktop/app/src/ui/components/FileList.tsx b/desktop/flipper-ui-core/src/ui/components/FileList.tsx similarity index 100% rename from desktop/app/src/ui/components/FileList.tsx rename to desktop/flipper-ui-core/src/ui/components/FileList.tsx diff --git a/desktop/app/src/ui/components/FileSelector.tsx b/desktop/flipper-ui-core/src/ui/components/FileSelector.tsx similarity index 100% rename from desktop/app/src/ui/components/FileSelector.tsx rename to desktop/flipper-ui-core/src/ui/components/FileSelector.tsx diff --git a/desktop/app/src/ui/components/FlexBox.tsx b/desktop/flipper-ui-core/src/ui/components/FlexBox.tsx similarity index 100% rename from desktop/app/src/ui/components/FlexBox.tsx rename to desktop/flipper-ui-core/src/ui/components/FlexBox.tsx diff --git a/desktop/app/src/ui/components/FlexCenter.tsx b/desktop/flipper-ui-core/src/ui/components/FlexCenter.tsx similarity index 100% rename from desktop/app/src/ui/components/FlexCenter.tsx rename to desktop/flipper-ui-core/src/ui/components/FlexCenter.tsx diff --git a/desktop/app/src/ui/components/FlexColumn.tsx b/desktop/flipper-ui-core/src/ui/components/FlexColumn.tsx similarity index 100% rename from desktop/app/src/ui/components/FlexColumn.tsx rename to desktop/flipper-ui-core/src/ui/components/FlexColumn.tsx diff --git a/desktop/app/src/ui/components/FlexRow.tsx b/desktop/flipper-ui-core/src/ui/components/FlexRow.tsx similarity index 100% rename from desktop/app/src/ui/components/FlexRow.tsx rename to desktop/flipper-ui-core/src/ui/components/FlexRow.tsx diff --git a/desktop/app/src/ui/components/Glyph.tsx b/desktop/flipper-ui-core/src/ui/components/Glyph.tsx similarity index 100% rename from desktop/app/src/ui/components/Glyph.tsx rename to desktop/flipper-ui-core/src/ui/components/Glyph.tsx diff --git a/desktop/app/src/ui/components/HBox.tsx b/desktop/flipper-ui-core/src/ui/components/HBox.tsx similarity index 100% rename from desktop/app/src/ui/components/HBox.tsx rename to desktop/flipper-ui-core/src/ui/components/HBox.tsx diff --git a/desktop/app/src/ui/components/Heading.tsx b/desktop/flipper-ui-core/src/ui/components/Heading.tsx similarity index 100% rename from desktop/app/src/ui/components/Heading.tsx rename to desktop/flipper-ui-core/src/ui/components/Heading.tsx diff --git a/desktop/app/src/ui/components/HorizontalRule.tsx b/desktop/flipper-ui-core/src/ui/components/HorizontalRule.tsx similarity index 100% rename from desktop/app/src/ui/components/HorizontalRule.tsx rename to desktop/flipper-ui-core/src/ui/components/HorizontalRule.tsx diff --git a/desktop/app/src/ui/components/Info.tsx b/desktop/flipper-ui-core/src/ui/components/Info.tsx similarity index 100% rename from desktop/app/src/ui/components/Info.tsx rename to desktop/flipper-ui-core/src/ui/components/Info.tsx diff --git a/desktop/app/src/ui/components/Input.tsx b/desktop/flipper-ui-core/src/ui/components/Input.tsx similarity index 100% rename from desktop/app/src/ui/components/Input.tsx rename to desktop/flipper-ui-core/src/ui/components/Input.tsx diff --git a/desktop/app/src/ui/components/Label.tsx b/desktop/flipper-ui-core/src/ui/components/Label.tsx similarity index 100% rename from desktop/app/src/ui/components/Label.tsx rename to desktop/flipper-ui-core/src/ui/components/Label.tsx diff --git a/desktop/app/src/ui/components/Labeled.tsx b/desktop/flipper-ui-core/src/ui/components/Labeled.tsx similarity index 100% rename from desktop/app/src/ui/components/Labeled.tsx rename to desktop/flipper-ui-core/src/ui/components/Labeled.tsx diff --git a/desktop/app/src/ui/components/Line.tsx b/desktop/flipper-ui-core/src/ui/components/Line.tsx similarity index 100% rename from desktop/app/src/ui/components/Line.tsx rename to desktop/flipper-ui-core/src/ui/components/Line.tsx diff --git a/desktop/app/src/ui/components/Link.tsx b/desktop/flipper-ui-core/src/ui/components/Link.tsx similarity index 100% rename from desktop/app/src/ui/components/Link.tsx rename to desktop/flipper-ui-core/src/ui/components/Link.tsx diff --git a/desktop/app/src/ui/components/LoadingIndicator.tsx b/desktop/flipper-ui-core/src/ui/components/LoadingIndicator.tsx similarity index 100% rename from desktop/app/src/ui/components/LoadingIndicator.tsx rename to desktop/flipper-ui-core/src/ui/components/LoadingIndicator.tsx diff --git a/desktop/app/src/ui/components/Markdown.tsx b/desktop/flipper-ui-core/src/ui/components/Markdown.tsx similarity index 100% rename from desktop/app/src/ui/components/Markdown.tsx rename to desktop/flipper-ui-core/src/ui/components/Markdown.tsx diff --git a/desktop/app/src/ui/components/ModalOverlay.tsx b/desktop/flipper-ui-core/src/ui/components/ModalOverlay.tsx similarity index 100% rename from desktop/app/src/ui/components/ModalOverlay.tsx rename to desktop/flipper-ui-core/src/ui/components/ModalOverlay.tsx diff --git a/desktop/app/src/ui/components/MultiLineInput.tsx b/desktop/flipper-ui-core/src/ui/components/MultiLineInput.tsx similarity index 100% rename from desktop/app/src/ui/components/MultiLineInput.tsx rename to desktop/flipper-ui-core/src/ui/components/MultiLineInput.tsx diff --git a/desktop/app/src/ui/components/Orderable.tsx b/desktop/flipper-ui-core/src/ui/components/Orderable.tsx similarity index 100% rename from desktop/app/src/ui/components/Orderable.tsx rename to desktop/flipper-ui-core/src/ui/components/Orderable.tsx diff --git a/desktop/app/src/ui/components/Panel.tsx b/desktop/flipper-ui-core/src/ui/components/Panel.tsx similarity index 100% rename from desktop/app/src/ui/components/Panel.tsx rename to desktop/flipper-ui-core/src/ui/components/Panel.tsx diff --git a/desktop/app/src/ui/components/Radio.tsx b/desktop/flipper-ui-core/src/ui/components/Radio.tsx similarity index 100% rename from desktop/app/src/ui/components/Radio.tsx rename to desktop/flipper-ui-core/src/ui/components/Radio.tsx diff --git a/desktop/app/src/ui/components/RequireLogin.tsx b/desktop/flipper-ui-core/src/ui/components/RequireLogin.tsx similarity index 100% rename from desktop/app/src/ui/components/RequireLogin.tsx rename to desktop/flipper-ui-core/src/ui/components/RequireLogin.tsx diff --git a/desktop/app/src/ui/components/RoundedSection.tsx b/desktop/flipper-ui-core/src/ui/components/RoundedSection.tsx similarity index 100% rename from desktop/app/src/ui/components/RoundedSection.tsx rename to desktop/flipper-ui-core/src/ui/components/RoundedSection.tsx diff --git a/desktop/app/src/ui/components/Scrollable.tsx b/desktop/flipper-ui-core/src/ui/components/Scrollable.tsx similarity index 100% rename from desktop/app/src/ui/components/Scrollable.tsx rename to desktop/flipper-ui-core/src/ui/components/Scrollable.tsx diff --git a/desktop/app/src/ui/components/Select.tsx b/desktop/flipper-ui-core/src/ui/components/Select.tsx similarity index 100% rename from desktop/app/src/ui/components/Select.tsx rename to desktop/flipper-ui-core/src/ui/components/Select.tsx diff --git a/desktop/app/src/ui/components/Sidebar.tsx b/desktop/flipper-ui-core/src/ui/components/Sidebar.tsx similarity index 100% rename from desktop/app/src/ui/components/Sidebar.tsx rename to desktop/flipper-ui-core/src/ui/components/Sidebar.tsx diff --git a/desktop/app/src/ui/components/SmallText.tsx b/desktop/flipper-ui-core/src/ui/components/SmallText.tsx similarity index 100% rename from desktop/app/src/ui/components/SmallText.tsx rename to desktop/flipper-ui-core/src/ui/components/SmallText.tsx diff --git a/desktop/app/src/ui/components/StackTrace.tsx b/desktop/flipper-ui-core/src/ui/components/StackTrace.tsx similarity index 100% rename from desktop/app/src/ui/components/StackTrace.tsx rename to desktop/flipper-ui-core/src/ui/components/StackTrace.tsx diff --git a/desktop/app/src/ui/components/StarButton.tsx b/desktop/flipper-ui-core/src/ui/components/StarButton.tsx similarity index 100% rename from desktop/app/src/ui/components/StarButton.tsx rename to desktop/flipper-ui-core/src/ui/components/StarButton.tsx diff --git a/desktop/app/src/ui/components/StatusIndicator.tsx b/desktop/flipper-ui-core/src/ui/components/StatusIndicator.tsx similarity index 100% rename from desktop/app/src/ui/components/StatusIndicator.tsx rename to desktop/flipper-ui-core/src/ui/components/StatusIndicator.tsx diff --git a/desktop/app/src/ui/components/Tab.tsx b/desktop/flipper-ui-core/src/ui/components/Tab.tsx similarity index 100% rename from desktop/app/src/ui/components/Tab.tsx rename to desktop/flipper-ui-core/src/ui/components/Tab.tsx diff --git a/desktop/app/src/ui/components/Tabs.tsx b/desktop/flipper-ui-core/src/ui/components/Tabs.tsx similarity index 100% rename from desktop/app/src/ui/components/Tabs.tsx rename to desktop/flipper-ui-core/src/ui/components/Tabs.tsx diff --git a/desktop/app/src/ui/components/TabsContainer.tsx b/desktop/flipper-ui-core/src/ui/components/TabsContainer.tsx similarity index 100% rename from desktop/app/src/ui/components/TabsContainer.tsx rename to desktop/flipper-ui-core/src/ui/components/TabsContainer.tsx diff --git a/desktop/app/src/ui/components/Text.tsx b/desktop/flipper-ui-core/src/ui/components/Text.tsx similarity index 100% rename from desktop/app/src/ui/components/Text.tsx rename to desktop/flipper-ui-core/src/ui/components/Text.tsx diff --git a/desktop/app/src/ui/components/Textarea.tsx b/desktop/flipper-ui-core/src/ui/components/Textarea.tsx similarity index 100% rename from desktop/app/src/ui/components/Textarea.tsx rename to desktop/flipper-ui-core/src/ui/components/Textarea.tsx diff --git a/desktop/app/src/ui/components/ToggleSwitch.tsx b/desktop/flipper-ui-core/src/ui/components/ToggleSwitch.tsx similarity index 100% rename from desktop/app/src/ui/components/ToggleSwitch.tsx rename to desktop/flipper-ui-core/src/ui/components/ToggleSwitch.tsx diff --git a/desktop/app/src/ui/components/Toolbar.tsx b/desktop/flipper-ui-core/src/ui/components/Toolbar.tsx similarity index 100% rename from desktop/app/src/ui/components/Toolbar.tsx rename to desktop/flipper-ui-core/src/ui/components/Toolbar.tsx diff --git a/desktop/app/src/ui/components/ToolbarIcon.tsx b/desktop/flipper-ui-core/src/ui/components/ToolbarIcon.tsx similarity index 100% rename from desktop/app/src/ui/components/ToolbarIcon.tsx rename to desktop/flipper-ui-core/src/ui/components/ToolbarIcon.tsx diff --git a/desktop/app/src/ui/components/Tooltip.tsx b/desktop/flipper-ui-core/src/ui/components/Tooltip.tsx similarity index 100% rename from desktop/app/src/ui/components/Tooltip.tsx rename to desktop/flipper-ui-core/src/ui/components/Tooltip.tsx diff --git a/desktop/app/src/ui/components/TooltipProvider.tsx b/desktop/flipper-ui-core/src/ui/components/TooltipProvider.tsx similarity index 100% rename from desktop/app/src/ui/components/TooltipProvider.tsx rename to desktop/flipper-ui-core/src/ui/components/TooltipProvider.tsx diff --git a/desktop/app/src/ui/components/VBox.tsx b/desktop/flipper-ui-core/src/ui/components/VBox.tsx similarity index 100% rename from desktop/app/src/ui/components/VBox.tsx rename to desktop/flipper-ui-core/src/ui/components/VBox.tsx diff --git a/desktop/app/src/ui/components/View.tsx b/desktop/flipper-ui-core/src/ui/components/View.tsx similarity index 100% rename from desktop/app/src/ui/components/View.tsx rename to desktop/flipper-ui-core/src/ui/components/View.tsx diff --git a/desktop/app/src/ui/components/__tests__/ToolbarIcon.node.tsx b/desktop/flipper-ui-core/src/ui/components/__tests__/ToolbarIcon.node.tsx similarity index 100% rename from desktop/app/src/ui/components/__tests__/ToolbarIcon.node.tsx rename to desktop/flipper-ui-core/src/ui/components/__tests__/ToolbarIcon.node.tsx diff --git a/desktop/app/src/ui/components/colors.tsx b/desktop/flipper-ui-core/src/ui/components/colors.tsx similarity index 100% rename from desktop/app/src/ui/components/colors.tsx rename to desktop/flipper-ui-core/src/ui/components/colors.tsx diff --git a/desktop/app/src/ui/components/elements-inspector/ElementFramework.tsx b/desktop/flipper-ui-core/src/ui/components/elements-inspector/ElementFramework.tsx similarity index 100% rename from desktop/app/src/ui/components/elements-inspector/ElementFramework.tsx rename to desktop/flipper-ui-core/src/ui/components/elements-inspector/ElementFramework.tsx diff --git a/desktop/app/src/ui/components/elements-inspector/Visualizer.tsx b/desktop/flipper-ui-core/src/ui/components/elements-inspector/Visualizer.tsx similarity index 100% rename from desktop/app/src/ui/components/elements-inspector/Visualizer.tsx rename to desktop/flipper-ui-core/src/ui/components/elements-inspector/Visualizer.tsx diff --git a/desktop/app/src/ui/components/elements-inspector/sidebar.tsx b/desktop/flipper-ui-core/src/ui/components/elements-inspector/sidebar.tsx similarity index 100% rename from desktop/app/src/ui/components/elements-inspector/sidebar.tsx rename to desktop/flipper-ui-core/src/ui/components/elements-inspector/sidebar.tsx diff --git a/desktop/app/src/ui/components/filter/FilterRow.tsx b/desktop/flipper-ui-core/src/ui/components/filter/FilterRow.tsx similarity index 100% rename from desktop/app/src/ui/components/filter/FilterRow.tsx rename to desktop/flipper-ui-core/src/ui/components/filter/FilterRow.tsx diff --git a/desktop/app/src/ui/components/filter/types.tsx b/desktop/flipper-ui-core/src/ui/components/filter/types.tsx similarity index 100% rename from desktop/app/src/ui/components/filter/types.tsx rename to desktop/flipper-ui-core/src/ui/components/filter/types.tsx diff --git a/desktop/app/src/ui/components/searchable/FilterToken.tsx b/desktop/flipper-ui-core/src/ui/components/searchable/FilterToken.tsx similarity index 100% rename from desktop/app/src/ui/components/searchable/FilterToken.tsx rename to desktop/flipper-ui-core/src/ui/components/searchable/FilterToken.tsx diff --git a/desktop/app/src/ui/components/searchable/Searchable.tsx b/desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx similarity index 100% rename from desktop/app/src/ui/components/searchable/Searchable.tsx rename to desktop/flipper-ui-core/src/ui/components/searchable/Searchable.tsx diff --git a/desktop/app/src/ui/components/searchable/SearchableTable.tsx b/desktop/flipper-ui-core/src/ui/components/searchable/SearchableTable.tsx similarity index 100% rename from desktop/app/src/ui/components/searchable/SearchableTable.tsx rename to desktop/flipper-ui-core/src/ui/components/searchable/SearchableTable.tsx diff --git a/desktop/app/src/ui/components/table/ManagedTable.tsx b/desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx similarity index 100% rename from desktop/app/src/ui/components/table/ManagedTable.tsx rename to desktop/flipper-ui-core/src/ui/components/table/ManagedTable.tsx diff --git a/desktop/app/src/ui/components/table/TableHead.tsx b/desktop/flipper-ui-core/src/ui/components/table/TableHead.tsx similarity index 100% rename from desktop/app/src/ui/components/table/TableHead.tsx rename to desktop/flipper-ui-core/src/ui/components/table/TableHead.tsx diff --git a/desktop/app/src/ui/components/table/TableRow.tsx b/desktop/flipper-ui-core/src/ui/components/table/TableRow.tsx similarity index 100% rename from desktop/app/src/ui/components/table/TableRow.tsx rename to desktop/flipper-ui-core/src/ui/components/table/TableRow.tsx diff --git a/desktop/app/src/ui/components/table/types.tsx b/desktop/flipper-ui-core/src/ui/components/table/types.tsx similarity index 100% rename from desktop/app/src/ui/components/table/types.tsx rename to desktop/flipper-ui-core/src/ui/components/table/types.tsx diff --git a/desktop/app/src/ui/components/table/utils.tsx b/desktop/flipper-ui-core/src/ui/components/table/utils.tsx similarity index 100% rename from desktop/app/src/ui/components/table/utils.tsx rename to desktop/flipper-ui-core/src/ui/components/table/utils.tsx diff --git a/desktop/app/src/ui/index.tsx b/desktop/flipper-ui-core/src/ui/index.tsx similarity index 100% rename from desktop/app/src/ui/index.tsx rename to desktop/flipper-ui-core/src/ui/index.tsx diff --git a/desktop/app/src/utils/Idler.tsx b/desktop/flipper-ui-core/src/utils/Idler.tsx similarity index 100% rename from desktop/app/src/utils/Idler.tsx rename to desktop/flipper-ui-core/src/utils/Idler.tsx diff --git a/desktop/app/src/utils/__tests__/Idler.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/Idler.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/Idler.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/Idler.node.tsx diff --git a/desktop/app/src/utils/__tests__/data/settings-v1-valid.json b/desktop/flipper-ui-core/src/utils/__tests__/data/settings-v1-valid.json similarity index 100% rename from desktop/app/src/utils/__tests__/data/settings-v1-valid.json rename to desktop/flipper-ui-core/src/utils/__tests__/data/settings-v1-valid.json diff --git a/desktop/app/src/utils/__tests__/exportData.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/exportData.node.tsx similarity index 99% rename from desktop/app/src/utils/__tests__/exportData.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/exportData.node.tsx index d454762de..3742f9455 100644 --- a/desktop/app/src/utils/__tests__/exportData.node.tsx +++ b/desktop/flipper-ui-core/src/utils/__tests__/exportData.node.tsx @@ -37,7 +37,7 @@ import { } from 'flipper-plugin'; import {selectPlugin, getAllClients} from '../../reducers/connections'; import {TestIdler} from '../Idler'; -import {TestDevice} from '../..'; +import {TestDevice} from '../../test-utils/TestDevice'; const testIdler = new TestIdler(); diff --git a/desktop/app/src/utils/__tests__/icons.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/icons.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/icons.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/icons.node.tsx diff --git a/desktop/app/src/utils/__tests__/info.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/info.node.tsx similarity index 98% rename from desktop/app/src/utils/__tests__/info.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/info.node.tsx index 794c5ff4e..965754c76 100644 --- a/desktop/app/src/utils/__tests__/info.node.tsx +++ b/desktop/flipper-ui-core/src/utils/__tests__/info.node.tsx @@ -29,7 +29,7 @@ const inspectorPluginDetails = TestUtils.createMockPluginDetails({ id: 'Inspector', name: 'flipper-plugin-inspector', version: '0.59.0', - dir: '/plugins/public/flipper-plugin-inspector', + dir: '/plugins/public/layout', pluginType: 'client', }); diff --git a/desktop/app/src/utils/__tests__/jsonFileStorage.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/jsonFileStorage.node.tsx similarity index 87% rename from desktop/app/src/utils/__tests__/jsonFileStorage.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/jsonFileStorage.node.tsx index 75b86b4b7..4b363987d 100644 --- a/desktop/app/src/utils/__tests__/jsonFileStorage.node.tsx +++ b/desktop/flipper-ui-core/src/utils/__tests__/jsonFileStorage.node.tsx @@ -13,7 +13,9 @@ import JsonFileStorage from '../jsonFileReduxPersistStorage'; import fs from 'fs'; const validSerializedData = fs - .readFileSync('app/src/utils/__tests__/data/settings-v1-valid.json') + .readFileSync( + 'flipper-ui-core/src/utils/__tests__/data/settings-v1-valid.json', + ) .toString() .replace(/\r\n/g, '\n') .trim(); @@ -22,7 +24,7 @@ const validDeserializedData = '{"androidHome":"\\"/opt/android_sdk\\"","something":"{\\"else\\":4}","_persist":"{\\"version\\":-1,\\"rehydrated\\":true}"}'; const storage = new JsonFileStorage( - 'app/src/utils/__tests__/data/settings-v1-valid.json', + 'flipper-ui-core/src/utils/__tests__/data/settings-v1-valid.json', ); test('A valid settings file gets parsed correctly', () => { diff --git a/desktop/app/src/utils/__tests__/messageQueueSandy.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/messageQueueSandy.node.tsx similarity index 99% rename from desktop/app/src/utils/__tests__/messageQueueSandy.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/messageQueueSandy.node.tsx index 18578ea3c..c4b2e80d2 100644 --- a/desktop/app/src/utils/__tests__/messageQueueSandy.node.tsx +++ b/desktop/flipper-ui-core/src/utils/__tests__/messageQueueSandy.node.tsx @@ -12,7 +12,10 @@ import { createMockFlipperWithPlugin, wrapSandy, } from '../../test-utils/createMockFlipperWithPlugin'; -import {Store, Client, sleep} from '../../'; +import {sleep} from 'flipper-common'; +import {Store} from '../../reducers'; +import Client from '../../Client'; + import { selectPlugin, selectClient, diff --git a/desktop/app/src/utils/__tests__/packageMetadata.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/packageMetadata.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/packageMetadata.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/packageMetadata.node.tsx diff --git a/desktop/app/src/utils/__tests__/pluginUtils.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/pluginUtils.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/pluginUtils.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/pluginUtils.node.tsx diff --git a/desktop/app/src/utils/__tests__/processConfig.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/processConfig.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/processConfig.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/processConfig.node.tsx diff --git a/desktop/app/src/utils/__tests__/promiseTimeout.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/promiseTimeout.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/promiseTimeout.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/promiseTimeout.node.tsx diff --git a/desktop/app/src/utils/__tests__/sideEffect.node.tsx b/desktop/flipper-ui-core/src/utils/__tests__/sideEffect.node.tsx similarity index 100% rename from desktop/app/src/utils/__tests__/sideEffect.node.tsx rename to desktop/flipper-ui-core/src/utils/__tests__/sideEffect.node.tsx diff --git a/desktop/app/src/utils/assertNotNull.tsx b/desktop/flipper-ui-core/src/utils/assertNotNull.tsx similarity index 100% rename from desktop/app/src/utils/assertNotNull.tsx rename to desktop/flipper-ui-core/src/utils/assertNotNull.tsx diff --git a/desktop/app/src/utils/clientUtils.tsx b/desktop/flipper-ui-core/src/utils/clientUtils.tsx similarity index 100% rename from desktop/app/src/utils/clientUtils.tsx rename to desktop/flipper-ui-core/src/utils/clientUtils.tsx diff --git a/desktop/app/src/utils/createSandyPluginWrapper.tsx b/desktop/flipper-ui-core/src/utils/createSandyPluginWrapper.tsx similarity index 100% rename from desktop/app/src/utils/createSandyPluginWrapper.tsx rename to desktop/flipper-ui-core/src/utils/createSandyPluginWrapper.tsx diff --git a/desktop/app/src/utils/electronModuleCache.tsx b/desktop/flipper-ui-core/src/utils/electronModuleCache.tsx similarity index 100% rename from desktop/app/src/utils/electronModuleCache.tsx rename to desktop/flipper-ui-core/src/utils/electronModuleCache.tsx diff --git a/desktop/app/src/utils/exportData.tsx b/desktop/flipper-ui-core/src/utils/exportData.tsx similarity index 100% rename from desktop/app/src/utils/exportData.tsx rename to desktop/flipper-ui-core/src/utils/exportData.tsx diff --git a/desktop/app/src/utils/fbEmployee.tsx b/desktop/flipper-ui-core/src/utils/fbEmployee.tsx similarity index 100% rename from desktop/app/src/utils/fbEmployee.tsx rename to desktop/flipper-ui-core/src/utils/fbEmployee.tsx diff --git a/desktop/app/src/utils/flipperLibImplementation.tsx b/desktop/flipper-ui-core/src/utils/flipperLibImplementation.tsx similarity index 100% rename from desktop/app/src/utils/flipperLibImplementation.tsx rename to desktop/flipper-ui-core/src/utils/flipperLibImplementation.tsx diff --git a/desktop/app/src/utils/geometry.tsx b/desktop/flipper-ui-core/src/utils/geometry.tsx similarity index 100% rename from desktop/app/src/utils/geometry.tsx rename to desktop/flipper-ui-core/src/utils/geometry.tsx diff --git a/desktop/app/src/utils/icons.d.ts b/desktop/flipper-ui-core/src/utils/icons.d.ts similarity index 100% rename from desktop/app/src/utils/icons.d.ts rename to desktop/flipper-ui-core/src/utils/icons.d.ts diff --git a/desktop/app/src/utils/icons.ts b/desktop/flipper-ui-core/src/utils/icons.ts similarity index 100% rename from desktop/app/src/utils/icons.ts rename to desktop/flipper-ui-core/src/utils/icons.ts diff --git a/desktop/app/src/utils/info.tsx b/desktop/flipper-ui-core/src/utils/info.tsx similarity index 100% rename from desktop/app/src/utils/info.tsx rename to desktop/flipper-ui-core/src/utils/info.tsx diff --git a/desktop/app/src/utils/isPluginCompatible.tsx b/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx similarity index 100% rename from desktop/app/src/utils/isPluginCompatible.tsx rename to desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx diff --git a/desktop/app/src/utils/isPluginVersionMoreRecent.tsx b/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx similarity index 100% rename from desktop/app/src/utils/isPluginVersionMoreRecent.tsx rename to desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx diff --git a/desktop/app/src/utils/getDefaultPluginsIndex.tsx b/desktop/flipper-ui-core/src/utils/isProduction.tsx similarity index 56% rename from desktop/app/src/utils/getDefaultPluginsIndex.tsx rename to desktop/flipper-ui-core/src/utils/isProduction.tsx index 63c859c40..98a238ea8 100644 --- a/desktop/app/src/utils/getDefaultPluginsIndex.tsx +++ b/desktop/flipper-ui-core/src/utils/isProduction.tsx @@ -7,8 +7,8 @@ * @format */ -export default function () { - // eslint-disable-next-line import/no-unresolved - const index = require('../defaultPlugins'); - return index.default || index; +import {getRenderHostInstance} from '../RenderHost'; + +export default function isProduction() { + return getRenderHostInstance().isProduction; } diff --git a/desktop/app/src/utils/jsonFileReduxPersistStorage.tsx b/desktop/flipper-ui-core/src/utils/jsonFileReduxPersistStorage.tsx similarity index 100% rename from desktop/app/src/utils/jsonFileReduxPersistStorage.tsx rename to desktop/flipper-ui-core/src/utils/jsonFileReduxPersistStorage.tsx diff --git a/desktop/app/src/utils/jsonTypes.tsx b/desktop/flipper-ui-core/src/utils/jsonTypes.tsx similarity index 100% rename from desktop/app/src/utils/jsonTypes.tsx rename to desktop/flipper-ui-core/src/utils/jsonTypes.tsx diff --git a/desktop/app/src/utils/launcher.tsx b/desktop/flipper-ui-core/src/utils/launcher.tsx similarity index 100% rename from desktop/app/src/utils/launcher.tsx rename to desktop/flipper-ui-core/src/utils/launcher.tsx diff --git a/desktop/app/src/utils/launcherSettingsStorage.tsx b/desktop/flipper-ui-core/src/utils/launcherSettingsStorage.tsx similarity index 100% rename from desktop/app/src/utils/launcherSettingsStorage.tsx rename to desktop/flipper-ui-core/src/utils/launcherSettingsStorage.tsx diff --git a/desktop/app/src/utils/loadDynamicPlugins.tsx b/desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx similarity index 100% rename from desktop/app/src/utils/loadDynamicPlugins.tsx rename to desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx diff --git a/desktop/app/src/utils/messageQueue.tsx b/desktop/flipper-ui-core/src/utils/messageQueue.tsx similarity index 100% rename from desktop/app/src/utils/messageQueue.tsx rename to desktop/flipper-ui-core/src/utils/messageQueue.tsx diff --git a/desktop/app/src/utils/notifications.tsx b/desktop/flipper-ui-core/src/utils/notifications.tsx similarity index 100% rename from desktop/app/src/utils/notifications.tsx rename to desktop/flipper-ui-core/src/utils/notifications.tsx diff --git a/desktop/app/src/utils/packageMetadata.tsx b/desktop/flipper-ui-core/src/utils/packageMetadata.tsx similarity index 100% rename from desktop/app/src/utils/packageMetadata.tsx rename to desktop/flipper-ui-core/src/utils/packageMetadata.tsx diff --git a/desktop/app/src/utils/pathUtils.tsx b/desktop/flipper-ui-core/src/utils/pathUtils.tsx similarity index 100% rename from desktop/app/src/utils/pathUtils.tsx rename to desktop/flipper-ui-core/src/utils/pathUtils.tsx diff --git a/desktop/app/src/utils/persistor.tsx b/desktop/flipper-ui-core/src/utils/persistor.tsx similarity index 100% rename from desktop/app/src/utils/persistor.tsx rename to desktop/flipper-ui-core/src/utils/persistor.tsx diff --git a/desktop/app/src/utils/pluginKey.tsx b/desktop/flipper-ui-core/src/utils/pluginKey.tsx similarity index 100% rename from desktop/app/src/utils/pluginKey.tsx rename to desktop/flipper-ui-core/src/utils/pluginKey.tsx diff --git a/desktop/app/src/utils/pluginStats.tsx b/desktop/flipper-ui-core/src/utils/pluginStats.tsx similarity index 100% rename from desktop/app/src/utils/pluginStats.tsx rename to desktop/flipper-ui-core/src/utils/pluginStats.tsx diff --git a/desktop/app/src/utils/pluginUtils.tsx b/desktop/flipper-ui-core/src/utils/pluginUtils.tsx similarity index 100% rename from desktop/app/src/utils/pluginUtils.tsx rename to desktop/flipper-ui-core/src/utils/pluginUtils.tsx diff --git a/desktop/app/src/utils/processConfig.tsx b/desktop/flipper-ui-core/src/utils/processConfig.tsx similarity index 100% rename from desktop/app/src/utils/processConfig.tsx rename to desktop/flipper-ui-core/src/utils/processConfig.tsx diff --git a/desktop/app/src/utils/promiseTimeout.tsx b/desktop/flipper-ui-core/src/utils/promiseTimeout.tsx similarity index 100% rename from desktop/app/src/utils/promiseTimeout.tsx rename to desktop/flipper-ui-core/src/utils/promiseTimeout.tsx diff --git a/desktop/app/src/utils/reduxDevToolsConfig.tsx b/desktop/flipper-ui-core/src/utils/reduxDevToolsConfig.tsx similarity index 100% rename from desktop/app/src/utils/reduxDevToolsConfig.tsx rename to desktop/flipper-ui-core/src/utils/reduxDevToolsConfig.tsx diff --git a/desktop/app/src/utils/reloadFlipper.tsx b/desktop/flipper-ui-core/src/utils/reloadFlipper.tsx similarity index 100% rename from desktop/app/src/utils/reloadFlipper.tsx rename to desktop/flipper-ui-core/src/utils/reloadFlipper.tsx diff --git a/desktop/app/src/utils/runHealthchecks.tsx b/desktop/flipper-ui-core/src/utils/runHealthchecks.tsx similarity index 100% rename from desktop/app/src/utils/runHealthchecks.tsx rename to desktop/flipper-ui-core/src/utils/runHealthchecks.tsx diff --git a/desktop/app/src/utils/screenshot.tsx b/desktop/flipper-ui-core/src/utils/screenshot.tsx similarity index 100% rename from desktop/app/src/utils/screenshot.tsx rename to desktop/flipper-ui-core/src/utils/screenshot.tsx diff --git a/desktop/app/src/utils/sideEffect.tsx b/desktop/flipper-ui-core/src/utils/sideEffect.tsx similarity index 100% rename from desktop/app/src/utils/sideEffect.tsx rename to desktop/flipper-ui-core/src/utils/sideEffect.tsx diff --git a/desktop/app/src/utils/testUtils.tsx b/desktop/flipper-ui-core/src/utils/testUtils.tsx similarity index 100% rename from desktop/app/src/utils/testUtils.tsx rename to desktop/flipper-ui-core/src/utils/testUtils.tsx diff --git a/desktop/app/src/utils/typeUtils.tsx b/desktop/flipper-ui-core/src/utils/typeUtils.tsx similarity index 100% rename from desktop/app/src/utils/typeUtils.tsx rename to desktop/flipper-ui-core/src/utils/typeUtils.tsx diff --git a/desktop/app/src/utils/useIsDarkMode.tsx b/desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx similarity index 100% rename from desktop/app/src/utils/useIsDarkMode.tsx rename to desktop/flipper-ui-core/src/utils/useIsDarkMode.tsx diff --git a/desktop/app/src/utils/useStore.tsx b/desktop/flipper-ui-core/src/utils/useStore.tsx similarity index 100% rename from desktop/app/src/utils/useStore.tsx rename to desktop/flipper-ui-core/src/utils/useStore.tsx diff --git a/desktop/app/src/utils/useWindowSize.tsx b/desktop/flipper-ui-core/src/utils/useWindowSize.tsx similarity index 100% rename from desktop/app/src/utils/useWindowSize.tsx rename to desktop/flipper-ui-core/src/utils/useWindowSize.tsx diff --git a/desktop/app/src/utils/versionString.tsx b/desktop/flipper-ui-core/src/utils/versionString.tsx similarity index 100% rename from desktop/app/src/utils/versionString.tsx rename to desktop/flipper-ui-core/src/utils/versionString.tsx diff --git a/desktop/app/src/utils/vscodeUtils.tsx b/desktop/flipper-ui-core/src/utils/vscodeUtils.tsx similarity index 100% rename from desktop/app/src/utils/vscodeUtils.tsx rename to desktop/flipper-ui-core/src/utils/vscodeUtils.tsx diff --git a/desktop/flipper-ui-core/tsconfig.json b/desktop/flipper-ui-core/tsconfig.json index e77f9c028..98e11fe87 100644 --- a/desktop/flipper-ui-core/tsconfig.json +++ b/desktop/flipper-ui-core/tsconfig.json @@ -2,14 +2,29 @@ "extends": "../tsconfig.base.json", "compilerOptions": { "outDir": "lib", - "rootDir": "src" + "rootDir": "src", + "esModuleInterop": true, + "emitDeclarationOnly": true }, "references": [ + { + "path": "../doctor" + }, { "path": "../flipper-common" }, { "path": "../flipper-plugin" + }, + { + "path": "../flipper-server-core" + }, + { + "path": "../plugin-lib" + }, + { + "path": "../test-utils" } - ] + ], + "exclude": ["**/node_modules/", "**/__tests__/", "**/lib/"] } diff --git a/desktop/plugins/public/databases/__tests__/DatabaseDetailSidebar.node.tsx b/desktop/plugins/public/databases/__tests__/DatabaseDetailSidebar.node.tsx index 46a0c7302..8e8210519 100644 --- a/desktop/plugins/public/databases/__tests__/DatabaseDetailSidebar.node.tsx +++ b/desktop/plugins/public/databases/__tests__/DatabaseDetailSidebar.node.tsx @@ -9,11 +9,6 @@ import {render, fireEvent} from '@testing-library/react'; import React from 'react'; -// TODO T71355623 -// eslint-disable-next-line flipper/no-relative-imports-across-packages -import {Store, createRootReducer} from '../../../../app/src/reducers'; -import configureStore from 'redux-mock-store'; -import {Provider} from 'react-redux'; import {Value} from '../TypeBasedValueRenderer'; import DatabaseDetailSidebar from '../DatabaseDetailSidebar'; @@ -45,22 +40,9 @@ const values: Array = [ {value: 'db_1_column9_value', type: 'string'}, ]; -const mockStore: Store = configureStore([])( - createRootReducer()(undefined, {type: 'INIT'}), -) as Store; - -beforeEach(() => { - mockStore.dispatch({type: 'rightSidebarAvailable', value: true}); - mockStore.dispatch({type: 'rightSidebarVisible', value: true}); -}); - test('render and try to see if it renders properly', () => { const res = render( - -
- -
-
, + , ); for (const label of labels) { @@ -82,15 +64,11 @@ test('render and try to see if it renders properly', () => { test('render edit, save, and close correctly when onSave provided', () => { const res = render( - -
- {}} - /> -
-
, + {}} + />, ); // expect only Edit to show up @@ -120,15 +98,11 @@ test('render edit, save, and close correctly when onSave provided', () => { test('editing some field after trigger Edit', async () => { const mockOnSave = jest.fn((_changes) => {}); const res = render( - -
- -
-
, + , ); fireEvent.click(res.getByText('Edit')); diff --git a/desktop/plugins/public/navigation/tsconfig.json b/desktop/plugins/public/navigation/tsconfig.json deleted file mode 100644 index c382a6a30..000000000 --- a/desktop/plugins/public/navigation/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../../tsconfig.base.json", - "compilerOptions": { - "outDir": "lib", - "rootDir": ".", - "esModuleInterop": true - } -} diff --git a/desktop/scripts/build-release.ts b/desktop/scripts/build-release.ts index 9ba47e329..3f0334c3b 100755 --- a/desktop/scripts/build-release.ts +++ b/desktop/scripts/build-release.ts @@ -34,7 +34,7 @@ import { buildLocalIconPath, getIconURLSync, Icons, -} from '../app/src/utils/icons'; +} from '../flipper-ui-core/src/utils/icons'; import isFB from './isFB'; import copyPackageWithDependencies from './copy-package-with-dependencies'; import {staticDir, distDir} from './paths'; diff --git a/desktop/scripts/jest-setup.js b/desktop/scripts/jest-setup.js index 7d8ff848f..4147431a5 100644 --- a/desktop/scripts/jest-setup.js +++ b/desktop/scripts/jest-setup.js @@ -29,4 +29,6 @@ Date.prototype.toLocaleString = function (_locale, ...args) { require('immer').enableMapSet(); -require('../app/src/fb-stubs/Logger').init(undefined, {isTest: true}); +require('../flipper-ui-core/src/fb-stubs/Logger').init(undefined, { + isTest: true, +}); diff --git a/desktop/tsconfig.base.json b/desktop/tsconfig.base.json index 65312683b..56edabf6c 100644 --- a/desktop/tsconfig.base.json +++ b/desktop/tsconfig.base.json @@ -20,7 +20,7 @@ "allowJs": true, "rootDir": ".", "paths": { - "flipper": ["./app/src"], + "flipper": ["./app/src/"], "flipper-plugin": ["./flipper-plugin/src"], "eslint-plugin-flipper": ["./eslint-plugin-flipper/src"], "flipper-server-core": ["./flipper-server-core/src"],