# serverless-plugin-apollo-graphql-federation

> A serverless plugin that uploads a graphql schema to the Apollo Platform managed federation service

Latest version **3.3.0** (published 2026-09-24) · ISC license · 0 weekly downloads

## Install

```sh
npm install serverless-plugin-apollo-graphql-federation
pnpm add serverless-plugin-apollo-graphql-federation
yarn add serverless-plugin-apollo-graphql-federation
bun add serverless-plugin-apollo-graphql-federation
```

## Health

**Score 55/100 (C)** — status: active.

Positive: no vulnerabilities; recently updated; high maintenance score.

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

## Facts

| | |
|---|---|
| Version | 3.3.0 |
| Published | 2026-09-24 |
| First published | 2020-09-09 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 7.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Imran99 |
| Maintainers | imran.p |
| Keywords | serverless, graphql, apollo, federation, lambda |

## Links

- npm: https://www.npmjs.com/package/serverless-plugin-apollo-graphql-federation
- Repository: https://github.com/Imran99/serverless-plugin-apollo-graphql-federation
- Homepage: https://github.com/Imran99/serverless-plugin-apollo-graphql-federation#readme
- Issues: https://github.com/Imran99/serverless-plugin-apollo-graphql-federation/issues
- npm.io page: https://npm.io/package/serverless-plugin-apollo-graphql-federation

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) ^4.1.2
- [lodash.get](https://npm.io/package/lodash.get.md) ^4.4.2
- [@apollo/rover](https://npm.io/package/@apollo/rover.md) ^0.41.0

## Alternatives

- [apollo-link-http-common](https://npm.io/package/apollo-link-http-common.md) — 879.0K weekly downloads
- [react-relay](https://npm.io/package/react-relay.md) — 336.8K weekly downloads
- [relay-test-utils](https://npm.io/package/relay-test-utils.md) — 181.6K weekly downloads
- [@vendure/core](https://npm.io/package/@vendure/core.md) — 14.8K weekly downloads
- [@pnpm/deps.graph-sequencer](https://npm.io/package/@pnpm/deps.graph-sequencer.md) — 13.4K weekly downloads

## Recent versions

- 3.3.0 (latest) — 2026-09-24
- 3.2.1 — 2025-01-16
- 3.2.0 — 2024-05-06
- 3.2.0-beta.1 — 2024-05-06
- 3.1.1 — 2022-01-26
- 3.1.0 — 2022-01-26
- 3.1.0-beta.2 — 2022-01-26
- 3.1.0-beta.1 — 2022-01-26
- 3.0.1-beta.5 — 2021-08-25
- 3.0.1-beta.4 — 2021-08-25
- 3.0.1-beta.3 — 2021-08-25
- 3.0.1-beta.2 — 2021-08-25
- 3.0.1-beta.1 — 2021-08-25
- 3.0.0 — 2021-08-25
- 2.3.0 — 2021-06-14
- … 9 more at https://npm.io/package/serverless-plugin-apollo-graphql-federation/versions

## README

# Serverless Plugin Apollo Graphql Federation

A serverless plugin that uploads graphql schemas to Apollo managed federation. This plugin should be used in implementing services. This allows the gateway service to pull schema from apollo managed federation and also stops implementing services from uploading invalid schemas that would cause the gateway to fail.

## Usage

Install with npm

```sh
npm i -D serverless-plugin-apollo-graphql-federation
```

Add to serverless.yml

```yml
plugins:
  - serverless-plugin-apollo-graphql-federation
```

```yml
service:
  custom:
    apolloGraphQLFederation:
      uploadForDeploymentRegion: eu-west-2
      graphs:
        - name: 'myGraph'
          apolloKey: apollo-api-key-for-my-graph
          url: https://my-implementing-service/mygraphendpoint
          schema: './myGraph/schema.gql',
```

Deploy using `sls deploy --region xxx` or `sls apollo service:push`

`uploadForDeploymentRegion` (optional) is used for multi-region deployments where the same api is deployed to multiple AWS regions. If you encounter intermittent Apollo schema validation failures when doing simultaneous regional deployments, try setting this variable to one of your deployment regions. The schema only needs to be uploaded for a single region.

`skipCheck` (optional, default `false`) skips `rover subgraph check` for every graph and publishes directly.

This exists for breaking a deadlock: when a value type (e.g. an enum) shared by two subgraphs is used as both an input and an output type, composition requires every subgraph defining it to already have a matching schema published before any of their checks can pass — so if neither has published yet, neither's check ever succeeds. Use `skipCheck` on one subgraph's deploy to seed the registry, then the other subgraph's normal check will pass on its next deploy. Leave it off otherwise; it removes the safety net that stops a broken schema from reaching your gateway.

## Couldn't I just use the serverless-hooks-plugin to do this?
Yes you could but this would potentially log your apolloKey in your build server logs which is undesirable.

---
_Source: https://npm.io/package/serverless-plugin-apollo-graphql-federation · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
