import * as path from 'path'; import { makeSchema, connectionPlugin } from '@nexus/schema'; import { nexusPrisma } from 'nexus-plugin-prisma'; import { User } from '@prisma/client'; import * as RootTypes from './root'; import * as RecipeTypes from '../app/recipe/schema'; import * as UserTypes from '../app/user/schema'; import * as IngredientTypes from '../app/ingredient/schema'; import * as CollectionTypes from '../app/collection/schema'; import { NodeType } from './node'; /* Generate our schema for Apollo! */ export const schema = makeSchema({ types: [ NodeType, RootTypes, // IngredientTypes, UserTypes, // RecipeTypes, // CollectionTypes, ], plugins: [nexusPrisma(), connectionPlugin()], shouldExitAfterGenerateArtifacts: process.argv.includes('--nexus-exit'), outputs: { schema: path.join(__dirname, '/schema.graphql'), typegen: path.join(__dirname, '../types/nexus/index.d.ts'), }, typegenAutoConfig: { contextType: 'ctx.ApiContext', sources: [ { alias: 'ctx', source: path.join(__dirname, '../server', 'index.ts'), onlyTypes: [], }, { alias: 'db', source: '.prisma/client/index.d.ts', }, ], debug: true, }, prettierConfig: path.join(__dirname, '../../', '.prettierrc'), });