ts-for-gir

TypeScript type definition generator for GObject introspection interfaces

APACHE-2.0 License

Downloads
25.6K
Stars
237
Committers
17

Bot releases are hidden (Show)

ts-for-gir - v3.0.0-beta.11

Published by JumpLink over 1 year ago

  • Split this project into more submodules: cli, lib, generator-base, generator-typescript and generator-html-doc
  • Fix node bin path for ts-for-gir execution
  • Upgrade dependencies
ts-for-gir - v3.0.0-beta.10

Published by JumpLink over 1 year ago

  • Add GNOME Shell types for:
    • ui/checkBox
    • ui/closeDialog
  • Paths in the config file are now relative to the path of the config file itself
  • Add TSDoc @returns for return values
  • Fixed VSCode launch.json for debugging
  • Reenable ts-node to develop without the need to rebuild ts-for-gir for debugging
  • Add support for promisified function generation, see #104 by @CharlieQLe
  • Upgrade dependencies
ts-for-gir - v3.0.0-beta.9

Published by JumpLink over 1 year ago

  • Add support for the "gi://..." import syntax, see #103 by @CharlieQLe
  • README.md greatly simplified and split into several files
  • Add new DependencyManager to be able to search for a dependency regardless of the version
  • Improved GNOME Shell types
  • Only extend class/interface parent if the dependency of the parent exists
  • Add more properties to the dependency object like exists to be able to check if a dependency gir file was found
  • Upgrade dependencies

Breaking Changes

  • Removed the pretty and noCheck options
  • Changed default options to:
    • noNamespace: true (was useNamespace: false before)
    • environments: ["gjs"] (was ["gjs", "node"] before)
    • moduleType: "esm" (was "commonjs" before)
ts-for-gir - v3.0.0-beta.8

Published by JumpLink almost 2 years ago

  • Add new option to enable type generation for GNOME Shell (disabled by default now)
  • Add some more types for GNOME Shell
ts-for-gir - v3.0.0-beta.7

Published by JumpLink almost 2 years ago

  • Set verbose to false by default
  • Removed casts.ts
  • Removed ava test
  • Upgrade dependencies, yarn and vala-girs
  • Add initial support for GNOME Shell imports, see #99
  • Added new GNOME Shell Extension example, see #99
  • Added new example with types only generation, see #101
  • Add missing getttext functions: pgettext, dpgettext, see #97 by @HeavenVolkoff
  • Replace typescript runtime dependency with get-tsconfig, see #96 by @HeavenVolkoff
ts-for-gir - v3.0.0-beta.6

Published by JumpLink about 2 years ago

  • Change Class Signal conflict resolution logic, see #91 by @HeavenVolkoff
  • Expose GJS global imports.signals type, see #89 by @HeavenVolkoff
  • Enhance Glib.Error type with GJS specific additions, see #88 by @HeavenVolkoff
ts-for-gir - v3.0.0-beta.5

Published by JumpLink about 2 years ago

  • CLI: Fix noDOMLib option in templates
ts-for-gir - v3.0.0-beta.4

Published by JumpLink about 2 years ago

  • CLI: Allow to disable generation of types that are in conflict with the DOM types
  • Add typing definition for GLib.Bytes.toArray()
  • Upgrade dependencies
ts-for-gir - v3.0.0-beta.3

Published by JumpLink about 2 years ago

  • Follow user defined verbose option in ConflictResolver, see #83 by @HeavenVolkoff
  • Fix prepend logic in Logger's static methods, see #84 by @HeavenVolkoff
  • Expose GIRepositoryNamespace underscore properties in TS namespace, see #85 by @HeavenVolkoff
  • Solution for #72 + Add type definitions for Text(D)Encoder, see #86 by @HeavenVolkoff
  • Added new simple Gjs example with Libadwaita and Vite
ts-for-gir - v3.0.0-beta.2

Published by JumpLink over 2 years ago

  • Rename package to @ts-for-gir/cli, see #82
  • Ported more examples, see #81
  • Add overrides for Gio-2.0, see #80
  • Add GLib.Variant unpacking methods, see #70 by @HeavenVolkoff
  • node-gtk: Now supports virtual methods, see #77
  • Wrap constructor properties and signal callback interfaces to a class name module, see #73
  • Improve typing definition of log and logError, see #71 by @HeavenVolkoff
ts-for-gir - v3.0.0-beta.1

Published by JumpLink over 2 years ago

  • Real inheritance and implementations instead of copy all inherited methods / properties to the classes / interfaces, see #63
  • During the implementation of the upper pull request many other small improvements have been made.
  • Upgrade dependencies
  • More splitting of the Github workflows so that more can be tested in parallel
ts-for-gir - v2.1.0

Published by JumpLink over 2 years ago

  • Expect error on gi ESM imports, see #69, thanks to @HeavenVolkoff
  • Add typing definition for imports.package, see #67, thanks to @HeavenVolkoff
  • Allow Node.js versions greater or equal than v16 , see #65, thanks to @HeavenVolkoff
  • Ported Gjs for http server + client example to node-gtk
  • Split GObject template for separate templates for gjs and node-gtk
  • Do not skip generation of GObject fields anymore
  • Add TSDoc tags which identifies the type with the original gir type
  • Also generate TSDocs for classes
  • Split Github workflows into gjs and node-gtk
  • General improvements #59
    • Added new Gjs example for http server + client with Soap 3
    • Renamed CHANGELOG.md to NEWS.md because as it is not always a detailed changelog
    • Cleanup detection / generation of Array types
    • Added new Gjs example for Gtk.ListStore
    • Inject additional static methods to GObject.ParamSpec and other GObject overrides
    • Export Gjs System namespace
    • Ignore depreciated allow-none if optional or nullable is used
    • Distinguish between optional and nullable types
    • Add types for timer functions (setTimeout, setInterval), supported by Gjs since 1.71.1
    • Renamed GObject.Type to GObject.Gtype
    • General improvements to the generated types
    • Add initial support for generic type parameters
  • Add initial support for TSDoc with text and @param tag support, see #49
  • Upgrade dependencies
  • Fix logic around property's readonly & construct-only, see #52
  • Fix properties with the name of constructor
  • Fix enums with duplicate identifiers
  • Disabled Ava test for now, because it needs a refactoring
ts-for-gir - v2.0.0

Published by JumpLink over 2 years ago

  • Fix config file loading, see #48
  • The browser example now uses ESM for Gjs and Node.js
  • Upgrade all dependencies to latest
  • [node-gtk] don't add $obj parameter in connect() method either, thanks to @peat-psuwit
  • [node-gtk] Fixed Return types, see #46
  • New and simpler patch format
  • Replaced ESLint with prettier for prettify output, this fixes #29
  • New doc command for future implementation
  • New class HtmlDocGenerator this is not implemented yet, but can serve as a template for a future implementation
  • Fix type Uint8Array (should not be Uint8Array[])
  • CI: Run Gjs CLI examples to test working bindings
  • The generated types now contain a note that they are automatically generated with ts-for-gir
  • Split option exportDefault to useNamespace and moduleType to specify ESM or CommonJS module generation
  • Fix VSCode debugging configuration to work with ESM
  • Debugging information added to README.md
  • Moved all signature generations to new TypeDefinitionGenerator
  • The utility functions are no longer static members of a class
  • Fixed a bug in the forEachInterface method, which caused that not all inherited methods were implemented anymore (slipped in with the last PR)
  • Added a CHANGELOG.md