code: public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
      {
          if (!$repo->hasPackage($package)) {
              throw new \InvalidArgumentException('Package is not installed: '.$package);
          }
  
          $this->removeCode($package);
          $this->binaryInstaller->removeBinaries($package);
          $repo->removePackage($package);
  
          $downloadPath = $this->getPackageBasePath($package);
          if (strpos($package->getName(), '/')) {
              $packageVendorDir = dirname($downloadPath);
              if (is_dir($packageVendorDir) && $this->filesystem->isDirEmpty($packageVendorDir)) {
                  Silencer::call('rmdir', $packageVendorDir);
              }
          }
      }
docs: {@inheritDoc}