Skip to content

Instantly share code, notes, and snippets.

View frandroid's full-sized avatar

François Villeneuve frandroid

View GitHub Profile
@Jamie-BitFlight
Jamie-BitFlight / esbuild-add-dynamic-require-shim.mjs
Created October 19, 2023 13:43
'Dynamic require of "os" is not supported' or 'Dynamic require of "fs" is not supported' etc - can esbuild load dynamic imports? Yes!
const ESM_REQUIRE_SHIM = `
await(async()=>{let{dirname:e}=await import("path"),{fileURLToPath:i}=await import("url");if(typeof globalThis.__filename>"u"&&(globalThis.__filename=i(import.meta.url)),typeof globalThis.__dirname>"u"&&(globalThis.__dirname=e(globalThis.__filename)),typeof globalThis.require>"u"){let{default:a}=await import("module");globalThis.require=a.createRequire(import.meta.url)}})();
`;