@vortex.so/cli
Version:
CLI to interact with Vortex.
32 lines (29 loc) • 1.42 kB
JavaScript
import { z } from '@neon.id/z';
const RepositorySchema = z.object({
name: z.string().explain({ label: "Repo Name" }),
url: z.string().explain({ label: "Repo URL" }),
host: z.string().explain({ label: "Repo Host" })
});
const ManifestKindEnum = z.enum(["component", "repository"]);
const ManifestTypeEnum = z.enum(["fe", "be", "me", "pkg", "db", "ui"]);
const ManifestMobileSchema = z.object({
path: z.string().explain({ label: "Path" })
});
const ManifestSchema = z.object({
name: z.string().explain({ label: "Name" }),
namespace: z.string().explain({ label: "Namespace" }),
org: z.string().explain({ label: "Organization" }),
handle: z.string().explain({ label: "Handle" }),
description: z.string().explain({ label: "Description" }),
kind: ManifestKindEnum.explain({ label: "Kind" }),
type: z.array(ManifestTypeEnum).optional().explain({ label: "Type" }),
version: z.string().explain({ label: "Version" }),
build: z.number().explain({ label: "Build" }),
repo: RepositorySchema.explain({ label: "Repository" }),
ios: ManifestMobileSchema.optional().explain({ label: "iOS" }),
android: ManifestMobileSchema.optional().explain({ label: "Android" })
}).refine((data) => data.kind === "component" ? !!data.type : true, {
message: "Component type is required.",
path: ["type"]
});
export { ManifestKindEnum, ManifestMobileSchema, ManifestSchema, ManifestTypeEnum, RepositorySchema };