diff --git a/esm.mjs b/esm.mjs index d5139c1aa..e2c41d3b6 100644 --- a/esm.mjs +++ b/esm.mjs @@ -1,5 +1,6 @@ import { fileURLToPath } from 'url'; import { createRequire } from 'module'; +import { versionGteLt } from './dist/util.js'; const require = createRequire(fileURLToPath(import.meta.url)); /** @type {import('./dist/esm')} */ @@ -7,7 +8,11 @@ const esm = require('./dist/esm'); export const { resolve, load, getFormat, transformSource } = esm.registerAndCreateEsmHooks(); // Affordance for node 20, where load() happens in an isolated thread +const offThreadLoader = versionGteLt(process.versions.node, '20.0.0'); export const globalPreload = () => { + if (!offThreadLoader) { + return ''; + } const self = fileURLToPath(import.meta.url); return ` const { createRequire } = getBuiltin('module');