Getting Started
txikia (Basque): small, tiny.
txiki.js is a small and powerful JavaScript runtime. It targets state-of-the-art ECMAScript and aims to be WinterTC compliant.
It's built on the shoulders of giants: it uses QuickJS-ng as its JavaScript engine and libuv as the platform layer.
Installation
Prebuilt binaries are available for macOS and Windows from the GitHub Releases page:
| Platform | Architecture |
|---|---|
| macOS | arm64, x86_64 |
| Windows | x86_64 |
Download the zip for your platform, extract it, and add the tjs binary to your PATH.
On Linux (and other Unixes), you'll need to build from source.
Quick start
Try it out:
./build/tjs eval "console.log('hello world')"
Run a script with tjs run:
./build/tjs run examples/hello_world.js
Explore all the options:
./build/tjs --help
Supported platforms
- GNU/Linux
- macOS
- Windows
- Other Unixes (please test!)
What's included
txiki.js comes with a rich set of features out of the box:
- Web Platform APIs —
fetch,WebSocket,Console,setTimeout,Crypto, Web Workers, and more - Runtime Features — TCP/UDP sockets, file I/O, child processes, signal handling, DNS
- Standard Library —
tjs:sqlite,tjs:ffi,tjs:path,tjs:hashing, and more - HTTP Server — high-performance HTTP server with WebSocket support
- Standalone Executables — compile your scripts into self-contained binaries
See the API Reference for the full documentation.