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)