一个微小的 JavaScript 运行时
# txiki.js — The tiny JavaScript runtime > **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. ## Quick start ```bash # Get the code git clone --recursive https://github.com/saghul/txiki.js --shallow-submodules && cd txiki.js # Compile it! make # Run the REPL ./build/tjs ``` See [Building](https://txikijs.org/docs/building) for detailed instructions including Windows support. ## Features - Web Platform APIs: `fetch`, `WebSocket`, `Console`, `setTimeout`, `Crypto`, Web Workers, and more - TCP, UDP, and Unix sockets - HTTP server with WebSocket support - File I/O, child processes, signal handling - Standard library: `tjs:sqlite`, `tjs:ffi`, `tjs:path`, `tjs:hashing`, and more - Standalone executables via `tjs compile` ## Documentation Full documentation is available at **[txikijs.org](https://txikijs.org)**. ## Supported platforms * GNU/Linux * macOS * Windows * Other Unixes (please test!)
Built with ❤️ by saghul and these awesome contributors.
[QuickJS-ng]: https://github.com/quickjs-ng/quickjs [libuv]: https://libuv.org/ [WinterTC]: https://wintertc.org/Root fetch and XMLHttpRequest requests // instead of /
WebCrypto SHA-1 digest can cause SIGSEGV in normal tjs run
SharedArrayBuffer allocator returns misaligned pointer, causing UBSan crashes in TypedArray operations
Assertion abort in tjs__execute_jobs when global Date is overwritten
wasm: heap use-after-free when export wrapper outlives Module
Add "--no-console" compile flag
I've been embedding txiki.js — would any of these changes be useful upstream?
support indexedDB implement
Add QUIC and WebTransport server and client support
Termux中发送网络请求会出现SSL/TSL错误