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).

24 lines (23 loc) 1.01 kB
import { inputPrompt, isValidName } from "@reliverse/rempts"; import { generate } from "random-words"; export async function askProjectName({ repoName = "" }) { let defaultValue; if (repoName) { defaultValue = repoName.split("/").pop() ?? ""; } else { defaultValue = generate({ exactly: 2, join: "-" }); } const title = repoName ? "How should I name proceeding project?" : "How should I name your brand new project?"; const content = repoName ? "This name will be used to create the project directory." : "This name may be used to create the project directory, throughout the project, etc."; const placeholder = repoName ? `Press <Enter> to use the repository name: ${defaultValue}` : `I've just generated a random name for you (press <Enter> to use it): ${defaultValue}`; const name = await inputPrompt({ title, content, placeholder, defaultValue, validate: (value) => isValidName(value).isValid || `Invalid project name: ${value}` }); return name.toString(); }