From b025cda8615a517075d4104e717751489443bc81 Mon Sep 17 00:00:00 2001 From: Andrey Goncharov Date: Wed, 26 Oct 2022 05:00:00 -0700 Subject: [PATCH] Stop doing eval to load server add-ons Summary: Closes https://github.com/facebook/flipper/issues/4203 CHANGELOG: Stop doing eval to load server add-ons On Windows `details.path` contains backslashes. When we interpolate it, it loses one of the backslashes and subsequently `require` fails to load it. If we do not interpolate it (by ditching eval) it has the double backslash and work just fine. Reviewed By: lblasa Differential Revision: D40715523 fbshipit-source-id: 50c52f2a53690b585a32d3009f1692cf0b0d8428 --- desktop/flipper-server-core/src/plugins/loadServerAddOn.tsx | 3 +-- desktop/flipper-server-core/tsconfig.json | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/desktop/flipper-server-core/src/plugins/loadServerAddOn.tsx b/desktop/flipper-server-core/src/plugins/loadServerAddOn.tsx index 2ded150a9..8d031eff2 100644 --- a/desktop/flipper-server-core/src/plugins/loadServerAddOn.tsx +++ b/desktop/flipper-server-core/src/plugins/loadServerAddOn.tsx @@ -35,7 +35,6 @@ export const loadServerAddOn = ( `loadPlugin -> server add-on path is empty plugin ${pluginName}.`, ); - // eslint-disable-next-line no-eval - const serverAddOnModule = eval(`require("${details.path}")`); + const serverAddOnModule = electronRequire(details.path); return serverAddOnModule; }; diff --git a/desktop/flipper-server-core/tsconfig.json b/desktop/flipper-server-core/tsconfig.json index fd3b43574..ceed7bc5f 100644 --- a/desktop/flipper-server-core/tsconfig.json +++ b/desktop/flipper-server-core/tsconfig.json @@ -8,7 +8,8 @@ "../types/JSONStream", "../types/adbkit", "../types/openssl-wrapper", - "../types/adbkit-logcat" + "../types/adbkit-logcat", + "../types/flipperGlobals" ] }, "references": [