mirror of
https://github.com/pnpm/pnpm.git
synced 2026-01-24 06:48:38 -05:00
100 lines
2.2 KiB
TypeScript
100 lines
2.2 KiB
TypeScript
import { contextLogger, packageImportMethodLogger } from '@pnpm/core-loggers'
|
|
import { toOutput$ } from '@pnpm/default-reporter'
|
|
import {
|
|
createStreamParser,
|
|
} from '@pnpm/logger'
|
|
import { take } from 'rxjs/operators'
|
|
|
|
test('print context and import method info', (done) => {
|
|
const output$ = toOutput$({
|
|
context: {
|
|
argv: ['install'],
|
|
},
|
|
streamParser: createStreamParser(),
|
|
})
|
|
|
|
contextLogger.debug({
|
|
currentLockfileExists: false,
|
|
storeDir: '~/.pnpm-store/v3',
|
|
virtualStoreDir: 'node_modules/.pnpm',
|
|
})
|
|
packageImportMethodLogger.debug({
|
|
method: 'hardlink',
|
|
})
|
|
|
|
expect.assertions(1)
|
|
|
|
output$.pipe(take(1)).subscribe({
|
|
complete: () => done(),
|
|
error: done,
|
|
next: output => {
|
|
expect(output).toBe(`\
|
|
Packages are hard linked from the content-addressable store to the virtual store.
|
|
Content-addressable store is at: ~/.pnpm-store/v3
|
|
Virtual store is at: node_modules/.pnpm`)
|
|
},
|
|
})
|
|
})
|
|
|
|
test('do not print info if not fresh install', (done) => {
|
|
const output$ = toOutput$({
|
|
context: {
|
|
argv: ['install'],
|
|
},
|
|
streamParser: createStreamParser(),
|
|
})
|
|
|
|
contextLogger.debug({
|
|
currentLockfileExists: true,
|
|
storeDir: '~/.pnpm-store/v3',
|
|
virtualStoreDir: 'node_modules/.pnpm',
|
|
})
|
|
packageImportMethodLogger.debug({
|
|
method: 'hardlink',
|
|
})
|
|
|
|
const subscription = output$.subscribe({
|
|
complete: () => done(),
|
|
error: done,
|
|
next: (msg) => {
|
|
expect(msg).toBeFalsy()
|
|
},
|
|
})
|
|
|
|
setTimeout(() => {
|
|
done()
|
|
subscription.unsubscribe()
|
|
}, 10)
|
|
})
|
|
|
|
test('do not print info if dlx is the executed command', (done) => {
|
|
const output$ = toOutput$({
|
|
context: {
|
|
argv: ['dlx'],
|
|
},
|
|
streamParser: createStreamParser(),
|
|
})
|
|
|
|
contextLogger.debug({
|
|
currentLockfileExists: false,
|
|
storeDir: '~/.pnpm-store/v3',
|
|
virtualStoreDir: 'node_modules/.pnpm',
|
|
})
|
|
packageImportMethodLogger.debug({
|
|
method: 'hardlink',
|
|
})
|
|
|
|
const subscription = output$.subscribe({
|
|
complete: () => done(),
|
|
error: done,
|
|
next: (msg) => {
|
|
expect(msg).toBeFalsy()
|
|
},
|
|
})
|
|
|
|
setTimeout(() => {
|
|
done()
|
|
subscription.unsubscribe()
|
|
}, 10)
|
|
})
|