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
This commit is contained in:
Michel Weststrate
2021-12-08 04:25:28 -08:00
committed by Facebook GitHub Bot
parent 2bf8ae2364
commit e7f841b6d2
46 changed files with 72 additions and 72 deletions

View File

@@ -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",

View File

@@ -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';

View File

@@ -45,3 +45,4 @@ export * from './user-session';
export * from './GK';
export * from './clientUtils';
export * from './settings';
export * from './PluginDetails';

View File

@@ -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;

View File

@@ -4,9 +4,5 @@
"outDir": "lib",
"rootDir": "src"
},
"references": [
{
"path": "../plugin-lib"
}
]
"references": []
}

View File

@@ -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';

View File

@@ -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,

View File

@@ -5,9 +5,6 @@
"rootDir": "src"
},
"references": [
{
"path": "../plugin-lib"
},
{
"path": "../flipper-common"
}

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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,

View File

@@ -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';

View File

@@ -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';

View File

@@ -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,

View File

@@ -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<any, BaseAction, any> {

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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 {

View File

@@ -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';

View File

@@ -7,7 +7,7 @@
* @format
*/
import {ConcretePluginDetails} from 'flipper-plugin-lib';
import {ConcretePluginDetails} from 'flipper-common';
import semver from 'semver';
import isPluginCompatible from './isPluginCompatible';

View File

@@ -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).

View File

@@ -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';

View File

@@ -10,7 +10,7 @@
import {
ActivatablePluginDetails,
DownloadablePluginDetails,
} from 'flipper-plugin-lib';
} from 'flipper-common';
export function createMockDownloadablePluginDetails(
params: {

View File

@@ -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",

View File

@@ -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<string, string[]>(recursiveReaddirImport);

View File

@@ -12,6 +12,9 @@
{
"path": "../plugin-lib"
},
{
"path": "../flipper-common"
},
{
"path": "../test-utils"
}

View File

@@ -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",

View File

@@ -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(() => {

View File

@@ -13,7 +13,7 @@ import {
DownloadablePluginDetails,
InstalledPluginDetails,
PluginDetails,
} from './PluginDetails';
} from 'flipper-common';
import {pluginCacheDir} from './pluginPaths';
export async function readPluginPackageJson(dir: string): Promise<any> {

View File

@@ -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;

View File

@@ -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';

View File

@@ -7,7 +7,6 @@
* @format
*/
export * from './PluginDetails';
export * from './getPluginDetails';
export * from './pluginInstaller';
export * from './getUpdatablePlugins';

View File

@@ -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,

View File

@@ -3,5 +3,10 @@
"compilerOptions": {
"outDir": "lib",
"rootDir": "src"
},
"references": [
{
"path": "../flipper-common"
}
]
}

View File

@@ -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,