What if the code you are typing never ends?
Stop typing, and it runs. In real Node.
Your Snippet runs a moment after you stop typing, and the answer arrives in the console. Errors, values and timers are Node’s own.
Run as you type
A moment after you stop typing, the Snippet runs, and the answer appears in the console.
The last answer stays
While you type, the console keeps the last Run’s output, and the footer says the code changed since.
Node’s own errors
Errors and stack traces are V8’s, and each line of your code in them links to that line.
Values shown as they are
Map, Set, BigInt and circular objects print as they are.
Every console method
console.table, groups, timers, warnings and %c styles work as in a browser, and each row ends with its line.
| (index) | name | year |
|---|---|---|
| 0 | JavaScript | 1995 |
| 1 | TypeScript | 2012 |
Module or Script
A Snippet runs as an ES module or as CommonJS. When the code needs the other one, the console offers to switch.
A loop that never ends
The loop guard stops it and names the line. Click the line, fix it, and it runs. A Run busy for 5 seconds or using more than 1 GB is stopped too.
Run longer JSpark+
Raise the time limit to 10 seconds and memory up to 8 GB, or give one Run more with Run longer.
Run the code a moment after you stop typing. Off: only when you press Run (⌘↵). Code that reaches outside — files, network — waits for Run either way.
How long to wait after your last keystroke before running. Shorter feels live; longer runs less often while you think.
Stops code that stays busy this long without a pause, like an endless loop. A server or a timer that waits between events keeps going until you press Stop. In the Timeline, it limits the whole recording.
Stops a run that uses more memory than this, before it slows down your computer. Raise it for large data. In the Timeline, the recording may use up to half of it.
TypeScript
Off: type errors are underlined and the code runs anyway. On: they are printed in the console and nothing runs.
No type checking.
New Snippets run as
Always strict. Uses import, export and top-level await, like a .mjs file. Snippets you already have keep the one they were made with.
Good to know
- Your own access
- A Node Run is real Node, with your access to your files, network and programs. Code that reaches them waits for you to press Run: see Node and your computer.
- Node is inside the app
- There is nothing to install. Settings → About names the Node, Chromium and V8 versions.
- Stop at any time
- Once a Run has lasted half a second, Stop takes the place of Run. ⌘. stops it too, and the console keeps what was printed.
- Every top-level value
- Turn on Settings → Console → Show every top-level value, and each top-level expression prints its value at its line.
Read the Run docs Read the Console docs Node and your computer All features
Stop typing, and the answer is there.
Not a trial: it doesn’t expire.
Windows: coming later