From e7f841b6d2aca80a19fcdfbdcd4e7bd4e3485683 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Wed, 8 Dec 2021 04:25:28 -0800 Subject: [PATCH] Move flipper plugin from flipper-lib types to flipper-common Summary: Moved all types related to plugin descriptions from plugin-lib (which handles downloads and such) to flipper-common. The goal of that is to remove all plugin-lib usage from ui-core to server-core, so that the UI itself doesn't do any file operations anymore related to plugins. That will be done in next diffs, this just moves types but no code. Reviewed By: nikoant, aigoncharov Differential Revision: D32665064 fbshipit-source-id: 86d908e7264569b0229b09290a891171876c8e00 --- desktop/flipper-common/package.json | 4 +--- .../src/PluginDetails.ts | 9 ++++++++- desktop/flipper-common/src/index.tsx | 1 + desktop/flipper-common/src/server-types.tsx | 10 ++-------- desktop/flipper-common/tsconfig.json | 6 +----- .../src/plugin/SandyPluginDefinition.tsx | 2 +- desktop/flipper-plugin/src/test-utils/test-utils.tsx | 2 +- desktop/flipper-plugin/tsconfig.json | 3 --- .../src/devices/android/AndroidDevice.tsx | 2 +- .../src/devices/android/KaiOSDevice.tsx | 2 +- .../flipper-server-core/src/devices/ios/IOSBridge.tsx | 2 +- desktop/flipper-ui-core/src/PluginContainer.tsx | 3 +-- desktop/flipper-ui-core/src/chrome/PluginActions.tsx | 5 +---- .../src/chrome/plugin-manager/PluginDebugger.tsx | 2 +- .../src/chrome/plugin-manager/PluginInstaller.tsx | 7 +++++-- .../plugin-manager/__tests__/PluginInstaller.node.tsx | 2 +- desktop/flipper-ui-core/src/devices/BaseDevice.tsx | 2 +- .../src/dispatcher/__tests__/plugins.node.tsx | 2 +- .../flipper-ui-core/src/dispatcher/pluginDownloads.tsx | 6 ++++-- .../flipper-ui-core/src/dispatcher/pluginManager.tsx | 3 +-- desktop/flipper-ui-core/src/dispatcher/plugins.tsx | 2 +- desktop/flipper-ui-core/src/plugin.tsx | 3 +-- .../src/reducers/__tests__/plugins.node.tsx | 2 +- .../flipper-ui-core/src/reducers/pluginDownloads.tsx | 6 ++---- desktop/flipper-ui-core/src/reducers/pluginManager.tsx | 2 +- desktop/flipper-ui-core/src/reducers/plugins.tsx | 2 +- .../src/sandy-chrome/appinspect/PluginList.tsx | 4 ++-- desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx | 2 +- desktop/flipper-ui-core/src/test-utils/TestDevice.tsx | 2 +- .../flipper-ui-core/src/utils/isPluginCompatible.tsx | 2 +- .../src/utils/isPluginVersionMoreRecent.tsx | 2 +- .../flipper-ui-core/src/utils/loadDynamicPlugins.tsx | 2 +- desktop/flipper-ui-core/src/utils/pluginUtils.tsx | 2 +- desktop/flipper-ui-core/src/utils/testUtils.tsx | 2 +- desktop/package.json | 1 + desktop/pkg/src/commands/init.ts | 4 +++- desktop/pkg/tsconfig.json | 3 +++ desktop/plugin-lib/package.json | 1 + .../src/__tests__/getUpdatablePlugins.node.ts | 2 +- desktop/plugin-lib/src/getPluginDetails.ts | 2 +- desktop/plugin-lib/src/getSourcePlugins.ts | 2 +- desktop/plugin-lib/src/getUpdatablePlugins.ts | 2 +- desktop/plugin-lib/src/index.ts | 1 - desktop/plugin-lib/src/pluginInstaller.ts | 2 +- desktop/plugin-lib/tsconfig.json | 7 ++++++- desktop/scripts/build-utils.ts | 7 +++---- 46 files changed, 72 insertions(+), 72 deletions(-) rename desktop/{plugin-lib => flipper-common}/src/PluginDetails.ts (95%) diff --git a/desktop/flipper-common/package.json b/desktop/flipper-common/package.json index 14b06d37c..3f11162e0 100644 --- a/desktop/flipper-common/package.json +++ b/desktop/flipper-common/package.json @@ -9,9 +9,7 @@ "license": "MIT", "bugs": "https://github.com/facebook/flipper/issues", "dependencies": {}, - "devDependencies": { - "flipper-plugin-lib": "0.0.0" - }, + "devDependencies": {}, "peerDependencies": {}, "scripts": { "reset": "rimraf lib *.tsbuildinfo", diff --git a/desktop/plugin-lib/src/PluginDetails.ts b/desktop/flipper-common/src/PluginDetails.ts similarity index 95% rename from desktop/plugin-lib/src/PluginDetails.ts rename to desktop/flipper-common/src/PluginDetails.ts index 6336aa26f..7b33bcac3 100644 --- a/desktop/plugin-lib/src/PluginDetails.ts +++ b/desktop/flipper-common/src/PluginDetails.ts @@ -49,7 +49,14 @@ export interface SupportedApp { readonly type?: DeviceType; } -export type OS = 'iOS' | 'Android' | 'Metro'; +export type OS = + | 'iOS' + | 'Android' + | 'Metro' + | 'Windows' + | 'MacOS' + | 'Browser' + | 'Linux'; export type DeviceType = 'emulator' | 'physical' | 'dummy'; diff --git a/desktop/flipper-common/src/index.tsx b/desktop/flipper-common/src/index.tsx index ee783bb70..df939b8bc 100644 --- a/desktop/flipper-common/src/index.tsx +++ b/desktop/flipper-common/src/index.tsx @@ -45,3 +45,4 @@ export * from './user-session'; export * from './GK'; export * from './clientUtils'; export * from './settings'; +export * from './PluginDetails'; diff --git a/desktop/flipper-common/src/server-types.tsx b/desktop/flipper-common/src/server-types.tsx index 7a86bc953..e76a30f59 100644 --- a/desktop/flipper-common/src/server-types.tsx +++ b/desktop/flipper-common/src/server-types.tsx @@ -7,11 +7,7 @@ * @format */ -import { - DeviceSpec, - DeviceType as PluginDeviceType, - OS as PluginOS, -} from 'flipper-plugin-lib'; +import {DeviceSpec, DeviceType, OS as PluginOS} from './PluginDetails'; import {LauncherSettings, ProcessConfig, Settings} from './settings'; // In the future, this file would deserve it's own package, as it doesn't really relate to plugins. @@ -24,9 +20,7 @@ export type FlipperServerState = | 'error' | 'closed'; -export type DeviceType = PluginDeviceType; - -export type DeviceOS = PluginOS | 'Windows' | 'MacOS' | 'Browser' | 'Linux'; +export type DeviceOS = PluginOS; export type DeviceDescription = { readonly os: DeviceOS; diff --git a/desktop/flipper-common/tsconfig.json b/desktop/flipper-common/tsconfig.json index 7d199ae13..410e2890d 100644 --- a/desktop/flipper-common/tsconfig.json +++ b/desktop/flipper-common/tsconfig.json @@ -4,9 +4,5 @@ "outDir": "lib", "rootDir": "src" }, - "references": [ - { - "path": "../plugin-lib" - } - ] + "references": [] } diff --git a/desktop/flipper-plugin/src/plugin/SandyPluginDefinition.tsx b/desktop/flipper-plugin/src/plugin/SandyPluginDefinition.tsx index 3485c4bad..e9520ccad 100644 --- a/desktop/flipper-plugin/src/plugin/SandyPluginDefinition.tsx +++ b/desktop/flipper-plugin/src/plugin/SandyPluginDefinition.tsx @@ -7,7 +7,7 @@ * @format */ -import {ActivatablePluginDetails} from 'flipper-plugin-lib'; +import {ActivatablePluginDetails} from 'flipper-common'; import {PluginFactory, FlipperPluginComponent} from './Plugin'; import {DevicePluginPredicate, DevicePluginFactory} from './DevicePlugin'; diff --git a/desktop/flipper-plugin/src/test-utils/test-utils.tsx b/desktop/flipper-plugin/src/test-utils/test-utils.tsx index 8896c785c..d9ed57f29 100644 --- a/desktop/flipper-plugin/src/test-utils/test-utils.tsx +++ b/desktop/flipper-plugin/src/test-utils/test-utils.tsx @@ -14,7 +14,7 @@ import { act as testingLibAct, } from '@testing-library/react'; import {queries} from '@testing-library/dom'; -import {BundledPluginDetails, InstalledPluginDetails} from 'flipper-plugin-lib'; +import {BundledPluginDetails, InstalledPluginDetails} from 'flipper-common'; import { RealFlipperClient, diff --git a/desktop/flipper-plugin/tsconfig.json b/desktop/flipper-plugin/tsconfig.json index d8aa49601..4bb952b9f 100644 --- a/desktop/flipper-plugin/tsconfig.json +++ b/desktop/flipper-plugin/tsconfig.json @@ -5,9 +5,6 @@ "rootDir": "src" }, "references": [ - { - "path": "../plugin-lib" - }, { "path": "../flipper-common" } diff --git a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx index d54a57e67..0ba47ea5c 100644 --- a/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx +++ b/desktop/flipper-server-core/src/devices/android/AndroidDevice.tsx @@ -14,7 +14,7 @@ import type {DeviceLogLevel, DeviceType} from 'flipper-common'; import which from 'which'; import {spawn} from 'child_process'; import {dirname, join} from 'path'; -import {DeviceSpec} from 'flipper-plugin-lib'; +import {DeviceSpec} from 'flipper-common'; import {ServerDevice} from '../ServerDevice'; import {FlipperServerImpl} from '../../FlipperServerImpl'; diff --git a/desktop/flipper-server-core/src/devices/android/KaiOSDevice.tsx b/desktop/flipper-server-core/src/devices/android/KaiOSDevice.tsx index 8c4241889..aa6576dc2 100644 --- a/desktop/flipper-server-core/src/devices/android/KaiOSDevice.tsx +++ b/desktop/flipper-server-core/src/devices/android/KaiOSDevice.tsx @@ -7,7 +7,7 @@ * @format */ -import {DeviceType} from 'flipper-plugin-lib'; +import {DeviceType} from 'flipper-common'; import AndroidDevice from './AndroidDevice'; import {Client as ADBClient} from 'adbkit'; import {FlipperServerImpl} from '../../FlipperServerImpl'; diff --git a/desktop/flipper-server-core/src/devices/ios/IOSBridge.tsx b/desktop/flipper-server-core/src/devices/ios/IOSBridge.tsx index af1e8320a..1cc0c80a3 100644 --- a/desktop/flipper-server-core/src/devices/ios/IOSBridge.tsx +++ b/desktop/flipper-server-core/src/devices/ios/IOSBridge.tsx @@ -9,7 +9,7 @@ import fs from 'fs-extra'; import child_process from 'child_process'; -import {DeviceType} from 'flipper-plugin-lib'; +import {DeviceType} from 'flipper-common'; import {v1 as uuid} from 'uuid'; import path from 'path'; import {exec} from 'promisify-child-process'; diff --git a/desktop/flipper-ui-core/src/PluginContainer.tsx b/desktop/flipper-ui-core/src/PluginContainer.tsx index 8b68a4b05..f71033b55 100644 --- a/desktop/flipper-ui-core/src/PluginContainer.tsx +++ b/desktop/flipper-ui-core/src/PluginContainer.tsx @@ -41,11 +41,10 @@ import { } from './utils/pluginUtils'; import {ContentContainer} from './sandy-chrome/ContentContainer'; import {Alert, Typography} from 'antd'; -import {InstalledPluginDetails} from 'flipper-plugin-lib'; import semver from 'semver'; import {loadPlugin} from './reducers/pluginManager'; import {produce} from 'immer'; -import {reportUsage} from 'flipper-common'; +import {reportUsage, InstalledPluginDetails} from 'flipper-common'; import {PluginInfo} from './chrome/fb-stubs/PluginInfo'; import {getActiveClient, getActivePlugin} from './selectors/connections'; import {AnyAction} from 'redux'; diff --git a/desktop/flipper-ui-core/src/chrome/PluginActions.tsx b/desktop/flipper-ui-core/src/chrome/PluginActions.tsx index 2e5bb7712..3c7661551 100644 --- a/desktop/flipper-ui-core/src/chrome/PluginActions.tsx +++ b/desktop/flipper-ui-core/src/chrome/PluginActions.tsx @@ -13,10 +13,7 @@ import { PlusOutlined, } from '@ant-design/icons'; import {Alert, Button} from 'antd'; -import { - BundledPluginDetails, - DownloadablePluginDetails, -} from 'flipper-plugin-lib'; +import {BundledPluginDetails, DownloadablePluginDetails} from 'flipper-common'; import React, {useMemo} from 'react'; import {useCallback} from 'react'; import {useDispatch, useSelector} from 'react-redux'; diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx index 3b539661e..4d5cc9a05 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginDebugger.tsx @@ -7,7 +7,7 @@ * @format */ -import {PluginDetails} from 'flipper-plugin-lib'; +import {PluginDetails} from 'flipper-common'; import {Layout} from 'flipper-plugin'; import Client from '../../Client'; import {TableBodyRow} from '../../ui/components/table/types'; diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx index 0cb0aeb61..cfed76ef6 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/PluginInstaller.tsx @@ -10,7 +10,11 @@ import {Layout, theme} from 'flipper-plugin'; import {LoadingIndicator, TableRows, ManagedTable, Glyph} from '../../ui'; import React, {useCallback, useState, useEffect} from 'react'; -import {reportPlatformFailures, reportUsage} from 'flipper-common'; +import { + reportPlatformFailures, + reportUsage, + InstalledPluginDetails, +} from 'flipper-common'; import reloadFlipper from '../../utils/reloadFlipper'; import {registerInstalledPlugins} from '../../reducers/plugins'; import { @@ -19,7 +23,6 @@ import { getUpdatablePlugins, removePlugin, UpdatablePluginDetails, - InstalledPluginDetails, } from 'flipper-plugin-lib'; import {installPluginFromNpm} from 'flipper-plugin-lib'; import {State as AppState} from '../../reducers'; diff --git a/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx index 2d41b827f..5595ba2d9 100644 --- a/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx +++ b/desktop/flipper-ui-core/src/chrome/plugin-manager/__tests__/PluginInstaller.node.tsx @@ -14,7 +14,7 @@ import React from 'react'; import {render, waitFor} from '@testing-library/react'; import configureStore from 'redux-mock-store'; import {Provider} from 'react-redux'; -import type {PluginDetails} from 'flipper-plugin-lib'; +import type {PluginDetails} from 'flipper-common'; import {getUpdatablePlugins, UpdatablePluginDetails} from 'flipper-plugin-lib'; import {Store} from '../../../reducers'; import {mocked} from 'ts-jest/utils'; diff --git a/desktop/flipper-ui-core/src/devices/BaseDevice.tsx b/desktop/flipper-ui-core/src/devices/BaseDevice.tsx index c659b1d84..f2d42fc32 100644 --- a/desktop/flipper-ui-core/src/devices/BaseDevice.tsx +++ b/desktop/flipper-ui-core/src/devices/BaseDevice.tsx @@ -24,7 +24,7 @@ import { DeviceDescription, FlipperServer, } from 'flipper-common'; -import {DeviceSpec, PluginDetails} from 'flipper-plugin-lib'; +import {DeviceSpec, PluginDetails} from 'flipper-common'; import {getPluginKey} from '../utils/pluginKey'; import {Base64} from 'js-base64'; diff --git a/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx index 74ed87930..5eceaac02 100644 --- a/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/__tests__/plugins.node.tsx @@ -16,7 +16,7 @@ import dispatcher, { createRequirePluginFunction, getLatestCompatibleVersionOfEachPlugin, } from '../plugins'; -import {BundledPluginDetails, InstalledPluginDetails} from 'flipper-plugin-lib'; +import {BundledPluginDetails, InstalledPluginDetails} from 'flipper-common'; import path from 'path'; import {createRootReducer, State} from '../../reducers/index'; import {getLogger} from 'flipper-common'; diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx index 1d5b47e89..2a0eb5186 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginDownloads.tsx @@ -8,12 +8,14 @@ */ import { - DownloadablePluginDetails, getInstalledPluginDetails, getPluginVersionInstallationDir, - InstalledPluginDetails, installPluginFromFile, } from 'flipper-plugin-lib'; +import { + InstalledPluginDetails, + DownloadablePluginDetails, +} from 'flipper-common'; import {State, Store} from '../reducers/index'; import { PluginDownloadStatus, diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx index 002e71bb9..697b9b9a6 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx @@ -8,7 +8,7 @@ */ import type {Store} from '../reducers/index'; -import type {Logger} from 'flipper-common'; +import type {Logger, ActivatablePluginDetails} from 'flipper-common'; import { LoadPluginActionPayload, UninstallPluginActionPayload, @@ -21,7 +21,6 @@ import { getInstalledPlugins, cleanupOldInstalledPluginVersions, removePlugins, - ActivatablePluginDetails, } from 'flipper-plugin-lib'; import {sideEffect} from '../utils/sideEffect'; import {requirePlugin} from './plugins'; diff --git a/desktop/flipper-ui-core/src/dispatcher/plugins.tsx b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx index 12caf76b1..2b1b7133e 100644 --- a/desktop/flipper-ui-core/src/dispatcher/plugins.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/plugins.tsx @@ -32,7 +32,7 @@ import { ActivatablePluginDetails, BundledPluginDetails, ConcretePluginDetails, -} from 'flipper-plugin-lib'; +} from 'flipper-common'; import {tryCatchReportPluginFailures, reportUsage} from 'flipper-common'; import * as FlipperPluginSDK from 'flipper-plugin'; import {_SandyPluginDefinition} from 'flipper-plugin'; diff --git a/desktop/flipper-ui-core/src/plugin.tsx b/desktop/flipper-ui-core/src/plugin.tsx index 023ab9df8..7ffc34269 100644 --- a/desktop/flipper-ui-core/src/plugin.tsx +++ b/desktop/flipper-ui-core/src/plugin.tsx @@ -7,14 +7,13 @@ * @format */ -import {Logger, Settings} from 'flipper-common'; +import {Logger, Settings, ActivatablePluginDetails} from 'flipper-common'; import Client from './Client'; import {Component} from 'react'; import BaseDevice from './devices/BaseDevice'; import {StaticView} from './reducers/connections'; import {State as ReduxState} from './reducers'; import {DEFAULT_MAX_QUEUE_SIZE} from './reducers/pluginMessageQueue'; -import {ActivatablePluginDetails} from 'flipper-plugin-lib'; import { Notification, Idler, diff --git a/desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx b/desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx index b5721783b..e33397bb1 100644 --- a/desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx +++ b/desktop/flipper-ui-core/src/reducers/__tests__/plugins.node.tsx @@ -14,7 +14,7 @@ import { registerInstalledPlugins, } from '../plugins'; import {FlipperPlugin, FlipperDevicePlugin, BaseAction} from '../../plugin'; -import {InstalledPluginDetails} from 'flipper-plugin-lib'; +import {InstalledPluginDetails} from 'flipper-common'; import {wrapSandy} from '../../test-utils/createMockFlipperWithPlugin'; const testPluginOrig = class extends FlipperPlugin { diff --git a/desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx b/desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx index 83e32adee..d593ddae6 100644 --- a/desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx +++ b/desktop/flipper-ui-core/src/reducers/pluginDownloads.tsx @@ -7,10 +7,8 @@ * @format */ -import { - DownloadablePluginDetails, - getPluginVersionInstallationDir, -} from 'flipper-plugin-lib'; +import {DownloadablePluginDetails} from 'flipper-common'; +import {getPluginVersionInstallationDir} from 'flipper-plugin-lib'; import {Actions} from '.'; import produce from 'immer'; import {Canceler} from 'axios'; diff --git a/desktop/flipper-ui-core/src/reducers/pluginManager.tsx b/desktop/flipper-ui-core/src/reducers/pluginManager.tsx index 440748f1d..cadb6b789 100644 --- a/desktop/flipper-ui-core/src/reducers/pluginManager.tsx +++ b/desktop/flipper-ui-core/src/reducers/pluginManager.tsx @@ -8,7 +8,7 @@ */ import type {Actions} from './'; -import type {ActivatablePluginDetails} from 'flipper-plugin-lib'; +import type {ActivatablePluginDetails} from 'flipper-common'; import type {PluginDefinition} from '../plugin'; import {produce} from 'immer'; diff --git a/desktop/flipper-ui-core/src/reducers/plugins.tsx b/desktop/flipper-ui-core/src/reducers/plugins.tsx index 235689d7b..973f9dc9c 100644 --- a/desktop/flipper-ui-core/src/reducers/plugins.tsx +++ b/desktop/flipper-ui-core/src/reducers/plugins.tsx @@ -17,7 +17,7 @@ import type { ActivatablePluginDetails, BundledPluginDetails, InstalledPluginDetails, -} from 'flipper-plugin-lib'; +} from 'flipper-common'; import type {Actions} from '.'; import produce from 'immer'; import {isDevicePluginDefinition} from '../utils/pluginUtils'; diff --git a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx index 5e8fb72eb..b16efe347 100644 --- a/desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx +++ b/desktop/flipper-ui-core/src/sandy-chrome/appinspect/PluginList.tsx @@ -24,7 +24,7 @@ import {getPluginTitle, getPluginTooltip} from '../../utils/pluginUtils'; import {selectPlugin} from '../../reducers/connections'; import Client from '../../Client'; import BaseDevice from '../../devices/BaseDevice'; -import {DownloadablePluginDetails} from 'flipper-plugin-lib'; +import {DownloadablePluginDetails} from 'flipper-common'; import { DownloadablePluginState, PluginDownloadStatus, @@ -35,7 +35,7 @@ import { switchPlugin, uninstallPlugin, } from '../../reducers/pluginManager'; -import {BundledPluginDetails} from 'flipper-plugin-lib'; +import {BundledPluginDetails} from 'flipper-common'; import {reportUsage} from 'flipper-common'; import ConnectivityStatus from './fb-stubs/ConnectivityStatus'; import {useSelector} from 'react-redux'; diff --git a/desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx b/desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx index ebe6632f5..3dd2a5188 100644 --- a/desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx +++ b/desktop/flipper-ui-core/src/test-utils/MockFlipper.tsx @@ -23,7 +23,7 @@ import {registerPlugins} from '../reducers/plugins'; import {getLogger} from 'flipper-common'; import {initializeFlipperLibImplementation} from '../utils/flipperLibImplementation'; import pluginManager from '../dispatcher/pluginManager'; -import {PluginDetails} from 'flipper-plugin-lib'; +import {PluginDetails} from 'flipper-common'; import ArchivedDevice from '../devices/ArchivedDevice'; import {ClientQuery, DeviceOS} from 'flipper-common'; import {TestDevice} from './TestDevice'; diff --git a/desktop/flipper-ui-core/src/test-utils/TestDevice.tsx b/desktop/flipper-ui-core/src/test-utils/TestDevice.tsx index 6b9c3be58..ce4b39f7f 100644 --- a/desktop/flipper-ui-core/src/test-utils/TestDevice.tsx +++ b/desktop/flipper-ui-core/src/test-utils/TestDevice.tsx @@ -8,7 +8,7 @@ */ import {DeviceOS, DeviceType} from 'flipper-plugin'; -import {DeviceSpec} from 'flipper-plugin-lib'; +import {DeviceSpec} from 'flipper-common'; import BaseDevice from '../devices/BaseDevice'; export class TestDevice extends BaseDevice { diff --git a/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx b/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx index 32012d6cf..4deba65d5 100644 --- a/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx +++ b/desktop/flipper-ui-core/src/utils/isPluginCompatible.tsx @@ -7,7 +7,7 @@ * @format */ -import {PluginDetails} from 'flipper-plugin-lib'; +import {PluginDetails} from 'flipper-common'; import semver from 'semver'; import {getRenderHostInstance} from '../RenderHost'; import {getAppVersion} from './info'; diff --git a/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx b/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx index 4cbeaf1c7..8db62d13a 100644 --- a/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx +++ b/desktop/flipper-ui-core/src/utils/isPluginVersionMoreRecent.tsx @@ -7,7 +7,7 @@ * @format */ -import {ConcretePluginDetails} from 'flipper-plugin-lib'; +import {ConcretePluginDetails} from 'flipper-common'; import semver from 'semver'; import isPluginCompatible from './isPluginCompatible'; diff --git a/desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx b/desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx index 3cec38033..8a0b21026 100644 --- a/desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx +++ b/desktop/flipper-ui-core/src/utils/loadDynamicPlugins.tsx @@ -12,10 +12,10 @@ import fs from 'fs-extra'; import { getSourcePlugins, moveInstalledPluginsFromLegacyDir, - InstalledPluginDetails, getAllInstalledPluginVersions, getAllInstalledPluginsInDir, } from 'flipper-plugin-lib'; +import {InstalledPluginDetails} from 'flipper-common'; import {getStaticPath} from '../utils/pathUtils'; // Load "dynamic" plugins, e.g. those which are either pre-installed (default), installed or loaded from sources (for development). diff --git a/desktop/flipper-ui-core/src/utils/pluginUtils.tsx b/desktop/flipper-ui-core/src/utils/pluginUtils.tsx index 7346eb8e6..5c5db07dc 100644 --- a/desktop/flipper-ui-core/src/utils/pluginUtils.tsx +++ b/desktop/flipper-ui-core/src/utils/pluginUtils.tsx @@ -17,7 +17,7 @@ import type { BundledPluginDetails, DownloadablePluginDetails, PluginDetails, -} from 'flipper-plugin-lib'; +} from 'flipper-common'; import {getLatestCompatibleVersionOfEachPlugin} from '../dispatcher/plugins'; import {getPluginKey} from './pluginKey'; diff --git a/desktop/flipper-ui-core/src/utils/testUtils.tsx b/desktop/flipper-ui-core/src/utils/testUtils.tsx index 7381d6dc0..0da55982a 100644 --- a/desktop/flipper-ui-core/src/utils/testUtils.tsx +++ b/desktop/flipper-ui-core/src/utils/testUtils.tsx @@ -10,7 +10,7 @@ import { ActivatablePluginDetails, DownloadablePluginDetails, -} from 'flipper-plugin-lib'; +} from 'flipper-common'; export function createMockDownloadablePluginDetails( params: { diff --git a/desktop/package.json b/desktop/package.json index dbe778838..69a927869 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -154,6 +154,7 @@ "express": "^4.15.2", "fb-watchman": "^2.0.1", "flipper-babel-transformer": "0.0.0", + "flipper-common": "0.0.0", "flipper-pkg-lib": "0.0.0", "flipper-plugin-lib": "0.0.0", "fs-extra": "^9.0.0", diff --git a/desktop/pkg/src/commands/init.ts b/desktop/pkg/src/commands/init.ts index 11abdbc18..173cc3c70 100644 --- a/desktop/pkg/src/commands/init.ts +++ b/desktop/pkg/src/commands/init.ts @@ -16,7 +16,9 @@ import recursiveReaddirImport from 'recursive-readdir'; import {promisify} from 'util'; import inquirer from 'inquirer'; import {homedir} from 'os'; -import {PluginType} from 'flipper-plugin-lib'; +// only type imported +// eslint-disable-next-line +import type {PluginType} from 'flipper-common'; const recursiveReaddir = promisify(recursiveReaddirImport); diff --git a/desktop/pkg/tsconfig.json b/desktop/pkg/tsconfig.json index aa6acfa62..a50253dc6 100644 --- a/desktop/pkg/tsconfig.json +++ b/desktop/pkg/tsconfig.json @@ -12,6 +12,9 @@ { "path": "../plugin-lib" }, + { + "path": "../flipper-common" + }, { "path": "../test-utils" } diff --git a/desktop/plugin-lib/package.json b/desktop/plugin-lib/package.json index 7e4ece2bd..e5f3c2ff6 100644 --- a/desktop/plugin-lib/package.json +++ b/desktop/plugin-lib/package.json @@ -14,6 +14,7 @@ "decompress-targz": "^4.1.1", "decompress-unzip": "^4.0.1", "expand-tilde": "^2.0.2", + "flipper-common": "^0.0.0", "fs-extra": "^10.0.0", "live-plugin-manager": "^0.17.0", "npm-api": "^1.0.1", diff --git a/desktop/plugin-lib/src/__tests__/getUpdatablePlugins.node.ts b/desktop/plugin-lib/src/__tests__/getUpdatablePlugins.node.ts index 0ee7c793c..f8f7c1151 100644 --- a/desktop/plugin-lib/src/__tests__/getUpdatablePlugins.node.ts +++ b/desktop/plugin-lib/src/__tests__/getUpdatablePlugins.node.ts @@ -18,7 +18,7 @@ import { import {getInstalledPlugins} from '../pluginInstaller'; import {mocked} from 'ts-jest/utils'; import type {Package} from 'npm-api'; -import {InstalledPluginDetails} from '../PluginDetails'; +import {InstalledPluginDetails} from 'flipper-common'; jest.mock('npm-api', () => { return jest.fn().mockImplementation(() => { diff --git a/desktop/plugin-lib/src/getPluginDetails.ts b/desktop/plugin-lib/src/getPluginDetails.ts index daff975dd..20d5a99bf 100644 --- a/desktop/plugin-lib/src/getPluginDetails.ts +++ b/desktop/plugin-lib/src/getPluginDetails.ts @@ -13,7 +13,7 @@ import { DownloadablePluginDetails, InstalledPluginDetails, PluginDetails, -} from './PluginDetails'; +} from 'flipper-common'; import {pluginCacheDir} from './pluginPaths'; export async function readPluginPackageJson(dir: string): Promise { diff --git a/desktop/plugin-lib/src/getSourcePlugins.ts b/desktop/plugin-lib/src/getSourcePlugins.ts index 96eed99f8..2f9a452a2 100644 --- a/desktop/plugin-lib/src/getSourcePlugins.ts +++ b/desktop/plugin-lib/src/getSourcePlugins.ts @@ -15,7 +15,7 @@ import pmap from 'p-map'; import pfilter from 'p-filter'; import {satisfies} from 'semver'; import {getInstalledPluginDetails, isPluginDir} from './getPluginDetails'; -import {InstalledPluginDetails} from './PluginDetails'; +import {InstalledPluginDetails} from 'flipper-common'; const flipperVersion = require('../package.json').version; diff --git a/desktop/plugin-lib/src/getUpdatablePlugins.ts b/desktop/plugin-lib/src/getUpdatablePlugins.ts index 2e19fbbd1..9b0123dca 100644 --- a/desktop/plugin-lib/src/getUpdatablePlugins.ts +++ b/desktop/plugin-lib/src/getUpdatablePlugins.ts @@ -7,7 +7,7 @@ * @format */ -import {InstalledPluginDetails} from './PluginDetails'; +import {InstalledPluginDetails} from 'flipper-common'; import {getInstalledPlugins} from './pluginInstaller'; import semver from 'semver'; import {getNpmHostedPlugins, NpmPackageDescriptor} from './getNpmHostedPlugins'; diff --git a/desktop/plugin-lib/src/index.ts b/desktop/plugin-lib/src/index.ts index 80d17e336..a4f5d0017 100644 --- a/desktop/plugin-lib/src/index.ts +++ b/desktop/plugin-lib/src/index.ts @@ -7,7 +7,6 @@ * @format */ -export * from './PluginDetails'; export * from './getPluginDetails'; export * from './pluginInstaller'; export * from './getUpdatablePlugins'; diff --git a/desktop/plugin-lib/src/pluginInstaller.ts b/desktop/plugin-lib/src/pluginInstaller.ts index 8b76c1b11..c977b6b61 100644 --- a/desktop/plugin-lib/src/pluginInstaller.ts +++ b/desktop/plugin-lib/src/pluginInstaller.ts @@ -18,7 +18,7 @@ import decompress from 'decompress'; import decompressTargz from 'decompress-targz'; import decompressUnzip from 'decompress-unzip'; import tmp from 'tmp'; -import {InstalledPluginDetails} from './PluginDetails'; +import {InstalledPluginDetails} from 'flipper-common'; import {getInstalledPluginDetails, isPluginDir} from './getPluginDetails'; import { getPluginVersionInstallationDir, diff --git a/desktop/plugin-lib/tsconfig.json b/desktop/plugin-lib/tsconfig.json index 22dce4bac..4bb952b9f 100644 --- a/desktop/plugin-lib/tsconfig.json +++ b/desktop/plugin-lib/tsconfig.json @@ -3,5 +3,10 @@ "compilerOptions": { "outDir": "lib", "rootDir": "src" - } + }, + "references": [ + { + "path": "../flipper-common" + } + ] } diff --git a/desktop/scripts/build-utils.ts b/desktop/scripts/build-utils.ts index 28a3fd43e..d6e1a816d 100644 --- a/desktop/scripts/build-utils.ts +++ b/desktop/scripts/build-utils.ts @@ -18,12 +18,11 @@ import { stripSourceMapComment, } from 'flipper-pkg-lib'; import getAppWatchFolders from './get-app-watch-folders'; -import { - getSourcePlugins, - getPluginSourceFolders, +import {getSourcePlugins, getPluginSourceFolders} from 'flipper-plugin-lib'; +import type { BundledPluginDetails, InstalledPluginDetails, -} from 'flipper-plugin-lib'; +} from 'flipper-common'; import { appDir, staticDir,