-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix: Only create @babel/node
IPC channel when needed
#13295
Fix: Only create @babel/node
IPC channel when needed
#13295
Conversation
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/45975/ |
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit d580fba:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for changes to fixture runner.
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@babel/node
IPC channel when needed
Fixes an issue where
babel-node
always created an IPC channel for its spawned child, regardless of whether the outerbabel-node
process had an IPC channel itself. This caused compatibility issues with scripts expecting to run without IPC, or expecting to only run with IPC in certain scenarios, for example theexit-hook
library that assumes an IPC channel will only be present when running inside PM2. In those cases, the open IPC channel can cause the script to hang after completion unlessprocess.disconnect()
is called, which does not occur when running scripts directly throughnode
on the command line.To fix, the IPC channel is only created if the
babel-node
process itself has an IPC channel, in which case messages are expected to be passed through.In addition, tests for this behavior have been consolidated in
babel-node
's fixtures, which now have options for handling IPC.