From 10edd5a55f1defb4f89a8675d017860ac9307c41 Mon Sep 17 00:00:00 2001 From: Rayan Salhab Date: Sun, 5 Apr 2026 13:26:13 +0000 Subject: [PATCH] fix(node): use Module.registerHooks instead of deprecated Module.register for Node v26+ Node.js v26 deprecated Module.register() in favor of Module.registerHooks(). This change uses the new API when available, falling back to the old API for older Node versions. Fixes #19893 --- packages/@tailwindcss-node/src/index.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/@tailwindcss-node/src/index.ts b/packages/@tailwindcss-node/src/index.ts index a5e7bf5b4bc3..e14b4035d149 100644 --- a/packages/@tailwindcss-node/src/index.ts +++ b/packages/@tailwindcss-node/src/index.ts @@ -14,8 +14,14 @@ if (!process.versions.bun) { let localRequire = Module.createRequire(import.meta.url) // `Module#register` was added in Node v18.19.0 and v20.6.0 + // `Module#registerHooks` was added in Node v26.0.0 and is the preferred API // // Not calling it means that while ESM dependencies don't get reloaded, the // actual included files will because they cache bust directly via `?id=…` - Module.register?.(pathToFileURL(localRequire.resolve('@tailwindcss/node/esm-cache-loader'))) + let loaderUrl = pathToFileURL(localRequire.resolve('@tailwindcss/node/esm-cache-loader')) + if (Module.registerHooks) { + Module.registerHooks({ resolve: loaderUrl }) + } else { + Module.register?.(loaderUrl) + } }