Files
pnpm/cache/commands/test/cacheList.cmd.test.ts
Zoltan Kochan 3a5bfaa94f chore: update zkochan packages to latest versions (#10930)
Update all packages from zkochan/packages to their latest major versions
and exclude them from minimumReleaseAge requirement. This includes
updating catalog entries, adapting to breaking API changes (default
exports replaced with named exports, sync functions renamed with Sync
suffix), and updating type declarations.
2026-03-11 13:47:46 +01:00

83 lines
2.3 KiB
TypeScript

import path from 'path'
import { prepare } from '@pnpm/prepare'
import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
import { safeExeca as execa } from 'execa'
import { cache } from '@pnpm/cache.commands'
import { rimrafSync } from '@zkochan/rimraf'
const pnpmBin = path.join(import.meta.dirname, '../../../pnpm/bin/pnpm.mjs')
const REGISTRY = `http://localhost:${REGISTRY_MOCK_PORT}/`
describe('cache', () => {
let cacheDir: string
let storeDir: string
beforeAll(async () => {
prepare()
cacheDir = path.resolve('cache')
storeDir = path.resolve('store')
await execa('node', [
pnpmBin,
'add',
'is-negative@2.1.0',
`--store-dir=${storeDir}`,
`--cache-dir=${cacheDir}`,
'--config.resolution-mode=highest',
`--registry=${REGISTRY}`,
])
rimrafSync('node_modules')
rimrafSync('pnpm-lock.yaml')
await execa('node', [
pnpmBin,
'add',
'is-negative@2.1.0',
'is-positive@1.0.0',
`--store-dir=${storeDir}`,
`--cache-dir=${cacheDir}`,
'--config.resolution-mode=highest',
])
})
test('list all metadata from the cache', async () => {
const result = await cache.handler({
cacheDir,
cliOptions: {},
pnpmHomeDir: storeDir,
}, ['list'])
expect(result).toBe(`localhost+${REGISTRY_MOCK_PORT}/is-negative.json
registry.npmjs.org/is-negative.json
registry.npmjs.org/is-positive.json`)
})
test('list all metadata from the cache related to the specified registry', async () => {
const result = await cache.handler({
cacheDir,
cliOptions: {
registry: 'https://registry.npmjs.org/',
},
pnpmHomeDir: storeDir,
}, ['list'])
expect(result).toBe(`registry.npmjs.org/is-negative.json
registry.npmjs.org/is-positive.json`)
})
test('list all metadata from the cache that matches a pattern', async () => {
const result = await cache.handler({
cacheDir,
cliOptions: {},
pnpmHomeDir: storeDir,
}, ['list', '*-positive'])
expect(result).toBe('registry.npmjs.org/is-positive.json')
})
test('list registries', async () => {
const result = await cache.handler({
cacheDir,
cliOptions: {},
pnpmHomeDir: storeDir,
}, ['list-registries'])
expect(result).toBe(`localhost+${REGISTRY_MOCK_PORT}
registry.npmjs.org`)
})
})