A lightweight Node.js REPL debugger for Windows that spawns a PowerShell window and connects to your running process for live debugging.
- Windows-only debugger (uses PowerShell)
- Creates a separate REPL session connected to your Node.js process
- Lets you inspect variables, run commands, and evaluate code in real-time
- Provides a configurable default return value when no command is entered
- Automatically sets a custom PowerShell window title for your session
npm install windows-debugger
const windowsDebugger = require("windows-debugger");
// Start a debugger session
windowsDebugger({
title: "MyApp Debugger",
default: "Nothing entered",
eval: (code) => eval(code)
});
When called, this will:
- Start a local TCP REPL server.
- Launch a new PowerShell window with the given title.
- Connect the REPL to your running Node.js process.
const windowsDebugger = require("windows-debugger");
let counter = 0;
setInterval(() => {
counter++;
console.log("Counter:", counter);
}, 2000);
windowsDebugger({
title: "Counter Debugger",
default: "No input",
eval: (code) => eval(code)
});
-
A new PowerShell window will open with the title
Counter Debugger
. -
Inside the window, you can type:
counter
And see the live value of the
counter
variable.
- Windows only (
process.platform === "win32"
is enforced) - Requires PowerShell installed and accessible via
powershell.exe
- Works with Node.js v14+ (earlier versions untested)
Option | Type | Description |
---|---|---|
title |
string |
The window title for the PowerShell debugger session. |
default |
any |
The default return value when pressing enter without typing a command. |
eval |
Function |
An eval function used to evaluate REPL input. |
password |
string |
If not provided, a random one-time UUID is generated automatically. |
- All REPL errors are caught and displayed in the PowerShell session.
- Domain errors are suppressed to avoid crashing the main process.
MIT