macOS
brew install gjsprovider-native install command
brew / rank 2866
JavaScript Bindings for GNOME. Version 1.88.1 via Homebrew; verified 2026-06-29.
install
brew install gjsprovider-native install command
overview
JavaScript Bindings for GNOME
history
GJS is GNOME's JavaScript runtime, built on Firefox's SpiderMonkey engine and GNOME platform libraries. It lets JavaScript programs use GNOME APIs through GObject Introspection and provides the runtime used by GNOME Shell, extensions, and many GNOME applications.
The GJS README gives an unusually direct origin story: the idea traces to an August 2008 blog post and experimental gscript code, while the recognizable project form was developed in October 2008 at litl for the litl webbook.
GJS was soon adopted as the basis of GNOME Shell's user-interface code and extension system, and the README says it debuted as a fundamental component of GNOME 3.0. That made it a central runtime in the GNOME desktop rather than a standalone scripting curiosity.
In 2013, during the GNOME Developer Experience Hackfest, GJS was declared the first among equals for GNOME application development. The README records that this was controversial and later abandoned, but the episode shows how seriously GNOME considered JavaScript as an application language.
The GJS README names GNOME Shell, Maps, Characters, Sound Recorder, and many other apps as GJS users. It also notes use in Endless OS's offline-content framework and in Cinnamon through a forked version.
Package metadata in this batch shows GJS distributed through Homebrew, Alpine, Debian, Fedora, MacPorts, Nix, Arch, Ubuntu, and openSUSE. That breadth follows from its role as a GNOME platform component and language runtime.
Practitioners use GJS to write JavaScript programs that call GNOME platform libraries. The README documents an interactive interpreter, whole-program execution with gjs filename.js, debugger support through -d in supported versions, and coverage-report facilities.
GJS is also used by extension authors and desktop developers because GNOME Shell and related applications expose platform behavior through JavaScript. The runtime bridges familiar JavaScript syntax with GTK, GLib, and other introspected GNOME libraries.
GJS matters to package people because it is both a language runtime and a desktop-platform dependency. Packaging it means coordinating SpiderMonkey, GObject Introspection, GNOME libraries, ABI expectations, and application consumers.
It also represents a major desktop choosing an embedded JavaScript runtime for core UI behavior. That makes GJS more like a platform runtime than a conventional command-line interpreter.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
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 |
|---|---|---|---|
gjs | executable | indexed executable | Discovered from the local executable index. |
gjs-console | executable | indexed executable | Discovered from the local executable index. |
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:gjs |
|---|---|
| Version | 1.88.1 |
| Package manager | Homebrew |
| Homepage | https://gitlab.gnome.org/GNOME/gjs/wikis/Home |
| Last updated | 2026-06-29T04:06:11Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
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.