ScriptWeaver

A small, accessible native desktop runtime for JavaScript apps — real native widgets, tiny single-file binaries, no embedded browser.

Write standard JS, lay out the widgets, and ship one binary that runs on Linux, macOS, and Windows.

Status: pre-release. v1.0 ships once Tcl/Tk 9.1 lands with first-class accessibility. Source is on GitLab; follow there for the cut.

A whole ScriptWeaver app — a native window with a button that opens a native dialog:

const btn = app.TButton({
  text: 'Hello, World!',
  onClick: () => sw.dialog.alert('You clicked it!'),
});
btn.pack.configure({ padx: 40, pady: 40 });

No HTML, no browser engine — that's the entire program. See the tutorial →

Why ScriptWeaver

When to pick ScriptWeaver

Useful when you need a desktop app that:

Get started

The docs are already online — start with the getting-started guide. The Player binary and downloads arrive with v1.0; until then: