public function toJson($moduleFile, array $options = array())
{
Assert::isInstanceOf($moduleFile, 'Puli\\Manager\\Api\\Module\\ModuleFile');
$jsonData = new stdClass();
$jsonData->{'$schema'} = sprintf(self::SCHEMA, self::VERSION);
$this->addModuleFileToJson($moduleFile, $jsonData);
// Sort according to key order
$jsonArray = (array) $jsonData;
$orderedKeys = array_intersect_key(array_flip(self::$keyOrder), $jsonArray);
$jsonData = (object) array_replace($orderedKeys, $jsonArray);
return $jsonData;
}