maticzav / kayu Goto Github PK
View Code? Open in Web Editor NEWTypeScript GraphQL client that lets you forget about GraphQL
Home Page: https://kayujs.org
TypeScript GraphQL client that lets you forget about GraphQL
Home Page: https://kayujs.org
We should have a feature template that notably indicates that everyone creating an issue/pr has read our community guidelines.
We should make it possible that developers reuse existing tools like urql and Apollo and only make a selection using Kayu.
Let's aim for a thin wrapper around both of those libraries that correctly fixates the types and forwards selection and variables to given functions.
Generated code should include detailed examples and documentation of every function that Kayu supports. Our end goal is that every function has some sort of meaningful documentation. Ideally, developers shouldn't have to read our documentation to start using Kayu or any of our libraries.
SelectionSet
class should contain some general utility functions that let developers convert their named-type decoders into nullable and list types.
Those should include:
list
nullable
nonNullOrFail
selection
As the title describes, generator functionality should live in @kayu/codegen
. I think it'd be best if we included @kayu/codegen
as a peer-dependency in @kayu/client
and have it trigger some post-install scripts.
Project landing page should briefly explain what Kayu aims to solve, what most notable features are, point to the documentation and include a sandbox.
o.query
and end up with a working implementation once you've found everything you need.")Include an image of every feature next to it.
Ready to get started? Read our 5 min getting started guide!
We should write extensive documentation that outlines how Kayu works. If possible, we should try to extend functionality from examples with twoslash.
I see huge potential in having GraphQL clients as a service when it comes to deno. Kayu abstracts GraphQL in a way that makes clients of many existing GraphQL schemas act more as an official SDK than an API.
I see two possible strategies for evolving this:
The first option seems a bit better since we take control of distribution, but we could develop the second one first and extend it to the first one.
We should implement a library that would allow developers to easily use their queries in their React projects. Having a hook (e.g. useKayu
) seems like a good idea. The first version shouldn't do much more besides fetching the data and reloading the view on change.
The hook should also accept headers and be easily extensible so that people may write custom wrappers for authorization (for example). We should also add a recipes tab to the documentation that would show example.
function View() {
// Query
const [data, err] = useKayu(query, {
headers: {
Authorization: "Bearer"
}
})
// View
return <div>{data?.name}</div>
}
We should export "official" Kayu packages of some of the bigger companies that use GraphQL. Hopefully, this project can gain some financial support this way.
To corroborate on the task, these packages should be autogenerated every now and then and published under @kayu/<name>
tag. These packages would include predefined codecs and be tested from our side. We should have them in the build/test process of Kayu to make sure we catch any potential bug in Kayu before it reaches end-users.
@kayu/github
)@kayu/shopify
)This list should be extended with comments
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.