From 1778ce4f46cc7e6bd2c15501b615ec44645c3308 Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Mon, 11 Jul 2022 07:04:55 -0700 Subject: [PATCH] HeadlessPluginInitialiser install plugin Summary: Allow adding plugins after initialisation. Effectively: - Load the plugin creates the SandyPluginDefinition - Add the definition to the existing loaded plugins Reviewed By: passy Differential Revision: D37749811 fbshipit-source-id: ea834b9e6105cf605fc906a794022f61807ce1d8 --- .../src/HeadlessPluginInitializer.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/desktop/flipper-server-companion/src/HeadlessPluginInitializer.tsx b/desktop/flipper-server-companion/src/HeadlessPluginInitializer.tsx index 1d32d2acc..5aaa9d300 100644 --- a/desktop/flipper-server-companion/src/HeadlessPluginInitializer.tsx +++ b/desktop/flipper-server-companion/src/HeadlessPluginInitializer.tsx @@ -49,4 +49,15 @@ export class HeadlessPluginInitializer extends AbstractPluginInitializer { .filter(isSandyPlugin) .filter((plugin) => plugin.headless); } + + async installPlugin( + plugin: InstalledPluginDetails, + ): Promise<_SandyPluginDefinition | undefined> { + const loaded = await this.loadPlugins([plugin]); + this._initialPlugins.push(...loaded); + + if (loaded.length > 0) { + return loaded.at(0); + } + } }