mirror of
https://github.com/pnpm/pnpm.git
synced 2026-05-07 23:48:05 -04:00
PR #1606 * feat: wip * refactor(filter-shrinkwrap): divide into several files * fix(filter-shrinkwrap): filterByImporters should skip skipped deps * fix: make package-is-installable synchronous * feat: implement filterByImportersAndEngine() * fix: headless install skips optional deps that are not installable close #1600 * fix: don't await for packageIsInstallable * fix: absolute dep path should be saved in skipped list * test(filter-shrinkwrap): more tests for filterByImportersAndEngine() * test: skipping optional dep when installing in subset of wpackages
29 lines
851 B
TypeScript
29 lines
851 B
TypeScript
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()
|
|
})
|