PostGraphQL V4 - announcing graphile-build #506
Really exciting to hear that there is a full time maintainer (and that it's you 😄) for this project. It was definitely one of my concerns with adopting it myself. I'm pumped that you're tackling the big gnarly challenges, and really interested in digging in and understanding the design.
I must admit it was disappointing to see it's no longer in TypeScript — I had a quick look and code new code and found it really challenging to make sense of it without having all the type information to tie everything together. If you could share some background or rationale for that I'm sure there'd be an audience for that.
UPDATE: this comment is mostly out of date now - we have Flow, linting, CI and a fairly decent amount of documentation on graphile.org
@bradleyayers Sadly I'm not full time; my work on PostGraphQL is completely unpaid; which also explains the lack of TypeScript: I was working to get a new system up and running as a proof of concept ASAP without knowing exactly what form it would ultimately take - strong typing would have slowed me down considerably at the rate I was iterating. I decided it would be fun to write the code in native JS because that way I wouldn't need transpilers, source maps, or any of that other mess that comes along with compile-to-JS languages - and the debugging tools for Node.js now built into Chrome are outstanding!
Now that the shape of the system is better known I'll probably start typing the system a little at a time with Flow which is pretty useful out of the box and doesn't require as much markup as TypeScript. I also find it to be more flexible and with clearer errors but that may be a familiarity thing.
My hope is that taking the monorepo approach will mean the various parts of the system can be kept fairly separate with clear boundaries and APIs; I've started documenting some of these but haven't got very far yet. I've not even enabled strong linting yet, or CI - all things on my todo list! At the moment the plugins are not as loosly coupled as I'd ultimately like, but I think that's something that will improve over time. My next task is to get schema watching working - once that's up and running I think the interfaces will be fairly stable. Though I should probably think about a "requires/optional/provides" specification for the plugins.
For documentation, we have two main sources currently: https://github.com/postgraphql/postgraphql/tree/master/docs
We can have a "tutorial" page that uses docco to generate a nice UI from comments in a file, then walk the user through it that way.
The docs section consists of two parts, currently mixed together:
I can get a PR together for the existing content in a format that will work on https://github.com/postgraphql/postgraphql.github.io
What else will we need in the v4 docs?
@chadfurman Thanks for pitching in!
We've also got a tiny amount on the wiki and absolutely loads spread throughout the GitHub issues. Would be good to centralise this (and remove the current places so that they don't get built up/added to again!)
Yes - basically usage instructions (PostGraphQL) and advice/best practices (PostgreSQL)
That would be excellent.
The various sub-components of
The v4 usage instructions should be basically the same as V3 (even the library instructions), we may tweak the
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're so close to v4 beta now I can taste it! There's just one more breaking change I want to introduce - and that's #432, an improvement to
I really appreciate the support of the 7 patrons on my Patreon ❤️ Please consider joining them: https://www.patreon.com/benjie
…ABASE_URL environment variable