@ts-for-gir/cli 3.0.0-beta.2

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.
Files changed (669) hide show
  1. package/README.md +156 -0
  2. package/lib/commands/doc.d.ts +27 -0
  3. package/lib/commands/doc.js +48 -0
  4. package/lib/commands/doc.js.map +1 -0
  5. package/lib/commands/generate.d.ts +45 -0
  6. package/lib/commands/generate.js +71 -0
  7. package/lib/commands/generate.js.map +1 -0
  8. package/lib/commands/index.d.ts +3 -0
  9. package/lib/commands/index.js +4 -0
  10. package/lib/commands/index.js.map +1 -0
  11. package/lib/commands/list.d.ts +21 -0
  12. package/lib/commands/list.js +77 -0
  13. package/lib/commands/list.js.map +1 -0
  14. package/lib/config.d.ts +103 -0
  15. package/lib/config.js +385 -0
  16. package/lib/config.js.map +1 -0
  17. package/lib/conflict-resolver.d.ts +154 -0
  18. package/lib/conflict-resolver.js +1095 -0
  19. package/lib/conflict-resolver.js.map +1 -0
  20. package/lib/constants.d.ts +18 -0
  21. package/lib/constants.js +23 -0
  22. package/lib/constants.js.map +1 -0
  23. package/lib/generation-handler.d.ts +12 -0
  24. package/lib/generation-handler.js +63 -0
  25. package/lib/generation-handler.js.map +1 -0
  26. package/lib/generator.d.ts +5 -0
  27. package/lib/generator.js +2 -0
  28. package/lib/generator.js.map +1 -0
  29. package/lib/gir-factory.d.ts +50 -0
  30. package/lib/gir-factory.js +354 -0
  31. package/lib/gir-factory.js.map +1 -0
  32. package/lib/gir-module.d.ts +256 -0
  33. package/lib/gir-module.js +2075 -0
  34. package/lib/gir-module.js.map +1 -0
  35. package/lib/html-doc-generator.d.ts +13 -0
  36. package/lib/html-doc-generator.js +18 -0
  37. package/lib/html-doc-generator.js.map +1 -0
  38. package/lib/index.d.ts +17 -0
  39. package/lib/index.js +18 -0
  40. package/lib/index.js.map +1 -0
  41. package/lib/injection/callbacks/gjs/Gio-2.0.d.ts +2 -0
  42. package/lib/injection/callbacks/gjs/Gio-2.0.js +36 -0
  43. package/lib/injection/callbacks/gjs/Gio-2.0.js.map +1 -0
  44. package/lib/injection/callbacks/gjs/index.d.ts +2 -0
  45. package/lib/injection/callbacks/gjs/index.js +3 -0
  46. package/lib/injection/callbacks/gjs/index.js.map +1 -0
  47. package/lib/injection/callbacks/index.d.ts +4 -0
  48. package/lib/injection/callbacks/index.js +4 -0
  49. package/lib/injection/callbacks/index.js.map +1 -0
  50. package/lib/injection/callbacks/node-gtk/index.d.ts +2 -0
  51. package/lib/injection/callbacks/node-gtk/index.js +2 -0
  52. package/lib/injection/callbacks/node-gtk/index.js.map +1 -0
  53. package/lib/injection/classes/GLib-2-0.d.ts +2 -0
  54. package/lib/injection/classes/GLib-2-0.js +35 -0
  55. package/lib/injection/classes/GLib-2-0.js.map +1 -0
  56. package/lib/injection/classes/gjs/GLib-2.0.d.ts +2 -0
  57. package/lib/injection/classes/gjs/GLib-2.0.js +74 -0
  58. package/lib/injection/classes/gjs/GLib-2.0.js.map +1 -0
  59. package/lib/injection/classes/gjs/GObject-2.0.d.ts +2 -0
  60. package/lib/injection/classes/gjs/GObject-2.0.js +634 -0
  61. package/lib/injection/classes/gjs/GObject-2.0.js.map +1 -0
  62. package/lib/injection/classes/gjs/Gio-2.0.d.ts +5 -0
  63. package/lib/injection/classes/gjs/Gio-2.0.js +218 -0
  64. package/lib/injection/classes/gjs/Gio-2.0.js.map +1 -0
  65. package/lib/injection/classes/gjs/index.d.ts +2 -0
  66. package/lib/injection/classes/gjs/index.js +5 -0
  67. package/lib/injection/classes/gjs/index.js.map +1 -0
  68. package/lib/injection/classes/index.d.ts +4 -0
  69. package/lib/injection/classes/index.js +5 -0
  70. package/lib/injection/classes/index.js.map +1 -0
  71. package/lib/injection/classes/node-gtk/GLib-2.0.d.ts +2 -0
  72. package/lib/injection/classes/node-gtk/GLib-2.0.js +19 -0
  73. package/lib/injection/classes/node-gtk/GLib-2.0.js.map +1 -0
  74. package/lib/injection/classes/node-gtk/GObject-2.0.d.ts +2 -0
  75. package/lib/injection/classes/node-gtk/GObject-2.0.js +66 -0
  76. package/lib/injection/classes/node-gtk/GObject-2.0.js.map +1 -0
  77. package/lib/injection/classes/node-gtk/Gdk-4.0.d.ts +2 -0
  78. package/lib/injection/classes/node-gtk/Gdk-4.0.js +32 -0
  79. package/lib/injection/classes/node-gtk/Gdk-4.0.js.map +1 -0
  80. package/lib/injection/classes/node-gtk/Gio-2.0.d.ts +2 -0
  81. package/lib/injection/classes/node-gtk/Gio-2.0.js +14 -0
  82. package/lib/injection/classes/node-gtk/Gio-2.0.js.map +1 -0
  83. package/lib/injection/classes/node-gtk/Graphene-1.0.d.ts +2 -0
  84. package/lib/injection/classes/node-gtk/Graphene-1.0.js +133 -0
  85. package/lib/injection/classes/node-gtk/Graphene-1.0.js.map +1 -0
  86. package/lib/injection/classes/node-gtk/Gtk-3.0.d.ts +2 -0
  87. package/lib/injection/classes/node-gtk/Gtk-3.0.js +31 -0
  88. package/lib/injection/classes/node-gtk/Gtk-3.0.js.map +1 -0
  89. package/lib/injection/classes/node-gtk/Gtk-4.0.d.ts +2 -0
  90. package/lib/injection/classes/node-gtk/Gtk-4.0.js +52 -0
  91. package/lib/injection/classes/node-gtk/Gtk-4.0.js.map +1 -0
  92. package/lib/injection/classes/node-gtk/Pango-1.0.d.ts +2 -0
  93. package/lib/injection/classes/node-gtk/Pango-1.0.js +31 -0
  94. package/lib/injection/classes/node-gtk/Pango-1.0.js.map +1 -0
  95. package/lib/injection/classes/node-gtk/index.d.ts +2 -0
  96. package/lib/injection/classes/node-gtk/index.js +19 -0
  97. package/lib/injection/classes/node-gtk/index.js.map +1 -0
  98. package/lib/injection/index.d.ts +3 -0
  99. package/lib/injection/index.js +4 -0
  100. package/lib/injection/index.js.map +1 -0
  101. package/lib/injection/injector.d.ts +17 -0
  102. package/lib/injection/injector.js +136 -0
  103. package/lib/injection/injector.js.map +1 -0
  104. package/lib/logger.d.ts +36 -0
  105. package/lib/logger.js +133 -0
  106. package/lib/logger.js.map +1 -0
  107. package/lib/messages.d.ts +30 -0
  108. package/lib/messages.js +45 -0
  109. package/lib/messages.js.map +1 -0
  110. package/lib/module-loader.d.ts +131 -0
  111. package/lib/module-loader.js +467 -0
  112. package/lib/module-loader.js.map +1 -0
  113. package/lib/start.d.ts +2 -0
  114. package/lib/start.js +15 -0
  115. package/lib/start.js.map +1 -0
  116. package/lib/symtable.d.ts +24 -0
  117. package/lib/symtable.js +63 -0
  118. package/lib/symtable.js.map +1 -0
  119. package/lib/template-processor.d.ts +46 -0
  120. package/lib/template-processor.js +154 -0
  121. package/lib/template-processor.js.map +1 -0
  122. package/lib/transformation.d.ts +156 -0
  123. package/lib/transformation.js +523 -0
  124. package/lib/transformation.js.map +1 -0
  125. package/lib/type-definition-generator.d.ts +117 -0
  126. package/lib/type-definition-generator.js +929 -0
  127. package/lib/type-definition-generator.js.map +1 -0
  128. package/lib/types/answer-version.d.ts +4 -0
  129. package/lib/types/answer-version.js +2 -0
  130. package/lib/types/answer-version.js.map +1 -0
  131. package/lib/types/build-type.d.ts +1 -0
  132. package/lib/types/build-type.js +2 -0
  133. package/lib/types/build-type.js.map +1 -0
  134. package/lib/types/class-parent.d.ts +11 -0
  135. package/lib/types/class-parent.js +2 -0
  136. package/lib/types/class-parent.js.map +1 -0
  137. package/lib/types/config-flags.d.ts +4 -0
  138. package/lib/types/config-flags.js +2 -0
  139. package/lib/types/config-flags.js.map +1 -0
  140. package/lib/types/conflict-child-element.d.ts +10 -0
  141. package/lib/types/conflict-child-element.js +2 -0
  142. package/lib/types/conflict-child-element.js.map +1 -0
  143. package/lib/types/conflict-grouped-element.d.ts +6 -0
  144. package/lib/types/conflict-grouped-element.js +2 -0
  145. package/lib/types/conflict-grouped-element.js.map +1 -0
  146. package/lib/types/conflict-grouped-elements.d.ts +4 -0
  147. package/lib/types/conflict-grouped-elements.js +2 -0
  148. package/lib/types/conflict-grouped-elements.js.map +1 -0
  149. package/lib/types/construct-name.d.ts +1 -0
  150. package/lib/types/construct-name.js +2 -0
  151. package/lib/types/construct-name.js.map +1 -0
  152. package/lib/types/dependency-map.d.ts +4 -0
  153. package/lib/types/dependency-map.js +2 -0
  154. package/lib/types/dependency-map.js.map +1 -0
  155. package/lib/types/dependency.d.ts +14 -0
  156. package/lib/types/dependency.js +2 -0
  157. package/lib/types/dependency.js.map +1 -0
  158. package/lib/types/environment.d.ts +1 -0
  159. package/lib/types/environment.js +2 -0
  160. package/lib/types/environment.js.map +1 -0
  161. package/lib/types/generate-config.d.ts +30 -0
  162. package/lib/types/generate-config.js +2 -0
  163. package/lib/types/generate-config.js.map +1 -0
  164. package/lib/types/generator-type.d.ts +4 -0
  165. package/lib/types/generator-type.js +6 -0
  166. package/lib/types/generator-type.js.map +1 -0
  167. package/lib/types/gir-alias-element.d.ts +13 -0
  168. package/lib/types/gir-alias-element.js +2 -0
  169. package/lib/types/gir-alias-element.js.map +1 -0
  170. package/lib/types/gir-annotation.d.ts +9 -0
  171. package/lib/types/gir-annotation.js +2 -0
  172. package/lib/types/gir-annotation.js.map +1 -0
  173. package/lib/types/gir-any-element.d.ts +2 -0
  174. package/lib/types/gir-any-element.js +2 -0
  175. package/lib/types/gir-any-element.js.map +1 -0
  176. package/lib/types/gir-any-type.d.ts +5 -0
  177. package/lib/types/gir-any-type.js +2 -0
  178. package/lib/types/gir-any-type.js.map +1 -0
  179. package/lib/types/gir-array-type.d.ts +20 -0
  180. package/lib/types/gir-array-type.js +3 -0
  181. package/lib/types/gir-array-type.js.map +1 -0
  182. package/lib/types/gir-bitfield-element.d.ts +17 -0
  183. package/lib/types/gir-bitfield-element.js +2 -0
  184. package/lib/types/gir-bitfield-element.js.map +1 -0
  185. package/lib/types/gir-boolean.d.ts +1 -0
  186. package/lib/types/gir-boolean.js +2 -0
  187. package/lib/types/gir-boolean.js.map +1 -0
  188. package/lib/types/gir-boxed-element.d.ts +15 -0
  189. package/lib/types/gir-boxed-element.js +2 -0
  190. package/lib/types/gir-boxed-element.js.map +1 -0
  191. package/lib/types/gir-c-include.d.ts +7 -0
  192. package/lib/types/gir-c-include.js +2 -0
  193. package/lib/types/gir-c-include.js.map +1 -0
  194. package/lib/types/gir-callable-attrs.d.ts +15 -0
  195. package/lib/types/gir-callable-attrs.js +3 -0
  196. package/lib/types/gir-callable-attrs.js.map +1 -0
  197. package/lib/types/gir-callable-param-element.d.ts +30 -0
  198. package/lib/types/gir-callable-param-element.js +2 -0
  199. package/lib/types/gir-callable-param-element.js.map +1 -0
  200. package/lib/types/gir-callable-param.d.ts +7 -0
  201. package/lib/types/gir-callable-param.js +2 -0
  202. package/lib/types/gir-callable-param.js.map +1 -0
  203. package/lib/types/gir-callable-return.d.ts +22 -0
  204. package/lib/types/gir-callable-return.js +2 -0
  205. package/lib/types/gir-callable-return.js.map +1 -0
  206. package/lib/types/gir-callback-element.d.ts +15 -0
  207. package/lib/types/gir-callback-element.js +2 -0
  208. package/lib/types/gir-callback-element.js.map +1 -0
  209. package/lib/types/gir-class-element.d.ts +48 -0
  210. package/lib/types/gir-class-element.js +2 -0
  211. package/lib/types/gir-class-element.js.map +1 -0
  212. package/lib/types/gir-constant-element.d.ts +15 -0
  213. package/lib/types/gir-constant-element.js +2 -0
  214. package/lib/types/gir-constant-element.js.map +1 -0
  215. package/lib/types/gir-constructor-element.d.ts +8 -0
  216. package/lib/types/gir-constructor-element.js +2 -0
  217. package/lib/types/gir-constructor-element.js.map +1 -0
  218. package/lib/types/gir-direction.d.ts +5 -0
  219. package/lib/types/gir-direction.js +7 -0
  220. package/lib/types/gir-direction.js.map +1 -0
  221. package/lib/types/gir-doc-element.d.ts +68 -0
  222. package/lib/types/gir-doc-element.js +2 -0
  223. package/lib/types/gir-doc-element.js.map +1 -0
  224. package/lib/types/gir-enum-element.d.ts +19 -0
  225. package/lib/types/gir-enum-element.js +2 -0
  226. package/lib/types/gir-enum-element.js.map +1 -0
  227. package/lib/types/gir-field-element.d.ts +18 -0
  228. package/lib/types/gir-field-element.js +2 -0
  229. package/lib/types/gir-field-element.js.map +1 -0
  230. package/lib/types/gir-function-element.d.ts +8 -0
  231. package/lib/types/gir-function-element.js +2 -0
  232. package/lib/types/gir-function-element.js.map +1 -0
  233. package/lib/types/gir-implements.d.ts +8 -0
  234. package/lib/types/gir-implements.js +2 -0
  235. package/lib/types/gir-implements.js.map +1 -0
  236. package/lib/types/gir-include.d.ts +9 -0
  237. package/lib/types/gir-include.js +2 -0
  238. package/lib/types/gir-include.js.map +1 -0
  239. package/lib/types/gir-info-attrs.d.ts +13 -0
  240. package/lib/types/gir-info-attrs.js +2 -0
  241. package/lib/types/gir-info-attrs.js.map +1 -0
  242. package/lib/types/gir-info-elements.d.ts +5 -0
  243. package/lib/types/gir-info-elements.js +2 -0
  244. package/lib/types/gir-info-elements.js.map +1 -0
  245. package/lib/types/gir-instance-parameter.d.ts +21 -0
  246. package/lib/types/gir-instance-parameter.js +2 -0
  247. package/lib/types/gir-instance-parameter.js.map +1 -0
  248. package/lib/types/gir-interface-element.d.ts +31 -0
  249. package/lib/types/gir-interface-element.js +2 -0
  250. package/lib/types/gir-interface-element.js.map +1 -0
  251. package/lib/types/gir-member-element.d.ts +17 -0
  252. package/lib/types/gir-member-element.js +2 -0
  253. package/lib/types/gir-member-element.js.map +1 -0
  254. package/lib/types/gir-method-element.d.ts +13 -0
  255. package/lib/types/gir-method-element.js +2 -0
  256. package/lib/types/gir-method-element.js.map +1 -0
  257. package/lib/types/gir-module-resolved-by.d.ts +10 -0
  258. package/lib/types/gir-module-resolved-by.js +2 -0
  259. package/lib/types/gir-module-resolved-by.js.map +1 -0
  260. package/lib/types/gir-modules-grouped-map.d.ts +4 -0
  261. package/lib/types/gir-modules-grouped-map.js +2 -0
  262. package/lib/types/gir-modules-grouped-map.js.map +1 -0
  263. package/lib/types/gir-modules-grouped.d.ts +12 -0
  264. package/lib/types/gir-modules-grouped.js +2 -0
  265. package/lib/types/gir-modules-grouped.js.map +1 -0
  266. package/lib/types/gir-namespace.d.ts +30 -0
  267. package/lib/types/gir-namespace.js +2 -0
  268. package/lib/types/gir-namespace.js.map +1 -0
  269. package/lib/types/gir-package.d.ts +7 -0
  270. package/lib/types/gir-package.js +2 -0
  271. package/lib/types/gir-package.js.map +1 -0
  272. package/lib/types/gir-prerequisite.d.ts +5 -0
  273. package/lib/types/gir-prerequisite.js +2 -0
  274. package/lib/types/gir-prerequisite.js.map +1 -0
  275. package/lib/types/gir-property-element.d.ts +21 -0
  276. package/lib/types/gir-property-element.js +2 -0
  277. package/lib/types/gir-property-element.js.map +1 -0
  278. package/lib/types/gir-record-element.d.ts +30 -0
  279. package/lib/types/gir-record-element.js +2 -0
  280. package/lib/types/gir-record-element.js.map +1 -0
  281. package/lib/types/gir-repository.d.ts +16 -0
  282. package/lib/types/gir-repository.js +2 -0
  283. package/lib/types/gir-repository.js.map +1 -0
  284. package/lib/types/gir-signal.d.ts +25 -0
  285. package/lib/types/gir-signal.js +2 -0
  286. package/lib/types/gir-signal.js.map +1 -0
  287. package/lib/types/gir-transfer-ownership-type.d.ts +5 -0
  288. package/lib/types/gir-transfer-ownership-type.js +7 -0
  289. package/lib/types/gir-transfer-ownership-type.js.map +1 -0
  290. package/lib/types/gir-transfer-ownership.d.ts +5 -0
  291. package/lib/types/gir-transfer-ownership.js +2 -0
  292. package/lib/types/gir-transfer-ownership.js.map +1 -0
  293. package/lib/types/gir-type.d.ts +14 -0
  294. package/lib/types/gir-type.js +2 -0
  295. package/lib/types/gir-type.js.map +1 -0
  296. package/lib/types/gir-union-element.d.ts +22 -0
  297. package/lib/types/gir-union-element.js +2 -0
  298. package/lib/types/gir-union-element.js.map +1 -0
  299. package/lib/types/gir-unparsed-number.d.ts +2 -0
  300. package/lib/types/gir-unparsed-number.js +2 -0
  301. package/lib/types/gir-unparsed-number.js.map +1 -0
  302. package/lib/types/gir-var-args.d.ts +5 -0
  303. package/lib/types/gir-var-args.js +2 -0
  304. package/lib/types/gir-var-args.js.map +1 -0
  305. package/lib/types/gir-virtual-method.d.ts +10 -0
  306. package/lib/types/gir-virtual-method.js +2 -0
  307. package/lib/types/gir-virtual-method.js.map +1 -0
  308. package/lib/types/index.d.ts +118 -0
  309. package/lib/types/index.js +119 -0
  310. package/lib/types/index.js.map +1 -0
  311. package/lib/types/inheritance-table.d.ts +3 -0
  312. package/lib/types/inheritance-table.js +2 -0
  313. package/lib/types/inheritance-table.js.map +1 -0
  314. package/lib/types/injection-callback.d.ts +16 -0
  315. package/lib/types/injection-callback.js +2 -0
  316. package/lib/types/injection-callback.js.map +1 -0
  317. package/lib/types/injection-class.d.ts +24 -0
  318. package/lib/types/injection-class.js +2 -0
  319. package/lib/types/injection-class.js.map +1 -0
  320. package/lib/types/injection-function.d.ts +7 -0
  321. package/lib/types/injection-function.js +2 -0
  322. package/lib/types/injection-function.js.map +1 -0
  323. package/lib/types/injection-generic-parameter.d.ts +2 -0
  324. package/lib/types/injection-generic-parameter.js +2 -0
  325. package/lib/types/injection-generic-parameter.js.map +1 -0
  326. package/lib/types/injection-instance-parameter.d.ts +2 -0
  327. package/lib/types/injection-instance-parameter.js +2 -0
  328. package/lib/types/injection-instance-parameter.js.map +1 -0
  329. package/lib/types/injection-parameter.d.ts +8 -0
  330. package/lib/types/injection-parameter.js +2 -0
  331. package/lib/types/injection-parameter.js.map +1 -0
  332. package/lib/types/injection-property.d.ts +4 -0
  333. package/lib/types/injection-property.js +2 -0
  334. package/lib/types/injection-property.js.map +1 -0
  335. package/lib/types/injection-type.d.ts +2 -0
  336. package/lib/types/injection-type.js +2 -0
  337. package/lib/types/injection-type.js.map +1 -0
  338. package/lib/types/injection.d.ts +5 -0
  339. package/lib/types/injection.js +2 -0
  340. package/lib/types/injection.js.map +1 -0
  341. package/lib/types/local-name-check.d.ts +4 -0
  342. package/lib/types/local-name-check.js +2 -0
  343. package/lib/types/local-name-check.js.map +1 -0
  344. package/lib/types/local-name-type.d.ts +1 -0
  345. package/lib/types/local-name-type.js +2 -0
  346. package/lib/types/local-name-type.js.map +1 -0
  347. package/lib/types/local-name.d.ts +7 -0
  348. package/lib/types/local-name.js +2 -0
  349. package/lib/types/local-name.js.map +1 -0
  350. package/lib/types/local-names.d.ts +4 -0
  351. package/lib/types/local-names.js +2 -0
  352. package/lib/types/local-names.js.map +1 -0
  353. package/lib/types/module-type.d.ts +1 -0
  354. package/lib/types/module-type.js +2 -0
  355. package/lib/types/module-type.js.map +1 -0
  356. package/lib/types/parsed-gir.d.ts +4 -0
  357. package/lib/types/parsed-gir.js +2 -0
  358. package/lib/types/parsed-gir.js.map +1 -0
  359. package/lib/types/part-of-class.d.ts +7 -0
  360. package/lib/types/part-of-class.js +2 -0
  361. package/lib/types/part-of-class.js.map +1 -0
  362. package/lib/types/part-of-module.d.ts +6 -0
  363. package/lib/types/part-of-module.js +2 -0
  364. package/lib/types/part-of-module.js.map +1 -0
  365. package/lib/types/resolve-type.d.ts +4 -0
  366. package/lib/types/resolve-type.js +6 -0
  367. package/lib/types/resolve-type.js.map +1 -0
  368. package/lib/types/sym-table-items.d.ts +4 -0
  369. package/lib/types/sym-table-items.js +2 -0
  370. package/lib/types/sym-table-items.js.map +1 -0
  371. package/lib/types/transformation-case.d.ts +1 -0
  372. package/lib/types/transformation-case.js +2 -0
  373. package/lib/types/transformation-case.js.map +1 -0
  374. package/lib/types/transformations.d.ts +11 -0
  375. package/lib/types/transformations.js +2 -0
  376. package/lib/types/transformations.js.map +1 -0
  377. package/lib/types/ts-alias.d.ts +10 -0
  378. package/lib/types/ts-alias.js +2 -0
  379. package/lib/types/ts-alias.js.map +1 -0
  380. package/lib/types/ts-callback-interface.d.ts +10 -0
  381. package/lib/types/ts-callback-interface.js +2 -0
  382. package/lib/types/ts-callback-interface.js.map +1 -0
  383. package/lib/types/ts-callback.d.ts +17 -0
  384. package/lib/types/ts-callback.js +2 -0
  385. package/lib/types/ts-callback.js.map +1 -0
  386. package/lib/types/ts-class.d.ts +85 -0
  387. package/lib/types/ts-class.js +2 -0
  388. package/lib/types/ts-class.js.map +1 -0
  389. package/lib/types/ts-doc-tag.d.ts +21 -0
  390. package/lib/types/ts-doc-tag.js +2 -0
  391. package/lib/types/ts-doc-tag.js.map +1 -0
  392. package/lib/types/ts-doc.d.ts +20 -0
  393. package/lib/types/ts-doc.js +2 -0
  394. package/lib/types/ts-doc.js.map +1 -0
  395. package/lib/types/ts-enum.d.ts +12 -0
  396. package/lib/types/ts-enum.js +2 -0
  397. package/lib/types/ts-enum.js.map +1 -0
  398. package/lib/types/ts-function.d.ts +44 -0
  399. package/lib/types/ts-function.js +2 -0
  400. package/lib/types/ts-function.js.map +1 -0
  401. package/lib/types/ts-generic-parameter.d.ts +8 -0
  402. package/lib/types/ts-generic-parameter.js +2 -0
  403. package/lib/types/ts-generic-parameter.js.map +1 -0
  404. package/lib/types/ts-instance-parameter.d.ts +4 -0
  405. package/lib/types/ts-instance-parameter.js +2 -0
  406. package/lib/types/ts-instance-parameter.js.map +1 -0
  407. package/lib/types/ts-member.d.ts +10 -0
  408. package/lib/types/ts-member.js +2 -0
  409. package/lib/types/ts-member.js.map +1 -0
  410. package/lib/types/ts-method.d.ts +5 -0
  411. package/lib/types/ts-method.js +2 -0
  412. package/lib/types/ts-method.js.map +1 -0
  413. package/lib/types/ts-parameter.d.ts +15 -0
  414. package/lib/types/ts-parameter.js +2 -0
  415. package/lib/types/ts-parameter.js.map +1 -0
  416. package/lib/types/ts-property.d.ts +17 -0
  417. package/lib/types/ts-property.js +2 -0
  418. package/lib/types/ts-property.js.map +1 -0
  419. package/lib/types/ts-signal.d.ts +17 -0
  420. package/lib/types/ts-signal.js +2 -0
  421. package/lib/types/ts-signal.js.map +1 -0
  422. package/lib/types/ts-type-name.d.ts +1 -0
  423. package/lib/types/ts-type-name.js +2 -0
  424. package/lib/types/ts-type-name.js.map +1 -0
  425. package/lib/types/ts-type-separator.d.ts +1 -0
  426. package/lib/types/ts-type-separator.js +2 -0
  427. package/lib/types/ts-type-separator.js.map +1 -0
  428. package/lib/types/ts-type.d.ts +22 -0
  429. package/lib/types/ts-type.js +2 -0
  430. package/lib/types/ts-type.js.map +1 -0
  431. package/lib/types/ts-var.d.ts +17 -0
  432. package/lib/types/ts-var.js +2 -0
  433. package/lib/types/ts-var.js.map +1 -0
  434. package/lib/types/type-gir-alias.d.ts +2 -0
  435. package/lib/types/type-gir-alias.js +2 -0
  436. package/lib/types/type-gir-alias.js.map +1 -0
  437. package/lib/types/type-gir-class.d.ts +2 -0
  438. package/lib/types/type-gir-class.js +2 -0
  439. package/lib/types/type-gir-class.js.map +1 -0
  440. package/lib/types/type-gir-element.d.ts +3 -0
  441. package/lib/types/type-gir-element.js +2 -0
  442. package/lib/types/type-gir-element.js.map +1 -0
  443. package/lib/types/type-gir-enumeration-member.d.ts +2 -0
  444. package/lib/types/type-gir-enumeration-member.js +2 -0
  445. package/lib/types/type-gir-enumeration-member.js.map +1 -0
  446. package/lib/types/type-gir-enumeration.d.ts +2 -0
  447. package/lib/types/type-gir-enumeration.js +2 -0
  448. package/lib/types/type-gir-enumeration.js.map +1 -0
  449. package/lib/types/type-gir-function.d.ts +1 -0
  450. package/lib/types/type-gir-function.js +2 -0
  451. package/lib/types/type-gir-function.js.map +1 -0
  452. package/lib/types/type-gir-interface.d.ts +2 -0
  453. package/lib/types/type-gir-interface.js +2 -0
  454. package/lib/types/type-gir-interface.js.map +1 -0
  455. package/lib/types/type-gir-method.d.ts +2 -0
  456. package/lib/types/type-gir-method.js +2 -0
  457. package/lib/types/type-gir-method.js.map +1 -0
  458. package/lib/types/type-gir-parameter.d.ts +1 -0
  459. package/lib/types/type-gir-parameter.js +2 -0
  460. package/lib/types/type-gir-parameter.js.map +1 -0
  461. package/lib/types/type-gir-property.d.ts +2 -0
  462. package/lib/types/type-gir-property.js +2 -0
  463. package/lib/types/type-gir-property.js.map +1 -0
  464. package/lib/types/type-gir-variable.d.ts +1 -0
  465. package/lib/types/type-gir-variable.js +2 -0
  466. package/lib/types/type-gir-variable.js.map +1 -0
  467. package/lib/types/type-ts-element.d.ts +3 -0
  468. package/lib/types/type-ts-element.js +2 -0
  469. package/lib/types/type-ts-element.js.map +1 -0
  470. package/lib/types/type-ts-enumeration-member.d.ts +2 -0
  471. package/lib/types/type-ts-enumeration-member.js +2 -0
  472. package/lib/types/type-ts-enumeration-member.js.map +1 -0
  473. package/lib/types/type-ts-function.d.ts +1 -0
  474. package/lib/types/type-ts-function.js +2 -0
  475. package/lib/types/type-ts-function.js.map +1 -0
  476. package/lib/types/type-ts-property.d.ts +1 -0
  477. package/lib/types/type-ts-property.js +2 -0
  478. package/lib/types/type-ts-property.js.map +1 -0
  479. package/lib/types/user-config-load-result.d.ts +6 -0
  480. package/lib/types/user-config-load-result.js +2 -0
  481. package/lib/types/user-config-load-result.js.map +1 -0
  482. package/lib/types/user-config.d.ts +38 -0
  483. package/lib/types/user-config.js +2 -0
  484. package/lib/types/user-config.js.map +1 -0
  485. package/lib/utils.d.ts +88 -0
  486. package/lib/utils.js +189 -0
  487. package/lib/utils.js.map +1 -0
  488. package/package.json +72 -0
  489. package/src/commands/doc.ts +65 -0
  490. package/src/commands/generate.ts +86 -0
  491. package/src/commands/index.ts +3 -0
  492. package/src/commands/list.ts +96 -0
  493. package/src/config.ts +426 -0
  494. package/src/conflict-resolver.ts +1350 -0
  495. package/src/constants.ts +29 -0
  496. package/src/generation-handler.ts +79 -0
  497. package/src/generator.ts +10 -0
  498. package/src/gir-factory.ts +488 -0
  499. package/src/gir-module.ts +2816 -0
  500. package/src/html-doc-generator.ts +23 -0
  501. package/src/index.ts +17 -0
  502. package/src/injection/callbacks/gjs/Gio-2.0.ts +37 -0
  503. package/src/injection/callbacks/gjs/index.ts +5 -0
  504. package/src/injection/callbacks/index.ts +6 -0
  505. package/src/injection/callbacks/node-gtk/index.ts +3 -0
  506. package/src/injection/classes/GLib-2-0.ts +36 -0
  507. package/src/injection/classes/gjs/GLib-2.0.ts +75 -0
  508. package/src/injection/classes/gjs/GObject-2.0.ts +635 -0
  509. package/src/injection/classes/gjs/Gio-2.0.ts +219 -0
  510. package/src/injection/classes/gjs/index.ts +7 -0
  511. package/src/injection/classes/index.ts +7 -0
  512. package/src/injection/classes/node-gtk/GLib-2.0.ts +20 -0
  513. package/src/injection/classes/node-gtk/GObject-2.0.ts +67 -0
  514. package/src/injection/classes/node-gtk/Gdk-4.0.ts +33 -0
  515. package/src/injection/classes/node-gtk/Gio-2.0.ts +15 -0
  516. package/src/injection/classes/node-gtk/Graphene-1.0.ts +134 -0
  517. package/src/injection/classes/node-gtk/Gtk-3.0.ts +32 -0
  518. package/src/injection/classes/node-gtk/Gtk-4.0.ts +53 -0
  519. package/src/injection/classes/node-gtk/Pango-1.0.ts +32 -0
  520. package/src/injection/classes/node-gtk/index.ts +21 -0
  521. package/src/injection/index.ts +3 -0
  522. package/src/injection/injector.ts +179 -0
  523. package/src/logger.ts +134 -0
  524. package/src/messages.ts +68 -0
  525. package/src/module-loader.ts +573 -0
  526. package/src/start.ts +16 -0
  527. package/src/symtable.ts +70 -0
  528. package/src/template-processor.ts +170 -0
  529. package/src/transformation.ts +583 -0
  530. package/src/type-definition-generator.ts +1387 -0
  531. package/src/types/answer-version.ts +4 -0
  532. package/src/types/build-type.ts +1 -0
  533. package/src/types/class-parent.ts +12 -0
  534. package/src/types/config-flags.ts +5 -0
  535. package/src/types/conflict-child-element.ts +11 -0
  536. package/src/types/conflict-grouped-element.ts +7 -0
  537. package/src/types/conflict-grouped-elements.ts +5 -0
  538. package/src/types/construct-name.ts +11 -0
  539. package/src/types/dependency-map.ts +4 -0
  540. package/src/types/dependency.ts +14 -0
  541. package/src/types/environment.ts +1 -0
  542. package/src/types/generate-config.ts +31 -0
  543. package/src/types/generator-type.ts +4 -0
  544. package/src/types/gir-alias-element.ts +15 -0
  545. package/src/types/gir-annotation.ts +10 -0
  546. package/src/types/gir-any-element.ts +35 -0
  547. package/src/types/gir-any-type.ts +7 -0
  548. package/src/types/gir-array-type.ts +23 -0
  549. package/src/types/gir-bitfield-element.ts +20 -0
  550. package/src/types/gir-boolean.ts +1 -0
  551. package/src/types/gir-boxed-element.ts +19 -0
  552. package/src/types/gir-c-include.ts +7 -0
  553. package/src/types/gir-callable-attrs.ts +19 -0
  554. package/src/types/gir-callable-param-element.ts +45 -0
  555. package/src/types/gir-callable-param.ts +9 -0
  556. package/src/types/gir-callable-return.ts +25 -0
  557. package/src/types/gir-callback-element.ts +28 -0
  558. package/src/types/gir-class-element.ts +71 -0
  559. package/src/types/gir-constant-element.ts +17 -0
  560. package/src/types/gir-constructor-element.ts +18 -0
  561. package/src/types/gir-direction.ts +5 -0
  562. package/src/types/gir-doc-element.ts +73 -0
  563. package/src/types/gir-enum-element.ts +28 -0
  564. package/src/types/gir-field-element.ts +31 -0
  565. package/src/types/gir-function-element.ts +19 -0
  566. package/src/types/gir-implements.ts +9 -0
  567. package/src/types/gir-include.ts +9 -0
  568. package/src/types/gir-info-attrs.ts +16 -0
  569. package/src/types/gir-info-elements.ts +8 -0
  570. package/src/types/gir-instance-parameter.ts +25 -0
  571. package/src/types/gir-interface-element.ts +53 -0
  572. package/src/types/gir-member-element.ts +19 -0
  573. package/src/types/gir-method-element.ts +25 -0
  574. package/src/types/gir-module-resolved-by.ts +11 -0
  575. package/src/types/gir-modules-grouped-map.ts +5 -0
  576. package/src/types/gir-modules-grouped.ts +13 -0
  577. package/src/types/gir-namespace.ts +47 -0
  578. package/src/types/gir-package.ts +7 -0
  579. package/src/types/gir-prerequisite.ts +5 -0
  580. package/src/types/gir-property-element.ts +31 -0
  581. package/src/types/gir-record-element.ts +47 -0
  582. package/src/types/gir-repository.ts +20 -0
  583. package/src/types/gir-signal.ts +43 -0
  584. package/src/types/gir-transfer-ownership-type.ts +5 -0
  585. package/src/types/gir-transfer-ownership.ts +6 -0
  586. package/src/types/gir-type.ts +16 -0
  587. package/src/types/gir-union-element.ts +35 -0
  588. package/src/types/gir-unparsed-number.ts +2 -0
  589. package/src/types/gir-var-args.ts +6 -0
  590. package/src/types/gir-virtual-method.ts +22 -0
  591. package/src/types/index.ts +118 -0
  592. package/src/types/inheritance-table.ts +3 -0
  593. package/src/types/injection-callback.ts +20 -0
  594. package/src/types/injection-class.ts +30 -0
  595. package/src/types/injection-function.ts +23 -0
  596. package/src/types/injection-generic-parameter.ts +3 -0
  597. package/src/types/injection-instance-parameter.ts +3 -0
  598. package/src/types/injection-parameter.ts +9 -0
  599. package/src/types/injection-property.ts +7 -0
  600. package/src/types/injection-type.ts +3 -0
  601. package/src/types/injection.ts +6 -0
  602. package/src/types/local-name-check.ts +5 -0
  603. package/src/types/local-name-type.ts +1 -0
  604. package/src/types/local-name.ts +8 -0
  605. package/src/types/local-names.ts +5 -0
  606. package/src/types/module-type.ts +1 -0
  607. package/src/types/parsed-gir.ts +5 -0
  608. package/src/types/part-of-class.ts +9 -0
  609. package/src/types/part-of-module.ts +8 -0
  610. package/src/types/resolve-type.ts +4 -0
  611. package/src/types/sym-table-items.ts +5 -0
  612. package/src/types/transformation-case.ts +7 -0
  613. package/src/types/transformations.ts +12 -0
  614. package/src/types/ts-alias.ts +11 -0
  615. package/src/types/ts-callback-interface.ts +11 -0
  616. package/src/types/ts-callback.ts +21 -0
  617. package/src/types/ts-class.ts +109 -0
  618. package/src/types/ts-doc-tag.ts +23 -0
  619. package/src/types/ts-doc.ts +23 -0
  620. package/src/types/ts-enum.ts +15 -0
  621. package/src/types/ts-function.ts +59 -0
  622. package/src/types/ts-generic-parameter.ts +8 -0
  623. package/src/types/ts-instance-parameter.ts +4 -0
  624. package/src/types/ts-member.ts +11 -0
  625. package/src/types/ts-method.ts +6 -0
  626. package/src/types/ts-parameter.ts +20 -0
  627. package/src/types/ts-property.ts +22 -0
  628. package/src/types/ts-signal.ts +21 -0
  629. package/src/types/ts-type-name.ts +1 -0
  630. package/src/types/ts-type-separator.ts +1 -0
  631. package/src/types/ts-type.ts +25 -0
  632. package/src/types/ts-var.ts +21 -0
  633. package/src/types/type-gir-alias.ts +2 -0
  634. package/src/types/type-gir-class.ts +2 -0
  635. package/src/types/type-gir-element.ts +25 -0
  636. package/src/types/type-gir-enumeration-member.ts +2 -0
  637. package/src/types/type-gir-enumeration.ts +2 -0
  638. package/src/types/type-gir-function.ts +8 -0
  639. package/src/types/type-gir-interface.ts +2 -0
  640. package/src/types/type-gir-method.ts +2 -0
  641. package/src/types/type-gir-parameter.ts +1 -0
  642. package/src/types/type-gir-property.ts +2 -0
  643. package/src/types/type-gir-variable.ts +1 -0
  644. package/src/types/type-ts-element.ts +13 -0
  645. package/src/types/type-ts-enumeration-member.ts +2 -0
  646. package/src/types/type-ts-function.ts +1 -0
  647. package/src/types/type-ts-property.ts +1 -0
  648. package/src/types/user-config-load-result.ts +6 -0
  649. package/src/types/user-config.ts +39 -0
  650. package/src/utils.ts +217 -0
  651. package/templates/Cogl-2.0.d.ts +0 -0
  652. package/templates/Gjs/GObject-2.0.d.ts +238 -0
  653. package/templates/Gjs/Gio-2.0.d.ts +64 -0
  654. package/templates/Gjs/Gjs.d.ts +135 -0
  655. package/templates/Gjs/Gjs.js +21 -0
  656. package/templates/Gjs/cast.ts +52 -0
  657. package/templates/Gjs/index.d.ts +279 -0
  658. package/templates/Gjs/index.js +4 -0
  659. package/templates/Gjs/module.d.ts +10 -0
  660. package/templates/Gjs/module.js +16 -0
  661. package/templates/Granite-1.0.d.ts +7 -0
  662. package/templates/Granite-7.0.d.ts +7 -0
  663. package/templates/GstBase-0.10.d.ts +5 -0
  664. package/templates/RygelServer-2.6.d.ts +3 -0
  665. package/templates/node-gtk/GObject-2.0.d.ts +57 -0
  666. package/templates/node-gtk/index.d.ts +40 -0
  667. package/templates/node-gtk/index.js +9 -0
  668. package/templates/node-gtk/module.d.ts +10 -0
  669. package/templates/node-gtk/module.js +17 -0
