Skip to content

qlaffont/unify-mercurius

Repository files navigation

Test Coverage Maintainability npm npm Snyk Vulnerabilities for npm package NPM

Unify Mercurius

A Mercurius plugin wrapping unify-errors to handle REST errors. Old Owner: @flexper

Install

npm i unify-mercurius
# Or
yarn add unify-mercurius
# Or
pnpm add unify-mercurius

Use

'use strict'

const Fastify = require('fastify')
const mercurius = require('mercurius')
const { unifyMercuriusErrorFormatter } = require('unify-mercurius')

const app = Fastify()

const schema = `
  type Query {
    add(x: Int, y: Int): Int
  }
`

const resolvers = {
  Query: {
    add: async (_, { x, y }) => x + y
  }
}

app.register(mercurius, {
  schema,
  resolvers,
  errorFormatter: unifyMercuriusErrorFormatter()
})

app.get('/', async function (req, reply) {
  const query = '{ add(x: 2, y: 2) }'
  return reply.graphql(query)
})

app.listen(3000)

Plugin options

name default description
disableDetails false If true will remove the originalError key from the error response
disableLog false Disable logging on error

Tests

To execute jest tests (all errors, type integrity test)

pnpm test

Maintain

This package use TSdx. Please check documentation to update this package.