From f60fa6a3471ff62548a6cca759c5ee1832fb17b6 Mon Sep 17 00:00:00 2001 From: Dan Mills Date: Mon, 14 Jan 2019 13:28:06 -0800 Subject: [PATCH] Wrap fileLoader calls in try/catch so that in the event of a syntax error we can print a stack trace pointing to the offending file (see bug #16). --- src/Server/index.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Server/index.js b/src/Server/index.js index cda7dda..75440cb 100644 --- a/src/Server/index.js +++ b/src/Server/index.js @@ -13,10 +13,15 @@ const { fileLoader, mergeTypes, mergeResolvers } = require('merge-graphql-schema class GraphQLServer { constructor (config) { - const typeDefs = mergeTypes(fileLoader(config.get('graphql.schema'), { recursive: true })) - const resolvers = mergeResolvers(fileLoader(config.get('graphql.resolvers'))) - - this.$schema = makeExecutableSchema({ typeDefs, resolvers }) + try { + const typeDefs = mergeTypes(fileLoader(config.get('graphql.schema'), { recursive: true })) + const resolvers = mergeResolvers(fileLoader(config.get('graphql.resolvers'))) + + this.$schema = makeExecutableSchema({ typeDefs, resolvers }) + } catch (e) { + console.log(e.stack) + throw e + } this.$options = config.get('graphql.options') }