UNPKG

@code-pushup/models

Version:

Model definitions and validators for the Code PushUp CLI

34 lines 1.61 kB
import { z } from 'zod/v4'; import { auditOutputsSchema } from './audit-output.js'; import { convertAsyncZodFunctionToSchema } from './implementation/function.js'; import { filePathSchema } from './implementation/schemas.js'; import { persistConfigSchema } from './persist-config.js'; export const outputTransformSchema = convertAsyncZodFunctionToSchema(z.function({ input: [z.unknown()], output: z.union([auditOutputsSchema, z.promise(auditOutputsSchema)]), })); export const runnerArgsSchema = z .object({ persist: persistConfigSchema .required() .describe('Persist config with defaults applied'), }) .describe('Arguments passed to runner'); export const runnerConfigSchema = z .object({ command: z.string().describe('Shell command to execute'), args: z.array(z.string()).describe('Command arguments').optional(), outputFile: filePathSchema.describe('Runner output path'), outputTransform: outputTransformSchema.optional(), configFile: filePathSchema.describe('Runner config path').optional(), }) .describe('How to execute runner using shell script'); export const runnerFunctionSchema = convertAsyncZodFunctionToSchema(z.function({ input: [runnerArgsSchema], output: z.union([auditOutputsSchema, z.promise(auditOutputsSchema)]), })).describe('Callback function for async runner execution in JS/TS'); export const runnerFilesPathsSchema = z.object({ runnerConfigPath: filePathSchema.describe('Runner config path'), runnerOutputPath: filePathSchema.describe('Runner output path'), }); //# sourceMappingURL=runner-config.js.map