28 lines
695 B
JavaScript
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;
|
|
}
|