Houdini

The "disappearing" GraphQL client for the SvelteKit

README

houdini

    The disappearing GraphQL client for SvelteKit.


version CI Tests github stars downloads license


  1. ```svelte
  2. <script>
  3.     // src/routes/items/+page.svelte
  4.     import { graphql } from '$houdini'

  5.     const AllItems = graphql`
  6.         query AllItems {
  7.             items {
  8.                 text
  9.             }
  10.         }
  11.     `
  12. </script>

  13. {#each $AllItems.data.items as item}
  14.     <div>{item.text}</div>
  15. {/each}
  16. ```

✨  Features


-   Composable and colocated data requirements for your components
-   Normalized cache with declarative updates
-   Generated types
-   Subscriptions
-   Pagination (cursors and offsets)

At its core, houdini seeks to enable a high quality developer experience
without compromising bundle size. Like Svelte, houdini shifts what is
traditionally handled by a bloated runtime into a compile step that allows
for the generation of an incredibly lean GraphQL abstraction for your application.

🕹  Example


For a detailed example, you can check out the todo list in the example directory or the final version of the
Pokédex application from the Getting Started guide.

📚  Documentation


For documentation, please visit the api reference on the website.

🚀  Getting Started


For an in-depth guide to getting started with Houdini, check out the guide on the our website.

✏️  Contributing


If you are interested in helping out, the contributing guide should provide some guidance. If you need something more
specific, feel free to reach out to @AlecAivazis on the Svelte discord. There's lots to help with regardless of how deep you want to dive or how much time you can spend 🙂