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:
committed by
Facebook GitHub Bot
parent
94df830dfb
commit
642a3ebf81
@@ -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',
|
||||
|
||||
@@ -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}`,
|
||||
|
||||
Reference in New Issue
Block a user