hunk.code_window:         }
           const dest = path.join(modules, subdep.pkg.name)
           await linkDir(subdep.hardlinkedLocation, dest)
         })
     )
     await linkBins(modules, options.preserveSymlinks)
     return installedPkgs
   }
  
hunk.labels: keep keep keep keep keep replace keep keep keep
hunk.after_edit:   await linkBins(modules, path.join(modules, '.bin'), options.preserveSymlinks)
  
hunk.file_path: src/install/installMultiple.ts
hunk.type: replace
file: import {ignoreCache as requireJson} from './fs/requireJson'
  import writePkg = require('write-pkg')
  import sortedObject = require('sorted-object')
  import {DependenciesType} from './getSaveType'
  import {InstalledPackage} from './install/installMultiple'
  
  export default async function save (pkgJsonPath: string, installedPackages: InstalledPackage[], saveType: DependenciesType, useExactVersion: boolean) {
    // Read the latest version of package.json to avoid accidental overwriting
    const packageJson = await requireJson(pkgJsonPath)
    packageJson[saveType] = packageJson[saveType] || {}
    installedPackages.forEach(dependency => {
      const semverCharacter = useExactVersion ? '' : '^'
      packageJson[saveType][dependency.pkg.name] = semverCharacter + dependency.pkg.version
    })
    packageJson[saveType] = sortedObject(packageJson[saveType])
  
    return writePkg(pkgJsonPath, packageJson)
  }
  