Discover and explore top open-source AI tools and projects—updated daily.
elixir-voltJavaScript runtime for the BEAM
Top 80.0% on SourcePulse
This project provides a JavaScript runtime integrated directly into the Erlang VM (BEAM), enabling seamless execution of JavaScript code alongside Elixir/Erlang applications. It targets Elixir developers seeking to leverage JavaScript for web APIs, server-side rendering, or sandboxed execution, offering a powerful bridge between the two ecosystems with a built-in TypeScript toolchain and native DOM support.
How It Works
QuickBEAM runs JavaScript runtimes as BEAM GenServers, managed by OTP supervision trees. It facilitates bidirectional communication via message passing and handler functions (Beam.call, Beam.send), allowing JavaScript to invoke Elixir functions and access OTP libraries. The runtime uses QuickJS as its JavaScript engine and integrates with native C libraries like lexbor for a spec-compliant DOM, enabling direct manipulation and querying from Elixir. It supports dynamic context creation and pooling for efficient, high-concurrency JavaScript execution.
Quick Start & Requirements
{:quickbeam, "~> 0.7.1"} to your Elixir project's dependencies.{:ok, rt} = QuickBEAM.start()
{:ok, 3} = QuickBEAM.eval(rt, "1 + 2")
Highlighted Details
:fetch, :dom) to minimize memory footprint.fs, path, and os.Maintenance & Community
Specific details regarding notable contributors, sponsorships, or community channels (e.g., Discord, Slack) are not provided in the README.
Licensing & Compatibility
Limitations & Caveats
A Zig 0.15+ dependency is required, which may add an extra setup step. Per-context memory limits and maximum reduction counts can be configured to prevent resource exhaustion, but exceeding these limits will interrupt JavaScript execution. While generally performant, Beam.callSync introduces a small overhead of approximately 5 μs.
18 hours ago
Inactive
e2b-dev
vercel-labs