react-gtk icon indicating copy to clipboard operation
react-gtk copied to clipboard

Publish TypeDefinitions

Open RMcNeely opened this issue 5 years ago • 8 comments

I found this project looking at Node-gtk and was hoping to get some type definitions for Typescript, is there any way we could get the work you've already done published to somewhere like DefinitlyTyped ?

RMcNeely avatar Jan 08 '20 19:01 RMcNeely

Hey, I've already started work on this. I first had to build a tool to generate the typescript bindings from the gir definitions. You can find that tool at the link below.

https://github.com/codejamninja/ts-gir

In order for this to work, I had to also generate typescript binding for several libraries. You can find links to these definitions below.

https://github.com/codejamninja/gnome-gtk https://github.com/codejamninja/gnome-gdk https://github.com/codejamninja/gnome-gdk-pixbuf https://github.com/codejamninja/gnome-pixbuf https://github.com/codejamninja/gnome-gio https://github.com/codejamninja/gnome-xlib https://github.com/codejamninja/gnome-pango https://github.com/codejamninja/gnome-cairo https://github.com/codejamninja/gnome-atk https://github.com/codejamninja/gnome-gobject https://github.com/codejamninja/gnome-glib

In development of ts-gir, I ran into limitations of generating highly recursive types, (usually types of functions being passed around as parameters). To solve this I have to build a more robust ts-gir generator. In order to build this more robust generator, I needed a way to generate composable types. I built the following tool to let be generate code in a composable way using react components.

https://github.com/codejamninja/react-ast

So, essentially, in order to get react-gtk types, I need to rebuild ts-gir using react-ast for more composable and flexible types, and then I need to regenerate all of the gnome typescript dependencies, and then I can generate react-gtk types. Although really I'm going to regenerate the entire react-gtk ecosystem.

This project does not have any funding. It is completely volunteer work from me as I find time to work on it. I estimate it could be 6 months to a year before react-gtk reaches a usable version, complete with typescript support.

If anyone is interested in accelerating this process, I can hire people on a software team I trust to accelerate this process.

You can view more about helping accelerate this project at the OpenCollective page below. https://opencollective.com/reactgtk

clayrisser avatar Jan 09 '20 22:01 clayrisser

do you need help?

Picoseconds avatar Jan 22 '20 00:01 Picoseconds

@Picoseconds yes help would be great. If you want to get on a call with me this week I can go over how I'm building this and you can pick a part to help. It's a massive project, but it's definitely doable. I've already pushed through most of the pain of figuring out how to do this.

clayrisser avatar Jan 22 '20 04:01 clayrisser

can't call but i can type

Picoseconds avatar Jan 22 '20 20:01 Picoseconds

@Picoseconds sure. I'm going to create a slack channel to help facilitate communication.

clayrisser avatar Jan 23 '20 04:01 clayrisser

For now, send a request to join the slack channel at the following form.

https://codejam.ninja/#hire

clayrisser avatar Jan 23 '20 04:01 clayrisser

I have not recieved an invite?

Picoseconds avatar Jan 29 '20 17:01 Picoseconds

Sorry for the long long wait. We will have a stable version of this with GTK4 support ready by Christmas 2023! Please join the discord for live updates and feedback.

https://discord.gg/qv7GT5xctw

clayrisser avatar Dec 09 '23 14:12 clayrisser