This commit is contained in:
grngxd 2025-06-24 18:56:20 +01:00
parent 4fa66a2eb9
commit ca12ec8a9c
5 changed files with 225 additions and 135 deletions

60
cmd/sync/types.ts Normal file
View file

@ -0,0 +1,60 @@
import * as z from "zod/v4";
export type MixFile = {
[key: string]: {
packages: MixPackage[];
};
};
export type MixPackage = {
id: string;
version: string;
config: {
type: "raw" | "json";
path: string;
data: unknown;
}[]
}
export const MixPackageSchema = z.object({
id: z.string(),
version: z.string(),
config: z.array(z.object({
type: z.enum(["raw", "json"]),
path: z.string(),
data: z.unknown()
}))
.optional()
.default([]),
});
export const MixFileSchema = z.record(
z.string(),
z.object({
packages: z.array(MixPackageSchema)
})
);
export type MixLockFile = MixLockPackage[]
export type MixLockPackage = {
id: string;
version: string;
config: {
type: "raw" | "json";
path: string;
data: string;
}[];
}
export const MixLockPackageSchema = z.object({
id: z.string(),
version: z.string(),
config: z.array(z.object({
type: z.enum(["raw", "json"]),
path: z.string(),
data: z.string()
}))
});
export const MixLockFileSchema = z.array(MixLockPackageSchema);