Debugging
esdev --inspect app.ts # 127.0.0.1:9229 esdev --inspect-brk app.ts # ...and stop before the first statement esdev --inspect=9300 app.ts # a port, an address, or both
Debugger listening on ws://127.0.0.1:9229/2c1e5009-be6a-4036-8ad3-185b20bbb1a0
Attach with chrome://inspect, VS Code, or any CDP client. Sources arrive with their real file: URLs, so a breakpoint set by URL lands in the file you are looking at; a paused program is genuinely stopped, and locals read through the debugger.
Use --inspect-brk for a program that ends quickly — otherwise it can be over before a client finishes connecting.
Binding
--inspect=0.0.0.0 is allowed and warned about. A debugger port is a way to run code in the process regardless of what it was denied.
esdev --watch --inspect reclaims its port across a restart, so you can leave a debugger attached while you edit.
console.log output goes to the terminal, not the debugger's console pane. V8 emits console events for its built-in console, and the runtime's prelude replaces that one.