5etools/scripts/lib/select-project.js

28 lines
695 B
JavaScript

import readline from "readline";
/**
* @param {string[]} projects
* @returns string
*/
export function selectProject(projects) {
if (projects.length === 1) {
return projects[0];
}
if (!process.argv[2] && !process.env.DEFAULT_PROJECT) {
console.error(`Multiple projects detected, but no project selected`);
process.exit(2);
}
const selectedProject = process.argv[2] ?? process.env.DEFAULT_PROJECT;
const project = projects.find(project => project.toLowerCase() === selectedProject.toLowerCase());
if (!project) {
console.error(`Could not find project ${selectedProject}`);
process.exit(2);
}
return project;
}