code: func makeManifestFile(opts Options) (fs.File, error) {
  	if opts.VersionFile != "" && !fs.IsCleanSlashPath(opts.VersionFile) {
  		return nil, fmt.Errorf("version file path should be a clean path relative to a package root: %s", opts.VersionFile)
  	}
  	if err := pkg.ValidateInstallMode(opts.InstallMode); err != nil {
  		return nil, err
  	}
  	formatVer := pkg.ManifestFormatVersion
  	if opts.OverrideFormatVersion != "" {
  		formatVer = opts.OverrideFormatVersion
  	}
  	buf := &bytes.Buffer{}
  	err := pkg.WriteManifest(&pkg.Manifest{
  		FormatVersion: formatVer,
  		PackageName:   opts.PackageName,
  		VersionFile:   opts.VersionFile,
  		InstallMode:   opts.InstallMode,
  	}, buf)
  	if err != nil {
  		return nil, err
  	}
  	out := manifestFile(buf.Bytes())
  	return &out, nil
  }
docs: // makeManifestFile generates a package manifest file and returns it as
  // File interface.