So far, the Snippets only printed values.

Real Node, with your own access to your computer.

A Node Snippet runs on real Node, with your access to your files, the network and other programs. Code that reaches them waits for you to press Run.

01

Write a real file, after you press Run

Code that reaches your files, the network or other programs doesn’t run as you type: a shield in the rail says why. Press Run, and the file is written to the Working Folder and read back.

The shield says why it waited. After Run, order.json is on disk, 69 bytes, and read back.
02

Call an API, start a server

fetch and node:http work as in Node. A server keeps listening until you press Stop.

A real server on port 3000, and a real request to it. It keeps listening until Stop.
03

Run other programs

child_process runs a program on your Mac and reads its output.

sw_vers and uname run on your Mac, and their output reads back as macOS on arm64.
04

One Working Folder

Every Node Run starts in the Working Folder. Reveal it in Finder, move it to a folder of your own, or empty it.

Settings → About: the Working Folder’s path and size, with Reveal in Finder, Change… and Empty….
05

An API key, out of your code

Keep up to 3 environment variables in Settings, and every Node Run reads them as process.env.

Two variables saved, their values shown as dots. In JSpark, you can keep up to 3.
06

Run in a folder of your own JSpark+

Run in Folder… runs one Snippet in your project, so it can import your files and use your packages.

./utils.js is a file in your project. The footer names the folder the Snippet runs in.
07

Every variable, and your .env JSpark+

Keep as many variables as you need, and the Working Folder’s .env is passed to every Node Run too.

Four variables, and the Working Folder’s .env as well, which wins over these.

Good to know

Not a sandbox
JSpark doesn’t limit a Node Run: code that deletes a file deletes it. Waiting for Run only keeps half-written code from starting.
Reading process.env doesn’t wait
Reading it runs as you type; changing it waits for Run.
Where the values are kept
Variable values stay on this Mac, encrypted with a key in your Keychain, never in the Library, an export or a problem report.
Servers keep running
The time limit stops only code that is busy without a pause, so a server keeps running until you press Stop.

Test code that reads files or calls an API The Working Folder Environment variables All features

When the code needs Node, it’s already here.

Download free for Mac

Not a trial: it doesn’t expire.

Windows: coming later