mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-31 17:51:49 +00:00
196101a6bb
* chore(deps): update dependency oxlint-tsgolint to v0.25.0 | datasource | package | from | to | | ---------- | --------------- | ------ | ------ | | npm | oxlint-tsgolint | 0.23.0 | 0.25.0 | * chore: fix new no-unnecessary-type-assertion findings Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Sebastian Poxhofer <sebastian.poxhofer@stedi.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { z } from 'zod/v4';
|
|
import {
|
|
LooseArray,
|
|
LooseRecord,
|
|
NotCircular,
|
|
} from '../../../util/schema-utils/index.ts';
|
|
|
|
export const CircleCiDocker = z
|
|
.object({ image: z.string() })
|
|
.transform(({ image }) => image);
|
|
|
|
export const CircleCiJob = z
|
|
.object({
|
|
docker: LooseArray(CircleCiDocker).catch([]),
|
|
})
|
|
.transform(({ docker }) => docker);
|
|
export type CircleCiJob = z.infer<typeof CircleCiJob>;
|
|
|
|
const CircleCiJobList = LooseRecord(CircleCiJob)
|
|
.transform((x) => Object.values(x).flat())
|
|
.catch([]);
|
|
|
|
const BaseOrb = z.object({
|
|
executors: CircleCiJobList,
|
|
jobs: CircleCiJobList,
|
|
});
|
|
|
|
type Orb = z.infer<typeof BaseOrb> & {
|
|
orbs: Record<string, string | Orb>;
|
|
};
|
|
|
|
export const CircleCiOrb: z.ZodType<Orb> = BaseOrb.extend({
|
|
orbs: LooseRecord(z.union([z.string(), z.lazy(() => CircleCiOrb)])).catch({}),
|
|
});
|
|
export type CircleCiOrb = z.infer<typeof CircleCiOrb>;
|
|
|
|
export const CircleCiFile = NotCircular.pipe(
|
|
BaseOrb.extend({
|
|
aliases: LooseArray(CircleCiDocker).catch([]),
|
|
orbs: LooseRecord(z.union([z.string(), CircleCiOrb])).catch({}),
|
|
}),
|
|
);
|
|
export type CircleCiFile = z.infer<typeof CircleCiFile>;
|