Remove fs.readFile from some plugins

Summary:
1. Remove fs.readFile from some plugins
2. Add "importFile" to FlipperLib and RenderHost

See D32492149 for context

Followups:

1. Decapitate Stella's sendToPhone
2. Decapitate crash reporter
3. Figure out how to approach navigation
4. Figure out how to approach FileSelector

Reviewed By: mweststrate

Differential Revision: D32496775

fbshipit-source-id: e150aa56a2c2c1eb12a4c03c801f76cd76485a9d
This commit is contained in:
Andrey Goncharov
2021-11-18 09:13:48 -08:00
committed by Facebook GitHub Bot
parent 2c7bc0a952
commit a279b9bc43
8 changed files with 71 additions and 28 deletions

View File

@@ -7,11 +7,9 @@
* @format
*/
import fs from 'fs';
import {Atom, DataTableManager, getFlipperLib} from 'flipper-plugin';
import {createContext} from 'react';
import {Header, Request} from '../types';
import {message} from 'antd';
export type Route = {
requestUrl: string;
@@ -136,35 +134,29 @@ export function createNetworkManager(
},
importRoutes() {
getFlipperLib()
.showOpenDialog?.({
filter: {extensions: ['json'], name: 'Flipper Route Files'},
.importFile({
extensions: ['.json'],
})
.then((filePath) => {
if (filePath) {
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
message.error('Unable to import file');
return;
.then((res) => {
if (res) {
const importedRoutes = JSON.parse(res.data);
importedRoutes?.forEach((importedRoute: Route) => {
if (importedRoute != null) {
const newNextRouteId = nextRouteId.get();
routes.update((draft) => {
draft[newNextRouteId.toString()] = {
requestUrl: importedRoute.requestUrl,
requestMethod: importedRoute.requestMethod,
responseData: importedRoute.responseData as string,
responseHeaders: importedRoute.responseHeaders,
responseStatus: importedRoute.responseStatus,
enabled: true,
};
});
nextRouteId.set(newNextRouteId + 1);
}
const importedRoutes = JSON.parse(data);
importedRoutes?.forEach((importedRoute: Route) => {
if (importedRoute != null) {
const newNextRouteId = nextRouteId.get();
routes.update((draft) => {
draft[newNextRouteId.toString()] = {
requestUrl: importedRoute.requestUrl,
requestMethod: importedRoute.requestMethod,
responseData: importedRoute.responseData as string,
responseHeaders: importedRoute.responseHeaders,
responseStatus: importedRoute.responseStatus,
enabled: true,
};
});
nextRouteId.set(newNextRouteId + 1);
}
});
informClientMockChange(routes.get());
});
informClientMockChange(routes.get());
}
})
.catch((e) =>