@vizzly-testing/cli
Version:
Visual review platform for UI developers and designers
52 lines (51 loc) • 2.03 kB
TypeScript
/**
* Validate Vizzly configuration
* @param {unknown} config - Configuration to validate
* @returns {Object} Validated configuration
* @throws {ZodError} If validation fails
*/
export function validateVizzlyConfig(config: unknown): any;
/**
* Safely validate with defaults if config is missing
* @param {unknown} config - Configuration to validate (can be undefined)
* @returns {Object} Validated configuration with defaults
*/
export function validateVizzlyConfigWithDefaults(config: unknown): any;
/**
* Core Vizzly configuration schema
* Allows plugin-specific keys with passthrough for extensibility
*/
export let vizzlyConfigSchema: z.ZodDefault<z.ZodObject<{
apiKey: z.ZodOptional<z.ZodString>;
apiUrl: z.ZodOptional<z.ZodString>;
server: z.ZodDefault<z.ZodObject<{
port: z.ZodDefault<z.ZodNumber>;
timeout: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>>;
build: z.ZodDefault<z.ZodObject<{
name: z.ZodDefault<z.ZodString>;
environment: z.ZodDefault<z.ZodString>;
branch: z.ZodOptional<z.ZodString>;
commit: z.ZodOptional<z.ZodString>;
message: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
upload: z.ZodDefault<z.ZodObject<{
screenshotsDir: z.ZodDefault<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
batchSize: z.ZodDefault<z.ZodNumber>;
timeout: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>>;
comparison: z.ZodDefault<z.ZodObject<{
threshold: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>>;
tdd: z.ZodDefault<z.ZodObject<{
openReport: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>>;
plugins: z.ZodDefault<z.ZodArray<z.ZodString>>;
parallelId: z.ZodOptional<z.ZodString>;
baselineBuildId: z.ZodOptional<z.ZodString>;
baselineComparisonId: z.ZodOptional<z.ZodString>;
eager: z.ZodOptional<z.ZodBoolean>;
wait: z.ZodOptional<z.ZodBoolean>;
allowNoToken: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>>;
import { z } from 'zod';