/** * @inheritdoc */ public function writePackage(AssetPackage $package) { $name = $package->getNormalName(); $data = ['packages' => [$name => $package->getReleases()]]; $json = Json::encode($data); $hash = hash('sha256', $json); $path = $this->buildHashedPath($name, $hash); if (!file_exists($path)) { $this->getLocker()->lock(); $this->mkdir(dirname($path)); file_put_contents($path, $json); file_put_contents($this->buildHashedPath($name), $json); $this->writeProviderLatest($name, $hash); $this->getLocker()->release(); } return $hash; }