From 201b8fe9e1b62205c797d693414a1ad369cbfecc Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Wed, 15 Jan 2025 09:42:56 +0000 Subject: [PATCH] fix(test runner): esm loader in old Node versions Arguments of the `register()` call have changed over time, in particular the `parentURL` was not a part of options. We do not need to pass it, because the first argument `specifier` is already an absolute file url, so we do not need a base url. Verified this fix works on Node versions 20.11, 20.6, 18.17 and 22.13. --- packages/playwright/src/common/esmLoaderHost.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/playwright/src/common/esmLoaderHost.ts b/packages/playwright/src/common/esmLoaderHost.ts index 9b5b4f9b8c..9daa71107c 100644 --- a/packages/playwright/src/common/esmLoaderHost.ts +++ b/packages/playwright/src/common/esmLoaderHost.ts @@ -30,7 +30,6 @@ export function registerESMLoader() { const { port1, port2 } = new MessageChannel(); // register will wait until the loader is initialized. require('node:module').register(url.pathToFileURL(require.resolve('../transform/esmLoader')), { - parentURL: url.pathToFileURL(__filename), data: { port: port2 }, transferList: [port2], });