@genesisx/graphql-utils
TypeScript icon, indicating that this package has built-in type declarations

4.0.2 • Public • Published

Genesis graphql-utils

This package provides various utilities that can be used in a graphql based genesis app.

Running unit tests

Run nx test graphql-utils to execute the unit tests via Jest.

Usage

Prerequsite

For Using this package into your app, please follow the below steps

  • Install this npm package to your repo first
  • yarn add @genesisx/graphql-utils
  • or npm install @genesisx/graphql-utils
  • Now follow the either of the two modes to use this generator

Via NX Console

  • Goto nx console -> Genrate > search for @genesisx/graphql-utils - template
  • Use Nx Console > Genrate > @genesisx/graphql-utils

Via Command line

  • Alternatively, below command can be used
  • nx generate @genesisx/graphql-utils:template
  • Fill the required parameters asked after that
  • If nx is not already installed then install it using npm install -g nx

Build Stages

Checkout

This stage setup git modules and checkout code merge is possible for feature & master branch

Prepare

This stage setup the base modules needed by respective projects for subsequent stages.

Lint & UnitTest

These Stages runs linting and unit test check against config made in the projects.eg files: jest.config.js, .eslintrc.json

Build & Docker

These stages build the apps and create docker images for affected applications and publish those images to artefactory store. '''here PS docker registry been used'''

Deployment

This stage leverage the k8 config in each apps to deploy app to infra configured in those files. i.e: ingress,service, deployment yaml.

Note

By leveraging nx framework we are able to make pipeline optimised in easier way to run affected apps. eg: '''yarn nx affected:apps --all'''

Documentation

Contribution

Build and Test

Run nx build graphql-utils to build the package. Run nx lint graphql-utils to run lint checks on the package. Run nx test graphql-utils to execute the unit tests via Jest.

Publishing

To publish the package you must first be logged into NPM (npm login) then run this command from the root of the project.

  • Make sure the package name in package.json should start with @genesisx/
  • Also use the correct version number in package.json same will be used for the published package.
  • Use your NPM js credentials (Publicis Sapient) with publish rights
  • Verify the package at https://www.npmjs.com/settings/genesisx/packages
npm publish dist/packages/graphql-utils --access public

Note

packages/graphql-utils/src/commonServerConfig/GatewayBuilder.ts

has a getGateway method with an optional supergraphSdl(string) argument, which uses this method to generate federation gateways that support supergraph; without the argument, federation gateways are created without supergraph support.

It allows us to use the same method from both graphql and graphql-supergraph packages on creating federation service.

Dependencies (24)

Dev Dependencies (2)

Package Sidebar

Install

npm i @genesisx/graphql-utils

Weekly Downloads

17

Version

4.0.2

License

SEE LICENSE IN LICENSE

Unpacked Size

92.1 kB

Total Files

62

Last publish

Collaborators

  • varkisebi
  • devesh.kaushal
  • paribhasika
  • sophiacmcg
  • shashixt
  • vigneshpushkaranps
  • tolalitnegi
  • nareshbhatia
  • iamdavidjackson
  • genesisy
  • venkateshmishra
  • dreamzmaster
  • harshi14
  • areai51