Files
cypress/packages/graphql/README.md
Tim Griesser 6a198983b4 feat: Better logging utilities for GraphQL requests & slow fields (#20097)
* feat: Better logging utilities for GraphQL requests & slow fields

* type fixes

* Update packages/graphql/src/makeGraphQLServer.ts

Co-authored-by: Zach Bloomquist <git@chary.us>

* Update packages/graphql/src/schemaTypes/objectTypes/gql-Query.ts

Co-authored-by: Zach Bloomquist <git@chary.us>

Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
2022-02-09 18:32:26 -05:00

1.4 KiB

GraphQL

The GraphQL layer that @packages/launchpad and @packages/runner use to interact with @packages/server.

With the goal of type safety, several tools and abstractions are used. The technologies are:

  • nexus-graphql library for generating GraphQL schema using TypeScript objects
  • graphql-code-generator generate TypeScript types from gql queries (for front-end consuming the API)

This tutorial demonstrates how to build a type-safe GraphQL app using the above technologies. It's a good place to start, to learn how and why each tool is used.

Development

You will generally develop this in parallel with a front-end, in this case @packages/launchpad. Run yarn dev in @packages/launchpad and it will start up the GraphQL server. This also re-generates the graphql.schema file based on the declarations inside of entities.

Visit http://localhost:52200/graphql for the GraphiQL interface.

graphql

You can also develop in a test-driven manner using the tests.

  • yarn test-unit for the unit tests
  • yarn test-integration for the integration tests

Debugging

Logs available at cypress-verbose:graphql:* namespaces {fields,operation}