@envelop/apollo-federation
TypeScript icon, indicating that this package has built-in type declarations

5.0.0 • Public • Published

@envelop/apollo-federation

This plugin integrates Apollo Federation Gateway into Envelop.

Getting Started

yarn add @envelop/apollo-federation

Usage Example

import { execute, parse, specifiedRules, subscribe, validate } from 'graphql'
import { ApolloGateway } from '@apollo/gateway'
import { useApolloFederation } from '@envelop/apollo-federation'
import { envelop, useEngine } from '@envelop/core'

// Initialize the gateway
const gateway = new ApolloGateway({
  serviceList: [
    { name: 'accounts', url: 'http://localhost:4001' },
    { name: 'products', url: 'http://localhost:4002' }
    // ...additional subgraphs...
  ]
})

// Make sure all services are loaded
await gateway.load()

// Then pass it to the plugin configuration
const getEnveloped = envelop({
  plugins: [
    useEngine({ parse, validate, specifiedRules, execute, subscribe }),
    // ... other plugins ...
    useApolloFederation({ gateway })
  ]
})

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @envelop/apollo-federation

    Weekly Downloads

    2,614

    Version

    5.0.0

    License

    MIT

    Unpacked Size

    12.1 kB

    Total Files

    12

    Last publish

    Collaborators

    • dotansimha