You must be logged in to sponsor gjsify
Become a sponsor to Gjsify
The JavaScript ecosystem you already know, native on GNOME
GJS lets you write GNOME apps in JavaScript, but it is neither Node.js nor a browser: no node:fs, no fetch, no <canvas>. Whole categories of libraries simply don't run.
gjsify fills that gap. It reimplements the Node.js, Web and DOM APIs on top of GNOME's own libraries:
| You write… | gjsify runs it on… |
|---|---|
node:fs, node:net, node:crypto |
Gio, GLib |
fetch, WebSocket |
Soup 3 |
<canvas> 2D / WebGL |
Cairo / Gtk.GLArea |
WebRTC, WebAudio, <video> |
GStreamer |
node:sqlite |
libgda |
No wrapper server, no bundled browser engine, a real GTK app.
What your support pays for
- 🧱 Maintenance of the gjsify packages, the CLI and bundler
- 🔤 ts-for-gir — the TypeScript type definitions (
@girs/*) many GNOME JavaScript developers rely on - 📚 Documentation and examples at gjsify.github.io/gjsify
- 🐛 Bug fixes that land upstream at the core, so every app benefits
Built with gjsify
- Learn6502 — learn 6502 assembly in a native GNOME app
Thank you for keeping open source infrastructure for the GNOME desktop alive! 💙
Featured work
-
gjsify/ts-for-gir
TypeScript type definition generator for GObject introspection interfaces
TypeScript 291 -
gjsify/gnome-shell
GJS TypeScript type definitions for GNOME Shell Extensions
JavaScript 80 -
gjsify/types
Generated Typescript type definitions for GObject Introspection based libraries
JavaScript 35 -
gjsify/gjsify
The full JavaScript ecosystem, native on GNOME
TypeScript 24