Skip to Content
Mesh
v0TransformsResolvers Composition
⚠️
This is the documentation for the old GraphQL Mesh version v0. We recommend upgrading to the latest GraphQL Mesh version v1.

Migrate to GraphQL Mesh v1

Resolvers Composition Transform (deprecated)

💡
We don’t recommend to use this transform anymore!

The resolversComposition transform allows adding middleware to your existing resolvers.

npm i @graphql-mesh/transform-resolvers-composition

How to use?

Add the following configuration to your Mesh config file:

.meshrc.yaml
transforms: - resolversComposition: mode: bare | wrap compositions: - resolver: 'Query.me' composer: is-auth#isAuth - resolver: 'Mutation.*' composer: is-admin#isAdmin
is-auth.ts
module.exports = { isAuth: next => (root, args, context, info) => { // Check if Authorization header is present if (!context.headers.authorization) { throw new Error('Unauthorized') } return next(root, args, context, info) } }
💡

For information about “bare” and “wrap” modes, please read the dedicated section.

Config API Reference

  • mode (type: String (bare | wrap)) - Specify to apply resolvers-composition transforms to bare schema or by wrapping original schema
  • compositions (type: Array of Object, required) - Array of resolver/composer to apply:
    • resolver (type: String, required) - The GraphQL Resolver path Example: Query.users
    • composer (type: Any, required) - Path to the composer function Example: ./src/auth.js#authComposer
Last updated on