UNPKG

@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
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; }