Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Client-side GraphQL at scale

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Client-side GraphQL at scale

Given at GraphQL Summit 2019. Discusses the tools and techniques we use on the client side at Shopify to manage large, GraphQL-powered applications.

Avatar for Chris Sauvé

Chris Sauvé

October 31, 2019

Other Decks in Programming

Transcript

  1. MyQuery.graphql MyQuery.graphql MyQuery.graphql query MyQuery { shop { id }

    } core-schema.graphql schema { query: QueryRoot mutation: Mutation } ~700 GraphQL operations ~1000 Types (core schema)
  2. 1. In application code 2. At build time 3. In

    component tests Client GraphQL
  3. fixture1.json { "customer": { "id": "123", "firstName": "Chris", "lastName": "Sauve"

    "displayName": "Gord Pearson" } } fixture2.json { "customer": { "id": "123", "firstName": "Chris", "lastName": "Sauve" "displayName": "Mathew Allen" } } fixture3.json { "customer": { "id": "123", "firstName": "Chris", "lastName": "Sauve" "displayName": "Michelle Chen" } }
  4. Fin https://github.com/Shopify/ graphql-tools-web graphql-typescript-definitions graphql-mini-transforms graphql-fixtures https://github.com/Shopify/ quilt @shopify/react-graphql @shopify/graphql-persisted

    @shopify/graphql-testing … and 70 more React-focused libraries! Shopify https://shopify.com/careers Chris Sauve (me) https://github.com/lemonmade