import fs from 'fs'; import path from 'path'; import { graphql, GraphQLSchema } from 'graphql'; import { introspectionQuery, printSchema } from 'graphql/utilities'; import DB from './../../config/database'; import schema from './../../config/graphql/schema'; DB.sync().then(()=>{ var Schema = schema(); // Save JSON of full schema introspection for Babel Relay Plugin to use (async () => { var result = await (graphql(Schema, introspectionQuery)); if (result.errors) { console.error( 'ERROR introspecting schema: ', JSON.stringify(result.errors, null, 2) ); } else { fs.writeFileSync( path.join(__dirname, './../../config/graphql/schema.json'), JSON.stringify(result, null, 2) ); } })(); // Save user readable type system shorthand of schema fs.writeFileSync( path.join(__dirname, './../../config/graphql/schema.graphql'), printSchema(Schema) ); });