Skip to content

Releases: gjsify/ts-for-gir

4.0.0-beta.14

26 Jul 11:07
70838c7
Compare
Choose a tag to compare
  • Update gir files
  • Add missing ambient module console
  • Add missing static property Object.$gtype (not GObject.Object.$gtype)

Full Changelog: 4.0.0-beta.12...4.0.0-beta.14

4.0.0-beta.12

24 Jul 18:39
b76e8b5
Compare
Choose a tag to compare

What's Changed

Full Changelog: 4.0.0-beta.11...4.0.0-beta.12

4.0.0-beta.8

21 Jul 12:03
5604fc2
Compare
Choose a tag to compare

Improved GJS package core types

Full Changelog: 4.0.0-beta.7...4.0.0-beta.8

4.0.0-beta.11

21 Jul 19:11
Compare
Choose a tag to compare

4.0.0-beta.10

21 Jul 18:09
Compare
Choose a tag to compare

Add support for $gtype for enums.

Full Changelog: 4.0.0-beta.8...4.0.0-beta.10

4.0.0-beta.7

19 Jul 16:43
199bb13
Compare
Choose a tag to compare

We have just updated ts-for-gir to 4.0.0-beta.7. Types can now be generated locally without package.json support, which is now the default. You can try it out directly with:

npx @ts-for-gir/cli generate Adw-1.0

This will generate the types for Libadwaita and all its dependencies, including Gtk 4.0, GObject 2.0, etc.

If you still want to generate types with package.json support, simply use the --package CLI argument. We have also updated them on NPM, including the upcoming types for GNOME Shell 47.

What's Changed

Allow toggling between package.json support and further cleanups from the gi.ts merge by @JumpLink in #176:

  • Renamed the CLI argument packageYarn to workspace as other package managers such as PNPM also support this protocol.
  • Ambient module definitions are now always generated with and without version prefixes (previously this was only the case for the latest versions). This makes sense as care should be taken not to use the same library in different versions. If needed, it can be prevented with the new generate option onlyVersionPrefix. This fixes Allow all versions to be imported without a version string (e.g. gi://Gtk instead of gi://Gtk?version=4.0) in #158 and possibly #174.
  • An index.d.ts file is now created for each module, allowing everything for the module (ambient module, imports.gi, and namespace) to be imported.
  • Removed synchronous methods that existed twice for the asynchronous variant, originally criticized in #162.
  • Added support for type generation without package.json support to fix #168 and #173. For this, there is a new CLI argument package to toggle package.json support.

Full Changelog: v4.0.0-beta.6...v4.0.0-beta.7

v4.0.0-beta.6

11 Jul 09:46
f396172
Compare
Choose a tag to compare

What's Changed

  • Upgrade dependencies
  • New copy command, see #162
  • New gir files included in the repository to generate and publish the types for
  • Updated examples
  • Continue gi.ts merge process, see #175

Full Changelog: v4.0.0-beta.2...v4.0.0-beta.6

v4.0.0-beta.2

05 Apr 21:33
265e064
Compare
Choose a tag to compare
v4.0.0-beta.2 Pre-release
Pre-release

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

v3.3.0

26 Mar 19:35
dfc22cc
Compare
Choose a tag to compare

ts-for-git logo

TypeScript type definition generator for GObject introspection GIR files

What's Changed

  • Upgrade dependencies
  • Replaced xml2js with fast-xml-parser (Backport from gi.ts merge branch)
  • Upgrade gir files for GNOME 46

Full Changelog: v3.2.8...v3.3.0

v3.2.8

17 Feb 06:43
Compare
Choose a tag to compare

What's Changed

  • Upgrade dependencies
  • Update examples and removed deprecated function calls like byteArray.toString()
  • Add dom.js, ambient.js and node-ambient.js to allow importing there type definitions in the codebase with a bundler
  • Update TSDoc documentation for system
  • node-gtk: Add new gtk-4-application example
  • node-gtk: Uses snake_case for property names at constructor, fixes #131

Breaking Changes

  • Removed support for additional underscore properties (next to lowerCamelCase) in the generated types, if this causes problems please let us know, then we will undo it again

Full Changelog: v3.2.7...v3.2.8