mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-11 10:40:53 -04:00
* test: ensure prerelease weighting is correct * fix: use higher weight for package versions already in lockfile * test: remove fundamentally incompatible test * fix(test): use undici MockAgent instead of nock for HTTP mocking nock only patches Node's built-in http/https modules, but pnpm uses undici for HTTP requests. Replace nock with @pnpm/testing.mock-agent (which wraps undici's MockAgent) so the regression test actually intercepts registry metadata requests. * fix(benchmarks): show errors from store populate step The populate step redirected both stdout and stderr to /dev/null, hiding the actual error when pnpm install fails during benchmarks. * fix(benchmarks): replace deprecated packages in benchmark fixture The old fixture used deprecated babel 6, gulp, and other legacy packages whose transitive dependencies (e.g. es-abstract) are missing the "time" field in registry metadata, causing ERR_PNPM_MISSING_TIME with time-based resolution mode. Replace with modern equivalents (babel 7, webpack 5, MUI, Redux Toolkit, etc.) that maintain a similar dependency tree size (~1300 packages) while using well-maintained packages with proper registry metadata. * fix(benchmarks): drop eslint plugins that pull in es-abstract eslint-plugin-react, eslint-plugin-import, and eslint-plugin-jsx-a11y transitively depend on es-abstract, whose registry metadata lacks the "time" field. Replace them with eslint-plugin-prettier to avoid ERR_PNPM_MISSING_TIME with time-based resolution. --------- Co-authored-by: Zoltan Kochan <z@kochan.io>
@pnpm/resolver-base
Types for pnpm-compatible resolvers
Installation
pnpm add @pnpm/resolver-base
Usage
Here's a template of a resolver using types from @pnpm/resolver-base:
import {
ResolveOptions,
ResolveResult,
WantedDependency,
} from '@pnpm/resolver-base'
export async function testResolver (
wantedDependency: WantedDependency,
opts: ResolveOptions,
): Promise<ResolveResult> {
// ...
return {
id,
resolution,
package,
latest,
normalizedBareSpecifier,
}
}
License
MIT