index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /**
  2. * Configure dotenv:
  3. * https://www.npmjs.com/package/dotenv
  4. *
  5. * Configure CORS for use with localhost.
  6. */
  7. require("dotenv").config();
  8. const { GraphQLServer } = require("graphql-yoga");
  9. const cookieParser = require("cookie-parser");
  10. const bodyParser = require("body-parser");
  11. const cors = require("cors");
  12. const express = require("express");
  13. //const { merge } = require('lodash')
  14. //const { db, populateUser } = require('./src/db')
  15. //const { authenticate } = require('./src/authenticate')
  16. //const prismaResolvers = require('./src/resolvers')
  17. //const typeDefs = ['./schema.graphql', system.typeDefs, interfaces.typeDefs]
  18. /*const resolvers = merge(
  19. system.resolvers,
  20. interfaces.resolvers,
  21. prismaResolvers.resolvers
  22. )*/
  23. const resolvers = {};
  24. const typeDefs = [];
  25. const server = new GraphQLServer({
  26. typeDefs,
  27. resolvers,
  28. context: req => ({
  29. ...req,
  30. db,
  31. debug: true
  32. })
  33. });
  34. server.express.use(cookieParser());
  35. server.express.use(bodyParser.json());
  36. server.express.use(quickMiddleware);
  37. server.express.use(authenticate);
  38. server.express.use(populateUser);
  39. server.express.use(
  40. cors({ origin: process.env.FRONTEND_URL, credentials: true })
  41. );
  42. server.express.use("/static", express.static("static"));
  43. server.start(
  44. {
  45. cors: {
  46. credentials: true,
  47. origin: process.env.FRONTEND_URL
  48. }
  49. },
  50. server => console.log(`Server is running on http://localhost:${server.port}`)
  51. );