From 3edf27d15c42936536df1494b68f95fa7815d348 Mon Sep 17 00:00:00 2001 From: Chengzhong Wu Date: Tue, 23 Dec 2025 10:02:37 -0500 Subject: [PATCH] test: asserts that import.meta.resolve invokes sync loader hooks --- .../test-esm-import-meta-resolve-hooks.mjs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/es-module/test-esm-import-meta-resolve-hooks.mjs diff --git a/test/es-module/test-esm-import-meta-resolve-hooks.mjs b/test/es-module/test-esm-import-meta-resolve-hooks.mjs new file mode 100644 index 00000000000000..8d68546b87f62e --- /dev/null +++ b/test/es-module/test-esm-import-meta-resolve-hooks.mjs @@ -0,0 +1,21 @@ +// Flags: --experimental-import-meta-resolve +import '../common/index.mjs'; +import assert from 'node:assert'; +import { registerHooks } from 'node:module'; + +// Asserts that import.meta.resolve invokes loader hooks registered via `registerHooks`. + +registerHooks({ + resolve(specifier, context, defaultResolve) { + if (specifier === 'custom:hooked') { + return { + shortCircuit: true, + url: new URL('./test-esm-import-meta.mjs', import.meta.url).href, + }; + } + return defaultResolve(specifier, context); + }, +}); + +assert.strictEqual(import.meta.resolve('custom:hooked'), + new URL('./test-esm-import-meta.mjs', import.meta.url).href);