mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-20 06:58:30 -04:00
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.
83 lines
2.3 KiB
TypeScript
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`)
|
|
})
|
|
})
|