This is a generator for generating graphql federation supergraph and services using gateway.
Install the package in your nx workspace, please run one of these commands
npm i @genesisx/graphql-supergraph-gateway
or
yarn add @genesisx/graphql-supergraph-gateway
Select Generator tool from the NX console as shown in the image in your visual studio Navigate to NX console > Generate > @genesisx/graphql-supergraph-gateway
And fill in the form as follows;
- appName
Service name that will be under apps folder of your project
-portNumber
Port Number to be changed in file called .env
-templateName
chose if you want to generate a federation-supergraph service from the dropdown.
Click on Run after filling the details.
Serve your graphql-supergraph-gateway service created through NX console > Serve > <your_project_name>
- If nx is not already installed then install it using
npm install -g nx
- Use below command to create a template
nx generate @genesisx/graphql-supergraph-gateway:templates <AppName> <PortNumber> --templateName=<TemplateName> --no-interactive
- Replace with the application name you need in string format, should be replaced
- or just run
nx generate @genesisx/graphql-supergraph-gateway:templates
- It will ask the required parameters
Run nx lint graphql-supergraph-gateway
to execute the lint checks on this package.
Run nx build graphql-supergraph-gateway
to build this package.
Run nx test graphql-supergraph-gateway
to execute the unit tests via Jest.
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-supergraph-gateway --access public