@ts-for-gir/cli 3.0.0-beta.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +429 -49
- package/lib/commands/doc.d.ts +1 -17
- package/lib/commands/doc.js +7 -13
- package/lib/commands/doc.js.map +1 -1
- package/lib/commands/generate.d.ts +1 -39
- package/lib/commands/generate.js +8 -25
- package/lib/commands/generate.js.map +1 -1
- package/lib/commands/list.d.ts +1 -11
- package/lib/commands/list.js +6 -10
- package/lib/commands/list.js.map +1 -1
- package/lib/config.d.ts +25 -11
- package/lib/config.js +194 -112
- package/lib/config.js.map +1 -1
- package/lib/generation-handler.d.ts +3 -4
- package/lib/generation-handler.js +8 -12
- package/lib/generation-handler.js.map +1 -1
- package/lib/index.d.ts +0 -12
- package/lib/index.js +0 -12
- package/lib/index.js.map +1 -1
- package/lib/module-loader.d.ts +41 -27
- package/lib/module-loader.js +54 -56
- package/lib/module-loader.js.map +1 -1
- package/lib/utils.d.ts +13 -86
- package/lib/utils.js +13 -194
- package/lib/utils.js.map +1 -1
- package/package.json +32 -37
- package/src/commands/doc.ts +9 -14
- package/src/commands/generate.ts +10 -25
- package/src/commands/list.ts +8 -10
- package/src/config.ts +211 -115
- package/src/generation-handler.ts +12 -13
- package/src/index.ts +0 -12
- package/src/module-loader.ts +88 -75
- package/src/utils.ts +12 -222
- package/lib/conflict-resolver.d.ts +0 -155
- package/lib/conflict-resolver.js +0 -1103
- package/lib/conflict-resolver.js.map +0 -1
- package/lib/constants.d.ts +0 -18
- package/lib/constants.js +0 -23
- package/lib/constants.js.map +0 -1
- package/lib/generator.d.ts +0 -5
- package/lib/generator.js +0 -2
- package/lib/generator.js.map +0 -1
- package/lib/gir-factory.d.ts +0 -51
- package/lib/gir-factory.js +0 -361
- package/lib/gir-factory.js.map +0 -1
- package/lib/gir-module.d.ts +0 -256
- package/lib/gir-module.js +0 -2075
- package/lib/gir-module.js.map +0 -1
- package/lib/html-doc-generator.d.ts +0 -13
- package/lib/html-doc-generator.js +0 -18
- package/lib/html-doc-generator.js.map +0 -1
- package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +0 -2
- package/lib/injection/callbacks/gjs/Gio-2.0.js +0 -36
- package/lib/injection/callbacks/gjs/Gio-2.0.js.map +0 -1
- package/lib/injection/callbacks/gjs/index.d.ts +0 -2
- package/lib/injection/callbacks/gjs/index.js +0 -3
- package/lib/injection/callbacks/gjs/index.js.map +0 -1
- package/lib/injection/callbacks/index.d.ts +0 -4
- package/lib/injection/callbacks/index.js +0 -4
- package/lib/injection/callbacks/index.js.map +0 -1
- package/lib/injection/callbacks/node-gtk/index.d.ts +0 -2
- package/lib/injection/callbacks/node-gtk/index.js +0 -2
- package/lib/injection/callbacks/node-gtk/index.js.map +0 -1
- package/lib/injection/classes/GLib-2-0.d.ts +0 -2
- package/lib/injection/classes/GLib-2-0.js +0 -35
- package/lib/injection/classes/GLib-2-0.js.map +0 -1
- package/lib/injection/classes/gjs/GLib-2.0.d.ts +0 -2
- package/lib/injection/classes/gjs/GLib-2.0.js +0 -200
- package/lib/injection/classes/gjs/GLib-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/GObject-2.0.d.ts +0 -2
- package/lib/injection/classes/gjs/GObject-2.0.js +0 -634
- package/lib/injection/classes/gjs/GObject-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/Gio-2.0.d.ts +0 -5
- package/lib/injection/classes/gjs/Gio-2.0.js +0 -218
- package/lib/injection/classes/gjs/Gio-2.0.js.map +0 -1
- package/lib/injection/classes/gjs/index.d.ts +0 -2
- package/lib/injection/classes/gjs/index.js +0 -5
- package/lib/injection/classes/gjs/index.js.map +0 -1
- package/lib/injection/classes/index.d.ts +0 -4
- package/lib/injection/classes/index.js +0 -5
- package/lib/injection/classes/index.js.map +0 -1
- package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/GLib-2.0.js +0 -19
- package/lib/injection/classes/node-gtk/GLib-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/GObject-2.0.js +0 -66
- package/lib/injection/classes/node-gtk/GObject-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Gdk-4.0.js +0 -32
- package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Gio-2.0.js +0 -14
- package/lib/injection/classes/node-gtk/Gio-2.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Graphene-1.0.js +0 -133
- package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Gtk-3.0.js +0 -31
- package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Gtk-4.0.js +0 -52
- package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +0 -2
- package/lib/injection/classes/node-gtk/Pango-1.0.js +0 -31
- package/lib/injection/classes/node-gtk/Pango-1.0.js.map +0 -1
- package/lib/injection/classes/node-gtk/index.d.ts +0 -2
- package/lib/injection/classes/node-gtk/index.js +0 -19
- package/lib/injection/classes/node-gtk/index.js.map +0 -1
- package/lib/injection/index.d.ts +0 -3
- package/lib/injection/index.js +0 -4
- package/lib/injection/index.js.map +0 -1
- package/lib/injection/injector.d.ts +0 -17
- package/lib/injection/injector.js +0 -139
- package/lib/injection/injector.js.map +0 -1
- package/lib/logger.d.ts +0 -36
- package/lib/logger.js +0 -137
- package/lib/logger.js.map +0 -1
- package/lib/messages.d.ts +0 -30
- package/lib/messages.js +0 -45
- package/lib/messages.js.map +0 -1
- package/lib/symtable.d.ts +0 -24
- package/lib/symtable.js +0 -63
- package/lib/symtable.js.map +0 -1
- package/lib/template-processor.d.ts +0 -75
- package/lib/template-processor.js +0 -207
- package/lib/template-processor.js.map +0 -1
- package/lib/transformation.d.ts +0 -156
- package/lib/transformation.js +0 -523
- package/lib/transformation.js.map +0 -1
- package/lib/type-definition-generator.d.ts +0 -116
- package/lib/type-definition-generator.js +0 -989
- package/lib/type-definition-generator.js.map +0 -1
- package/lib/types/answer-version.d.ts +0 -4
- package/lib/types/answer-version.js +0 -2
- package/lib/types/answer-version.js.map +0 -1
- package/lib/types/build-type.d.ts +0 -1
- package/lib/types/build-type.js +0 -2
- package/lib/types/build-type.js.map +0 -1
- package/lib/types/class-parent.d.ts +0 -11
- package/lib/types/class-parent.js +0 -2
- package/lib/types/class-parent.js.map +0 -1
- package/lib/types/config-flags.d.ts +0 -4
- package/lib/types/config-flags.js +0 -2
- package/lib/types/config-flags.js.map +0 -1
- package/lib/types/conflict-child-element.d.ts +0 -10
- package/lib/types/conflict-child-element.js +0 -2
- package/lib/types/conflict-child-element.js.map +0 -1
- package/lib/types/conflict-grouped-element.d.ts +0 -6
- package/lib/types/conflict-grouped-element.js +0 -2
- package/lib/types/conflict-grouped-element.js.map +0 -1
- package/lib/types/conflict-grouped-elements.d.ts +0 -4
- package/lib/types/conflict-grouped-elements.js +0 -2
- package/lib/types/conflict-grouped-elements.js.map +0 -1
- package/lib/types/construct-name.d.ts +0 -1
- package/lib/types/construct-name.js +0 -2
- package/lib/types/construct-name.js.map +0 -1
- package/lib/types/dependency-map.d.ts +0 -4
- package/lib/types/dependency-map.js +0 -2
- package/lib/types/dependency-map.js.map +0 -1
- package/lib/types/dependency.d.ts +0 -14
- package/lib/types/dependency.js +0 -2
- package/lib/types/dependency.js.map +0 -1
- package/lib/types/environment.d.ts +0 -1
- package/lib/types/environment.js +0 -2
- package/lib/types/environment.js.map +0 -1
- package/lib/types/generate-config.d.ts +0 -34
- package/lib/types/generate-config.js +0 -2
- package/lib/types/generate-config.js.map +0 -1
- package/lib/types/generator-type.d.ts +0 -4
- package/lib/types/generator-type.js +0 -6
- package/lib/types/generator-type.js.map +0 -1
- package/lib/types/gir-alias-element.d.ts +0 -13
- package/lib/types/gir-alias-element.js +0 -2
- package/lib/types/gir-alias-element.js.map +0 -1
- package/lib/types/gir-annotation.d.ts +0 -9
- package/lib/types/gir-annotation.js +0 -2
- package/lib/types/gir-annotation.js.map +0 -1
- package/lib/types/gir-any-element.d.ts +0 -2
- package/lib/types/gir-any-element.js +0 -2
- package/lib/types/gir-any-element.js.map +0 -1
- package/lib/types/gir-any-type.d.ts +0 -5
- package/lib/types/gir-any-type.js +0 -2
- package/lib/types/gir-any-type.js.map +0 -1
- package/lib/types/gir-array-type.d.ts +0 -20
- package/lib/types/gir-array-type.js +0 -3
- package/lib/types/gir-array-type.js.map +0 -1
- package/lib/types/gir-bitfield-element.d.ts +0 -17
- package/lib/types/gir-bitfield-element.js +0 -2
- package/lib/types/gir-bitfield-element.js.map +0 -1
- package/lib/types/gir-boolean.d.ts +0 -1
- package/lib/types/gir-boolean.js +0 -2
- package/lib/types/gir-boolean.js.map +0 -1
- package/lib/types/gir-boxed-element.d.ts +0 -15
- package/lib/types/gir-boxed-element.js +0 -2
- package/lib/types/gir-boxed-element.js.map +0 -1
- package/lib/types/gir-c-include.d.ts +0 -7
- package/lib/types/gir-c-include.js +0 -2
- package/lib/types/gir-c-include.js.map +0 -1
- package/lib/types/gir-callable-attrs.d.ts +0 -15
- package/lib/types/gir-callable-attrs.js +0 -3
- package/lib/types/gir-callable-attrs.js.map +0 -1
- package/lib/types/gir-callable-param-element.d.ts +0 -30
- package/lib/types/gir-callable-param-element.js +0 -2
- package/lib/types/gir-callable-param-element.js.map +0 -1
- package/lib/types/gir-callable-param.d.ts +0 -7
- package/lib/types/gir-callable-param.js +0 -2
- package/lib/types/gir-callable-param.js.map +0 -1
- package/lib/types/gir-callable-return.d.ts +0 -22
- package/lib/types/gir-callable-return.js +0 -2
- package/lib/types/gir-callable-return.js.map +0 -1
- package/lib/types/gir-callback-element.d.ts +0 -15
- package/lib/types/gir-callback-element.js +0 -2
- package/lib/types/gir-callback-element.js.map +0 -1
- package/lib/types/gir-class-element.d.ts +0 -48
- package/lib/types/gir-class-element.js +0 -2
- package/lib/types/gir-class-element.js.map +0 -1
- package/lib/types/gir-constant-element.d.ts +0 -15
- package/lib/types/gir-constant-element.js +0 -2
- package/lib/types/gir-constant-element.js.map +0 -1
- package/lib/types/gir-constructor-element.d.ts +0 -8
- package/lib/types/gir-constructor-element.js +0 -2
- package/lib/types/gir-constructor-element.js.map +0 -1
- package/lib/types/gir-direction.d.ts +0 -5
- package/lib/types/gir-direction.js +0 -7
- package/lib/types/gir-direction.js.map +0 -1
- package/lib/types/gir-doc-element.d.ts +0 -68
- package/lib/types/gir-doc-element.js +0 -2
- package/lib/types/gir-doc-element.js.map +0 -1
- package/lib/types/gir-enum-element.d.ts +0 -19
- package/lib/types/gir-enum-element.js +0 -2
- package/lib/types/gir-enum-element.js.map +0 -1
- package/lib/types/gir-field-element.d.ts +0 -18
- package/lib/types/gir-field-element.js +0 -2
- package/lib/types/gir-field-element.js.map +0 -1
- package/lib/types/gir-function-element.d.ts +0 -8
- package/lib/types/gir-function-element.js +0 -2
- package/lib/types/gir-function-element.js.map +0 -1
- package/lib/types/gir-implements.d.ts +0 -8
- package/lib/types/gir-implements.js +0 -2
- package/lib/types/gir-implements.js.map +0 -1
- package/lib/types/gir-include.d.ts +0 -9
- package/lib/types/gir-include.js +0 -2
- package/lib/types/gir-include.js.map +0 -1
- package/lib/types/gir-info-attrs.d.ts +0 -13
- package/lib/types/gir-info-attrs.js +0 -2
- package/lib/types/gir-info-attrs.js.map +0 -1
- package/lib/types/gir-info-elements.d.ts +0 -5
- package/lib/types/gir-info-elements.js +0 -2
- package/lib/types/gir-info-elements.js.map +0 -1
- package/lib/types/gir-instance-parameter.d.ts +0 -21
- package/lib/types/gir-instance-parameter.js +0 -2
- package/lib/types/gir-instance-parameter.js.map +0 -1
- package/lib/types/gir-interface-element.d.ts +0 -31
- package/lib/types/gir-interface-element.js +0 -2
- package/lib/types/gir-interface-element.js.map +0 -1
- package/lib/types/gir-member-element.d.ts +0 -17
- package/lib/types/gir-member-element.js +0 -2
- package/lib/types/gir-member-element.js.map +0 -1
- package/lib/types/gir-method-element.d.ts +0 -13
- package/lib/types/gir-method-element.js +0 -2
- package/lib/types/gir-method-element.js.map +0 -1
- package/lib/types/gir-module-resolved-by.d.ts +0 -10
- package/lib/types/gir-module-resolved-by.js +0 -2
- package/lib/types/gir-module-resolved-by.js.map +0 -1
- package/lib/types/gir-modules-grouped-map.d.ts +0 -4
- package/lib/types/gir-modules-grouped-map.js +0 -2
- package/lib/types/gir-modules-grouped-map.js.map +0 -1
- package/lib/types/gir-modules-grouped.d.ts +0 -12
- package/lib/types/gir-modules-grouped.js +0 -2
- package/lib/types/gir-modules-grouped.js.map +0 -1
- package/lib/types/gir-namespace.d.ts +0 -30
- package/lib/types/gir-namespace.js +0 -2
- package/lib/types/gir-namespace.js.map +0 -1
- package/lib/types/gir-package.d.ts +0 -7
- package/lib/types/gir-package.js +0 -2
- package/lib/types/gir-package.js.map +0 -1
- package/lib/types/gir-prerequisite.d.ts +0 -5
- package/lib/types/gir-prerequisite.js +0 -2
- package/lib/types/gir-prerequisite.js.map +0 -1
- package/lib/types/gir-property-element.d.ts +0 -21
- package/lib/types/gir-property-element.js +0 -2
- package/lib/types/gir-property-element.js.map +0 -1
- package/lib/types/gir-record-element.d.ts +0 -30
- package/lib/types/gir-record-element.js +0 -2
- package/lib/types/gir-record-element.js.map +0 -1
- package/lib/types/gir-repository.d.ts +0 -16
- package/lib/types/gir-repository.js +0 -2
- package/lib/types/gir-repository.js.map +0 -1
- package/lib/types/gir-signal.d.ts +0 -25
- package/lib/types/gir-signal.js +0 -2
- package/lib/types/gir-signal.js.map +0 -1
- package/lib/types/gir-transfer-ownership-type.d.ts +0 -5
- package/lib/types/gir-transfer-ownership-type.js +0 -7
- package/lib/types/gir-transfer-ownership-type.js.map +0 -1
- package/lib/types/gir-transfer-ownership.d.ts +0 -5
- package/lib/types/gir-transfer-ownership.js +0 -2
- package/lib/types/gir-transfer-ownership.js.map +0 -1
- package/lib/types/gir-type.d.ts +0 -14
- package/lib/types/gir-type.js +0 -2
- package/lib/types/gir-type.js.map +0 -1
- package/lib/types/gir-union-element.d.ts +0 -22
- package/lib/types/gir-union-element.js +0 -2
- package/lib/types/gir-union-element.js.map +0 -1
- package/lib/types/gir-unparsed-number.d.ts +0 -2
- package/lib/types/gir-unparsed-number.js +0 -2
- package/lib/types/gir-unparsed-number.js.map +0 -1
- package/lib/types/gir-var-args.d.ts +0 -5
- package/lib/types/gir-var-args.js +0 -2
- package/lib/types/gir-var-args.js.map +0 -1
- package/lib/types/gir-virtual-method.d.ts +0 -10
- package/lib/types/gir-virtual-method.js +0 -2
- package/lib/types/gir-virtual-method.js.map +0 -1
- package/lib/types/index.d.ts +0 -118
- package/lib/types/index.js +0 -119
- package/lib/types/index.js.map +0 -1
- package/lib/types/inheritance-table.d.ts +0 -3
- package/lib/types/inheritance-table.js +0 -2
- package/lib/types/inheritance-table.js.map +0 -1
- package/lib/types/injection-callback.d.ts +0 -16
- package/lib/types/injection-callback.js +0 -2
- package/lib/types/injection-callback.js.map +0 -1
- package/lib/types/injection-class.d.ts +0 -25
- package/lib/types/injection-class.js +0 -2
- package/lib/types/injection-class.js.map +0 -1
- package/lib/types/injection-function.d.ts +0 -7
- package/lib/types/injection-function.js +0 -2
- package/lib/types/injection-function.js.map +0 -1
- package/lib/types/injection-generic-parameter.d.ts +0 -2
- package/lib/types/injection-generic-parameter.js +0 -2
- package/lib/types/injection-generic-parameter.js.map +0 -1
- package/lib/types/injection-instance-parameter.d.ts +0 -2
- package/lib/types/injection-instance-parameter.js +0 -2
- package/lib/types/injection-instance-parameter.js.map +0 -1
- package/lib/types/injection-parameter.d.ts +0 -8
- package/lib/types/injection-parameter.js +0 -2
- package/lib/types/injection-parameter.js.map +0 -1
- package/lib/types/injection-property.d.ts +0 -4
- package/lib/types/injection-property.js +0 -2
- package/lib/types/injection-property.js.map +0 -1
- package/lib/types/injection-type.d.ts +0 -2
- package/lib/types/injection-type.js +0 -2
- package/lib/types/injection-type.js.map +0 -1
- package/lib/types/injection.d.ts +0 -5
- package/lib/types/injection.js +0 -2
- package/lib/types/injection.js.map +0 -1
- package/lib/types/local-name-check.d.ts +0 -4
- package/lib/types/local-name-check.js +0 -2
- package/lib/types/local-name-check.js.map +0 -1
- package/lib/types/local-name-type.d.ts +0 -1
- package/lib/types/local-name-type.js +0 -2
- package/lib/types/local-name-type.js.map +0 -1
- package/lib/types/local-name.d.ts +0 -7
- package/lib/types/local-name.js +0 -2
- package/lib/types/local-name.js.map +0 -1
- package/lib/types/local-names.d.ts +0 -4
- package/lib/types/local-names.js +0 -2
- package/lib/types/local-names.js.map +0 -1
- package/lib/types/module-type.d.ts +0 -1
- package/lib/types/module-type.js +0 -2
- package/lib/types/module-type.js.map +0 -1
- package/lib/types/parsed-gir.d.ts +0 -4
- package/lib/types/parsed-gir.js +0 -2
- package/lib/types/parsed-gir.js.map +0 -1
- package/lib/types/part-of-class.d.ts +0 -7
- package/lib/types/part-of-class.js +0 -2
- package/lib/types/part-of-class.js.map +0 -1
- package/lib/types/part-of-module.d.ts +0 -6
- package/lib/types/part-of-module.js +0 -2
- package/lib/types/part-of-module.js.map +0 -1
- package/lib/types/resolve-type.d.ts +0 -4
- package/lib/types/resolve-type.js +0 -6
- package/lib/types/resolve-type.js.map +0 -1
- package/lib/types/sym-table-items.d.ts +0 -4
- package/lib/types/sym-table-items.js +0 -2
- package/lib/types/sym-table-items.js.map +0 -1
- package/lib/types/transformation-case.d.ts +0 -1
- package/lib/types/transformation-case.js +0 -2
- package/lib/types/transformation-case.js.map +0 -1
- package/lib/types/transformations.d.ts +0 -11
- package/lib/types/transformations.js +0 -2
- package/lib/types/transformations.js.map +0 -1
- package/lib/types/ts-alias.d.ts +0 -10
- package/lib/types/ts-alias.js +0 -2
- package/lib/types/ts-alias.js.map +0 -1
- package/lib/types/ts-callback-interface.d.ts +0 -10
- package/lib/types/ts-callback-interface.js +0 -2
- package/lib/types/ts-callback-interface.js.map +0 -1
- package/lib/types/ts-callback.d.ts +0 -17
- package/lib/types/ts-callback.js +0 -2
- package/lib/types/ts-callback.js.map +0 -1
- package/lib/types/ts-class.d.ts +0 -85
- package/lib/types/ts-class.js +0 -2
- package/lib/types/ts-class.js.map +0 -1
- package/lib/types/ts-doc-tag.d.ts +0 -21
- package/lib/types/ts-doc-tag.js +0 -2
- package/lib/types/ts-doc-tag.js.map +0 -1
- package/lib/types/ts-doc.d.ts +0 -20
- package/lib/types/ts-doc.js +0 -2
- package/lib/types/ts-doc.js.map +0 -1
- package/lib/types/ts-enum.d.ts +0 -12
- package/lib/types/ts-enum.js +0 -2
- package/lib/types/ts-enum.js.map +0 -1
- package/lib/types/ts-function.d.ts +0 -44
- package/lib/types/ts-function.js +0 -2
- package/lib/types/ts-function.js.map +0 -1
- package/lib/types/ts-generic-parameter.d.ts +0 -8
- package/lib/types/ts-generic-parameter.js +0 -2
- package/lib/types/ts-generic-parameter.js.map +0 -1
- package/lib/types/ts-instance-parameter.d.ts +0 -4
- package/lib/types/ts-instance-parameter.js +0 -2
- package/lib/types/ts-instance-parameter.js.map +0 -1
- package/lib/types/ts-member.d.ts +0 -10
- package/lib/types/ts-member.js +0 -2
- package/lib/types/ts-member.js.map +0 -1
- package/lib/types/ts-method.d.ts +0 -5
- package/lib/types/ts-method.js +0 -2
- package/lib/types/ts-method.js.map +0 -1
- package/lib/types/ts-parameter.d.ts +0 -15
- package/lib/types/ts-parameter.js +0 -2
- package/lib/types/ts-parameter.js.map +0 -1
- package/lib/types/ts-property.d.ts +0 -17
- package/lib/types/ts-property.js +0 -2
- package/lib/types/ts-property.js.map +0 -1
- package/lib/types/ts-signal.d.ts +0 -17
- package/lib/types/ts-signal.js +0 -2
- package/lib/types/ts-signal.js.map +0 -1
- package/lib/types/ts-type-name.d.ts +0 -1
- package/lib/types/ts-type-name.js +0 -2
- package/lib/types/ts-type-name.js.map +0 -1
- package/lib/types/ts-type-separator.d.ts +0 -1
- package/lib/types/ts-type-separator.js +0 -2
- package/lib/types/ts-type-separator.js.map +0 -1
- package/lib/types/ts-type.d.ts +0 -22
- package/lib/types/ts-type.js +0 -2
- package/lib/types/ts-type.js.map +0 -1
- package/lib/types/ts-var.d.ts +0 -17
- package/lib/types/ts-var.js +0 -2
- package/lib/types/ts-var.js.map +0 -1
- package/lib/types/type-gir-alias.d.ts +0 -2
- package/lib/types/type-gir-alias.js +0 -2
- package/lib/types/type-gir-alias.js.map +0 -1
- package/lib/types/type-gir-class.d.ts +0 -2
- package/lib/types/type-gir-class.js +0 -2
- package/lib/types/type-gir-class.js.map +0 -1
- package/lib/types/type-gir-element.d.ts +0 -3
- package/lib/types/type-gir-element.js +0 -2
- package/lib/types/type-gir-element.js.map +0 -1
- package/lib/types/type-gir-enumeration-member.d.ts +0 -2
- package/lib/types/type-gir-enumeration-member.js +0 -2
- package/lib/types/type-gir-enumeration-member.js.map +0 -1
- package/lib/types/type-gir-enumeration.d.ts +0 -2
- package/lib/types/type-gir-enumeration.js +0 -2
- package/lib/types/type-gir-enumeration.js.map +0 -1
- package/lib/types/type-gir-function.d.ts +0 -1
- package/lib/types/type-gir-function.js +0 -2
- package/lib/types/type-gir-function.js.map +0 -1
- package/lib/types/type-gir-interface.d.ts +0 -2
- package/lib/types/type-gir-interface.js +0 -2
- package/lib/types/type-gir-interface.js.map +0 -1
- package/lib/types/type-gir-method.d.ts +0 -2
- package/lib/types/type-gir-method.js +0 -2
- package/lib/types/type-gir-method.js.map +0 -1
- package/lib/types/type-gir-parameter.d.ts +0 -1
- package/lib/types/type-gir-parameter.js +0 -2
- package/lib/types/type-gir-parameter.js.map +0 -1
- package/lib/types/type-gir-property.d.ts +0 -2
- package/lib/types/type-gir-property.js +0 -2
- package/lib/types/type-gir-property.js.map +0 -1
- package/lib/types/type-gir-variable.d.ts +0 -1
- package/lib/types/type-gir-variable.js +0 -2
- package/lib/types/type-gir-variable.js.map +0 -1
- package/lib/types/type-ts-element.d.ts +0 -3
- package/lib/types/type-ts-element.js +0 -2
- package/lib/types/type-ts-element.js.map +0 -1
- package/lib/types/type-ts-enumeration-member.d.ts +0 -2
- package/lib/types/type-ts-enumeration-member.js +0 -2
- package/lib/types/type-ts-enumeration-member.js.map +0 -1
- package/lib/types/type-ts-function.d.ts +0 -1
- package/lib/types/type-ts-function.js +0 -2
- package/lib/types/type-ts-function.js.map +0 -1
- package/lib/types/type-ts-property.d.ts +0 -1
- package/lib/types/type-ts-property.js +0 -2
- package/lib/types/type-ts-property.js.map +0 -1
- package/lib/types/user-config-load-result.d.ts +0 -6
- package/lib/types/user-config-load-result.js +0 -2
- package/lib/types/user-config-load-result.js.map +0 -1
- package/lib/types/user-config.d.ts +0 -42
- package/lib/types/user-config.js +0 -2
- package/lib/types/user-config.js.map +0 -1
- package/src/conflict-resolver.ts +0 -1358
- package/src/constants.ts +0 -29
- package/src/generator.ts +0 -10
- package/src/gir-factory.ts +0 -499
- package/src/gir-module.ts +0 -2816
- package/src/html-doc-generator.ts +0 -23
- package/src/injection/callbacks/gjs/Gio-2.0.ts +0 -37
- package/src/injection/callbacks/gjs/index.ts +0 -5
- package/src/injection/callbacks/index.ts +0 -6
- package/src/injection/callbacks/node-gtk/index.ts +0 -3
- package/src/injection/classes/GLib-2-0.ts +0 -36
- package/src/injection/classes/gjs/GLib-2.0.ts +0 -201
- package/src/injection/classes/gjs/GObject-2.0.ts +0 -635
- package/src/injection/classes/gjs/Gio-2.0.ts +0 -219
- package/src/injection/classes/gjs/index.ts +0 -7
- package/src/injection/classes/index.ts +0 -7
- package/src/injection/classes/node-gtk/GLib-2.0.ts +0 -20
- package/src/injection/classes/node-gtk/GObject-2.0.ts +0 -67
- package/src/injection/classes/node-gtk/Gdk-4.0.ts +0 -33
- package/src/injection/classes/node-gtk/Gio-2.0.ts +0 -15
- package/src/injection/classes/node-gtk/Graphene-1.0.ts +0 -134
- package/src/injection/classes/node-gtk/Gtk-3.0.ts +0 -32
- package/src/injection/classes/node-gtk/Gtk-4.0.ts +0 -53
- package/src/injection/classes/node-gtk/Pango-1.0.ts +0 -32
- package/src/injection/classes/node-gtk/index.ts +0 -21
- package/src/injection/index.ts +0 -3
- package/src/injection/injector.ts +0 -184
- package/src/logger.ts +0 -134
- package/src/messages.ts +0 -68
- package/src/symtable.ts +0 -70
- package/src/template-processor.ts +0 -233
- package/src/transformation.ts +0 -583
- package/src/type-definition-generator.ts +0 -1458
- package/src/types/answer-version.ts +0 -4
- package/src/types/build-type.ts +0 -1
- package/src/types/class-parent.ts +0 -12
- package/src/types/config-flags.ts +0 -5
- package/src/types/conflict-child-element.ts +0 -11
- package/src/types/conflict-grouped-element.ts +0 -7
- package/src/types/conflict-grouped-elements.ts +0 -5
- package/src/types/construct-name.ts +0 -11
- package/src/types/dependency-map.ts +0 -4
- package/src/types/dependency.ts +0 -14
- package/src/types/environment.ts +0 -1
- package/src/types/generate-config.ts +0 -35
- package/src/types/generator-type.ts +0 -4
- package/src/types/gir-alias-element.ts +0 -15
- package/src/types/gir-annotation.ts +0 -10
- package/src/types/gir-any-element.ts +0 -35
- package/src/types/gir-any-type.ts +0 -7
- package/src/types/gir-array-type.ts +0 -23
- package/src/types/gir-bitfield-element.ts +0 -20
- package/src/types/gir-boolean.ts +0 -1
- package/src/types/gir-boxed-element.ts +0 -19
- package/src/types/gir-c-include.ts +0 -7
- package/src/types/gir-callable-attrs.ts +0 -19
- package/src/types/gir-callable-param-element.ts +0 -45
- package/src/types/gir-callable-param.ts +0 -9
- package/src/types/gir-callable-return.ts +0 -25
- package/src/types/gir-callback-element.ts +0 -28
- package/src/types/gir-class-element.ts +0 -71
- package/src/types/gir-constant-element.ts +0 -17
- package/src/types/gir-constructor-element.ts +0 -18
- package/src/types/gir-direction.ts +0 -5
- package/src/types/gir-doc-element.ts +0 -73
- package/src/types/gir-enum-element.ts +0 -28
- package/src/types/gir-field-element.ts +0 -31
- package/src/types/gir-function-element.ts +0 -19
- package/src/types/gir-implements.ts +0 -9
- package/src/types/gir-include.ts +0 -9
- package/src/types/gir-info-attrs.ts +0 -16
- package/src/types/gir-info-elements.ts +0 -8
- package/src/types/gir-instance-parameter.ts +0 -25
- package/src/types/gir-interface-element.ts +0 -53
- package/src/types/gir-member-element.ts +0 -19
- package/src/types/gir-method-element.ts +0 -25
- package/src/types/gir-module-resolved-by.ts +0 -11
- package/src/types/gir-modules-grouped-map.ts +0 -5
- package/src/types/gir-modules-grouped.ts +0 -13
- package/src/types/gir-namespace.ts +0 -47
- package/src/types/gir-package.ts +0 -7
- package/src/types/gir-prerequisite.ts +0 -5
- package/src/types/gir-property-element.ts +0 -31
- package/src/types/gir-record-element.ts +0 -47
- package/src/types/gir-repository.ts +0 -20
- package/src/types/gir-signal.ts +0 -43
- package/src/types/gir-transfer-ownership-type.ts +0 -5
- package/src/types/gir-transfer-ownership.ts +0 -6
- package/src/types/gir-type.ts +0 -16
- package/src/types/gir-union-element.ts +0 -35
- package/src/types/gir-unparsed-number.ts +0 -2
- package/src/types/gir-var-args.ts +0 -6
- package/src/types/gir-virtual-method.ts +0 -22
- package/src/types/index.ts +0 -118
- package/src/types/inheritance-table.ts +0 -3
- package/src/types/injection-callback.ts +0 -20
- package/src/types/injection-class.ts +0 -30
- package/src/types/injection-function.ts +0 -23
- package/src/types/injection-generic-parameter.ts +0 -3
- package/src/types/injection-instance-parameter.ts +0 -3
- package/src/types/injection-parameter.ts +0 -9
- package/src/types/injection-property.ts +0 -7
- package/src/types/injection-type.ts +0 -3
- package/src/types/injection.ts +0 -6
- package/src/types/local-name-check.ts +0 -5
- package/src/types/local-name-type.ts +0 -1
- package/src/types/local-name.ts +0 -8
- package/src/types/local-names.ts +0 -5
- package/src/types/module-type.ts +0 -1
- package/src/types/parsed-gir.ts +0 -5
- package/src/types/part-of-class.ts +0 -9
- package/src/types/part-of-module.ts +0 -8
- package/src/types/resolve-type.ts +0 -4
- package/src/types/sym-table-items.ts +0 -5
- package/src/types/transformation-case.ts +0 -7
- package/src/types/transformations.ts +0 -12
- package/src/types/ts-alias.ts +0 -11
- package/src/types/ts-callback-interface.ts +0 -11
- package/src/types/ts-callback.ts +0 -21
- package/src/types/ts-class.ts +0 -109
- package/src/types/ts-doc-tag.ts +0 -23
- package/src/types/ts-doc.ts +0 -23
- package/src/types/ts-enum.ts +0 -15
- package/src/types/ts-function.ts +0 -59
- package/src/types/ts-generic-parameter.ts +0 -8
- package/src/types/ts-instance-parameter.ts +0 -4
- package/src/types/ts-member.ts +0 -11
- package/src/types/ts-method.ts +0 -6
- package/src/types/ts-parameter.ts +0 -20
- package/src/types/ts-property.ts +0 -22
- package/src/types/ts-signal.ts +0 -21
- package/src/types/ts-type-name.ts +0 -1
- package/src/types/ts-type-separator.ts +0 -1
- package/src/types/ts-type.ts +0 -25
- package/src/types/ts-var.ts +0 -21
- package/src/types/type-gir-alias.ts +0 -2
- package/src/types/type-gir-class.ts +0 -2
- package/src/types/type-gir-element.ts +0 -25
- package/src/types/type-gir-enumeration-member.ts +0 -2
- package/src/types/type-gir-enumeration.ts +0 -2
- package/src/types/type-gir-function.ts +0 -8
- package/src/types/type-gir-interface.ts +0 -2
- package/src/types/type-gir-method.ts +0 -2
- package/src/types/type-gir-parameter.ts +0 -1
- package/src/types/type-gir-property.ts +0 -2
- package/src/types/type-gir-variable.ts +0 -1
- package/src/types/type-ts-element.ts +0 -13
- package/src/types/type-ts-enumeration-member.ts +0 -2
- package/src/types/type-ts-function.ts +0 -1
- package/src/types/type-ts-property.ts +0 -1
- package/src/types/user-config-load-result.ts +0 -6
- package/src/types/user-config.ts +0 -43
- package/templates/Cogl-2.0.d.ts +0 -0
- package/templates/Gjs/GObject-2.0.d.ts +0 -238
- package/templates/Gjs/Gio-2.0.d.ts +0 -64
- package/templates/Gjs/Gjs.d.ts +0 -137
- package/templates/Gjs/Gjs.js +0 -21
- package/templates/Gjs/GnomeShell.d.ts +0 -122
- package/templates/Gjs/GnomeShell.js +0 -10
- package/templates/Gjs/index.d.ts +0 -594
- package/templates/Gjs/index.js +0 -4
- package/templates/Gjs/misc/dbusUtils.d.ts +0 -15
- package/templates/Gjs/misc/dbusUtils.js +0 -6
- package/templates/Gjs/misc/extensionUtils.d.ts +0 -99
- package/templates/Gjs/misc/extensionUtils.js +0 -6
- package/templates/Gjs/misc/fileUtils.d.ts +0 -49
- package/templates/Gjs/misc/fileUtils.js +0 -6
- package/templates/Gjs/misc/gnomeSession.d.ts +0 -72
- package/templates/Gjs/misc/gnomeSession.js +0 -6
- package/templates/Gjs/module.d.ts +0 -10
- package/templates/Gjs/module.js +0 -16
- package/templates/Gjs/ui/userWidget.d.ts +0 -10
- package/templates/Gjs/ui/userWidget.js +0 -6
- package/templates/Granite-1.0.d.ts +0 -7
- package/templates/Granite-7.0.d.ts +0 -7
- package/templates/GstBase-0.10.d.ts +0 -5
- package/templates/RygelServer-2.6.d.ts +0 -3
- package/templates/node-gtk/GObject-2.0.d.ts +0 -57
- package/templates/node-gtk/index.d.ts +0 -40
- package/templates/node-gtk/index.js +0 -9
- package/templates/node-gtk/module.d.ts +0 -10
- package/templates/node-gtk/module.js +0 -17
package/README.md
CHANGED
|
@@ -1,31 +1,77 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/gjsify/ts-for-gir/main/.github/ts-for-gir.png" />
|
|
3
|
+
<h1 align="center">TS <small>for</small> GIR</h1>
|
|
4
|
+
</p>
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
<p align="center">
|
|
7
|
+
<img src="https://badgen.net/github/checks/gjsify/ts-for-gir" />
|
|
8
|
+
<img src="https://badgen.net/github/license/gjsify/ts-for-gir" />
|
|
9
|
+
<img src="https://badgen.net/npm/v/@ts-for-gir/cli" />
|
|
10
|
+
<img src="https://badgen.net/npm/dw/@ts-for-gir/cli" />
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p align="center">TypeScript type definition generator for GObject introspection GIR files</p>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<img src="https://raw.githubusercontent.com/gjsify/ts-for-gir/main/.github/feeling.gif" />
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
# CLI
|
|
20
|
+
|
|
21
|
+
CLI tool to generate Typescript Type Definition files for GJS and node-gtk.
|
|
4
22
|
|
|
5
23
|
## Getting started
|
|
6
24
|
|
|
7
25
|
``` bash
|
|
8
|
-
npm install @ts-for-gir/cli
|
|
26
|
+
npm install -g @ts-for-gir/cli
|
|
9
27
|
ts-for-gir --help
|
|
10
28
|
```
|
|
11
29
|
|
|
30
|
+
> Alternatively you can also add @ts-for-gir/cli to your dependencies:
|
|
31
|
+
> ```bash
|
|
32
|
+
> npm install --save-dev @ts-for-gir/cli
|
|
33
|
+
> ```
|
|
34
|
+
>
|
|
35
|
+
> Or without installing using `npx`:
|
|
36
|
+
> ```bash
|
|
37
|
+
> npx @ts-for-gir/cli --help
|
|
38
|
+
> ```
|
|
39
|
+
|
|
12
40
|
After you have installed `@ts-for-gir/cli` you can run the `ts-for-gir` command:
|
|
13
41
|
|
|
14
42
|
```bash
|
|
15
43
|
$ ts-for-gir --help
|
|
16
44
|
|
|
17
|
-
Typescript .d.ts generator from GIR for
|
|
45
|
+
Typescript .d.ts generator from GIR for GJS or node-gtk
|
|
18
46
|
|
|
19
47
|
Commands:
|
|
20
|
-
ts-for-gir generate [modules..] Generates .d.ts files from GIR for
|
|
48
|
+
ts-for-gir generate [modules..] Generates .d.ts files from GIR for GJS or nod
|
|
21
49
|
e-gtk
|
|
22
50
|
ts-for-gir list [modules..] Lists all available GIR modules
|
|
51
|
+
ts-for-gir doc [modules..] The HTML documentation generator is not yet i
|
|
52
|
+
mplemented, but feel free to implement it 🤗
|
|
23
53
|
|
|
24
54
|
Options:
|
|
25
55
|
--version Show version number [boolean]
|
|
26
|
-
--help Show help [boolean]
|
|
56
|
+
--help Show help [boolean] [boolean]
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Example
|
|
60
|
+
|
|
61
|
+
To generate the Typescript type definitions of Gtk-4.0 for GJS run:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
ts-for-gir generate Gtk-4.0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
To generate this types for [node-gtk](https://github.com/romgrk/node-gtk) run:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
ts-for-gir generate Gtk-4.0 -e node
|
|
27
71
|
```
|
|
28
72
|
|
|
73
|
+
You can also look at the [examples](https://github.com/gjsify/ts-for-gir/tree/main/examples) to see how the types are generated there.
|
|
74
|
+
|
|
29
75
|
## Generate .d.ts files
|
|
30
76
|
|
|
31
77
|
```bash
|
|
@@ -33,36 +79,61 @@ $ ts-for-gir generate --help
|
|
|
33
79
|
|
|
34
80
|
ts-for-gir generate [modules..]
|
|
35
81
|
|
|
36
|
-
|
|
82
|
+
ts-for-gir generate [modules..]
|
|
83
|
+
|
|
84
|
+
Generates .d.ts files from GIR for GJS or node-gtk
|
|
37
85
|
|
|
38
86
|
Options:
|
|
39
|
-
--version
|
|
40
|
-
--help
|
|
41
|
-
--modules
|
|
42
|
-
|
|
43
|
-
-g, --girDirectories
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
87
|
+
--version Show version number [boolean]
|
|
88
|
+
--help Show help [boolean]
|
|
89
|
+
--modules GIR modules to load, e.g. 'Gio-2.0'. Accepts mul
|
|
90
|
+
tiple modules [array] [default: ["*"]]
|
|
91
|
+
-g, --girDirectories GIR directories
|
|
92
|
+
[array] [default: ["/usr/local/share/gir-1.0","/usr/share/gir-1.0","/usr/share
|
|
93
|
+
/gnome-shell","/usr/share/gnome-shell/gir-1.0","/usr/lib64/mutter-10","/usr/li
|
|
94
|
+
b64/mutter-11","/usr/lib64/mutter-12","/usr/lib/x86_64-linux-gnu/mutter-10","/
|
|
95
|
+
usr/lib/x86_64-linux-gnu/mutter-11","/usr/lib/x86_64-linux-gnu/mutter-12","/ho
|
|
96
|
+
me/jumplink/.local/share/flatpak/exports/share/gir-1.0","/var/lib/flatpak/expo
|
|
97
|
+
rts/share/gir-1.0"]]
|
|
98
|
+
--root Root directory of your project
|
|
99
|
+
[string] [default: "/home/jumplink/Projekte/ts-for-gir"]
|
|
100
|
+
-o, --outdir Directory to output to
|
|
101
|
+
[string] [default: "./@types"]
|
|
102
|
+
-e, --environments Javascript environment
|
|
103
|
+
[array] [choices: "gjs", "node"] [default: ["gjs"]]
|
|
104
|
+
-i, --ignore Modules that should be ignored
|
|
105
|
+
[array] [default: []]
|
|
106
|
+
-b, --buildType Definitions generation type
|
|
50
107
|
[string] [choices: "lib", "types"] [default: "lib"]
|
|
51
|
-
-t, --moduleType
|
|
52
|
-
|
|
53
|
-
|
|
108
|
+
-t, --moduleType Specify what module code is generated.
|
|
109
|
+
[string] [choices: "esm", "commonjs", "cjs"] [default: "esm"]
|
|
110
|
+
-v, --verbose Switch on/off the verbose mode
|
|
111
|
+
[string] [default: false]
|
|
112
|
+
--ignoreVersionConflicts Do not ask for package versions if multiple vers
|
|
113
|
+
ions are found [string] [default: false]
|
|
114
|
+
-p, --print Print the output to console and create no files
|
|
54
115
|
[string] [default: false]
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
116
|
+
--configName Name of the config if you want to use a differen
|
|
117
|
+
t name [string] [default: ".ts-for-girrc.js"]
|
|
118
|
+
-d, --noNamespace Do not export all symbols for each module as a n
|
|
119
|
+
amespace [string] [default: false]
|
|
120
|
+
-n, --noComments Do not generate documentation comments
|
|
59
121
|
[string] [default: false]
|
|
60
|
-
--
|
|
61
|
-
[string]
|
|
62
|
-
-d, --useNamespace Export all symbols for each module as a namespace
|
|
122
|
+
--noDebugComments Do not generate debugging inline comments
|
|
63
123
|
[string] [default: false]
|
|
64
|
-
|
|
124
|
+
--noDOMLib Disables the generation of types that are in con
|
|
125
|
+
flict with the DOM types
|
|
65
126
|
[string] [default: false]
|
|
127
|
+
--fixConflicts Fix Inheritance and implementation type conflict
|
|
128
|
+
s [string] [default: true]
|
|
129
|
+
-a, --generateAlias Generate an alias tsconfig file to support GJS E
|
|
130
|
+
SM module imports [string] [default: false]
|
|
131
|
+
--promisify Generate promisified functions for async/finish
|
|
132
|
+
calls [string] [default: true]
|
|
133
|
+
--npmScope Scope of the generated NPM packages
|
|
134
|
+
[string] [default: "@girs"]
|
|
135
|
+
--package Generates an NPM compatible packages for each GI
|
|
136
|
+
R module [string] [default: false]
|
|
66
137
|
|
|
67
138
|
Examples:
|
|
68
139
|
ts-for-gir generate Run 'ts-for-gir generate' in your gj
|
|
@@ -76,8 +147,8 @@ Examples:
|
|
|
76
147
|
ts-for-gir generate '*' -e node Generate .d.ts. files only for node
|
|
77
148
|
ts-for-gir generate --configName='.ts-fo Use a special config file
|
|
78
149
|
r-gir.gtk4.rc.js
|
|
79
|
-
ts-for-gir generate --ignore=Gtk-
|
|
80
|
-
ndr-1.3 k-
|
|
150
|
+
ts-for-gir generate --ignore=Gtk-4.0 xra Generate .d.ts. files but not for Gt
|
|
151
|
+
ndr-1.3 k-4.0 and xrandr-1.3
|
|
81
152
|
```
|
|
82
153
|
|
|
83
154
|
## List available GIR modules
|
|
@@ -94,11 +165,17 @@ Options:
|
|
|
94
165
|
--help Show help [boolean]
|
|
95
166
|
--modules GIR modules to load, e.g. 'Gio-2.0'. Accepts multiple mo
|
|
96
167
|
dules [array] [default: ["*"]]
|
|
97
|
-
-g, --girDirectories GIR directories
|
|
168
|
+
-g, --girDirectories GIR directories
|
|
169
|
+
[array] [default: ["/usr/local/share/gir-1.0","/usr/share/gir-1.0","/usr/share
|
|
170
|
+
/gnome-shell","/usr/share/gnome-shell/gir-1.0","/usr/lib64/mutter-10","/usr/li
|
|
171
|
+
b64/mutter-11","/usr/lib64/mutter-12","/usr/lib/x86_64-linux-gnu/mutter-10","/
|
|
172
|
+
usr/lib/x86_64-linux-gnu/mutter-11","/usr/lib/x86_64-linux-gnu/mutter-12","/ho
|
|
173
|
+
me/jumplink/.local/share/flatpak/exports/share/gir-1.0","/var/lib/flatpak/expo
|
|
174
|
+
rts/share/gir-1.0"]]
|
|
98
175
|
-i, --ignore Modules that should be ignored [array] [default: []]
|
|
99
|
-
-v, --verbose Switch on/off the verbose mode [string] [default: true]
|
|
100
176
|
--configName Name of the config if you want to use a different name
|
|
101
|
-
|
|
177
|
+
[string] [default: ".ts-for-girrc.js"]
|
|
178
|
+
-v, --verbose Switch on/off the verbose mode [string] [default: false]
|
|
102
179
|
|
|
103
180
|
Examples:
|
|
104
181
|
ts-for-gir list -g ./vala-girs/gir-1.0 Lists all available GIR modules in .
|
|
@@ -126,7 +203,6 @@ To do that, create a new config file called `.ts-for-girrc.js` in your project r
|
|
|
126
203
|
```js
|
|
127
204
|
// or on CommonJs: exports.default = {
|
|
128
205
|
export default {
|
|
129
|
-
pretty: false,
|
|
130
206
|
print: false,
|
|
131
207
|
verbose: true,
|
|
132
208
|
environments: ['gjs', 'node'],
|
|
@@ -134,7 +210,7 @@ export default {
|
|
|
134
210
|
girDirectories: ['/usr/share/gir-1.0'],
|
|
135
211
|
modules: ['*'],
|
|
136
212
|
ignore: [],
|
|
137
|
-
|
|
213
|
+
noNamespace: false,
|
|
138
214
|
buildType: 'lib',
|
|
139
215
|
moduleType: 'esm'
|
|
140
216
|
}
|
|
@@ -142,24 +218,328 @@ export default {
|
|
|
142
218
|
|
|
143
219
|
The javascript config files must also be in ESM format if you are inside a ESM Package, this is the case if `"type": "module"` is defined in your package.json. Alternatively, the file can be saved in json format, then it works in both cases.
|
|
144
220
|
|
|
145
|
-
|
|
221
|
+
You can pass the config file name to the CLI using [configName](#configName).
|
|
222
|
+
|
|
223
|
+
## Options
|
|
224
|
+
|
|
225
|
+
### girDirectories
|
|
226
|
+
Directories in which `*.gir` files are to be searched for. Default is `["/usr/share/gir-1.0"]`. More than one can be specified. If you want to generate the types for the GNOME Shell you have to search in several folders for the corresponding types:
|
|
227
|
+
```js
|
|
228
|
+
girDirectories: [
|
|
229
|
+
// General gir files
|
|
230
|
+
'/usr/share/gir-1.0',
|
|
231
|
+
|
|
232
|
+
// GNOME Shell gir file (package: gnome-shell-common / gnome-shell)
|
|
233
|
+
'/usr/share/gnome-shell',
|
|
234
|
+
'/usr/share/gnome-shell/gir-1.0',
|
|
235
|
+
|
|
236
|
+
// GNOME Shell gir file dependencies on Fedora Workstation 37 (package: mutter)
|
|
237
|
+
'/usr/lib64/mutter-11',
|
|
238
|
+
|
|
239
|
+
// GNOME Shell gir file dependencies on Ubuntu 22.10 (package: libmutter-11-dev)
|
|
240
|
+
'/usr/lib/x86_64-linux-gnu/mutter-11',
|
|
241
|
+
]
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### outdir
|
|
245
|
+
The `outdir` option is used to specify the name of the directory where the generated TypeScript types should be saved. The default value of the `outdir` option is `"./@types"`.
|
|
246
|
+
|
|
247
|
+
Here is an example of how you can use the outdir option in the CLI of `ts-for-gir`:
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
ts-for-gir generate * --outdir ./types
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
In this example, the generated TypeScript types will be saved in the `./types` directory.
|
|
254
|
+
|
|
255
|
+
It is important to note that the outdir option should be a valid directory path, and `ts-for-gir` will create the directory if it does not exist. If the specified directory already contains files, `ts-for-gir` will overwrite the existing files with the newly generated types.
|
|
256
|
+
|
|
257
|
+
### environments
|
|
258
|
+
The `environments` option allows you to specify the JavaScript environment for which you want to generate the TypeScript type definitions. The available values are `"gjs"` and `"node"`. You can also specify both environments.
|
|
259
|
+
|
|
260
|
+
The default value for this option is `"gjs"`.
|
|
261
|
+
|
|
262
|
+
To specify the environments option when running ts-for-gir, you would add the `--environments` or `-e` flag, followed by a comma-separated list of values. For example:
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
ts-for-gir generate * --environments gjs node
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
This option is useful if you want to generate type definitions for use in different JavaScript environments, such as in a `GJS` application or in a `Node.js` application using [node-gtk](https://github.com/romgrk/node-gtk). By specifying the appropriate environment, ts-for-gir can generate type definitions that are optimized for that environment, ensuring that your code will be type-checked correctly and you will receive meaningful error messages in your development environment.
|
|
269
|
+
|
|
270
|
+
### ignore
|
|
271
|
+
The `ignore` CLI option allows you to specify modules that should be ignored when generating TypeScript types. This can be useful if you have multiple versions of a library installed but only want to generate types for one of them.
|
|
272
|
+
|
|
273
|
+
To use the ignore option, pass one or more module names as arguments. For example, to ignore the `Gtk-3.0` module, you would use the following command:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
ts-for-gir generate Gtk-* --ignore Gtk-3.0
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
You can also ignore multiple modules:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
ts-for-gir generate * --ignore Gtk-2.0 Gtk-3.0 Gtk-4.0
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Note that ignoring a module will prevent ts-for-gir from generating types for that module and any submodules that it might contain.
|
|
286
|
+
|
|
287
|
+
### buildType
|
|
288
|
+
`ts-for-gir` supports two build types for generating the types: `"lib"` and `"types"`.
|
|
289
|
+
|
|
290
|
+
* If `"lib"` is specified, `.js` files are generated as well as `.d.ts`, this is useful for some bundlers that expect a `.js` file. Some bundlers are also able to generate the import of this file only once, even if it occurs multiple times in your code.
|
|
291
|
+
* If `"types"` is specified, only `.d.ts` files are generated. In this mode it is recommended to add the generated `"@types/gjs.d.ts"` and `"@types/ambient.d.ts"` under `"include"` in the `tsconfig` to make the generated types known in your project. If you have problems to use imports in `ESM` format, you can also enable the `generateAlias` option and extend your `tsconfig` from the generated `"tsconfig.alias.json"`.
|
|
292
|
+
|
|
293
|
+
### moduleType
|
|
294
|
+
The `moduleType` CLI option determines the format in which the generated JavaScript files should be exported. The option takes either `"esm"` or `"cjs"` as its value, with `"esm"` being the default.
|
|
295
|
+
|
|
296
|
+
> This option is only relevant if the `buildType` is set to `"lib"`. The choice of `moduleType` may affect how the generated code is used in other parts of your project, so it's important to choose the right format that works best for your use case.
|
|
297
|
+
|
|
298
|
+
The choice of `moduleType` is also important in the context of the bundler that you plan to use in your project. For example, if you are using a bundler that only supports ESM (such as Rollup), you would need to set `moduleType` to "esm". On the other hand, if you are using a bundler that supports both ESM and CommonJS (such as Webpack), you can choose whichever format you prefer. Ultimately, the choice of `moduleType` will depend on your project requirements and the tools that you are using. For Example, if you want to build a GNOME Shell Extension, you should use `"cjs"` because `ESM` is currently not supported for GNOME Shell Extensions. For [node-gtk](https://github.com/romgrk/node-gtk) you also need to use `"cjs"`. If you want to build a regular GJS Application we recommend to use `ESM`.
|
|
299
|
+
|
|
300
|
+
When `"esm"` is set, the generated JavaScript files will use the ECMAScript module (ESM) format for imports and exports. For example, the generated code might look like this:
|
|
301
|
+
|
|
302
|
+
```ts
|
|
303
|
+
// Gtk-4.0.d.ts
|
|
304
|
+
import type GLib from './GLib-2.0.js';
|
|
305
|
+
|
|
306
|
+
namespace Gtk {
|
|
307
|
+
class Window extends Widget {
|
|
308
|
+
...
|
|
309
|
+
}
|
|
310
|
+
function builder_error_quark(): GLib.Quark
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
export default Gtk;
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
```js
|
|
317
|
+
// Gtk-4.0.js
|
|
318
|
+
import Gtk from 'gi://Gtk?version=4.0';
|
|
319
|
+
export default Gtk;
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
> The `"esm"` module type is recommended for GJS applications as it makes use of the ESM import syntax, which is more modern and flexible compared to imports.gi / CommonJS imports. This allows for a more streamlined and convenient way of using the generated types in your GJS application. Support for ES modules can be activated in `gjs` with its `gjs -m` flag.
|
|
323
|
+
|
|
324
|
+
When `"cjs"` and [`noNamespace`](#nonamespace) is set, the generated JavaScript files will use the CommonJS format exports and the `imports.gi` object for imports. For example:
|
|
325
|
+
|
|
326
|
+
```ts
|
|
327
|
+
// Gtk-4.0.d.ts
|
|
328
|
+
import type * as GLib from './GLib-2.0.js';
|
|
329
|
+
|
|
330
|
+
export class Window extends Widget {
|
|
331
|
+
...
|
|
332
|
+
}
|
|
333
|
+
export function builder_error_quark(): GLib.Quark
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
```js
|
|
337
|
+
// Gtk-4.0.js
|
|
338
|
+
imports.gi.versions.Gtk = '4.0'
|
|
339
|
+
const Gtk = imports.gi.Gtk;
|
|
340
|
+
|
|
341
|
+
module.exports = { Gtk };
|
|
342
|
+
exports.default = Gtk;
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
> It is recommended to also set the [noNamespace](#nonamespace) option to true when using the `"cjs"` moduleType option. This will ensure that the generated code is fully compatible with the CommonJS format.
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
### verbose
|
|
349
|
+
The `--verbose` or `-v` option is a flag that can be used to enable verbose output in the console when running the CLI. When this option is enabled, additional warnings and information about the processing of GIR files and the generation of TypeScript definitions will be printed to the console. This information can be useful for debugging purposes or for understanding what is happening behind the scenes when generating the TypeScript definitions.
|
|
350
|
+
|
|
351
|
+
### ignoreVersionConflicts
|
|
352
|
+
The `ignoreVersionConflicts` CLI option allows you to disable the prompt to choose between multiple versions of a `.gir` file. When multiple versions of a `.gir` file are found, such as `Gtk-3.0.gir` and `Gtk-4.0.gir`, the user is normally asked to select which version to use. However, if the `ignoreVersionConflicts` option is set, all versions of the file will be loaded without prompt.
|
|
353
|
+
|
|
354
|
+
This option can be useful in certain scenarios where you want to generate types for all versions of a library, even if there are conflicts between the versions. Note that this may result in type conflicts and other issues, so it should be used with caution.
|
|
355
|
+
|
|
356
|
+
Another way to disable the prompt and ignore conflicting versions of `.gir` files is to use the [ignore CLI option](#ignore).
|
|
357
|
+
|
|
358
|
+
### print
|
|
359
|
+
The `print` CLI option allows you to output the generated TypeScript definitions to the console, instead of saving them to files on disk. This is useful if you want to quickly inspect the generated types without having to save them to disk and open them in an editor.
|
|
360
|
+
|
|
361
|
+
By default, the print option is disabled and the generated types will be saved to disk. To enable the `print` option, you can pass the `--print` flag to the command line interface.
|
|
362
|
+
|
|
363
|
+
### configName
|
|
364
|
+
The `configName` CLI option allows you to specify the name of the configuration file to be used when generating the TypeScript definitions. This option is useful if you want to use a custom configuration file instead of the default one.
|
|
365
|
+
|
|
366
|
+
By default,` ts-for-gir` looks for a configuration file named `.ts-for-girrc.js` in the current directory. If a different configuration file name is required, the `configName` option can be used to specify the name of the configuration file.
|
|
367
|
+
|
|
368
|
+
For example, if you have a configuration file named `custom-config.js`, you can use the following command to generate TypeScript definitions using this configuration file:
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
ts-for-gir generate * --configName custom-config.js
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### noNamespace
|
|
375
|
+
This option disables the namespaces for each module type.
|
|
376
|
+
|
|
377
|
+
* By default the types are exported as a namespace. Namespaces should be used when the types are generated and used in **ESM** format.
|
|
378
|
+
* If imports in `imports.gi` or **CJS** format are used, then namespaces should be disabled.
|
|
379
|
+
|
|
380
|
+
### noComments
|
|
381
|
+
The `noComments` option for `ts-for-gir` is a CLI option used to control the generation of **TSDoc** comments in the generated TypeScript bindings.
|
|
146
382
|
|
|
147
|
-
|
|
148
|
-
convenient than using the `imports` global object, because you no longer have to provide an implementation of `require`. However, it creates two new
|
|
149
|
-
problems for Typescript/ts-for-gjs. The first is that `gi` imports use a URI format, which Typescript doesn't support yet. To work around this problem
|
|
150
|
-
you can import from a relative filename as usual, and the Javascript stubs generated by ts-for-gjs now forward the imports from the `gi` URI.
|
|
383
|
+
When `noComments` is set to `false`, `ts-for-gir` will include TSDoc comments in the generated TypeScript bindings that are based on the comments found in the GObject Introspection (GIR) files. These comments provide helpful information to developers about the usage and behavior of the bindings, making it easier to work with them.
|
|
151
384
|
|
|
152
|
-
|
|
385
|
+
When `noComments` is set to `true`, `ts-for-gir` will not include TSDoc comments in the generated TypeScript bindings. This can be useful if you want to reduce the size of the generated code.
|
|
153
386
|
|
|
154
|
-
|
|
155
|
-
ts-for-gjs. Where you would previously write:
|
|
387
|
+
To use the noComments option, pass it as a command line argument to `ts-for-gir`:
|
|
156
388
|
|
|
157
|
-
|
|
389
|
+
```bash
|
|
390
|
+
ts-for-gir generate * --noComments`
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
### noDebugComments
|
|
394
|
+
The `noDebugComments` CLI option is used to control the generation of inline comments in the generated TypeScript files. These comments are used for debugging purposes and can be useful in tracking down issues with the generated types.
|
|
395
|
+
|
|
396
|
+
By default, the `noDebugComments` option is disabled and these inline comments will be included in the generated TypeScript files. If you do not require these comments for debugging purposes, you can use the -`-noDebugComments` option to disable their generation and keep your TypeScript code more compact.
|
|
397
|
+
|
|
398
|
+
### noDOMLib
|
|
399
|
+
The `noDOMLib` option helps to avoid conflicts between the generated GJS global types and the DOM types, which can cause lint warnings and compilation errors with TypeScript.
|
|
400
|
+
|
|
401
|
+
To utilize this option, it is recommended to either modify your `tsconfig.json` or `jsconfig.json` file to exclude the DOM lib, or to enable the `noLib` property. Doing so will prevent the generation of types that conflict with the DOM types.
|
|
402
|
+
|
|
403
|
+
For more information on the `lib` and `noLib` properties, please refer to the official TypeScript documentation at https://www.typescriptlang.org/tsconfig/#lib and https://www.typescriptlang.org/tsconfig#noLib.
|
|
404
|
+
|
|
405
|
+
In summary, the `noDOMLib` option provides a convenient way to prevent the generation of conflicting types, making it easier to build robust and error-free TypeScript applications with GJS.
|
|
406
|
+
|
|
407
|
+
### fixConflicts
|
|
408
|
+
The `fixConflicts` CLI option is used to resolve type conflicts between the GObject Introspection descriptions in GIR XML format and TypeScript. For example, properties in the GIR XML format can be overwritten by methods, which is not allowed in TypeScript. When this option is active, `ts-for-gir` attempts to resolve these conflicts. However, it's important to note that this may result in generating types that do not exist.
|
|
158
409
|
|
|
159
|
-
you
|
|
410
|
+
> If you have found an issue with the `fixConflicts` CLI option, we encourage you to report it. Reporting issues helps improve the quality of `ts-for-gir` and makes it a better tool for everyone.
|
|
411
|
+
|
|
412
|
+
### generateAlias
|
|
413
|
+
The `generateAlias` CLI option, when active, generates an alias `tsconfig.alias.json` file to support ESM module imports in GJS. This is particularly useful if you want to import GIR modules in your GJS code using the `'gi://...'` syntax. The generated `tsconfig.alias.json` file will contain the necessary path aliases to enable TypeScript to properly resolve the imported modules, allowing for improved code editor functionality, such as type checking and code completion.
|
|
414
|
+
|
|
415
|
+
The generateAlias option is particularly useful for GJS applications, as it allows you to import GIR modules using the standard ESM syntax, rather than having to use the global imports object.
|
|
416
|
+
|
|
417
|
+
You can extend the generated `tsconfig.alias.json` file in your main tsconfig.json file by setting the extends field to `./tsconfig.alias.json`.
|
|
418
|
+
|
|
419
|
+
```json
|
|
420
|
+
// tsconfig.alias.json
|
|
421
|
+
{
|
|
422
|
+
"compilerOptions": {
|
|
423
|
+
"baseUrl": ".",
|
|
424
|
+
"paths": {
|
|
425
|
+
"gi://Gio?version=2.0": ["./@types/gio-2.0.d.ts"],
|
|
426
|
+
"gi://Gio": ["./@types/gio-2.0.d.ts"],
|
|
427
|
+
"gi://GObject?version=2.0": ["./@types/gobject-2.0.d.ts"],
|
|
428
|
+
"gi://GObject": ["./@types/gobject-2.0.d.ts"],
|
|
429
|
+
"gi://GLib?version=2.0": ["./@types/glib-2.0.d.ts"],
|
|
430
|
+
"gi://GLib": ["./@types/glib-2.0.d.ts"]
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
"include": ["./@types/*.ts"]
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
```json
|
|
438
|
+
// tsconfig.json
|
|
439
|
+
{
|
|
440
|
+
"extends": "./tsconfig.alias.json",
|
|
441
|
+
"compilerOptions": {
|
|
442
|
+
"lib": ["ESNext"],
|
|
443
|
+
"types": [],
|
|
444
|
+
"target": "ESNext",
|
|
445
|
+
"module": "ESNext"
|
|
446
|
+
},
|
|
447
|
+
"include": ["@types/gjs.d.ts"],
|
|
448
|
+
"files": [
|
|
449
|
+
"main.ts",
|
|
450
|
+
]
|
|
451
|
+
}
|
|
452
|
+
```
|
|
160
453
|
|
|
161
|
-
|
|
454
|
+
> The example in [examples/gjs/gio-2-cat-alias](https://github.com/gjsify/ts-for-gir/tree/main/examples/gjs/gio-2-cat-alias) demonstrates the usage of the generateAlias option. This example shows how to use the generated tsconfig.alias.json file in a GJS project and provides a clear understanding of how this option can be used in practice.
|
|
162
455
|
|
|
163
|
-
|
|
456
|
+
# package
|
|
164
457
|
|
|
165
|
-
|
|
458
|
+
The `--package` option of ts-for-gir is used to package the generated TypeScript type definitions into an NPM package. The generated package can be easily installed and used in other TypeScript projects via `npm install`.
|
|
459
|
+
|
|
460
|
+
> Another advantage is NPM packages is, that you can use them in a monorepo using a package manager with support for workspaces such as Yarn, PNPM and Lerna. To use the generated packages in a monorepo, you can add them as dependencies to your project's package.json file, and use relative file paths or the file: protocol to point to the local package directories. This way, you can import the generated types from within your project like any other TypeScript module.
|
|
461
|
+
|
|
462
|
+
When this option is used, each GObject introspection module will be packaged into its own NPM package. The package name will be in the format of `@girs/<lower case module name>-<version>`.
|
|
463
|
+
|
|
464
|
+
For example, if the `--package` option is used to generate the TypeScript type definitions for the `Gtk-4.0` module, then the generated NPM package will have the name `@girs/gtk-3.0`.
|
|
465
|
+
|
|
466
|
+
> You can change the NPM package scope name with the [`--npmScope`](#npmscope) option.
|
|
467
|
+
|
|
468
|
+
To use the generated NPM package in your TypeScript project, you can also install our pregenerated packages:
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
npm install @girs/gtk-3.0
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
Then, import the desired module in your TypeScript code:
|
|
475
|
+
|
|
476
|
+
```ts
|
|
477
|
+
import Gtk from '@girs/gtk-4.0';
|
|
478
|
+
|
|
479
|
+
const button = new Gtk.Button();
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
It is recommended to use the `--package` option when generating TypeScript type definitions for a GObject introspection module, as it allows for easy distribution and consumption of the generated types. However, please note that the generated NPM packages will only work with a package manager like NPM or Yarn, and cannot be used directly in a GJS or Node.js project.
|
|
483
|
+
|
|
484
|
+
> Here are some examples are making use of the `--package` option:
|
|
485
|
+
> * [examples/gjs/gio-2-cat-packages](https://github.com/gjsify/ts-for-gir/tree/main/examples/gjs/gio-2-cat-packages) - GJS example with `--package` option
|
|
486
|
+
> * [examples/node-gtk/gio-2-cat-packages](https://github.com/gjsify/ts-for-gir/tree/main/examples/node-gtk/gio-2-cat-packages) - node-gtk example with `--package` option
|
|
487
|
+
|
|
488
|
+
## npmScope
|
|
489
|
+
|
|
490
|
+
The `--npmScope` CLI option can be used to specify a custom NPM package scope name for the generated packages. By default, the scope name is `@girs`.
|
|
491
|
+
|
|
492
|
+
Here's an example command to generate NPM packages with a custom scope name:
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
ts-for-gir --buildType lib --package --npmScope my-scope
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
This command will generate NPM packages with the scope `my-scope` instead of the default `@girs` scope. For `Gtk-4.0` this would generate a package with the name of `@my-scope/gtk-4.0`.
|
|
499
|
+
|
|
500
|
+
## Ambient modules
|
|
501
|
+
|
|
502
|
+
In TypeScript, ambient modules are a way to define external modules that are not part of the TypeScript codebase. This can be useful for importing external libraries or modules, including those generated by ts-for-gir using the `gi://` syntax.
|
|
503
|
+
|
|
504
|
+
If you want to have support for ambient modules, then you have to enable the [`--package`](#package) option, this will generate a NPM package for each module.
|
|
505
|
+
Alternatively, you can also use the pre-generated NPM packages for this, so you don't even need to use ts-for-gir for it. For example, look at the NPM packages [gtk-4.0](https://www.npmjs.com/package/@girs/gtk-4.0), [gio-2.0](https://www.npmjs.com/package/@girs/gio-2.0) and [adw-1](https://www.npmjs.com/package/@girs/adw-1). All pre-generated NPM packages can be found on [gjsify/types](https://github.com/gjsify/types).
|
|
506
|
+
|
|
507
|
+
> The advantage of self-generated types is that you generate the types exactly for your locally installed library version. However, we try to keep the pre-generated NPM packages as up to date as possible.
|
|
508
|
+
|
|
509
|
+
### Alias
|
|
510
|
+
If for some reason you don't want to or can't generate NPM packages, you can instead use the [`--generateAlias`](#generatealias) CLI option. This way you can also use imports in the `gi://` syntax with the generated types.
|
|
511
|
+
|
|
512
|
+
To use ambient modules, the `ambient.d.ts` file must be imported either in the code like `import '@girs/gjs/ambient'` or by adding an entry to the `includes` property in the `tsconfig` file. The `ambient.d.ts` file is automatically generated.
|
|
513
|
+
|
|
514
|
+
```json
|
|
515
|
+
// tsconfig.json
|
|
516
|
+
{
|
|
517
|
+
"compilerOptions": {
|
|
518
|
+
"lib": ["ESNext"],
|
|
519
|
+
"types": [],
|
|
520
|
+
"target": "ESNext",
|
|
521
|
+
"module": "ESNext"
|
|
522
|
+
},
|
|
523
|
+
"include": ["@girs/gjs", "@girs/gjs/ambient"],
|
|
524
|
+
"files": [
|
|
525
|
+
"main.ts",
|
|
526
|
+
]
|
|
527
|
+
}
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
> Here are some examples demonstrating the usage of ambient modules:
|
|
531
|
+
> * [examples/gjs/gio-2-cat-packages](https://github.com/gjsify/ts-for-gir/tree/main/examples/gjs/gio-2-cat-packages) - GJS example with `--package` option
|
|
532
|
+
> * [examples/node-gtk/gio-2-cat-packages](https://github.com/gjsify/ts-for-gir/tree/main/examples/node-gtk/gio-2-cat-packages) - node-gtk example with `--package` option
|
|
533
|
+
|
|
534
|
+
### Without version specifier
|
|
535
|
+
|
|
536
|
+
Some ambient modules declarations are only defined with the version specifier to prevent version conflicts e.g. between Gtk-3.0 and Gtk-4.0.
|
|
537
|
+
If you want to import the modules without the version specifier you can define the module declarations by yourself, similarly to this:
|
|
538
|
+
|
|
539
|
+
```ts
|
|
540
|
+
// gtk4-ambient.d.ts
|
|
541
|
+
declare module "gi://Gtk" {
|
|
542
|
+
import Gtk from "gi://Gtk?version=4.0";
|
|
543
|
+
export default Gtk;
|
|
544
|
+
}
|
|
545
|
+
```
|
package/lib/commands/doc.d.ts
CHANGED
|
@@ -5,23 +5,7 @@ import { Argv } from 'yargs';
|
|
|
5
5
|
export declare const doc: {
|
|
6
6
|
command: string;
|
|
7
7
|
description: string;
|
|
8
|
-
builder: (yargs: Argv) => Argv<{
|
|
9
|
-
modules: unknown;
|
|
10
|
-
} & {
|
|
11
|
-
girDirectories: unknown;
|
|
12
|
-
} & {
|
|
13
|
-
outdir: unknown;
|
|
14
|
-
} & {
|
|
15
|
-
environments: unknown;
|
|
16
|
-
} & {
|
|
17
|
-
ignore: unknown;
|
|
18
|
-
} & {
|
|
19
|
-
verbose: unknown;
|
|
20
|
-
} & {
|
|
21
|
-
ignoreVersionConflicts: unknown;
|
|
22
|
-
} & {
|
|
23
|
-
configName: unknown;
|
|
24
|
-
}>;
|
|
8
|
+
builder: (yargs: Argv) => Argv<{}>;
|
|
25
9
|
handler: (args: any) => Promise<void>;
|
|
26
10
|
examples: readonly [string, (string | undefined)?][];
|
|
27
11
|
};
|
package/lib/commands/doc.js
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Everything you need for the `ts-for-gir generate` command is located here
|
|
3
3
|
*/
|
|
4
|
+
import { Logger, ERROR_NO_MODULES_FOUND } from '@ts-for-gir/lib';
|
|
5
|
+
import { GeneratorType } from '@ts-for-gir/generator-base';
|
|
4
6
|
import { GenerationHandler } from '../generation-handler.js';
|
|
5
7
|
import { Config } from '../config.js';
|
|
6
8
|
import { ModuleLoader } from '../module-loader.js';
|
|
7
|
-
import { GeneratorType } from '../types/index.js';
|
|
8
|
-
import { Logger } from '../logger.js';
|
|
9
|
-
import { ERROR_NO_MODULES_FOUND } from '../messages.js';
|
|
10
9
|
const command = 'doc [modules..]';
|
|
11
10
|
const description = 'The HTML documentation generator is not yet implemented, but feel free to implement it 🤗';
|
|
12
11
|
const builder = (yargs) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.option(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.option('ignore', Config.generateOptions.ignore)
|
|
19
|
-
.option('verbose', Config.generateOptions.verbose)
|
|
20
|
-
.option('ignoreVersionConflicts', Config.generateOptions.ignoreVersionConflicts)
|
|
21
|
-
.option('configName', Config.generateOptions.configName)
|
|
22
|
-
.example(examples);
|
|
12
|
+
const optionNames = Object.keys(Config.docOptions);
|
|
13
|
+
for (const optionName of optionNames) {
|
|
14
|
+
yargs = yargs.option(optionName, Config.docOptions[optionName]);
|
|
15
|
+
}
|
|
16
|
+
return yargs.example(examples);
|
|
23
17
|
};
|
|
24
18
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
25
19
|
const handler = async (args /* TODO */) => {
|
package/lib/commands/doc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/commands/doc.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/commands/doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIlD,MAAM,OAAO,GAAG,iBAAiB,CAAA;AAEjC,MAAM,WAAW,GAAG,2FAA2F,CAAA;AAE/G,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAClD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QAClC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;KAClE;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,CAAC,UAAU,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAA;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjD,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/E,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAA;YACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAC3D,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,MAAM,CAAC,sBAAsB,CAChC,CAAA;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,OAAO,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;aACrE;YACD,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;YAE9E,MAAM,QAAQ,CAAC,KAAK,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EACzE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CACzB,CAAA;SACJ;KACJ;AACL,CAAC,CAAA;AAED,MAAM,QAAQ,GAAqC,EAAE,CAAA;AAErD,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,OAAO;IACP,WAAW;IACX,OAAO;IACP,OAAO;IACP,QAAQ;CACX,CAAA"}
|