Files
pnpm/config/package-is-installable/test/checkEngine.ts
btea 9d4d967df8 fix: special version node check (#6509)
---------

Co-authored-by: Zoltan Kochan <z@kochan.io>
2023-05-07 12:33:28 +03:00

28 lines
940 B
TypeScript

import { checkEngine } from '../lib/checkEngine'
const packageId = 'registry.npmjs.org/foo/1.0.0'
test('no engine defined', () => {
expect(checkEngine(packageId, {}, { pnpm: '1.1.2', node: '0.2.1' })).toBe(null)
})
test('prerelease node version', () => {
expect(checkEngine(packageId, { node: '^14.18.0 || >=16.0.0' }, { node: 'v21.0.0-nightly20230429c968361829' })).toBe(null)
})
test('node version too old', () => {
const err = checkEngine(packageId, { node: '0.10.24' }, { pnpm: '1.1.2', node: '0.10.18' })
expect(err).toBeTruthy()
expect(err?.wanted.node).toBe('0.10.24')
})
test('pnpm version too old', () => {
const err = checkEngine(packageId, { pnpm: '^1.4.6' }, { pnpm: '1.3.2', node: '0.2.1' })
expect(err).toBeTruthy()
expect(err?.wanted.pnpm).toBe('^1.4.6')
})
test('engine is supported', () => {
expect(checkEngine(packageId, { pnpm: '1', node: '10' }, { pnpm: '1.3.2', node: '10.2.1' })).toBe(null)
})