Skip to main content

API Reference

txiki.js provides a comprehensive set of APIs for building applications. The global tjs namespace contains core functionality, while additional features are available as importable standard library modules.

Global APIs​

The tjs global object provides the following groups of APIs:

  • Filesystem — File I/O, directory operations, path manipulation, and file watching.
  • Networking — TCP, UDP, and Unix pipe sockets for building network applications.
  • HTTP Server — High-performance HTTP server with WebSocket support via tjs.serve().
  • Process — Spawn child processes, handle signals, and manage the current process.
  • System — Environment variables, OS information, and runtime metadata.
  • Engine — Low-level access to the JavaScript engine: bytecode compilation, serialization, garbage collection, and build-time feature flags (tjs.engine.features).
  • Utilities — Console helpers and interactive prompts.

Standard Library​

Additional functionality is available as ES modules that can be imported using the tjs: scheme:

ModuleDescription
tjs:assertAssertion functions for testing
tjs:ffiForeign Function Interface for calling native libraries
tjs:getoptsCommand-line argument parsing
tjs:hashingCryptographic hash functions
tjs:ipaddrIP address parsing and manipulation
tjs:pathFile path utilities (POSIX and Windows)
tjs:posix-socketLow-level POSIX socket API
tjs:readlineInteractive line editing and ANSI colors
tjs:sqliteSQLite3 database
tjs:utilsUtility functions for formatting and inspecting values
tjs:uuidUUID generation and validation
tjs:wasiWebAssembly System Interface

Note: tjs:wasi and the WebAssembly global require BUILD_WITH_WASM=ON (the default). On a build with WebAssembly disabled, importing tjs:wasi throws a module-not-found error; check tjs.engine.features.wasm to detect availability.

In addition, txiki.js supports many Web Platform APIs such as fetch, WebSocket, setTimeout, TextEncoder, and more.