Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish TypeDefinitions #16

Open
RMcNeely opened this issue Jan 8, 2020 · 8 comments
Open

Publish TypeDefinitions #16

RMcNeely opened this issue Jan 8, 2020 · 8 comments

Comments

@RMcNeely
Copy link

RMcNeely commented Jan 8, 2020

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 ?

@clayrisser
Copy link
Owner

clayrisser commented Jan 9, 2020

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

@Picoseconds
Copy link

do you need help?

@clayrisser
Copy link
Owner

@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.

@Picoseconds
Copy link

can't call but i can type

@clayrisser
Copy link
Owner

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

@clayrisser
Copy link
Owner

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

https://codejam.ninja/#hire

@Picoseconds
Copy link

I have not recieved an invite?

@clayrisser
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants