mirror of
https://github.com/renovatebot/renovate.git
synced 2026-10-31 09:41:46 +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
32 lines
909 B
TypeScript
32 lines
909 B
TypeScript
import { z } from 'zod/v4';
|
|
|
|
export const Package = z.object({
|
|
apiVersion: z.string().startsWith('packages.glasskube.dev/'),
|
|
kind: z.literal('Package').or(z.literal('ClusterPackage')),
|
|
spec: z.object({
|
|
packageInfo: z.object({
|
|
name: z.string(),
|
|
version: z.string(),
|
|
repositoryName: z.string().optional(),
|
|
}),
|
|
}),
|
|
});
|
|
|
|
export const PackageRepository = z.object({
|
|
apiVersion: z.string().startsWith('packages.glasskube.dev/'),
|
|
kind: z.literal('PackageRepository'),
|
|
metadata: z.object({
|
|
name: z.string(),
|
|
annotations: z.record(z.string(), z.string()).optional(),
|
|
}),
|
|
spec: z.object({
|
|
url: z.string(),
|
|
}),
|
|
});
|
|
|
|
export const GlasskubeResource = Package.or(PackageRepository);
|
|
|
|
export type Package = z.infer<typeof Package>;
|
|
export type PackageRepository = z.infer<typeof PackageRepository>;
|
|
export type GlasskubeResource = z.infer<typeof GlasskubeResource>;
|