code: public function getPackageFilename(PackageInterface $package)
      {
          $nameParts = array(preg_replace('#[^a-z0-9-_]#i', '-', $package->getName()));
  
          if (preg_match('{^[a-f0-9]{40}$}', $package->getDistReference())) {
              array_push($nameParts, $package->getDistReference(), $package->getDistType());
          } else {
              array_push($nameParts, $package->getPrettyVersion(), $package->getDistReference());
          }
  
          if ($package->getSourceReference()) {
              $nameParts[] = substr(sha1($package->getSourceReference()), 0, 6);
          }
  
          $name = implode('-', array_filter($nameParts, function ($p) {
              return !empty($p);
          }));
  
          return str_replace('/', '-', $name);
      }
docs: Generate a distinct filename for a particular version of a package.
  
  @param PackageInterface $package The package to get a name for
  
  @return string A filename without an extension