@vortex.so/cli
Version:
CLI to interact with Vortex.
38 lines (34 loc) • 1.59 kB
JavaScript
;
const z = require('@neon.id/z');
const RepositorySchema = z.z.object({
name: z.z.string().explain({ label: "Repo Name" }),
url: z.z.string().explain({ label: "Repo URL" }),
host: z.z.string().explain({ label: "Repo Host" })
});
const ManifestKindEnum = z.z.enum(["component", "repository"]);
const ManifestTypeEnum = z.z.enum(["fe", "be", "me", "pkg", "db", "ui"]);
const ManifestMobileSchema = z.z.object({
path: z.z.string().explain({ label: "Path" })
});
const ManifestSchema = z.z.object({
name: z.z.string().explain({ label: "Name" }),
namespace: z.z.string().explain({ label: "Namespace" }),
org: z.z.string().explain({ label: "Organization" }),
handle: z.z.string().explain({ label: "Handle" }),
description: z.z.string().explain({ label: "Description" }),
kind: ManifestKindEnum.explain({ label: "Kind" }),
type: z.z.array(ManifestTypeEnum).optional().explain({ label: "Type" }),
version: z.z.string().explain({ label: "Version" }),
build: z.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"]
});
exports.ManifestKindEnum = ManifestKindEnum;
exports.ManifestMobileSchema = ManifestMobileSchema;
exports.ManifestSchema = ManifestSchema;
exports.ManifestTypeEnum = ManifestTypeEnum;
exports.RepositorySchema = RepositorySchema;