Allow plugins to use css

Summary:
Flipper plugins fail when importing css from third-party dependencies. This diff tries to fix that.

Effectively, the plugin can import the css and export it when is bundled.

When we load the plugin, we check if there's a css file for it. If there's one, we return it and try to use it.

Reviewed By: aigoncharov

Differential Revision: D40758178

fbshipit-source-id: e53afffcc481504905d5eeb1aea1f9114ee2a86b
This commit is contained in:
Lorenzo Blasa
2022-10-27 22:50:30 -07:00
committed by Facebook GitHub Bot
parent ff282630be
commit 587f428cf8
15 changed files with 94 additions and 30 deletions

View File

@@ -176,6 +176,10 @@ export interface DeviceDebugData {
data: (DeviceDebugFile | DeviceDebugCommand)[];
}
export interface PluginSource {
js: string;
css?: string;
}
export type FlipperServerCommands = {
'get-server-state': () => Promise<{
state: FlipperServerState;
@@ -275,7 +279,7 @@ export type FlipperServerCommands = {
'plugin-start-download': (
plugin: DownloadablePluginDetails,
) => Promise<InstalledPluginDetails>;
'plugin-source': (path: string) => Promise<string>;
'plugin-source': (path: string) => Promise<PluginSource>;
'plugins-install-from-marketplace': (
name: string,
) => Promise<InstalledPluginDetails>;