93 releases (60 breaking)
Uses new Rust 2024
| 0.65.0 | Dec 2, 2025 |
|---|---|
| 0.64.0 | Nov 3, 2025 |
| 0.63.0 | Oct 31, 2025 |
| 0.54.0 | Jul 30, 2024 |
| 0.15.0 | Oct 19, 2020 |
#34 in Programming languages
2.5MB
10K
SLoC
jstime
Another JavaScript Runtime

Using the binary
You can find the latest jstime binary on the release page
Alternatively you can install with cargo
$ cargo install jstime
As a repl
$ jstime
Welcome to jstime!
>>
Run a script
$ cat hello-world.js
console.log("hello world");
$ jstime hello-world.js
hello world
Performance: JIT Warmup
For benchmarking or performance-critical scripts, use the --warmup flag to allow V8's JIT compiler to optimize the code:
$ jstime --warmup 10 benchmark.js
This runs the script 10 times before the actual execution, allowing TurboFan to profile and optimize hot code paths.
Embed it!
Check out the README.md for jstime-core for instructions on how to embed jstime in your rust application!
Features
jstime provides a minimal and performant JavaScript runtime with essential APIs.
For detailed documentation on all supported features, see Documentation.
👉 Check out the examples/ directory for runnable code samples!
Quick Overview
- Console API:
console.log(),console.error(), etc. - Timers:
setTimeout(),setInterval(), and clearing functions - Fetch API: Modern HTTP client with
fetch(),Headers,Request,Response - Streams API:
ReadableStream,WritableStream,TransformStreamfor streaming data processing - URL API:
URLandURLSearchParamsfor URL manipulation - Performance API: High-resolution timing with
performance.now() - Event API:
EventandEventTargetfor event handling - Microtask API:
queueMicrotask()for fine-grained async control - Structured Clone API:
structuredClone()for deep cloning of complex objects - Base64 API:
atob()andbtoa()for base64 encoding/decoding - Text Encoding API:
TextEncoderandTextDecoderfor UTF-8 encoding/decoding - Crypto API:
crypto.getRandomValues(),crypto.randomUUID(),crypto.subtle.digest()for cryptographic operations - Process API:
process.env,process.argv,process.cwd(),process.exit()for process information - File System API: Complete Node.js-compatible
fs/promiseswithreadFile(),writeFile(),mkdir(),stat(), and more - WebAssembly: Full WebAssembly support for running high-performance compiled modules
- ES Modules: Full support for
import/exportwith top-level await, dynamicimport(), and Node.js-compatiblenode_modulesresolution - Modern JavaScript: All ES2015+ features via V8 engine
Testing
jstime includes comprehensive test coverage including conformance tests for standard APIs:
- Console API - WHATWG Console Standard compliance
- Event API - WHATWG DOM Events compliance
- Timers API - WHATWG HTML Standard timers compliance
- Fetch API - WHATWG Fetch Standard compliance
- Streams API - WHATWG Streams Standard compliance
- URL API - WHATWG URL Standard compliance
- Performance API - W3C High Resolution Time compliance
- Structured Clone API - HTML Standard structured cloning compliance
- Base64 API - HTML Standard base64 encoding compliance
- Text Encoding API - WHATWG Encoding Standard compliance
- Crypto API - W3C Web Cryptography API compliance
- JSON Modules - ECMAScript JSON modules compliance
- WebAssembly - WebAssembly specification compliance
Run all tests with:
cargo test
For more details on conformance testing, see core/tests/CONFORMANCE_TESTS.md.
Dependencies
~111MB
~2M SLoC