# @xometry/graphql-code-generator-subset-plugin

> A plugin for graphql-code-generator that will take a full schema and a set of operations, and produce a subset schema.

Latest version **0.3.0** (published 2021-06-04) · MIT license · 0 weekly downloads

## Install

```sh
npm install @xometry/graphql-code-generator-subset-plugin
pnpm add @xometry/graphql-code-generator-subset-plugin
yarn add @xometry/graphql-code-generator-subset-plugin
bun add @xometry/graphql-code-generator-subset-plugin
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.0 |
| Published | 2021-06-04 |
| First published | 2021-01-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 317.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Author | Benjamin Smedberg |
| Maintainers | criley-xom, bsmedberg-xometry |

## Links

- npm: https://www.npmjs.com/package/@xometry/graphql-code-generator-subset-plugin
- Repository: https://github.com/xometry/graphql-code-generator-subset-plugin
- Homepage: https://github.com/xometry/graphql-code-generator-subset-plugin#readme
- Issues: https://github.com/xometry/graphql-code-generator-subset-plugin/issues
- npm.io page: https://npm.io/package/@xometry/graphql-code-generator-subset-plugin

## Dependencies (1)

- [@graphql-codegen/plugin-helpers](https://npm.io/package/@graphql-codegen/plugin-helpers.md) ^1.18

## Recent versions

- 0.3.0 (latest) — 2021-06-04
- 0.2.0 — 2021-01-07
- 0.1.0 — 2021-01-05

## README

A plugin for [graphql-code-generator](https://graphql-code-generator.com/) that will output the subset of a large schema that is actually used by GraphQL operations.

## Background

In the Xometry service architecture, each GraphQL API is joined together using [GraphQL federation](https://www.apollographql.com/docs/federation/). These are called "API providers".

Each GraphQL API consumers (frontend or backend) may use only a small portion of the full API provided by a service. In order for the [API catalog](https://github.com/xometry/api-catalog) to function properly, it wants each
consumer to declare only the fields that it actually uses and needs, rather than all possible fields. This GraphQL plugin helps accomplish that goal, but automatically generating a *subset schema* from a large schema
and a set of operations. This subset schema can then be checked into the consumer repository and used for subsequent code generation runs.

## Installation

`yarn add --dev @xometry/graphql-code-generator-subset-plugin`

## Usage

This plugin would not typically be used by CI/CD processes. Instead it would be used by developers when updating a consumer to
changes in a consumed API. You probably want to write a separate `codegen.yml` file for developers to run this as-needed. Suggestion: name this file `codegen-subsetschema.yml`.

This is a simple output plugin for graphql-code-generator, and so you configure it by adding the following snippet to your `codegen-subsetschema.yml` file:

```yaml
generates:
  my-consumed-schema.graphql
    - "@xometry/graphql-code-generator-subset-plugin"
```

As a simple example, see the [examples/github](examples/github) directory, where we generate a small subset of the github API schema.

---
_Source: https://npm.io/package/@xometry/graphql-code-generator-subset-plugin · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
