Automic VaultAutomic Vault

brew

Install opal with Homebrew

Ruby to JavaScript transpiler. Version 1.8.3 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install opal

local Homebrew formula metadata

overview

Package summary

Ruby to JavaScript transpiler

Commands and aliases

  • opal
  • opal-build
  • opal-repl

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2010: RubyGems lists the first opal gem versions.
  • 2013: the GitHub project license notice covers Adam Beynon and Opal contributors from 2013 onward.
  • 2019: Opal 1.0.0 was released with major runtime and compatibility changes.
  • 2021: Opal 1.2 announced broad Ruby 3.0 feature support.
  • 2022: Opal 1.6 and Opal-RSpec 1.0 improved MRI compatibility, testing, and compile performance.

Related projects

  • Opal's related ecosystem includes opal-browser, Opal-RSpec, Rack/Rails integration, and JavaScript library ports that let Ruby code interact with browser and Node APIs. The project also depends conceptually on MRI Ruby behavior and parser compatibility, because much of its value comes from matching Ruby semantics while producing JavaScript.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:repl

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
opalcliglobal executable
opal-buildcliglobal executable
opal-replcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version1.8.3
manager updated2026-06-22
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/opal/opal

install metadata

Package metadata

Package keybrew:opal
Version1.8.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/opal
Homepagehttps://opalrb.com/
Repositoryhttps://github.com/opal/opal
Upstream docshttps://github.com/opal/opal#readme
LicenseMIT
Source archivehttps://github.com/opal/opal.git
Last updated2026-06-22T14:05:41-07:00
Pulseupdated
Dependenciesruby
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameopal
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment