Hey,
I've recently started attempting to make some changes to the package but I cannot stop becoming frustrated with the lack of tooling.
Having no eslint feels like I'm developing in 1970, so I would advice that we come up with a configuration that seems feasible for this project.
I favor typescript over javascript any time of the day, but of course I can understand if current maintainers are not up for a change that big. But I would gladly PR that one, just not looking forward to putting in those hours if it's declined afterwards.
I would also favour a TypeScript migration. This way the project would be much more friendly for contributors.
@mayrmax Would you be willing to work on this with me? As it's quite the drill, I have a branch somewhere on my fork where I got some progress
@mayrmax @Pruxis have you made some progress on this? :sweat_smile:
I totally forgot about this, no updates from my side. Sorry for the late reply.
No problem :) @Nopzen started working on this (https://github.com/neo4j-graphql/neo4j-graphql-js/issues/275#issuecomment-638036909), would be great if you could have a look!
I see I will try to take a look on the weekend, hopefully I will have more time working on my project that uses this lib more again than i might also think about doing a full port to ts. I still believe this would be the best thing in the long run.
@mayrmax I if you would like to take a look at my current types (i haven't updated the PR that I'm doing with @AdrienLemaire latest comments yet, personal project kinda blocked me a bit for now) but would love to hear some feedback, also if you would start the task of a TS port, I could likely help out here.
All tho the devs haven't come back to me yet on the current PR I have into definitelyTyped yet, as I would need someone with more detailed knowledge than me to verify my work, as I'm just very new to neo4j and neo4j-graphql-js in genneral.
I took a look, i would also argue for using interfaces instead of types. And for the rest we should aim to have no anys at all if possible. But I didn't use the lib for quite a while as well, so i'm not sure how to type CyperResult and others correctly. Still this is a really good start and if we are not sure with some types we should just leave them as any and add them later. Also it might make sense to maintain the typings within this library? They would than be exposed via the typings in the package json.
@mayrmax thanks for your feedback, I read up on the types vs. interfaces, I will change that.
I agree on the removal of any, I think i just left 1 or 2 there before I had to go do some RL stuff, also I wanna include the Neo4j Driver that @AdrienLemaire have been talking about.
I just did it in definitelyTyped as this is normally the place where people would put types for various npm packages, and it can be installed if you want them? But this can be moved if the owners of neo4j-graphql-js would like it so.
I've been quite busy this summer, and garden stuff to work on, I will try and make a push tonight for some of the discussed changes in the PR.
FYI: I ditched this as I no longer work on a project that uses neo4j extensively.
Most helpful comment
I would also favour a TypeScript migration. This way the project would be much more friendly for contributors.