@pagopa/dx-cli
Version:
A CLI useful to manage DX tools.
32 lines (31 loc) • 997 B
JavaScript
import { z } from "zod/v4";
export const payloadSchema = z.object({
repoDescription: z.string().optional(),
repoName: z.string().trim().min(1, "Repository name cannot be empty"),
repoOwner: z.string().trim().default("pagopa"),
});
const validatePrompt = (schema) => (input) => {
const error = schema.safeParse(input).error;
return error
? // Return the error message defined in the Zod schema
z.prettifyError(error)
: true;
};
const getPrompts = () => [
{
message: "Repository name",
name: "repoName",
validate: validatePrompt(payloadSchema.shape.repoName),
},
{
default: payloadSchema.shape.repoOwner.def.defaultValue,
message: "GitHub repository owner (User or Organization)",
name: "repoOwner",
validate: validatePrompt(payloadSchema.shape.repoOwner),
},
{
message: "Repository description",
name: "repoDescription",
},
];
export default getPrompts;