hunk.code_window:   PackageSpec,
     PackageMeta,
   } from '../resolve'
   import mkdirp = require('mkdirp-promise')
   import pkgIdToFilename from '../fs/pkgIdToFilename'
   import {fromDir as readPkgFromDir} from '../fs/readPkg'
   import exists = require('path-exists')
   import memoize, {MemoizedFunc} from '../memoize'
   import {Package} from '../types'
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit: import thenify = require('thenify')
   import writeFileAtomicCB = require('write-file-atomic')
  
hunk.file_path: src/install/fetch.ts
hunk.type: add
file: {
    "compilerOptions": {
      "removeComments": false,
      "preserveConstEnums": true,
      "sourceMap": true,
      "declaration": true,
      "noImplicitAny": true,
      "noImplicitReturns": true,
      "suppressImplicitAnyIndexErrors": true,
      "allowSyntheticDefaultImports": true,
      "strictNullChecks": true,
      "target": "es6",
      "outDir": "lib",
      "module": "commonjs",
      "moduleResolution": "node"
    },
    "filesGlob": [
      "src/**/*.ts",
      "typings/**/*.d.ts"
    ],
    "atom": {
      "rewriteTsconfig": true
    },
    "files": [
      "src/api/checkCompatibility.ts",
      "src/api/extendOptions.ts",
      "src/api/getContext.ts",
      "src/api/index.ts",
      "src/api/install.ts",
      "src/api/link.ts",
      "src/api/lock.ts",
      "src/api/prune.ts",
      "src/api/removeOrphanPkgs.ts",
      "src/api/storeStatus.ts",
      "src/api/uninstall.ts",
      "src/bin/pnpm.ts",
      "src/binify.ts",
      "src/cmd/install.ts",
      "src/cmd/installTest.ts",
      "src/cmd/link.ts",
      "src/cmd/prune.ts",
      "src/cmd/run.ts",
      "src/cmd/runNpm.ts",
      "src/cmd/store.ts",
      "src/cmd/uninstall.ts",
      "src/cmd/update.ts",
      "src/depsToSpecs.ts",
      "src/err.ts",
      "src/errorTypes.ts",
      "src/fs/dirsum.ts",
      "src/fs/expandTilde.ts",
      "src/fs/getPkgDirs.ts",
      "src/fs/gracefulify.ts",
      "src/fs/modulesController.ts",
      "src/fs/pkgIdToFilename.ts",
      "src/fs/readPkg.ts",
      "src/fs/safeReadPkg.ts",
      "src/fs/shrinkwrap.ts",
      "src/fs/storeController.ts",
      "src/getSaveType.ts",
      "src/index.ts",
      "src/install/fetch.ts",
      "src/install/fetchResolution.ts",
      "src/install/getIsInstallable.ts",
      "src/install/installMultiple.ts",
      "src/install/postInstall.ts",
      "src/link/index.ts",
      "src/link/linkBins.ts",
      "src/link/resolvePeers.ts",
      "src/logging/fileLogger.ts",
      "src/logging/logInstallStatus.ts",
      "src/logging/streamParser.ts",
      "src/memoize.ts",
      "src/network/got.ts",
      "src/pkgIsUntouched.ts",
      "src/pnpmPkgJson.ts",
      "src/removeDeps.ts",
      "src/removeTopDependency.ts",
      "src/reporter/index.ts",
      "src/reporter/silentReporter.ts",
      "src/resolve/git.ts",
      "src/resolve/index.ts",
      "src/resolve/local.ts",
      "src/resolve/npm/createNpmPkgId.ts",
      "src/resolve/npm/getHost.ts",
      "src/resolve/npm/getRegistryName.ts",
      "src/resolve/npm/index.ts",
      "src/resolve/npm/loadPackageMeta.ts",
      "src/resolve/tarball.ts",
      "src/runScript.ts",
      "src/safeIsInnerLink.ts",
      "src/save.ts",
      "src/types.ts",
      "typings/index.d.ts",
      "typings/local.d.ts",
      "typings/tape-promise.d.ts"
    ]
  }
  