0
0
Fork 0
mirror of https://github.com/renovatebot/renovate.git synced 2025-05-12 23:51:55 +00:00
renovatebot_renovate/lib/modules/manager/bitrise/schema.ts
2025-01-24 11:30:56 +00:00

25 lines
799 B
TypeScript

import { z } from 'zod';
import { filterMap } from '../../../util/filter-map';
import { Yaml } from '../../../util/schema-utils';
import { parseStep } from './utils';
export const BitriseFile = Yaml.pipe(
z
.object({
default_step_lib_source: z.string().optional(),
workflows: z
.record(
z
.object({
steps: z
.array(z.record(z.unknown()).transform((x) => Object.keys(x)))
.transform((steps) => steps.flat()),
})
.transform(({ steps }) => steps),
)
.transform((x) => Object.values(x).flat()),
})
.transform(({ default_step_lib_source: defaultRegistry, workflows }) =>
filterMap(workflows, (workflow) => parseStep(workflow, defaultRegistry)),
),
);