text: const Manager = require("./lib/Manager");
  const Engineer = require("./lib/Engineer");
  const Intern = require("./lib/Intern");
  const inquirer = require("inquirer");
  const path = require("path");
  const fs = require("fs");
  
  const OUTPUT_DIR = path.resolve(__dirname, "output");
  const outputPath = path.join(OUTPUT_DIR, "team.html");
  
  const render = require("./lib/htmlRenderer");
  
  
  // Write code to use inquirer to gather information about the development team members,
  // and to create objects for each team member (using the correct classes as blueprints!)
  const teamMembers = [];
  const idArray = [];
  
  const questionsEmployee = [
      {
          type: "input",
          name: "nameManager",
          message: "What is your manager's name?"
      },
      {
          type: "input",
          name: "managerId",
          message: "What is your manager's id?"
      },
      {
          type: "input",
          name: "emailManager",
          message: "What is your manager's email?"
      },
      {
          type: "input",
          name: "officeNumber",
          message: "What is your manager's office number?"
      }
  ];
  
  
  function createManager() {
      console.log("Let us build your team");
      inquirer.prompt(questionsEmployee).then(function(data){
          const manager = new Manager(data.nameManager, data.managerId, data.emailManager, data.officeNumber);
          teamMembers.push(manager);
          idArray.push(data.managerId);
          createTeam();
      });
  };
  
  function createTeam() {
      inquirer.prompt([
          {
              type: "list",
              name: "memberChoice",
              message: "Which type of team member would you like to add?",
              choices: [
                  "Engineer",
                  "Intern",
                  "I don't want to add any more team members"
              ]
          }
      ]).then(function(data){
          if (data.memberChoice === "Engineer"){
              createEngineer();
          } else if (data.memberChoice === "Intern"){
              createIntern();
          } else (renderTeam());
      });
  };
  
  function createEngineer() {
      inquirer.prompt([
          {
              type: "input",
              name:"engineerName",
              message: "What is your engineer's name?"
          },
          {
              type: "input",
              name:"engineerId",
              message: "What is your engineer's id?"
          },
          {
              type: "input",
              name: "engineerEmail",
              message: "What is your engineer's email?"
          },
          {
              type: "input",
              name: "engineerGithub",
              message: "What is your engineer's GitHub username?"
          }
      ]). then(function(data){
          const engineer = new Engineer(data.engineerName, data.engineerId, data.engineerEmail, data.engineerGithub);
          teamMembers.push(engineer);
          idArray.push(data.engineerId);
          createTeam();
      });
  };
  
  function createIntern() {
      inquirer.prompt([
          {
              type: "input",
              name: "internName",
              message: "What is your intern's name?"
          },
          {
              type: "input",
              name: "internId",
              message: "What is your intern's id?"
          },
          {
              type: "input",
              name: "internEmail",
              message: "What is your intern's email?"
          },
          {
              type: "input",
              name: "internSchool",
              message: "What is your intern's school?"
          }
      ]). then(function(data){
          const intern = new Intern(data.internName, data.internId, data.internEmail, data.internSchool);
          teamMembers.push(intern);
          idArray.push(data.internId);
          createTeam();
      });
  };
  // After the user has input all employees desired, call the `render` function (required
  // above) and pass in an array containing all employee objects; the `render` function will
  // generate and return a block of HTML including templated divs for each employee!
  function renderTeam() {
      if (!fs.existsSync(OUTPUT_DIR)) {
          fs.mkdirSync(OUTPUT_DIR)
      }
      fs.writeFileSync(outputPath, render(teamMembers), "utf-8");
  }
  
  createManager();
  
  // After you have your html, you're now ready to create an HTML file using the HTML
  // returned from the `render` function. Now write it to a file named `team.html` in the
  // `output` folder. You can use the variable `outputPath` above target this location.
  // Hint: you may need to check if the `output` folder exists and create it if it
  // does not.
  
  // HINT: each employee type (manager, engineer, or intern) has slightly different
  // information; write your code to ask different questions via inquirer depending on
  // employee type.
  
  // HINT: make sure to build out your classes first! Remember that your Manager, Engineer,
  // and Intern classes should all extend from a class named Employee; see the directions
  // for further information. Be sure to test out each class and verify it generates an
  // object with the correct structure and methods. This structure will be crucial in order
  // for the provided `render` function to work! ```
  