@reliverse/rse
Version:
@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power
32 lines (31 loc) • 1.06 kB
JavaScript
import { getProjectContent } from "@reliverse/cfg";
import { setupDevModeIfNeeded } from "../../../libs/sdk/utils/testsRuntime.js";
import {
determineProjectStatus,
handleExistingProject,
handleIncompleteProject,
handleNewProject,
handleProjectSelectionMenu
} from "./init-utils.js";
export async function showManualBuilderMenu(params) {
await setupDevModeIfNeeded(params);
try {
const cwd = await handleProjectSelectionMenu(params.cwd, params.isDev);
params.cwd = cwd;
const { requiredContent } = await getProjectContent(cwd);
const projectStatus = determineProjectStatus(requiredContent);
if (projectStatus === "new") {
return await handleNewProject(cwd, params.isDev);
}
if (projectStatus === "existing") {
return await handleExistingProject(cwd, params.isDev);
}
return handleIncompleteProject();
} catch (error) {
console.error(
"Error showing manual builder menu:",
error instanceof Error ? error.message : String(error)
);
return { areDependenciesMissing: true };
}
}