Wait for the initial pause render before completing debugger REPL startup, but only when the initial pause is actually observed during startup initialization. Creating the wait promise before Runtime.runIfWaitingForDebugger() can hang when the debug target exits or disconnects without producing an initial pause event. It also assumes the inspector object always has parsed CLI options, which is not true for tests that use a minimal mock inspector. Create the initial-render wait lazily from the Debugger.paused handler while startup initialization is active. This preserves prompt ordering for normal initial breaks without blocking startup when no initial pause render occurs. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5 PR-URL: https://github.com/nodejs/node/pull/63969 Refs: https://github.com/nodejs/node/actions/runs/27582782593/job/81546582775 Reviewed-By: Filip Skokan <panva.ip@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> |
||
|---|---|---|
| .. | ||
| assert | ||
| async_local_storage | ||
| bootstrap | ||
| child_process | ||
| cluster | ||
| console | ||
| crypto | ||
| debugger | ||
| dns | ||
| dtls | ||
| encoding | ||
| errors | ||
| events | ||
| ffi | ||
| fs | ||
| http2 | ||
| inspector | ||
| legacy | ||
| main | ||
| modules | ||
| per_context | ||
| perf | ||
| process | ||
| quic | ||
| readline | ||
| repl | ||
| source_map | ||
| streams | ||
| test | ||
| test_runner | ||
| tls | ||
| util | ||
| v8 | ||
| vfs | ||
| vm | ||
| watch_mode | ||
| webstreams | ||
| worker | ||
| abort_controller.js | ||
| assert.js | ||
| async_context_frame.js | ||
| async_hooks.js | ||
| blob.js | ||
| blocklist.js | ||
| buffer.js | ||
| child_process.js | ||
| cli_table.js | ||
| constants.js | ||
| data_url.js | ||
| dgram.js | ||
| encoding.js | ||
| error_serdes.js | ||
| errors.js | ||
| event_target.js | ||
| ffi-shared-buffer.js | ||
| file.js | ||
| fixed_queue.js | ||
| freelist.js | ||
| freeze_intrinsics.js | ||
| heap_utils.js | ||
| histogram.js | ||
| http.js | ||
| inspector_async_hook.js | ||
| inspector_network_tracking.js | ||
| js_stream_socket.js | ||
| linkedlist.js | ||
| locks.js | ||
| mime.js | ||
| navigator.js | ||
| net.js | ||
| options.js | ||
| priority_queue.js | ||
| promise_hooks.js | ||
| querystring.js | ||
| README.md | ||
| repl.js | ||
| socket_list.js | ||
| socketaddress.js | ||
| stream_base_commons.js | ||
| timers.js | ||
| trace_events_async_hooks.js | ||
| tty.js | ||
| url.js | ||
| util.js | ||
| v8_prof_polyfill.js | ||
| validators.js | ||
| vm.js | ||
| wasm_web_api.js | ||
| watchdog.js | ||
| webidl.js | ||
| webstorage.js | ||
| worker.js | ||
Internal Modules
The modules located in lib/internal directory are exclusively meant
for internal usage within the Node.js core. They are not intended to
be accessed via user modules require(). These modules may change at
any point in time. Relying on these internal modules outside the core
is not supported and can lead to unpredictable behavior.
In certain scenarios, accessing these internal modules for debugging or
experimental purposes might be necessary. Node.js provides the --expose-internals
flag to expose these modules to userland code. This flag only exists to
assist Node.js maintainers with debugging internals. It is not meant for
use outside the project.