Device plugin management (7/n): Show warnings for the device plugins defined in the legacy format
Summary: Show warnings for the device plugins defined in the legacy format and suggest to migrate them Reviewed By: mweststrate Differential Revision: D26459321 fbshipit-source-id: 4e45cd58a63a4ff9903ecaf12e6f9ba4a43e71e1
This commit is contained in:
committed by
Facebook GitHub Bot
parent
c4489f9c2a
commit
4390ff44ce
@@ -46,6 +46,7 @@ import * as antdesign_icons from '@ant-design/icons';
|
||||
|
||||
// eslint-disable-next-line import/no-unresolved
|
||||
import getDefaultPluginsIndex from '../utils/getDefaultPluginsIndex';
|
||||
import {isDevicePluginDefinition} from '../utils/pluginUtils';
|
||||
|
||||
let defaultPluginsIndex: any = null;
|
||||
|
||||
@@ -233,7 +234,17 @@ export const createRequirePluginFunction = (
|
||||
) => {
|
||||
return (pluginDetails: ActivatablePluginDetails): PluginDefinition | null => {
|
||||
try {
|
||||
return requirePlugin(pluginDetails, reqFn);
|
||||
const pluginDefinition = requirePlugin(pluginDetails, reqFn);
|
||||
if (
|
||||
pluginDefinition &&
|
||||
isDevicePluginDefinition(pluginDefinition) &&
|
||||
pluginDefinition.details.pluginType !== 'device'
|
||||
) {
|
||||
console.warn(
|
||||
`Package ${pluginDefinition.details.name} contains the device plugin "${pluginDefinition.title}" defined in a wrong format. Specify "pluginType" and "supportedDevices" properties and remove exported function "supportsDevice". See details at https://fbflipper.com/docs/extending/desktop-plugin-structure#creating-a-device-plugin.`,
|
||||
);
|
||||
}
|
||||
return pluginDefinition;
|
||||
} catch (e) {
|
||||
failedPlugins.push([pluginDetails, e.message]);
|
||||
console.error(`Plugin ${pluginDetails.id} failed to load`, e);
|
||||
|
||||
Reference in New Issue
Block a user