diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index 5bf2dc523f6fd1..0432561a3767ee 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -20,7 +20,8 @@ const { internalBinding, NativeModule } = loaderExports; const exceptionHandlerState = { captureFn: null }; -let getOptionValue; +const { getOptionValue } = NativeModule.require('internal/options'); + function startup() { setupTraceCategoryState(); @@ -149,18 +150,6 @@ function startup() { NativeModule.require('internal/inspector_async_hook').setup(); } - getOptionValue = NativeModule.require('internal/options').getOptionValue; - - if (getOptionValue('--help')) { - NativeModule.require('internal/print_help').print(process.stdout); - return; - } - - if (getOptionValue('--completion-bash')) { - NativeModule.require('internal/bash_completion').print(process.stdout); - return; - } - // If the process is spawned with env NODE_CHANNEL_FD, it's probably // spawned by our child_process module, then initialize IPC. // This attaches some internal event listeners and creates: @@ -317,6 +306,18 @@ function startExecution() { return; } + // node --help + if (getOptionValue('--help')) { + NativeModule.require('internal/print_help').print(process.stdout); + return; + } + + // e.g. node --completion-bash >> ~/.bashrc + if (getOptionValue('--completion-bash')) { + NativeModule.require('internal/bash_completion').print(process.stdout); + return; + } + // `node --prof-process` if (getOptionValue('--prof-process')) { NativeModule.require('internal/v8_prof_processor');