mirror of
https://github.com/pnpm/pnpm.git
synced 2026-07-25 15:07:06 -04:00
86 lines
2.5 KiB
TypeScript
86 lines
2.5 KiB
TypeScript
import { renderDedupeCheckIssues } from '@pnpm/dedupe.issues-renderer'
|
|
import { stripVTControlCharacters as stripAnsi } from 'util'
|
|
|
|
describe('renderDedupeCheckIssues', () => {
|
|
test('prints removed packages and updated resolutions', () => {
|
|
expect(stripAnsi(renderDedupeCheckIssues({
|
|
importerIssuesByImporterId: {
|
|
added: [],
|
|
removed: [],
|
|
updated: {
|
|
'.': {
|
|
'@types/node': { type: 'updated', prev: '14.18.42', next: '18.15.11' },
|
|
},
|
|
},
|
|
},
|
|
packageIssuesByDepPath: {
|
|
added: [],
|
|
removed: ['/@types/node/14.18.42'],
|
|
updated: {
|
|
'@types/tar-stream/2.2.2': {
|
|
'@types/node': { type: 'updated', prev: '14.18.42', next: '18.15.11' },
|
|
},
|
|
'@types/tar/6.1.4': {
|
|
'@types/node': { type: 'updated', prev: '14.18.42', next: '18.15.11' },
|
|
},
|
|
},
|
|
},
|
|
}))).toMatchSnapshot()
|
|
})
|
|
|
|
test('prints new importers and packages', () => {
|
|
expect(stripAnsi(renderDedupeCheckIssues({
|
|
importerIssuesByImporterId: {
|
|
added: ['packages/a'],
|
|
removed: [],
|
|
updated: {
|
|
'.': {
|
|
'packages/a': { type: 'added', next: '0.0.0' },
|
|
},
|
|
},
|
|
},
|
|
packageIssuesByDepPath: {
|
|
added: [
|
|
// Suppose packages/a added a new @types/node dependency on 18.x.
|
|
'/@types/node/18.15.11',
|
|
],
|
|
removed: ['/@types/node/14.18.42'],
|
|
updated: {
|
|
'@types/tar-stream/2.2.2': {
|
|
'@types/node': { type: 'updated', prev: '14.18.42', next: '18.15.11' },
|
|
},
|
|
'@types/tar/6.1.4': {
|
|
'@types/node': { type: 'updated', prev: '14.18.42', next: '18.15.11' },
|
|
},
|
|
},
|
|
},
|
|
}))).toMatchSnapshot()
|
|
})
|
|
|
|
test('prints removed importer', () => {
|
|
expect(stripAnsi(renderDedupeCheckIssues({
|
|
importerIssuesByImporterId: {
|
|
added: [],
|
|
removed: ['packages/a'],
|
|
updated: {
|
|
'.': {
|
|
'@types/node': { type: 'updated', prev: '18.15.11', next: '14.18.42' },
|
|
},
|
|
},
|
|
},
|
|
packageIssuesByDepPath: {
|
|
added: ['/@types/node/14.18.42'],
|
|
removed: ['/@types/node/18.15.11'],
|
|
updated: {
|
|
'@types/tar-stream/2.2.2': {
|
|
'@types/node': { type: 'updated', prev: '18.15.11', next: '14.18.42' },
|
|
},
|
|
'@types/tar/6.1.4': {
|
|
'@types/node': { type: 'updated', prev: '18.15.11', next: '14.18.42' },
|
|
},
|
|
},
|
|
},
|
|
}))).toMatchSnapshot()
|
|
})
|
|
})
|