code: private function addExtension($name, $prettyVersion)
      {
          $extraDescription = null;
  
          try {
              $version = $this->versionParser->normalize($prettyVersion);
          } catch (\UnexpectedValueException $e) {
              $extraDescription = ' (actual version: '.$prettyVersion.')';
              if (preg_match('{^(\d+\.\d+\.\d+(?:\.\d+)?)}', $prettyVersion, $match)) {
                  $prettyVersion = $match[1];
              } else {
                  $prettyVersion = '0';
              }
              $version = $this->versionParser->normalize($prettyVersion);
          }
  
          $packageName = $this->buildPackageName($name);
          $ext = new CompletePackage($packageName, $version, $prettyVersion);
          $ext->setDescription('The '.$name.' PHP extension'.$extraDescription);
          $this->addPackage($ext);
      }
docs: Parses the version and adds a new package to the repository
  
  @param string      $name
  @param null|string $prettyVersion