4 ms·
> query is resolved at runtime Does it mean that we get errors at runtime and not build time, too?
by golergka 5y ago
> query is resolved at runtime
Does it mean that we get errors at runtime and not build time, too?
- SketchySeaBeast 5y agoHave you found a way to get build errors with GraphQL queries? I only ever get them during runtime when the request is made, I assume because that's the point at which the back-end and front-end disagree on what you're requesting.
- potatoz2 5y agoIf you generate types from your GraphQL queries, they are validated against the schema at that time (so you'd get schema errors then, of course there can still be network errors, server errors or user/semantic errors at runtime)
- nawgz 5y agoUsing Typescript,GraphQL-codegen, and Hasura, I can build correct-by-construction React apps. GraphQL-codegen & Hasura introspect the DB to type the query result, and typescript confirms my JS is not accessing any of those fields illegally. It’s pretty killer to open GraphiQL, write a new query, drop it into a graphql file in my repo, rerun the codegen, and be able to have type safe operations on the queried data. Also makes me completely unsure why anyone would want what the OP is but that’s ok
- atom_arranger 5y agoThis solution seems to work like this: - Generate type safe client based on your schema. - Access GraphQL properties as if they were just JS object properties. So in this solution the codegen step comes before writing a query. You get the same advantages pretty much, and you have less likelihood of querying for unused data.
- revskill 5y agoThis part is confusing to me. I prefer this will validate our component for correct schema usage at build time.
- nwienert 5y agoIt fully typed, so you get errors at build time.
- coding123 5y agoI think the part that's throwing people off (including me) is if I'm looking at that main example, how do I get type completion on this line: Hello {query.me.name}! query dot me dot name should all have type completion. And in most TS "frameworks" you have some way to type hint this all out. us TS folk are not seeing the type hints in the example. Maybe it works in VSCode like that, but totally confused how it does. Believe me, I'm super interested in this project and it would save a ton of time if it's doing what some of us are hoping :)
- nwienert 5y agoIt does autocomplete with types on that line, and yes, it’s really that cool. Disclosure: I funded the development of version 2, and have written a large app using it. I am very happy with it, and believe it’s the best data fetching solution around.
- atom_arranger 5y agoThe client is generated from the schema, so “query.me.name” is fully typed.