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) + } }