Issue involves complex async behavior and module registration in Node.js core.
The issue describes a problem where async module registration hooks and an HTTP server stop working after upgrading to Node.js 24.12.0. The problem appears to be related to the interaction between module registration and async operations, but the exact cause is unclear. This requires deep knowledge of Node.js internals and async behavior.
24.12.0
Darwin MSK-G4LQ6YF03T.local 24.6.0 Darwin Kernel Version 24.6.0: Mon Jan 19 21:59:23 PST 2026; root:xnu-11417.140.69.708.3~1/RELEASE_ARM64_T6030 arm64
No response
Hi, I have small TS loader for Node.js: https://github.com/krutoo/ts-loader
I use it like:
npm i ts-loader@npm:@krutoo/ts-loader
node --import ts-loader ./test.ts
You can see real example with issue here: https://github.com/krutoo/utils/pull/212
Under the hood loader just runs http server in first process and registers hooks by module.register
Hooks uses fetch to request server to complie modules
After upgrade to Node.js 24.12.0 server don't answer any requests, even from browser, there is tab that waits for response
I don't have skills to figure out the cause myself.
Tried log some steps, seems the server isn't accepting any incoming requests at all.
Even though the server itself has definitely been created, has taken over the port, and is accepting messages.
Can someone help to understand cause of this behavior?
Clone this repo and branch: https://github.com/krutoo/utils/tree/tsimp-replaced
Then:
nvm install 24.12.0
npm use 24.12.0
npm i
npm run test
Don't have enough skills to understand it is a bug or new behavior of async loader hooks
Tests freezes
No response
Claim this issue to let others know you're working on it. You'll earn 40 points when you complete it!