Files
pnpm/renovate.json
Marvin Hagemeister 49e6074644 test: replace @pnpm/registry-mock with an in-repo in-process registry (#11927)
Replace the external `@pnpm/registry-mock` (Verdaccio) test dependency with an in-repo, in-process registry that serves package fixtures to **both** the pacquet Rust tests and the pnpm CLI (Jest) tests. No separately managed registry process is needed.

### How it works

- **Fixtures** live at `registry/.fixtures/packages/<name>/<version>/…`, moved verbatim from [`pnpm/registry-mock`](https://github.com/pnpm/registry-mock) (keyed by each `package.json`'s `name`+`version`).
- **`pnpm-registry-fixtures`** builds verdaccio-shaped storage from those fixtures; the in-tree **`pnpm-registry`** crate serves it.
  - Files whose names differ only by case (`@pnpm.e2e/with-same-file-in-different-cases`) and `bundleDependencies` trees are composed **in memory** by the builder, since neither can be committed to the working tree.
- **pacquet**: `pacquet-testing-utils`' `TestRegistry` starts the server lazily (once per process) in proxy mode, serving `@pnpm.e2e` fixtures locally and falling through to the npm uplink for real packages (`is-positive`, `is-negative`, …) — matching how registry-mock behaved.
- **pnpm CLI**: the `with-registry` Jest `globalSetup` builds storage from the fixtures via the new `pnpm-registry-prepare` binary (built from source in the Test CI job) and serves it with `pnpm-registry`. `REGISTRY_MOCK_PORT` / `REGISTRY_MOCK_CREDENTIALS` / `getIntegrity` now come from `@pnpm/testing.registry-mock`.

### Result

`@pnpm/registry-mock` is removed from every manifest, the catalog, and `packageExtensions`; `cargo test` / `cargo nextest run` / `just test` and the pnpm CLI Jest suites all run registry-backed tests without launching Verdaccio.
2026-05-29 14:35:45 +02:00

131 lines
3.2 KiB
JSON

{
"extends": [
"config:base",
"helpers:pinGitHubActionDigests"
],
"ignoreDeps": [
"@pnpm/assert-project",
"@pnpm/building.during-install",
"@pnpm/config.reader",
"@pnpm/constants",
"@pnpm/core-loggers",
"@pnpm/default-fetcher",
"@pnpm/cli.default-reporter",
"@pnpm/resolving.default-resolver",
"@pnpm/network.fetch",
"@pnpm/fetching.fetcher-base",
"@pnpm/filter-lockfile",
"@pnpm/fetching.git-fetcher",
"@pnpm/resolving.git-resolver",
"@pnpm/installing.deps-restorer",
"@pnpm/exec.lifecycle",
"@pnpm/deps.inspection.list",
"@pnpm/resolving.local-resolver",
"@pnpm/lockfile-file",
"@pnpm/lockfile-types",
"@pnpm/lockfile.utils",
"@pnpm/logger",
"@pnpm/installing.linking.modules-cleaner",
"@pnpm/installing.modules-yaml",
"@pnpm/npm-registry-agent",
"@pnpm/resolving.npm-resolver",
"@pnpm/deps.inspection.outdated",
"@pnpm/config.package-is-installable",
"@pnpm/installing.package-requester",
"@pnpm/store.controller",
"@pnpm/pkgid-to-filename",
"@pnpm/lockfile.pruner",
"@pnpm/installing.read-projects-context",
"@pnpm/workspace.project-manifest-reader",
"@pnpm/fs.read-modules-dir",
"@pnpm/pkg-manifest.reader",
"@pnpm/installing.deps-resolver",
"@pnpm/resolving.resolver-base",
"@pnpm/server",
"@pnpm/installing.linking.hoist",
"@pnpm/store.controller-types",
"@pnpm/store.path",
"@pnpm/fs.symlink-dependency",
"@pnpm/fetching.tarball-fetcher",
"@pnpm/resolving.tarball-resolver",
"@pnpm/types",
"@pnpm/utils",
"@pnpm/workspace.project-manifest-writer",
"tree-builder",
"@pnpm/deps.path",
"fetch-from-npm-registry",
"find-packages",
"npm",
"pkgs-graph",
"remove-all-except-outer-links",
"@pnpm/installing.deps-installer",
"ts-node",
"@types/ramda",
"@types/table"
],
"ignorePaths": [
"fixtures",
"test/",
"packages/tree-builder/fixtures",
"packages/tree-builder/fixtureWithLinks",
"packages/tree-builder/example",
"packages/list/test/",
"packages/list/example/"
],
"packageRules": [
{
"packageNames": ["@types/ramda"],
"allowedVersions": "0.25.34"
},
{
"packageNames": ["agentkeepalive"],
"allowedVersions": "4.0.0"
},
{
"packageNames": ["graceful-fs"],
"allowedVersions": "4.2.1"
},
{
"packageNames": ["https-proxy-agent"],
"allowedVersions": "2.2.1"
},
{
"packageNames": ["uuid"],
"allowedVersions": "^3.4.0"
},
{
"packageNames": ["p-queue"],
"allowedVersions": "^6.6.2"
},
{
"packageNames": ["unique-string"],
"allowedVersions": "^2.0.0"
},
{
"packageNames": ["normalize-newline"],
"allowedVersions": "^3.0.0"
},
{
"packageNames": ["p-defer"],
"allowedVersions": "^3.0.0"
},
{
"packageNames": ["escape-string-regexp"],
"allowedVersions": "^4.0.0"
},
{
"packageNames": ["sort-keys"],
"allowedVersions": "^4.2.0"
},
{
"packageNames": ["strip-bom"],
"allowedVersions": "^4.0.0"
}
],
"pinVersions": false,
"schedule": [
"on Friday",
"every weekend"
]
}