Skip to content

v4.0.0-beta.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@JumpLink JumpLink released this 05 Apr 21:33
· 6 commits to main since this release
265e064

TS for GIR ❤️ gi.ts

We are thrilled to announce the first beta release of new TypeScript bindings for GNOME! These bindings combine the efforts of ts-for-gir and gi.ts into a unified project under the gjsify organization. Since we announced this effort at GUADEC 2023, @JumpLink and @ewlsh have been working continuously to identify areas for improvement in the bindings and how best to merge these two sprawling codebases. This fusion marks a significant milestone in our journey towards enhancing the TypeScript ecosystem for GJS and GObject-based libraries. Our collaboration shows the power of community-driven development and the remarkable achievements that can be realized when we join forces towards a common objective 🤝

We have also removed some features, such as support for Node.js and CommonJS. Types for Node.js can still be generated via v3.x.x, and we are open to contributions in this area. However, there has been limited feedback from the community so far, leading us to focus on GJS for the time being. Furthermore, ESM represents the future and has already become the standard within GJS. This move also enables us to publish types on https://jsr.io/, a runtime-independent JavaScript and TypeScript open-source package registry created by the makers of Deno, where CommonJS is not allowed.

The new bindings have been published on NPM with the next tag and are ready for testing. We've tried to minimize breaking changes whereever possible and hopefully with new, advanced types the bindings just "work" 😊

We're excited to see what the future holds for JavaScript and TypeScript in GNOME!

What's Changed

  • gi.ts rework & merge by @ewlsh in #144
  • Infrastructure adjustments
  • Adapt codebase to use the @gi.ts/parser
  • Examples adapted
  • Many try and error commits 😅

Breaking changes

  • Removed CommonJS support
  • Removed Node.js support

New Contributors

Full Changelog: v3.3.0...v4.0.0-beta.2