92 releases (59 breaking)
Uses new Rust 2024
| new 0.64.0 | Nov 3, 2025 |
|---|---|
| 0.62.0 | Oct 29, 2025 |
| 0.54.0 | Jul 30, 2024 |
| 0.50.0 | Mar 8, 2024 |
| 0.15.0 | Oct 19, 2020 |
#19 in Programming languages
937 downloads per month
2.5MB
7.5K
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() - Microtask API:
queueMicrotask()for fine-grained async control - Structured Clone API:
structuredClone()for deep cloning of complex objects - 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 and dynamicimport() - 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
- Fetch API - WHATWG Fetch Standard compliance
- Streams API - WHATWG Streams Standard compliance
- Performance API - W3C High Resolution Time compliance
- URL API - WHATWG URL Standard compliance
- Timers API - WHATWG HTML Standard timers compliance
- Structured Clone API - HTML Standard structured cloning compliance
Run all tests with:
cargo test
For more details on conformance testing, see core/tests/CONFORMANCE_TESTS.md.
Dependencies
~108MB
~2M SLoC