Skip to content

Commit 6bde0c9

Browse files
committed
fix: migrate from deprecated module.register() to module.registerHooks()
module.register() has been runtime-deprecated as DEP0205 since Node.js v25.9.0. Use module.registerHooks() when available (Node.js >= 24.4), falling back to module.register() for older versions.
1 parent 73ddae3 commit 6bde0c9

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

packages/core/register.mjs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import * as NodeModule from "node:module";
33
import { addHook } from "pirates";
44

55
import { OxcTransformer } from "./index.js";
6+
import { resolve, load } from "./esm.mjs";
67

7-
// Destructure from NodeModule namespace to support older Node.js versions
8-
const { register, setSourceMapsSupport } = NodeModule;
8+
const { registerHooks, register, setSourceMapsSupport } = NodeModule;
99

1010
const DEFAULT_EXTENSIONS = new Set([
1111
".js",
@@ -20,7 +20,12 @@ const DEFAULT_EXTENSIONS = new Set([
2020
".es",
2121
]);
2222

23-
register("@oxc-node/core/esm", import.meta.url);
23+
// Use registerHooks (Node.js >= 24.4) when available, fall back to deprecated register()
24+
if (typeof registerHooks === "function") {
25+
registerHooks({ resolve, load });
26+
} else {
27+
register("@oxc-node/core/esm", import.meta.url);
28+
}
2429

2530
if (typeof setSourceMapsSupport === "function") {
2631
setSourceMapsSupport(true, { nodeModules: true, generatedCode: true });

0 commit comments

Comments
 (0)