package/README.md ADDED
@@ -0,0 +1,156 @@
1
+ # CLI
2
+
3
+ After you have linked this project you can use the `ts-for-gir` command in you project:
4
+
5
+ ```bash
6
+ $ ts-for-gir --help
7
+
8
+ Typescript .d.ts generator from GIR for gjs or node-gtk
9
+
10
+ Commands:
11
+ ts-for-gir generate [modules..] Generates .d.ts files from GIR for gjs or nod
12
+ e-gtk
13
+ ts-for-gir list [modules..] Lists all available GIR modules
14
+
15
+ Options:
16
+ --version Show version number [boolean]
17
+ --help Show help [boolean]
18
+ ```
19
+
20
+ ## Generate .d.ts files
21
+
22
+ ```bash
23
+ $ ts-for-gir generate --help
24
+
25
+ ts-for-gir generate [modules..]
26
+
27
+ Generates .d.ts files from GIR for gjs or node-gtk
28
+
29
+ Options:
30
+ --version Show version number [boolean]
31
+ --help Show help [boolean]
32
+ --modules GIR modules to load, e.g. 'Gio-2.0'. Accepts multiple m
33
+ odules [array] [default: ["*"]]
34
+ -g, --girDirectories GIR directories
35
+ [array] [default: ["/usr/share/gir-1.0"]]
36
+ -o, --outdir Directory to output to [string] [default: "./@types"]
37
+ -e, --environments Javascript environment
38
+ [array] [choices: "gjs", "node"] [default: ["gjs","node"]]
39
+ -i, --ignore Modules that should be ignored [array] [default: []]
40
+ -b, --buildType Definitions generation type
41
+ [string] [choices: "lib", "types"] [default: "lib"]
42
+ -t, --moduleType Specify what module code is generated.
43
+ [string] [choices: "esm", "commonjs"] [default: "commonjs"]
44
+ --pretty Prettifies the generated .d.ts files
45
+ [string] [default: false]
46
+ -v, --verbose Switch on/off the verbose mode [string] [default: true]
47
+ --ignoreVersionConflicts Do not ask for package versions if multiple versions ar
48
+ e found [string] [default: false]
49
+ -p, --print Print the output to console and create no files
50
+ [string] [default: false]
51
+ --configName Name of the config if you want to use a different name
52
+ [string]
53
+ -d, --useNamespace Export all symbols for each module as a namespace
54
+ [string] [default: false]
55
+ -n, --noComments Do not generate documentation comments
56
+ [string] [default: false]
57
+
58
+ Examples:
59
+ ts-for-gir generate Run 'ts-for-gir generate' in your gj
60
+ s or node-gtk project to generate ty
61
+ pings for your project, pass the gir
62
+ modules you need for your project
63
+ ts-for-gir generate Gtk* You can also use wild cards
64
+ ts-for-gir generate '*' If you want to parse all of your loc
65
+ ally installed gir modules run
66
+ ts-for-gir generate '*' -e gjs Generate .d.ts. files only for gjs
67
+ ts-for-gir generate '*' -e node Generate .d.ts. files only for node
68
+ ts-for-gir generate --configName='.ts-fo Use a special config file
69
+ r-gir.gtk4.rc.js
70
+ ts-for-gir generate --ignore=Gtk-3.0 xra Generate .d.ts. files but not for Gt
71
+ ndr-1.3 k-3.0 and xrandr-1.3
72
+ ```
73
+
74
+ ## List available GIR modules
75
+
76
+ ```bash
77
+ $ ts-for-gir list --help
78
+
79
+ ts-for-gir list [modules..]
80
+
81
+ Lists all available GIR modules
82
+
83
+ Options:
84
+ --version Show version number [boolean]
85
+ --help Show help [boolean]
86
+ --modules GIR modules to load, e.g. 'Gio-2.0'. Accepts multiple mo
87
+ dules [array] [default: ["*"]]
88
+ -g, --girDirectories GIR directories[array] [default: ["/usr/share/gir-1.0"]]
89
+ -i, --ignore Modules that should be ignored [array] [default: []]
90
+ -v, --verbose Switch on/off the verbose mode [string] [default: true]
91
+ --configName Name of the config if you want to use a different name
92
+ [string]
93
+
94
+ Examples:
95
+ ts-for-gir list -g ./vala-girs/gir-1.0 Lists all available GIR modules in .
96
+ /vala-girs/gir-1.0
97
+ ts-for-gir list --ignore=Gtk-3.0 xrandr- Lists all available GIR modules in /
98
+ 1.3 usr/share/gir-1.0 but not Gtk-3.0 an
99
+ d xrandr-1.3
100
+ ```
101
+
102
+ ## Generate HTML documentation
103
+
104
+ ```bash
105
+ $ ts-for-gir doc --help
106
+
107
+ ts-for-gir doc [modules..]
108
+
109
+ The HTML documentation generator is not yet implemented, but feel free to implem
110
+ ent it 🤗
111
+ ```
112
+ ## Config
113
+
114
+ In addition to the option of passing options as a CLI flag, you can also write them in a config file.
115
+ To do that, create a new config file called `.ts-for-girrc.js` in your project root directory, like this:
116
+
117
+ ```js
118
+ // or on CommonJs: exports.default = {
119
+ export default {
120
+ pretty: false,
121
+ print: false,
122
+ verbose: true,
123
+ environments: ['gjs', 'node'],
124
+ outdir: '@types',
125
+ girDirectories: '/usr/share/gir-1.0',
126
+ modules: ['*'],
127
+ ignore: [],
128
+ useNamespace: true,
129
+ buildType: 'lib',
130
+ moduleType: 'esm'
131
+ }
132
+ ```
133
+
134
+ 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.
135
+
136
+ ## About the `--moduleType esm` option
137
+
138
+ Gjs now supports ES modules, which can be activated with its `gjs -m` flag. Using this in conjunction with `"module": "es6"` in tsconfig.json is generally more
139
+ convenient than using the `imports` global object, because you no longer have to provide an implementation of `require`. However, it creates two new
140
+ 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
141
+ 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.
142
+
143
+ Or you can use a bundler like Webpack to handle the imports, the [example/gjs/browser](example/gjs/browser) uses esm and does exactly this.
144
+
145
+ The second problem is that in ES module mode, `gi` imports behave as if they were exported by `export default`, which is not backwards compatible with
146
+ ts-for-gjs. Where you would previously write:
147
+
148
+ `import * as Gtk from "<path to gi bindings>/Gtk-4.0js"`
149
+
150
+ you now have to write:
151
+
152
+ `import Gtk from "<path to gi bindings>/Gtk-4.0js"`
153
+
154
+ Destructuring individual items in the import statement is not supported for this type of import.
155
+
156
+ See `examples/Gjs/browser` for an example for Gjs with ESM.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir generate` command is located here
3
+ */
4
+ import { Argv } from 'yargs';
5
+ export declare const doc: {
6
+ command: string;
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
+ }>;
25
+ handler: (args: any) => Promise<void>;
26
+ examples: readonly [string, (string | undefined)?][];
27
+ };
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir generate` command is located here
3
+ */
4
+ import { GenerationHandler } from '../generation-handler.js';
5
+ import { Config } from '../config.js';
6
+ 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
+ const command = 'doc [modules..]';
11
+ const description = 'The HTML documentation generator is not yet implemented, but feel free to implement it 🤗';
12
+ const builder = (yargs) => {
13
+ return yargs
14
+ .option('modules', Config.generateOptions.modules)
15
+ .option('girDirectories', Config.generateOptions.girDirectories)
16
+ .option('outdir', Config.generateOptions.outdir)
17
+ .option('environments', Config.generateOptions.environments)
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);
23
+ };
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ const handler = async (args /* TODO */) => {
26
+ const config = await Config.load(args);
27
+ for (let i = 0; i < config.environments.length; i++) {
28
+ if (config.environments[i]) {
29
+ const generateConfig = Config.getGenerateConfig(config, config.environments[i]);
30
+ const moduleLoader = new ModuleLoader(generateConfig);
31
+ const { keep, grouped } = await moduleLoader.getModulesResolved(config.modules, config.ignore || [], config.ignoreVersionConflicts);
32
+ if (keep.length === 0) {
33
+ return Logger.error(ERROR_NO_MODULES_FOUND(config.girDirectories));
34
+ }
35
+ const tsForGir = new GenerationHandler(generateConfig, GeneratorType.HTML_DOC);
36
+ await tsForGir.start(Array.from(keep).map((girModuleResolvedBy) => girModuleResolvedBy.module), Object.values(grouped));
37
+ }
38
+ }
39
+ };
40
+ const examples = [];
41
+ export const doc = {
42
+ command,
43
+ description,
44
+ builder,
45
+ handler,
46
+ examples,
47
+ };
48
+ //# sourceMappingURL=doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/commands/doc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAe,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAEvD,MAAM,OAAO,GAAG,iBAAiB,CAAA;AAEjC,MAAM,WAAW,GAAG,2FAA2F,CAAA;AAE/G,MAAM,OAAO,GAAG,CAAC,KAAW,EAAE,EAAE;IAC5B,OAAO,KAAK;SACP,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SAC/C,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;SAC/C,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;SACjD,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,sBAAsB,CAAC;SAC/E,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;SACvD,OAAO,CAAC,QAAQ,CAAC,CAAA;AAC1B,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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir generate` command is located here
3
+ */
4
+ import { Argv } from 'yargs';
5
+ export declare const generate: {
6
+ command: string;
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
+ buildType: unknown;
20
+ } & {
21
+ moduleType: unknown;
22
+ } & {
23
+ pretty: unknown;
24
+ } & {
25
+ verbose: unknown;
26
+ } & {
27
+ ignoreVersionConflicts: unknown;
28
+ } & {
29
+ print: unknown;
30
+ } & {
31
+ configName: unknown;
32
+ } & {
33
+ useNamespace: unknown;
34
+ } & {
35
+ noComments: unknown;
36
+ } & {
37
+ noDebugComments: unknown;
38
+ } & {
39
+ noCheck: unknown;
40
+ } & {
41
+ fixConflicts: unknown;
42
+ }>;
43
+ handler: (args: any) => Promise<void>;
44
+ examples: readonly [string, (string | undefined)?][];
45
+ };
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir generate` command is located here
3
+ */
4
+ import { GenerationHandler } from '../generation-handler.js';
5
+ import { Config } from '../config.js';
6
+ 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
+ const command = 'generate [modules..]';
11
+ const description = 'Generates .d.ts files from GIR for gjs or node-gtk';
12
+ const builder = (yargs) => {
13
+ return yargs
14
+ .option('modules', Config.generateOptions.modules)
15
+ .option('girDirectories', Config.generateOptions.girDirectories)
16
+ .option('outdir', Config.generateOptions.outdir)
17
+ .option('environments', Config.generateOptions.environments)
18
+ .option('ignore', Config.generateOptions.ignore)
19
+ .option('buildType', Config.generateOptions.buildType)
20
+ .option('moduleType', Config.generateOptions.moduleType)
21
+ .option('pretty', Config.generateOptions.pretty)
22
+ .option('verbose', Config.generateOptions.verbose)
23
+ .option('ignoreVersionConflicts', Config.generateOptions.ignoreVersionConflicts)
24
+ .option('print', Config.generateOptions.print)
25
+ .option('configName', Config.generateOptions.configName)
26
+ .option('useNamespace', Config.generateOptions.useNamespace)
27
+ .option('noComments', Config.generateOptions.noComments)
28
+ .option('noDebugComments', Config.generateOptions.noDebugComments)
29
+ .option('noCheck', Config.generateOptions.noCheck)
30
+ .option('fixConflicts', Config.generateOptions.fixConflicts)
31
+ .example(examples);
32
+ };
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
+ const handler = async (args /* TODO */) => {
35
+ const config = await Config.load(args);
36
+ for (const env of config.environments) {
37
+ const generateConfig = Config.getGenerateConfig(config, env);
38
+ const moduleLoader = new ModuleLoader(generateConfig);
39
+ const { keep, grouped } = await moduleLoader.getModulesResolved(config.modules, config.ignore || [], config.ignoreVersionConflicts);
40
+ if (keep.length === 0) {
41
+ return Logger.error(ERROR_NO_MODULES_FOUND(config.girDirectories));
42
+ }
43
+ const tsForGir = new GenerationHandler(generateConfig, GeneratorType.TYPES);
44
+ const girModules = Array.from(keep).map((girModuleResolvedBy) => girModuleResolvedBy.module);
45
+ const girModulesGrouped = Object.values(grouped);
46
+ await tsForGir.start(girModules, girModulesGrouped);
47
+ }
48
+ };
49
+ const examples = [
50
+ [
51
+ `${Config.appName} generate`,
52
+ `Run '${Config.appName} generate' in your gjs or node-gtk project to generate typings for your project, pass the gir modules you need for your project`,
53
+ ],
54
+ [`${Config.appName} generate Gtk*`, 'You can also use wild cards'],
55
+ [`${Config.appName} generate '*'`, 'If you want to parse all of your locally installed gir modules run'],
56
+ [`${Config.appName} generate '*' -e gjs`, 'Generate .d.ts. files only for gjs'],
57
+ [`${Config.appName} generate '*' -e node`, 'Generate .d.ts. files only for node'],
58
+ [`${Config.appName} generate --configName='.ts-for-gir.gtk4.rc.js`, 'Use a special config file'],
59
+ [
60
+ `${Config.appName} generate --ignore=Gtk-3.0 xrandr-1.3`,
61
+ 'Generate .d.ts. files but not for Gtk-3.0 and xrandr-1.3',
62
+ ],
63
+ ];
64
+ export const generate = {
65
+ command,
66
+ description,
67
+ builder,
68
+ handler,
69
+ examples,
70
+ };
71
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './doc.js';
2
+ export * from './generate.js';
3
+ export * from './list.js';
@@ -0,0 +1,4 @@
1
+ export * from './doc.js';
2
+ export * from './generate.js';
3
+ export * from './list.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir list` command is located here
3
+ */
4
+ import { Argv } from 'yargs';
5
+ export declare const list: {
6
+ command: string;
7
+ description: string;
8
+ builder: (yargs: Argv) => Argv<{
9
+ modules: unknown;
10
+ } & {
11
+ girDirectories: unknown;
12
+ } & {
13
+ ignore: unknown;
14
+ } & {
15
+ verbose: unknown;
16
+ } & {
17
+ configName: unknown;
18
+ }>;
19
+ handler: (args: any) => Promise<void>;
20
+ examples: readonly [string, (string | undefined)?][];
21
+ };
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Everything you need for the `ts-for-gir list` command is located here
3
+ */
4
+ import { ModuleLoader } from '../module-loader.js';
5
+ import { Config } from '../config.js';
6
+ import { ResolveType } from '../types/index.js';
7
+ import { Logger } from '../logger.js';
8
+ import { ERROR_NO_MODULES_FOUND } from '../messages.js';
9
+ const command = 'list [modules..]';
10
+ const description = 'Lists all available GIR modules';
11
+ const builder = (yargs) => {
12
+ return yargs
13
+ .option('modules', Config.listOptions.modules)
14
+ .option('girDirectories', Config.listOptions.girDirectories)
15
+ .option('ignore', Config.listOptions.ignore)
16
+ .option('verbose', Config.listOptions.verbose)
17
+ .option('configName', Config.listOptions.configName)
18
+ .example(examples);
19
+ };
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ const handler = async (args /* TODO */) => {
22
+ const config = await Config.load(args);
23
+ const generateConfig = Config.getGenerateConfig(config);
24
+ const moduleLoader = new ModuleLoader(generateConfig);
25
+ const { grouped, failed } = await moduleLoader.getModules(config.modules, config.ignore);
26
+ const moduleGroups = Object.values(grouped);
27
+ if (Object.keys(grouped).length === 0) {
28
+ return Logger.error(ERROR_NO_MODULES_FOUND(config.girDirectories));
29
+ }
30
+ const conflictModules = moduleGroups.filter((moduleGroup) => moduleGroup.hasConflict);
31
+ const byHandModules = moduleGroups.filter((moduleGroup) => moduleGroup.modules[0].resolvedBy === ResolveType.BY_HAND);
32
+ const depModules = moduleGroups.filter((moduleGroup) => moduleGroup.modules[0].resolvedBy === ResolveType.DEPENDENCE);
33
+ Logger.info('\nSelected Modules:');
34
+ for (const moduleGroup of byHandModules) {
35
+ for (const depModule of moduleGroup.modules) {
36
+ Logger.white(`- ${depModule.packageName}`);
37
+ }
38
+ }
39
+ if (depModules.length > 0) {
40
+ Logger.yellow('\nDependencies:');
41
+ for (const moduleGroup of depModules) {
42
+ for (const depModule of moduleGroup.modules) {
43
+ Logger.white(`- ${depModule.packageName}`);
44
+ }
45
+ }
46
+ }
47
+ if (conflictModules.length > 0) {
48
+ Logger.danger('\nConflicts:');
49
+ for (const moduleGroup of conflictModules) {
50
+ Logger.white(`- ${moduleGroup.namespace}`);
51
+ for (const conflictModule of moduleGroup.modules) {
52
+ Logger.white(` - ${conflictModule.packageName}`);
53
+ }
54
+ }
55
+ }
56
+ if (failed.length > 0) {
57
+ Logger.danger('\nDependencies not found:');
58
+ for (const fail of failed) {
59
+ Logger.white(`- ${fail}`);
60
+ }
61
+ }
62
+ };
63
+ const examples = [
64
+ [`${Config.appName} list -g ./vala-girs/gir-1.0`, `Lists all available GIR modules in ./vala-girs/gir-1.0`],
65
+ [
66
+ `${Config.appName} list --ignore=Gtk-3.0 xrandr-1.3`,
67
+ 'Lists all available GIR modules in /usr/share/gir-1.0 but not Gtk-3.0 and xrandr-1.3',
68
+ ],
69
+ ];
70
+ export const list = {
71
+ command,
72
+ description,
73
+ builder,
74
+ handler,
75
+ examples,
76
+ };
77
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Default values, parse the config file and handle CLI flags
3
+ */
4
+ import { Options } from 'yargs';
5
+ import type { Environment, UserConfig, ConfigFlags, GenerateConfig } from './types/index.js';
6
+ export declare class Config {
7
+ static appName: string;
8
+ static usage: string;
9
+ /**
10
+ * Default cli flag and argument values
11
+ */
12
+ static defaults: {
13
+ environments: string[];
14
+ pretty: boolean;
15
+ print: boolean;
16
+ configName: string;
17
+ outdir: string;
18
+ girDirectories: string[];
19
+ modules: string[];
20
+ ignore: never[];
21
+ verbose: boolean;
22
+ ignoreVersionConflicts: boolean;
23
+ useNamespace: boolean;
24
+ buildType: string;
25
+ moduleType: string;
26
+ noComments: boolean;
27
+ noDebugComments: boolean;
28
+ noCheck: boolean;
29
+ fixConflicts: boolean;
30
+ };
31
+ static configFilePath: string;
32
+ /**
33
+ * CLI options used in commands/generate.ts and commands/list.ts
34
+ */
35
+ static options: {
36
+ modules: Options;
37
+ girDirectories: Options;
38
+ outdir: Options;
39
+ environments: Options;
40
+ ignore: Options;
41
+ buildType: Options;
42
+ moduleType: Options;
43
+ pretty: Options;
44
+ verbose: Options;
45
+ ignoreVersionConflicts: Options;
46
+ print: Options;
47
+ configName: Options;
48
+ useNamespace: Options;
49
+ noComments: Options;
50
+ noDebugComments: Options;
51
+ noCheck: Options;
52
+ fixConflicts: Options;
53
+ };
54
+ /**
55
+ * CLI flags used in commands/generate.ts
56
+ */
57
+ static generateOptions: {
58
+ modules: Options;
59
+ girDirectories: Options;
60
+ outdir: Options;
61
+ environments: Options;
62
+ ignore: Options;
63
+ buildType: Options;
64
+ moduleType: Options;
65
+ pretty: Options;
66
+ verbose: Options;
67
+ ignoreVersionConflicts: Options;
68
+ print: Options;
69
+ configName: Options;
70
+ useNamespace: Options;
71
+ noComments: Options;
72
+ noDebugComments: Options;
73
+ noCheck: Options;
74
+ fixConflicts: Options;
75
+ };
76
+ static listOptions: {
77
+ modules: Options;
78
+ girDirectories: Options;
79
+ ignore: Options;
80
+ configName: Options;
81
+ verbose: Options;
82
+ };
83
+ /**
84
+ * Overwrites values in the user config
85
+ * @param configsToAdd
86
+ */
87
+ static addToConfig(configsToAdd: Partial<UserConfig>): Promise<void>;
88
+ /**
89
+ * The user can create a `.ts-for-girrc` file for his default configs,
90
+ * this method load this config file an returns the user configuration
91
+ * @param configName If the user uses a custom config file name
92
+ */
93
+ private static loadConfigFile;
94
+ static getGenerateConfig(config: UserConfig, environment?: Environment): GenerateConfig;
95
+ static validate(options: UserConfig): UserConfig;
96
+ /**
97
+ * Loads the values of the config file and concatenate them with passed cli flags / arguments.
98
+ * The values from config file are preferred if the cli flag value is the default (and so not set / overwritten)
99
+ * @param options
100
+ * @param modules
101
+ */
102
+ static load(options: ConfigFlags): Promise<UserConfig>;
103
+ }