@reliverse/rse-sdk
Version:
@reliverse/rse-sdk without cli. @reliverse/rse-sdk allows you to create new plugins for @reliverse/rse CLI, interact with reliverse.org, and even extend your own CLI functionality (you may also try @reliverse/dler-sdk for this case).
45 lines (44 loc) • 1.18 kB
JavaScript
import { re } from "@reliverse/relico";
import { cancel, isCancel, multiselect } from "@reliverse/rempts";
import { DEFAULT_CONFIG } from "../constants.js";
export async function getExamplesChoice(examples, database, frontends, backend, api) {
if (api === "none") {
return [];
}
if (examples !== void 0) return examples;
if (backend === "convex") {
return ["todo"];
}
if (backend === "none") {
return [];
}
if (database === "none") return [];
const noFrontendSelected = !frontends || frontends.length === 0;
if (noFrontendSelected) return [];
let response = [];
const options = [
{
value: "todo",
label: "Todo App",
hint: "A simple CRUD example app"
}
];
if (backend !== "elysia" && !frontends?.includes("solid")) {
options.push({
value: "ai",
label: "AI Chat",
hint: "A simple AI chat interface using AI SDK"
});
}
response = await multiselect({
message: "Include examples",
options,
required: false,
initialValues: DEFAULT_CONFIG.examples
});
if (isCancel(response)) {
cancel(re.red("Operation cancelled"));
process.exit(0);
}
return response;
}