1.0.1-cci-658d1c3.0 • Published 11 months ago

ott-sas-graphql-schema v1.0.1-cci-658d1c3.0

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

OTT-SAS-GraphQL-Schema

A tooling library to handle the following:

  • Validation of GraphQL schemas
  • Run introspection queries against live GraphQL environments (in Artifactory)

Getting Started

This library provides tools to validate GraphQL schemas and run introspection queries against live GraphQL environments. Here's a quick guide on how to get started.

Installation

To install the library, run:

npm install @sky-uk-ott/ott-sas-graphql-schema

Usage

Schema Validation

To validate against a GraphQL schema, use the following command:

TODO: ADD

Introspection Queries

To run introspection queries against a live GraphQL environment, use:

yarn prompt -- --proposition=NBCUOTT --environment=stable-int 

Workflow

The GraphQL schema is managed and stored in Artifactory. Below is the workflow detailing how the schema is deployed, tagged, fetched, and used for code generation.

graph TD
    A[GraphQL Schema Development] --> B[Deploy Schema to Artifactory]
    B --> C[Tag Schema with ${PROPOSITION}-${ENVIRONMENT}]
    C --> D[Fetch Latest Schema by Querying Tags]
    D --> E[Run GraphQL Codegen Against Remote Schema]
  1. GraphQL deploys schema to Artifactory as part of the package phase
    • During the package phase, the GraphQL schema is deployed to Artifactory.
  2. On successful environment deployment, it will tag the schema with ${PROPOSITION}-${ENVIRONMENT}
    • After a successful deployment, the schema is tagged with an identifier composed of the proposition and environment.
    • The previous tag from the old deployment is removed
  3. This package will fetch the latest schema by querying the tags
    • The tooling library fetches the latest schema by querying the tags in Artifactory.
  4. Run GraphQL Codegen against the remote schema matching the tags
    • The library runs GraphQL Codegen against the fetched schema, ensuring the generated code is up-to-date with the latest schema.