private function loadMonorepoJson($contents, $path)
{
$schema = json_decode(file_get_contents(__DIR__ . '/../../resources/monorepo-schema.json'));
$data = json_decode($contents);
// Validate
$validator = new \JsonSchema\Validator();
$validator->check($data, $schema);
if (!$validator->isValid()) {
$errors = array();
foreach ($validator->getErrors() as $error) {
$errors[] = sprintf("[%s] %s\n", $error['property'], $error['message']);
}
throw new \RuntimeException(sprintf("JSON is not valid in %s\n%s", $path, implode("\n", $errors)));
}
return json_decode($contents, true);
}