text: const express = require("express");
  const db = require("./config/connection");
  const path = require("path");
  
  const app = express();
  const PORT = process.env.PORT || 3001;
  
  const { ApolloServer } = require("apollo-server-express");
  const { typeDefs, resolvers } = require("./schemas");
  const { authMiddleware } = require("./utils/auth");
  
  const server = new ApolloServer({
    typeDefs,
    resolvers,
    context: authMiddleware,
  });
  
  server.applyMiddleware({ app });
  
  app.use(express.urlencoded({ extended: true }));
  app.use(express.json());
  
  if (process.env.NODE_ENV === "production") {
    app.use(express.static(path.join(__dirname, "../client/build")));
  }
  
  app.get("*", (req, res) => {
    res.sendFile(path.join(__dirname, "../client/build/index.html"));
  });
  
  db.once("open", () => {
    app.listen(PORT, () => {
      console.log(`API server running on port ${PORT}!`);
      console.log(`Use GraphQL at http://localhost:${PORT}${server.graphqlPath}`);
    });
  });
  
  // const express = require('express');
  // const path = require('path');
  // const db = require('./config/connection');
  // const routes = require('./routes');
  
  // const app = express();
  // const PORT = process.env.PORT || 3001;
  
  // app.use(express.urlencoded({ extended: true }));
  // app.use(express.json());
  
  // // if we're in production, serve client/build as static assets
  // if (process.env.NODE_ENV === 'production') {
  //   app.use(express.static(path.join(__dirname, '../client/build')));
  // }
  
  // app.use(routes);
  
  // db.once('open', () => {
  //   app.listen(PORT, () => console.log(`🌍 Now listening on localhost:${PORT}`));
  // });
  