diff --git a/headless/index.js b/headless/index.js index bba890267..0d2a63d46 100644 --- a/headless/index.js +++ b/headless/index.js @@ -12,7 +12,7 @@ import yargs from 'yargs'; import dispatcher from '../src/dispatcher/index.tsx'; import reducers from '../src/reducers/index.tsx'; import {init as initLogger} from '../src/fb-stubs/Logger.tsx'; -import {exportStore, pluginsClassMap} from '../src/utils/exportData.js'; +import {exportStore, pluginsClassMap} from '../src/utils/exportData.tsx'; import { exportMetricsWithoutTrace, exportMetricsFromTrace, diff --git a/src/MenuBar.js b/src/MenuBar.js index 51281d722..12be08993 100644 --- a/src/MenuBar.js +++ b/src/MenuBar.js @@ -6,7 +6,7 @@ */ import type {FlipperPlugin, FlipperDevicePlugin} from './plugin.tsx'; -import {showOpenDialog} from './utils/exportData.js'; +import {showOpenDialog} from './utils/exportData.tsx'; import { setExportDataToFileActiveSheet, setActiveSheet, diff --git a/src/chrome/DevicesButton.js b/src/chrome/DevicesButton.js index 7f14d5256..1c02a45d5 100644 --- a/src/chrome/DevicesButton.js +++ b/src/chrome/DevicesButton.js @@ -12,7 +12,7 @@ import {dirname} from 'path'; import {selectDevice, preferDevice} from '../reducers/connections.tsx'; import {default as which} from 'which'; import {promisify} from 'util'; -import {showOpenDialog} from '../utils/exportData'; +import {showOpenDialog} from '../utils/exportData.tsx'; import PropTypes from 'prop-types'; import type BaseDevice from '../devices/BaseDevice.tsx'; diff --git a/src/chrome/ShareSheet.js b/src/chrome/ShareSheet.js index cad2630bb..a419abd5e 100644 --- a/src/chrome/ShareSheet.js +++ b/src/chrome/ShareSheet.js @@ -24,7 +24,7 @@ import { import type {Logger} from '../fb-interfaces/Logger.js'; import {Idler} from '../utils/Idler'; import {shareFlipperData} from '../fb-stubs/user.tsx'; -import {exportStore, EXPORT_FLIPPER_TRACE_EVENT} from '../utils/exportData.js'; +import {exportStore, EXPORT_FLIPPER_TRACE_EVENT} from '../utils/exportData.tsx'; import PropTypes from 'prop-types'; import {clipboard} from 'electron'; import ShareSheetErrorList from './ShareSheetErrorList.js'; diff --git a/src/chrome/ShareSheetExportFile.js b/src/chrome/ShareSheetExportFile.js index b24f9f6f8..85ca7cb03 100644 --- a/src/chrome/ShareSheetExportFile.js +++ b/src/chrome/ShareSheetExportFile.js @@ -28,7 +28,7 @@ import {Idler} from '../utils/Idler'; import { exportStoreToFile, EXPORT_FLIPPER_TRACE_EVENT, -} from '../utils/exportData.js'; +} from '../utils/exportData.tsx'; import PropTypes from 'prop-types'; import ShareSheetErrorList from './ShareSheetErrorList.js'; diff --git a/src/utils/__tests__/exportData.electron.js b/src/utils/__tests__/exportData.electron.js index e86acb422..840efd857 100644 --- a/src/utils/__tests__/exportData.electron.js +++ b/src/utils/__tests__/exportData.electron.js @@ -7,7 +7,7 @@ import {default as BaseDevice} from '../../devices/BaseDevice.tsx'; import {default as ArchivedDevice} from '../../devices/ArchivedDevice.tsx'; -import {processStore} from '../exportData'; +import {processStore} from '../exportData.tsx'; import {FlipperDevicePlugin} from '../../plugin.tsx'; import type {Notification} from '../../plugin.tsx'; import type {ClientExport} from '../../Client.tsx'; diff --git a/src/utils/exportData.js b/src/utils/exportData.tsx similarity index 83% rename from src/utils/exportData.js rename to src/utils/exportData.tsx index 9a335563d..94ce6fd16 100644 --- a/src/utils/exportData.js +++ b/src/utils/exportData.tsx @@ -4,18 +4,18 @@ * LICENSE file in the root directory of this source tree. * @format */ -import type {Store, MiddlewareAPI} from '../reducers.tsx'; -import {getInstance as getLogger} from '../fb-stubs/Logger.tsx'; -import type {DeviceExport} from '../devices/BaseDevice.tsx'; -import type {State as PluginStates} from '../reducers/pluginStates.tsx'; -import type {PluginNotification} from '../reducers/notifications.tsx'; -import type {ClientExport} from '../Client.tsx'; -import type {State as PluginStatesState} from '../reducers/pluginStates.tsx'; -import {pluginKey} from '../reducers/pluginStates.tsx'; -import {FlipperDevicePlugin, FlipperPlugin, callClient} from '../plugin.tsx'; -import {default as BaseDevice} from '../devices/BaseDevice.tsx'; -import {default as Client} from '../Client.tsx'; -import {default as ArchivedDevice} from '../devices/ArchivedDevice.tsx'; +import {getInstance as getLogger} from '../fb-stubs/Logger'; +import {Store, MiddlewareAPI} from '../reducers'; +import {DeviceExport} from '../devices/BaseDevice'; +import {State as PluginStates} from '../reducers/pluginStates'; +import {PluginNotification} from '../reducers/notifications'; +import {ClientExport} from '../Client.js'; +import {State as PluginStatesState} from '../reducers/pluginStates'; +import {pluginKey} from '../reducers/pluginStates'; +import {FlipperDevicePlugin, FlipperPlugin, callClient} from '../plugin'; +import {default as BaseDevice} from '../devices/BaseDevice'; +import {default as ArchivedDevice} from '../devices/ArchivedDevice'; +import {default as Client} from '../Client'; import fs from 'fs'; import uuid from 'uuid'; import {remote} from 'electron'; @@ -23,47 +23,47 @@ import {serialize, deserialize} from './serialization'; import {readCurrentRevision} from './packageMetadata.js'; import {tryCatchReportPlatformFailures} from './metrics'; import {promisify} from 'util'; -import promiseTimeout from './promiseTimeout.tsx'; +import promiseTimeout from './promiseTimeout'; import {Idler} from './Idler'; export const IMPORT_FLIPPER_TRACE_EVENT = 'import-flipper-trace'; export const EXPORT_FLIPPER_TRACE_EVENT = 'export-flipper-trace'; -export type ExportType = {| - fileVersion: string, - flipperReleaseRevision: ?string, - clients: Array, - device: ?DeviceExport, +export type ExportType = { + fileVersion: string; + flipperReleaseRevision: string | null; + clients: Array; + device: DeviceExport | null; store: { - pluginStates: PluginStates, - activeNotifications: Array, - }, -|}; + pluginStates: PluginStates; + activeNotifications: Array; + }; +}; -type ProcessPluginStatesOptions = {| - clients: Array, - serial: string, - allPluginStates: PluginStatesState, - devicePlugins: Map>>, - selectedPlugins: Array, - statusUpdate?: (msg: string) => void, -|}; +type ProcessPluginStatesOptions = { + clients: Array; + serial: string; + allPluginStates: PluginStatesState; + devicePlugins: Map; + selectedPlugins: Array; + statusUpdate?: (msg: string) => void; +}; type ProcessNotificationStatesOptions = { - clients: Array, - serial: string, - allActiveNotifications: Array, - devicePlugins: Map>>, - statusUpdate?: (msg: string) => void, + clients: Array; + serial: string; + allActiveNotifications: Array; + devicePlugins: Map; + statusUpdate?: (msg: string) => void; }; type AddSaltToDeviceSerialOptions = { - salt: string, - device: BaseDevice, - clients: Array, - pluginStates: PluginStatesState, - pluginNotification: Array, - selectedPlugins: Array, - statusUpdate?: (msg: string) => void, + salt: string; + device: BaseDevice; + clients: Array; + pluginStates: PluginStatesState; + pluginNotification: Array; + selectedPlugins: Array; + statusUpdate?: (msg: string) => void; }; export function processClients( @@ -81,10 +81,10 @@ export function processClients( export function pluginsClassMap( plugins: PluginStates, -): Map | FlipperPlugin<>>> { +): Map { const pluginsMap: Map< string, - Class | FlipperPlugin<>>, + typeof FlipperDevicePlugin | typeof FlipperPlugin > = new Map([]); plugins.clientPlugins.forEach((val, key) => { pluginsMap.set(key, val); @@ -216,7 +216,7 @@ const addSaltToDeviceSerial = async ( } return {...notif, client: notif.client.replace(serial, newSerial)}; }); - const revision: ?string = await readCurrentRevision(); + const revision: string | null = await readCurrentRevision(); return { fileVersion: remote.app.getVersion(), flipperReleaseRevision: revision, @@ -229,20 +229,20 @@ const addSaltToDeviceSerial = async ( }; }; -type ProcessStoreOptions = {| - activeNotifications: Array, - device: ?BaseDevice, - pluginStates: PluginStatesState, - clients: Array, - devicePlugins: Map>>, - salt: string, - selectedPlugins: Array, - statusUpdate?: (msg: string) => void, -|}; +type ProcessStoreOptions = { + activeNotifications: Array; + device: BaseDevice | null; + pluginStates: PluginStatesState; + clients: Array; + devicePlugins: Map; + salt: string; + selectedPlugins: Array; + statusUpdate?: (msg: string) => void; +}; export const processStore = async ( options: ProcessStoreOptions, -): Promise => { +): Promise => { const { activeNotifications, device, @@ -289,10 +289,10 @@ export const processStore = async ( export async function fetchMetadata( pluginStates: PluginStatesState, - pluginsMap: Map | FlipperPlugin<>>>, + pluginsMap: Map, store: MiddlewareAPI, statusUpdate?: (msg: string) => void, -): Promise<{pluginStates: PluginStatesState, errorArray: Array}> { +): Promise<{pluginStates: PluginStatesState; errorArray: Array}> { const newPluginState = {...pluginStates}; const errorArray: Array = []; const clients = store.getState().connections.clients; @@ -311,9 +311,10 @@ export async function fetchMetadata( ? client.plugins.filter(plugin => selectedPlugins.includes(plugin)) : client.plugins; for (const plugin of selectedFilteredPlugins) { - const pluginClass: ?Class< - FlipperDevicePlugin<> | FlipperPlugin<>, - > = plugin ? pluginsMap.get(plugin) : null; + const pluginClass: + | typeof FlipperDevicePlugin + | typeof FlipperPlugin + | null = plugin ? pluginsMap.get(plugin) : null; const exportState = pluginClass ? pluginClass.exportPersistedState : null; if (exportState) { const key = pluginKey(client.id, plugin); @@ -339,7 +340,7 @@ export async function fetchMetadata( export async function getStoreExport( store: MiddlewareAPI, statusUpdate?: (msg: string) => void, -): Promise<{exportData: ?ExportType, errorArray: Array}> { +): Promise<{exportData: ExportType | null; errorArray: Array}> { const state = store.getState(); const {clients} = state.connections; const {pluginStates} = state; @@ -353,7 +354,7 @@ export async function getStoreExport( const pluginsMap: Map< string, - Class | FlipperPlugin<>>, + typeof FlipperDevicePlugin | typeof FlipperPlugin > = new Map([]); plugins.clientPlugins.forEach((val, key) => { pluginsMap.set(key, val); @@ -390,7 +391,7 @@ export function exportStore( store: MiddlewareAPI, idler?: Idler, statusUpdate?: (msg: string) => void, -): Promise<{serializedString: string, errorArray: Array}> { +): Promise<{serializedString: string; errorArray: Array}> { getLogger().track('usage', EXPORT_FLIPPER_TRACE_EVENT); return new Promise(async (resolve, reject) => { try { diff --git a/src/utils/exportMetrics.js b/src/utils/exportMetrics.js index cb0a8b6b8..8b9ea6d0b 100644 --- a/src/utils/exportMetrics.js +++ b/src/utils/exportMetrics.js @@ -9,8 +9,8 @@ import {serialize} from './serialization'; import type {State as PluginStatesState} from '../reducers/pluginStates.tsx'; import type {Store} from '../reducers/index.tsx'; import fs from 'fs'; -import type {ExportType} from './exportData'; -import {fetchMetadata, pluginsClassMap} from './exportData'; +import type {ExportType} from './exportData.tsx'; +import {fetchMetadata, pluginsClassMap} from './exportData.tsx'; import {deserializeObject} from './serialization'; export type MetricType = {[metricName: string]: number}; diff --git a/src/utils/pluginUtils.tsx b/src/utils/pluginUtils.tsx index a0cc4fbcc..2f00c32eb 100644 --- a/src/utils/pluginUtils.tsx +++ b/src/utils/pluginUtils.tsx @@ -7,7 +7,7 @@ import {FlipperDevicePlugin, FlipperPlugin} from '../plugin'; import BaseDevice from '../devices/BaseDevice'; import {State as PluginStatesState} from '../reducers/pluginStates'; -import {pluginsClassMap} from './exportData.js'; +import {pluginsClassMap} from './exportData'; import {State as PluginsState} from '../reducers/plugins'; import {PluginDefinition} from '../dispatcher/plugins';