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

41 lines (40 loc) 1.34 kB
import { inputPrompt, selectPrompt } from "@reliverse/rempts"; import { DEFAULT_DOMAIN } from "../../../../../constants.js"; import { experimental } from "../../../../../utils/badgeNotifiers.js"; import { recommended } from "../../../../../utils/badgeNotifiers.js"; function validateDomain(domain) { if (!domain) return "Domain is required"; if (!/^[a-zA-Z0-9][a-zA-Z0-9-_.]+\.[a-zA-Z]{2,}$/.test(domain)) { return "Invalid domain format"; } return true; } export async function promptForDomain(projectName) { const defaultDomain = `${projectName}.vercel.app`; const useDomain = await selectPrompt({ title: "Would you like to use a custom domain?", content: "You can add a custom domain later in the Vercel dashboard.", options: [ { label: `No, use default Vercel domain only ${recommended}`, value: "default", hint: defaultDomain }, { label: `Yes, configure custom domain ${experimental}`, value: "custom", hint: "The default domain will still be generated" } ], defaultValue: "default" }); if (useDomain === "default") { return defaultDomain; } const domain = await inputPrompt({ title: "Enter your custom domain:", content: DEFAULT_DOMAIN, validate: validateDomain }); return domain || defaultDomain; }