hunk.code_window:     'y': ['--yes'],
       'n': ['--no-yes'],
       'B': ['--save-bundle'],
       'C': ['--working-dir'],
       'prefix': ['--working-dir'],
       'lockfile-directory': ['--shrinkwrap-directory'],
       'lockfile-only': ['--shrinkwrap-only'],
       'shared-workspace-lockfile': ['--shared-workspace-shrinkwrap'],
       'frozen-lockfile': ['--frozen-shrinkwrap'],
       'prefer-frozen-lockfile': ['--prefer-frozen-shrinkwrap'],
       'W': ['--ignore-workspace-root-check'],
     }
     // tslint:enable
     const { argv, ...cliConf } = nopt(types, shortHands, inputArgv, 0)
  
hunk.labels: keep keep keep keep keep replace replace replace replace replace keep keep keep keep
hunk.after_edit:     'shrinkwrap-directory': ['--lockfile-directory'],
       'shrinkwrap-only': ['--lockfile-only'],
       'shared-workspace-shrinkwrap': ['--shared-workspace-lockfile'],
       'frozen-shrinkwrap': ['--frozen-lockfile'],
       'prefer-frozen-shrinkwrap': ['--prefer-frozen-lockfile'],
  
hunk.file_path: packages/pnpm/src/main.ts
hunk.type: replace
file: import test = require('tape')
  import checkEngine from '../src/checkEngine'
  
  const packageId = 'registry.npmjs.org/foo/1.0.0'
  
  test('no engine defined', (t) => {
    t.equals(checkEngine(packageId, {}, { pnpm: '1.1.2', node: '0.2.1' }), null)
    t.end()
  })
  
  test('node version too old', (t) => {
    const err = checkEngine(packageId, { node: '0.10.24' }, { pnpm: '1.1.2', node: '0.10.18' })
    t.ok(err, 'returns an error')
    t.equals(err && err.wanted.node, '0.10.24')
    t.end()
  })
  
  test('pnpm version too old', (t) => {
    const err = checkEngine(packageId, { pnpm: '^1.4.6' }, { pnpm: '1.3.2', node: '0.2.1' })
    t.ok(err, 'returns an error')
    t.equals(err && err.wanted.pnpm, '^1.4.6')
    t.end()
  })
  
  test('engine is supported', (t) => {
    t.equals(checkEngine(packageId, { pnpm: '1', node: '10' }, { pnpm: '1.3.2', node: '10.2.1' }), null)
    t.end()
  })
  