Releases: gjsify/ts-for-gir
Releases · gjsify/ts-for-gir
v3.1.0
- Upgrade dependencies
- Move conflicting global GJS types to
dom.d.ts
for optional import
Breaking Changes
Move conflicting global GJS types to dom.d.ts
, allowing you to optionally import them in your project. By doing so, you have the flexibility to choose whether or not to include these types based on your specific needs. This resolves the conflict between the GJS and DOM types and provides you with more control over managing the type definitions.
To use the previous behavior and include the conflicting GJS types, you can import both ./@types/gjs.d.ts
and ./@types/dom.d.ts
in your code.
Alternatively, if you are using the NPM packages, you can import the following:
@girs/gjs
: This package provides the GJS types.@girs/gjs/dom
: This package provides the conflicting DOM types.
Please update your imports accordingly based on your chosen approach.
v3.0.4
v3.0.3
- NPM package Yarn workspace support is optional now, see #124
- Upgrade all dependencies (except
xml2js
, see #125) - Parse app version from
package.json
- Moved
templates
,packages.xml
,package-data-parser.ts
andtemplate-processor.ts
from@ts-for-gir/lib
to@ts-for-gir/generator-typescript
- Cleanup yarn scripts in
./package.json
v3.0.1
v3.0.0
🎉 ts-for-gir v3.0.0 is here! 🚀
This stable release brings exciting new features and improvements to ts-for-gir.
Highlights
- Support for generating NPM packages for each module, making it easier to manage and use the type definitions.
- New CLI options to generate NPM packages and customize the package scope name.
- Improved documentation with detailed explanations of the new CLI options.
- Enhanced package structure with separate folders for each package, along with individual package.json files.
- Compatibility updates for GNOME Shell extensions, including a dedicated NPM package for GNOME Shell types.
- Expanded support for ambient modules.
- Generation of both CommonJS and ESM modules.
- Breaking changes to improve file naming conventions and folder structure.
- The pre-generated NPM packages can be found on gjsify/types
Changelog
- Add support to generate a package for each type we can publish on NPM, see #106
- Add a new CLI option to generate NPM packages
- Add a new CLI option to change the NPM package scope name
- Documentation for the new CLI options
- Generate a package.json for each package
- One folder for each package
- New example
- Add dependencies to each package.json
- Package names in lower case
- Separate package names for node-gtk types
- Package directory and file names in lower case
- Parse library versions
- Add a README.md for each NPM package
- Different README.md for node-gtk NPM packages
- Add an test to CI
- Fix tsconfig.alias.json
- Add support for ambient modules
- Documentation for ambient modules
- Generate both CJS and ESM modules
- Add node-gtk to the peer dependencies to the node-gtk NPM packages
- Remove destination environment directory
- Separate README.md for the main NPM packages (
@gir/gjs
and@gir/node-gtk
) - Generate and publish the new NPM packages
- Provide system and gettext as ESM, see #114
- Include only desired types (instead of all existing ones)
- Add repository and homepage to package.json
- Updated Documentation for the new NPM packages
- Move the GNOME Shell type definitions to a NPM package and make use of the new generated NPM packages
v3.0.0-beta.12
- UTF-8 string pointers are handled as nullable now, see #108
- Extract default GIR directories from
XDG_DATA_DIRS
environment variable, this fixes ts-for-gir on NixOS. See #107 by @samdroid-apps
Breaking Changes
- More parameters and returned UTF-8 strings are nullable now, so maybe you need to update your code to check if the string is not null. Please give us feedback about this change
v3.0.0-beta.11
- Split this project into more submodules:
cli
,lib
,generator-base
,generator-typescript
andgenerator-html-doc
- Fix node bin path for ts-for-gir execution
- Upgrade dependencies
v3.0.0-beta.10
- 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 rebuildts-for-gir
for debugging - Add support for promisified function generation, see #104 by @CharlieQLe
- Upgrade dependencies
v3.0.0-beta.9
- 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 dependencygir
file was found - Upgrade dependencies
Breaking Changes
- Removed the
pretty
andnoCheck
options - Changed default options to:
noNamespace: true
(wasuseNamespace: false
before)environments: ["gjs"]
(was["gjs", "node"]
before)moduleType: "esm"
(was"commonjs"
before)
v3.0.0-beta.8
- Add new option to enable type generation for GNOME Shell (disabled by default now)
- Add some more types for GNOME Shell