From e5eb4730a68b234714bee5c4adf46213b0acff23 Mon Sep 17 00:00:00 2001 From: Luke Edwards Date: Sat, 9 Oct 2021 14:19:03 -0700 Subject: [PATCH] fix(require): ensure no infinite `require` loop --- src/require.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/require.ts b/src/require.ts index 5d14426..bc931db 100644 --- a/src/require.ts +++ b/src/require.ts @@ -17,11 +17,11 @@ let uconf = env.file && require(env.file); let config: Config = (tsm as TSM).$finalize(env, uconf); declare const $$req: NodeJS.Require; -const tsrequire = 'var $$req=require;require=(' + function () { +const tsrequire = 'var $$req=require("module").createRequire(__filename);require=(' + function () { let { existsSync } = $$req('fs'); let { URL, pathToFileURL } = $$req('url'); - return new Proxy($$req, { + return new Proxy(require, { // NOTE: only here if source is TS apply(req, ctx, args: [id: string]) { let [ident] = args;