Basic desktop plugin

Summary:
Scaffolded desktop UI for UI debugger
I changed getroot from an rpc call to an event sent on connect. The root should never change as its the application object.

Reviewed By: lblasa

Differential Revision: D38866008

fbshipit-source-id: ca0f1908bedb643238f11ed796922e3359619167
This commit is contained in:
Luke De Feo
2022-08-22 03:02:53 -07:00
committed by Facebook GitHub Bot
parent 6adf1d666f
commit f1e80b18b1
8 changed files with 87 additions and 29 deletions

View File

@@ -0,0 +1,19 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import React from 'react';
import {plugin} from '../index';
import {usePlugin, useValue} from 'flipper-plugin';
export function Component() {
const instance = usePlugin(plugin);
const rootId = useValue(instance.rootId);
return <div>{rootId}</div>;
}

View File

@@ -0,0 +1 @@
This is an experimental plugin in development. Everything will change and comes with no warranty / support guarantees

View File

@@ -0,0 +1,22 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
import {PluginClient, createState} from 'flipper-plugin';
type Events = {
init: {rootId: string};
};
export function plugin(client: PluginClient<Events>) {
const rootId = createState<string | undefined>(undefined);
client.onMessage('init', (root) => rootId.set(root.rootId));
return {rootId};
}
export {Component} from './components/main';

View File

@@ -0,0 +1,29 @@
{
"$schema": "https://fbflipper.com/schemas/plugin-package/v2.json",
"name": "flipper-plugin-ui-debugger",
"id": "ui-debugger",
"pluginType": "client",
"version": "0.0.0",
"flipperBundlerEntry": "index.tsx",
"main": "dist/bundle.js",
"license": "MIT",
"title": "UI Debugger (alpha)",
"icon": "nav-magnifying-glass",
"keywords": [
"flipper-plugin"
],
"bugs": {
"url": "https://github.com/facebook/flipper/issues"
},
"peerDependencies": {
"flipper-plugin": "*",
"antd": "*",
"react": "*",
"react-dom": "*",
"@emotion/styled": "*",
"@ant-design/icons": "*",
"@types/react": "*",
"@types/react-dom": "*",
"@types/node": "*"
}
}