Files
Sebastian Poxhofer 15f4bd8eff chore: migrate from zod/v3 to zod/v4 (#43691)
* 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
2026-05-30 16:01:58 +00:00

38 lines
903 B
TypeScript

import type { z } from 'zod/v4';
import { logger } from '../../../logger/index.ts';
import type { PackageFileContent } from '../types.ts';
import { HomeAssistantManifest } from './schema.ts';
export function extractPackageFile(
content: string,
packageFile: string,
): PackageFileContent | null {
const result = HomeAssistantManifest.safeParse(content);
if (!result.success) {
const isInvalidJson = result.error.issues.some(
(i: z.ZodIssue) => i.message === 'Invalid JSON',
);
if (isInvalidJson) {
logger.debug(
{ packageFile, err: result.error },
'Failed to parse manifest.json',
);
} else {
logger.debug(
{ packageFile, err: result.error },
'Not a Home Assistant manifest',
);
}
return null;
}
const deps = result.data;
if (!deps || deps.length === 0) {
return null;
}
return { deps };
}