1

I am trying to import resolver and type files into schema dynamically and I use meteor-cleverbeagle starter kit. But when I try to use loadFilesSync method, I get this on console: Error: Cannot find module 'meteor/mongo'. How can I import resolvers dynamically ? Thanks in advance.

file structure:

+-- api
|   +-- Comments
|   |   +-- comment.resolvers.js
|   |   +-- comment.graphql
|   |   +-- index.js
|   +-- merged.js // call all resolvers and types on here and merge them
+-- startup
|   +-- Server
|   |   +-- api //call merged.js in here

merged.js:

const { loadFilesSync } = require('@graphql-tools/load-files')
const { mergeTypeDefs, mergeResolvers } = require('@graphql-tools/merge')

const typesArray = loadFilesSync(process.env.PWD + '/**/*.graphql', {
  extensions: ['graphql'],
  recursive: true,
})
const typeDefs = mergeTypeDefs(typesArray, { all: true })

const resolversArray = loadFilesSync(process.env.PWD + '/api/**/*.resolvers.*')
const resolvers = mergeResolvers(resolversArray)

module.exports = {
  typeDefs,
  resolvers,
}

/startup/server/api.js

import { typeDefs, resolvers } from '../../api/merged'

const schema = {
  typeDefs,
  resolvers,
  resolverValidationOptions: { requireResolversForResolveType: false },
}

export default makeExecutableSchema(schema)
Çağatay Sert
  • 413
  • 2
  • 5
  • 16

0 Answers0