@mondaycom/apps-cli
Version:
A cli tool to manage apps (and monday-code projects) in monday.com
39 lines (38 loc) • 1.11 kB
JavaScript
import { z } from 'zod';
import { AppFeatureType, BUILD_TYPES_MANIFEST_FORMAT } from '../../types/services/app-features-service.js';
import { ManifestHostingType } from '../../types/services/manifest-service.js';
const ManifestHostingSchema = z
.object({
type: z.nativeEnum(ManifestHostingType),
path: z.string(),
})
.strict();
export const ManifestFeatureSchema = z.object({
type: z.nativeEnum(AppFeatureType),
name: z.string().optional(),
build: z
.object({
source: z.nativeEnum(BUILD_TYPES_MANIFEST_FORMAT),
suffix: z.string().optional(),
})
.optional(),
});
export const ManifestFileSchema = z
.object({
version: z.string(),
app: z
.object({
id: z.string().optional(),
name: z.string().optional(),
hosting: z
.object({
cdn: ManifestHostingSchema.optional(),
server: ManifestHostingSchema.optional(),
})
.strict()
.optional(),
features: z.array(ManifestFeatureSchema).optional(),
})
.strict(),
})
.strict();