Initialise flipper-ui-browser with socket connection

Summary:
This diff sets up the socket connection between flipper-browser and flipper-server, and verifies that the initial UI initialisation work (e.g. `get-config` command works). The initial RenderHost is initialised as well based on the config and browser APIs.

Note that flipper-ui-core itself isn't started yet, as that has still a plethora of node imports, so Metro will correctly refuse to bundle

Not in this diff
* remove Node usage from flipper-ui-core
* implement all RenderHost APIs

Reviewed By: aigoncharov

Differential Revision: D32644074

fbshipit-source-id: 2c8065caf0191771a3867b69a431ca50eeb7a5a3
This commit is contained in:
Michel Weststrate
2021-12-08 04:25:28 -08:00
committed by Facebook GitHub Bot
parent 29a907c733
commit 5d45bd741b
20 changed files with 570 additions and 45 deletions

View File

@@ -153,6 +153,14 @@ export class FlipperServerImpl implements FlipperServer {
this.events.off(event, callback);
}
onAny(callback: (event: keyof FlipperServerEvents, payload: any) => void) {
this.events.on('*', callback);
}
offAny(callback: (event: keyof FlipperServerEvents, payload: any) => void) {
this.events.off('*', callback);
}
/**
* @internal
*/
@@ -161,6 +169,7 @@ export class FlipperServerImpl implements FlipperServer {
payload: FlipperServerEvents[Event],
): void {
this.events.emit(event, payload);
this.events.emit('*', event, payload);
}
exec<Event extends keyof FlipperServerCommands>(