Repository navigation
feat: use module.registerHooks for amaro/strip and amaro/transform - #497
Merged
marco-ippolito merged 1 commit intoOct 26, 2026
Merged
Conversation
GeoffreyBooth
force-pushed
the
geoffreybooth-register-hooks
branch
from
October 26, 2026 04:00
47c38ff to
ca8cfd0
Compare
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>
GeoffreyBooth
force-pushed
the
geoffreybooth-register-hooks
branch
from
October 26, 2026 04:16
ca8cfd0 to
9f3187b
Compare
marco-ippolito
approved these changes
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Switches
amaro/stripandamaro/transformto synchronousmodule.registerHooks()when available, so Node.js can eventually removemodule.register(). Benefits: no loader thread, and hooks also apply torequire()of TypeScript.On Node.js versions without
registerHooks(<22.15 / 23.0–23.4), the entry points fall back tomodule.register()with the async hook, so this is not breaking andenginesstays>=22.loadSync(registerHooks) andload(register fallback), sharing the strip/transform logic.test/register-hooks.test.js; registerHooks-only tests are skipped on older Node.Tested: full suite on Node 26; loader tests on 22.13.1, 22.15.0, 23.2.0, 24.1.0 and others via
n.cc @marco-ippolito @joyeecheung @mcollina