hunk.code_window:     "loud-rejection": "^1.6.0",
       "mem": "^1.1.0",
       "mkdirp-promise": "^5.0.1",
       "mz": "^2.6.0",
       "ndjson": "^1.5.0",
       "node-gyp": "^3.6.0",
       "nopt": "^4.0.1",
       "normalize-path": "^2.1.1",
       "normalize-ssh": "^1.0.0",
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit:     "ncp": "^2.0.0",
  
hunk.file_path: package.json
hunk.type: add
file: import tape = require('tape')
  import promisifyTape from 'tape-promise'
  import readPkg = require('read-pkg')
  import {installPkgs} from '../../src'
  import {
    prepare,
    testDefaults,
  } from '../utils'
  
  const test = promisifyTape(tape)
  
  test('tarball from npm registry', async function (t) {
    const project = prepare(t)
    await installPkgs(['http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz'], testDefaults())
  
    const m = project.requireModule('is-array')
  
    t.ok(m, 'isArray() is available')
  
    await project.storeHas('registry.npmjs.org/is-array/1.0.1')
  
    const pkgJson = await readPkg()
    t.deepEqual(pkgJson.dependencies, {'is-array': 'http://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz'}, 'has been added to dependencies in package.json')
  })
  
  test('tarball not from npm registry', async function (t) {
    const project = prepare(t)
    await installPkgs(['https://github.com/hegemonic/taffydb/tarball/master'], testDefaults())
  
    const m = project.requireModule('taffydb')
  
    t.ok(m, 'taffydb() is available')
  
    await project.storeHas('github.com/hegemonic/taffydb/tarball/master')
  })
  
  test('tarballs from GitHub (is-negative)', async function (t) {
    const project = prepare(t)
    await installPkgs(['is-negative@https://github.com/kevva/is-negative/archive/1d7e288222b53a0cab90a331f1865220ec29560c.tar.gz'], testDefaults())
  
    const m = project.requireModule('is-negative')
  
    t.ok(m, 'isNegative() is available')
  })
  