| 88 | |
| 89 | // Validate generic/common section for project manifest |
| 90 | export function validateCommonProjectManifest(raw: unknown): void { |
| 91 | const projectManifest = plainToClass<CommonProjectManifestV1_0_0Impl, unknown>(CommonProjectManifestV1_0_0Impl, raw); |
| 92 | const errors = validateSync(projectManifest, {whitelist: true}); |
| 93 | if (errors?.length) { |
| 94 | // TODO: print error details |
| 95 | const errorMsgs = errors.map((e) => e.toString()).join('\n'); |
| 96 | throw new Error(`project validation failed.\n${errorMsgs}`); |
| 97 | } |
| 98 | } |