support user defined device plugins

Summary:
* move CPU and Logs plugin to plugins directory, set up package.json for them
* adjust plugins/index.js to expose device and client plugins in the same place, adding two new exports

Reviewed By: danielbuechele

Differential Revision: D10247606

fbshipit-source-id: 347bf8b3f9629987ad29d1d2ed025e0c88b9c967
This commit is contained in:
Alex Langenfeld
2018-10-10 18:28:23 -07:00
committed by Facebook Github Bot
parent 7527636a38
commit f3d2e0983e
15 changed files with 129 additions and 48 deletions

View File

@@ -5,11 +5,7 @@
* @format
*/
import type {
FlipperPlugin,
FlipperDevicePlugin,
FlipperBasePlugin,
} from '../plugin.js';
import {FlipperBasePlugin} from '../plugin.js';
import type BaseDevice from '../devices/BaseDevice.js';
import type Client from '../Client.js';
import type {PluginNotification} from '../reducers/notifications';
@@ -24,13 +20,19 @@ import {
Glyph,
styled,
GK,
FlipperPlugin,
FlipperDevicePlugin,
} from 'flipper';
import React from 'react';
import {devicePlugins} from '../device-plugins/index.js';
import plugins from '../plugins/index.js';
import {devicePlugins, clientPlugins} from '../plugins/index.js';
import notificationPlugin from '../device-plugins/notifications/index.js';
import {selectPlugin} from '../reducers/connections.js';
import {connect} from 'react-redux';
if (GK.get('flipper_notifications')) {
devicePlugins.push(notificationPlugin);
}
const ListItem = styled('div')(({active}) => ({
paddingLeft: 10,
display: 'flex',
@@ -253,7 +255,7 @@ class MainSidebar extends Component<MainSidebarProps> {
.map((client: Client) => (
<React.Fragment key={client.id}>
<SidebarHeader>{client.query.app}</SidebarHeader>
{plugins
{clientPlugins
.filter(
(p: Class<FlipperPlugin<>>) =>
client.plugins.indexOf(p.id) > -1,