Make sure plugin loading works in NPX builds

Summary: Make sure non-bundled plugins load correctly . Note that sourcemaps don't load yet

Reviewed By: nikoant

Differential Revision: D33278639

fbshipit-source-id: 9951286ec6df65f33149e4687261a43e6c072c31
This commit is contained in:
Michel Weststrate
2021-12-24 02:15:25 -08:00
committed by Facebook GitHub Bot
parent 86b6d2c99d
commit b1d960e4c4
3 changed files with 14 additions and 16 deletions

View File

@@ -61,8 +61,11 @@ export function initializeRenderHost(
async requirePlugin(path) {
// TODO: use `await import(path)`?
const source = await flipperServer.exec('plugin-source', path);
// eslint-disable-next-line no-eval
return eval(source);
// eslint-disable-next-line no-new-func
const cjsLoader = new Function('module', source);
const theModule = {exports: {}};
cjsLoader(theModule);
return theModule.exports;
},
getStaticResourceUrl(path): string {
// the 'static' folder is mounted as static middleware in Express at the root