macOS
brew install opallocal Homebrew formula metadata
brew
Ruby to JavaScript transpiler. Version 1.8.3 via Homebrew; verified 2026-06-22.
install
brew install opallocal Homebrew formula metadata
overview
Ruby to JavaScript transpiler
history
Opal is a Ruby-to-JavaScript source-to-source compiler with a Ruby core library and standard-library subset implemented for JavaScript runtimes. It sits in the compile-to-JavaScript lineage, but its package-nerd identity is unusually Ruby-centric: developers install it as a Ruby gem, write Ruby, and emit JavaScript for browsers, Node.js, and other JavaScript environments.
RubyGems records Opal versions back to January 22, 2010, and the project reached the 1.0.0 milestone on May 12, 2019 after years of production use and compatibility work. The 1.0 release emphasized a redesigned class and module hierarchy that more closely followed MRI Ruby, support for Module.prepend, better source maps, improved errors, and broader Ruby 2.4/2.5 feature coverage.
Later 1.x releases continued the same theme: Opal 1.2 described the project as a Ruby compiler, runtime, and idiomatic Ruby API for Browser, Node, and other JavaScript environments, and announced near-complete Ruby 3.0 feature support. Opal 1.6 focused on MRI compatibility, freezing, control-flow correctness, Windows improvements, parallel compilation, and Opal-RSpec 1.0.
Opal's adoption path has been through Ruby's packaging and web-application ecosystem rather than through npm-first JavaScript tooling. Its official site links Rack, Rails, CLI, and library guides, and the README points developers toward Rails, jQuery, Sinatra, Rack, CDN, and related usage patterns.
The project has been distributed as the opal RubyGem for more than a decade, with RubyGems listing more than one hundred published versions. That long gem history is important for packagers because it shows Opal evolving as a Ruby ecosystem package while targeting JavaScript as the runtime artifact.
Developers use the opal CLI to compile Ruby source into JavaScript, or use Opal.compile and Opal::Builder from Ruby code to generate runtime bundles and applications. The README also documents browser-side use through opal-parser and script tags that evaluate Ruby code inside an HTML page.
The package is useful when a team wants Ruby syntax, Ruby libraries that can run under Opal's compatibility subset, or Ruby DSLs on the front end without switching entirely to JavaScript. The tradeoff is that compatibility with MRI Ruby is an ongoing engineering project, so users often care about the exact Opal version and supported Ruby feature set.
Opal is a tidy example of a language package whose install surface and target runtime are different ecosystems. For package nerds, it raises familiar questions about transitive Ruby dependencies, generated JavaScript artifacts, CDN distribution, source maps, browser support, and compatibility claims across Ruby and JavaScript versions.
Its executables, opal, opal-build, and opal-repl, make it feel like a compiler toolchain inside Homebrew even though many users encounter it first as a gem. That dual identity is the interesting bit: package managers expose it as a CLI, while application developers often treat it as a build-stage bridge.
security posture
generalized runtime or code generation signal.
yellow risk · medium confidence · runtime
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
opal | cli | global executable | |
opal-build | cli | global executable | |
opal-repl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:opal |
|---|---|
| Version | 1.8.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/opal |
| Homepage | https://opalrb.com/ |
| Repository | https://github.com/opal/opal |
| Upstream docs | https://github.com/opal/opal#readme |
| License | MIT |
| Source archive | https://github.com/opal/opal.git |
| Last updated | 2026-06-22T14:05:41-07:00 |
| Pulse | updated |
| Dependencies | ruby |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | opal |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.