Remove default plugin entrypoints for hot-reloading

Summary: As we stopped bundling plugins in D39276249, we no longer need the entry points for the bundled plugins (these entry points are always going to be empty)

Reviewed By: lblasa

Differential Revision: D39307565

fbshipit-source-id: 43751fe31c8bd962677c226b27cfe52093d3f2d4
This commit is contained in:
Andrey Goncharov
2022-09-15 10:02:19 -07:00
committed by Facebook GitHub Bot
parent 94df830dfb
commit 642a3ebf81
16 changed files with 55 additions and 164 deletions

View File

@@ -42,9 +42,6 @@ const sampleInstalledPluginDetails: InstalledPluginDetails = {
isActivatable: true,
};
// bind to empty default plugin index so we try fetching from flipper-server every time
const requirePlugin = requirePluginInternal.bind({}, {});
beforeEach(() => {
loadDynamicPluginsMock = getRenderHostInstance().flipperServer.exec =
jest.fn();
@@ -58,7 +55,7 @@ test('dispatcher dispatches REGISTER_PLUGINS', async () => {
});
test('requirePluginInternal returns null for invalid requires', async () => {
const requireFn = createRequirePluginFunction(requirePlugin)([]);
const requireFn = createRequirePluginFunction(requirePluginInternal)([]);
const plugin = await requireFn({
...sampleInstalledPluginDetails,
name: 'pluginID',
@@ -72,7 +69,7 @@ test('requirePluginInternal returns null for invalid requires', async () => {
test('requirePluginInternal loads plugin', async () => {
const name = 'pluginID';
const requireFn = createRequirePluginFunction(requirePlugin)([]);
const requireFn = createRequirePluginFunction(requirePluginInternal)([]);
const plugin = await requireFn({
...sampleInstalledPluginDetails,
name,
@@ -94,7 +91,7 @@ test('requirePluginInternal loads plugin', async () => {
test('requirePluginInternal loads valid Sandy plugin', async () => {
const name = 'pluginID';
const requireFn = createRequirePluginFunction(requirePlugin)([]);
const requireFn = createRequirePluginFunction(requirePluginInternal)([]);
const plugin = (await requireFn({
...sampleInstalledPluginDetails,
name,
@@ -132,7 +129,9 @@ test('requirePluginInternal loads valid Sandy plugin', async () => {
test('requirePluginInternal errors on invalid Sandy plugin', async () => {
const name = 'pluginID';
const failedPlugins: any[] = [];
const requireFn = createRequirePluginFunction(requirePlugin)(failedPlugins);
const requireFn = createRequirePluginFunction(requirePluginInternal)(
failedPlugins,
);
await requireFn({
...sampleInstalledPluginDetails,
name,
@@ -149,7 +148,7 @@ test('requirePluginInternal errors on invalid Sandy plugin', async () => {
test('requirePluginInternal loads valid Sandy Device plugin', async () => {
const name = 'pluginID';
const requireFn = createRequirePluginFunction(requirePlugin)([]);
const requireFn = createRequirePluginFunction(requirePluginInternal)([]);
const plugin = (await requireFn({
...sampleInstalledPluginDetails,
pluginType: 'device',

View File

@@ -8,7 +8,11 @@
*/
import type {Store} from '../reducers/index';
import {Logger, MarketplacePluginDetails} from 'flipper-common';
import {
InstalledPluginDetails,
Logger,
MarketplacePluginDetails,
} from 'flipper-common';
import {PluginDefinition} from '../plugin';
import React from 'react';
import ReactDOM from 'react-dom';
@@ -83,7 +87,7 @@ class UIPluginInitializer extends AbstractPluginInitializer {
}
public requirePluginImpl(pluginDetails: ActivatablePluginDetails) {
return requirePluginInternal(this.defaultPluginsIndex, pluginDetails);
return requirePluginInternal(pluginDetails);
}
protected loadMarketplacePlugins() {
@@ -123,12 +127,11 @@ export const requirePlugin = (pluginDetails: ActivatablePluginDetails) =>
)(pluginDetails);
export const requirePluginInternal = async (
defaultPluginsIndex: any,
pluginDetails: ActivatablePluginDetails,
): Promise<PluginDefinition> => {
let plugin = pluginDetails.isBundled
? defaultPluginsIndex[pluginDetails.name].source
: await getRenderHostInstance().requirePlugin(pluginDetails.entry);
let plugin = await getRenderHostInstance().requirePlugin(
(pluginDetails as InstalledPluginDetails).entry,
);
if (!plugin) {
throw new Error(
`Failed to obtain plugin source for: ${pluginDetails.name}`,