mirror of
https://github.com/pnpm/pnpm.git
synced 2026-01-19 20:38:51 -05:00
- Add currentPkg (with name/version) to custom resolver ResolveOptions - Pass currentPkg through to custom resolvers in default-resolver - Simplify checkCustomResolverForceResolve to use parseDepPath
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
import { createTempStore } from '@pnpm/testing.temp-store'
|
|
import { REGISTRY_MOCK_PORT } from '@pnpm/registry-mock'
|
|
import { type StoreController } from '@pnpm/store-controller-types'
|
|
import { type Registries } from '@pnpm/types'
|
|
import { type InstallOptions } from '@pnpm/core'
|
|
import { type CustomResolver } from '@pnpm/hooks.types'
|
|
|
|
const registry = `http://localhost:${REGISTRY_MOCK_PORT}/`
|
|
|
|
export function testDefaults<T> (
|
|
opts?: T & {
|
|
fastUnpack?: boolean
|
|
storeDir?: string
|
|
prefix?: string
|
|
registries?: Registries
|
|
customResolvers?: CustomResolver[]
|
|
},
|
|
resolveOpts?: any, // eslint-disable-line
|
|
fetchOpts?: any, // eslint-disable-line
|
|
storeOpts?: any // eslint-disable-line
|
|
): InstallOptions &
|
|
{
|
|
cacheDir: string
|
|
registries: Registries
|
|
storeController: StoreController
|
|
storeDir: string
|
|
} &
|
|
T {
|
|
const { storeController, storeDir, cacheDir } = createTempStore({
|
|
...opts,
|
|
clientOptions: {
|
|
...(opts?.registries != null ? { registries: opts.registries } : {}),
|
|
customResolvers: opts?.customResolvers,
|
|
...resolveOpts,
|
|
...fetchOpts,
|
|
},
|
|
storeOptions: storeOpts,
|
|
})
|
|
const result = {
|
|
cacheDir,
|
|
registries: {
|
|
default: registry,
|
|
},
|
|
storeController,
|
|
storeDir,
|
|
...opts,
|
|
} as (
|
|
InstallOptions &
|
|
{
|
|
cacheDir: string
|
|
registries: Registries
|
|
storeController: StoreController
|
|
storeDir: string
|
|
} &
|
|
T
|
|
)
|
|
return result
|
|
}
|