Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
formatErrorGenerator
✓ import { formatErrorGenerator } from 'graphql-apollo-errors'
✗ const formatErrorGenerator = require('graphql-apollo-errors');
Library is CJS, but for consistency use named import. CommonJS require returns an object, not the function directly.
default
✓ import graphqlApolloErrors from 'graphql-apollo-errors'
✗ const graphqlApolloErrors = require('graphql-apollo-errors').default
No default export exists. Use named import instead.
createError
✓ import { createError } from 'graphql-apollo-errors'
createError is a named export for creating custom errors.
Setup Apollo Server with custom error formatting using graphql-apollo-errors, including hooks and data path whitelisting.
import express from 'express';
import bodyParser from 'body-parser';
import { graphqlExpress } from 'apollo-server-express';
import { formatErrorGenerator } from 'graphql-apollo-errors';
import Schema from './schema';
const formatError = formatErrorGenerator({
logger: console,
publicDataPath: 'public',
showLocations: true,
showPath: true,
hideSensitiveData: false,
hooks: {
onOriginalError: (err) => console.log('Original:', err.message),
onProcessedError: (err) => console.log('Processed:', err.message),
onFinalError: (err) => console.log('Final:', err.message),
},
nonBoomTransformer: (nonBoomError) => SevenBoom.badRequest(nonBoomError.message),
});
const app = express();
app.use('/graphql', bodyParser.json(), graphqlExpress({ schema: Schema, formatError }));
app.listen(4000, () => console.log('Server running on 4000'));
Errors
Common errors & fixes
TypeError: formatErrorGenerator is not a function
Incorrect import: using default import on a CJS module
fixUse named import: import { formatErrorGenerator } from 'graphql-apollo-errors' Error: Cannot find module '@hapi/boom'
Missing peer dependency @hapi/boom
fixRun: npm install @hapi/boom
GraphQLError: Expected a value of type "Object"
nonBoomTransformer returns a non-Boom error object
fixReturn a Boom error: nonBoomTransformer: (err) => SevenBoom.badImplementation(err)
Audit
Dependencies
@hapi/boomrequiredProvides structured error payloads and HTTP error classes