Files
cypress/packages/graphql
Stokes Player 434e6eec6e feat: show running builds in the Debug page (#25936)
* update format for duration less than 1 sec

* Move DebugNewRelevantRunBar above header

* Adding link to switch runs when running

* Update DebugPendingRunSplash

* New DebugTestingProgress component

* Adding DebugTestingProgress to DebugContainer

* Adding test for showing failed tests for running

* Update mutation for moving relevant runs

* Fix typescript

* Type fix

* Fix for Mac OS

* Watch total tests in relevant run specs data source

* Schema change missed earlier

* Adding transitions to UI

* Caching gql results between changes to remove UI flicker

* Correcting application of attributes

* Modify StatsMetadata to incorporate ResultCounts

* Adding transition to width

* Update mountFragment and test to match

* Adding changelog

* Update changelog

* Make use of useIntervalFn

* Add interval to timing display in header

* Rename variable

* Fixing GQL warnings from test

* Adding entry for Chrome Beta

* Update polling behavior for stopping and fix test for changes in RelevantRunSpecsDataSource

* Poller updates to tracking start/stop

* Add scheduled to complete message to run splash

* Update Sidebar badge to support running builds

* fix tracking of completion date in data source

* Updating isLoading logic

* Add missing field to test data

* Update formatting of time remaining

* Test refactoring

* Fixing types

* Update link to show previous

* Update runs after a status change

* Update method documentation

* Update cli/CHANGELOG.md

Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>

* Remove console.log

* Better checks for numbers

* Rename moveToNext to moveToRun

* Simplify check

Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>

* Simplify check

* Fixing document name

* Update logic for when to move runs

---------

Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
2023-03-07 09:56:55 +10:00
..
2022-12-29 17:26:13 +00:00

GraphQL

The GraphQL layer that @packages/launchpad and @packages/app 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}