npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@genesisx/graphql-utils

v4.0.2-beta0.2

Published

This Generator enables adding utililty methods for graphql

Downloads

372

Readme

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.