mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-25 15:01:49 +00:00
15f4bd8eff
* chore: migrate from zod/v3 to zod/v4 This commit contains the logic changes * chore: migrate imports from zod/v3 to zod/v4 This contains import updates and adds explicit record keys as zod/v4 requires these now * ci: enforce usage of zod/v4
35 lines
967 B
TypeScript
35 lines
967 B
TypeScript
import { z } from 'zod/v4';
|
|
import { LooseRecord, Yaml } from '../../../util/schema-utils/index.ts';
|
|
|
|
const VersionField = z
|
|
.union([z.string(), z.number()])
|
|
.optional()
|
|
.transform((val) => val?.toString());
|
|
|
|
const XcodeGenSwiftPackage = z.object({
|
|
url: z.string().optional(),
|
|
github: z.string().optional(),
|
|
path: z.string().optional(),
|
|
from: VersionField,
|
|
majorVersion: VersionField,
|
|
minorVersion: VersionField,
|
|
exactVersion: VersionField,
|
|
version: VersionField,
|
|
minVersion: VersionField,
|
|
maxVersion: VersionField,
|
|
branch: z.string().optional(),
|
|
revision: z.string().optional(),
|
|
group: z.string().optional(),
|
|
excludeFromProject: z.boolean().optional(),
|
|
});
|
|
|
|
export type XcodeGenSwiftPackage = z.infer<typeof XcodeGenSwiftPackage>;
|
|
|
|
export const XcodeGenProjectFile = Yaml.pipe(
|
|
z.object({
|
|
packages: LooseRecord(XcodeGenSwiftPackage).optional(),
|
|
}),
|
|
);
|
|
|
|
export type XcodeGenProjectFile = z.infer<typeof XcodeGenProjectFile>;
|