261026.1 · b6bf196ae1e954da44a0f35532cd30b2e0969202
feat: use module.registerHooks for amaro/strip and amaro/transform
Use synchronous module.registerHooks() when available, so the loaders also apply to require() of TypeScript and avoid the loader thread. Fall back to module.register() on Node.js versions without it.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
reading declarations
Changes to src/register/register-transform.mjs. All files
src/register/register-transform.mjs
@@ -1,4 +1,4 @@-import { register } from "node:module";+import module from "node:module"; import { emitWarning, env, execArgv } from "node:process"; const hasSourceMaps =@@ -9,4 +9,10 @@ if (!hasSourceMaps) { emitWarning("Source maps are disabled, stack traces will not be accurate"); } -register("./transform-loader.js", import.meta.url);+if (typeof module.registerHooks === "function") {+ const { default: loader } = await import("./transform-loader.js");+ module.registerHooks({ load: loader.loadSync });+} else {+ // Node.js versions without `module.registerHooks()`.+ module.register("./transform-loader.js", import.meta.url);+}