mirror of
https://github.com/pnpm/pnpm.git
synced 2026-02-18 15:18:00 -05:00
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import { getPeerDependencyIssues } from '@pnpm/core'
|
|
import { prepareEmpty } from '@pnpm/prepare'
|
|
import { type ProjectRootDir } from '@pnpm/types'
|
|
import { testDefaults } from './utils/index.js'
|
|
|
|
test('cannot resolve peer dependency for top-level dependency', async () => {
|
|
prepareEmpty()
|
|
|
|
const peerDependencyIssues = await getPeerDependencyIssues([
|
|
{
|
|
buildIndex: 0,
|
|
manifest: {
|
|
dependencies: {
|
|
'ajv-keywords': '1.5.0',
|
|
},
|
|
},
|
|
rootDir: process.cwd() as ProjectRootDir,
|
|
},
|
|
], testDefaults())
|
|
|
|
expect(peerDependencyIssues['.'].missing).toHaveProperty('ajv')
|
|
})
|
|
|
|
test('a conflict is detected when the same peer is required with ranges that do not overlap', async () => {
|
|
prepareEmpty()
|
|
|
|
const peerDependencyIssues = await getPeerDependencyIssues([
|
|
{
|
|
buildIndex: 0,
|
|
manifest: {
|
|
dependencies: {
|
|
'@pnpm.e2e/has-foo100-peer': '1.0.0',
|
|
'@pnpm.e2e/has-foo101-peer': '1.0.0',
|
|
},
|
|
},
|
|
rootDir: process.cwd() as ProjectRootDir,
|
|
},
|
|
], testDefaults())
|
|
|
|
expect(peerDependencyIssues['.'].conflicts).toHaveLength(1)
|
|
})
|