Files
Zoltan Kochan cae239cfb3 feat(config): show the settings pnpm acts on via config get/list (#14043)
`pnpm config get registries` printed `undefined`: the reader splits the
setting into internal lookups and deletes the raw key. The same
translate-and-delete pattern hid `update` and `audit`, whose deprecated
internal spellings were the only readable names, and pacquet's config
record diverged from the TypeScript CLI on a dozen keys.

Both CLIs now answer the documented names with the settings they act
on, and print byte-identical JSON:

- `registries`: the resolved view, merged across every source, keyed by
  registry URL with the default registry as the bare `@` scope and the
  built-in routes (the `@jsr` scope, the `npmjs` / `gh` prefixes)
  declared unless pointed elsewhere. Built on the existing pnpr-request
  rebuilder (`toRegistryDeclarations` / `registries::to_declarations`),
  with a canonical key/field/scope order. The internal lookups
  (`registriesByScope`, `registriesByPrefix`, `registryOptionsByUrl`)
  leave the record. `BUILTIN_REGISTRIES_BY_PREFIX` and the JSR default
  moved from the npm resolver into `pnpm-config` so both layers consult
  one constant.
- `update` / `audit`: re-joined from `updateConfig` and
  `auditConfig`/`auditLevel`, whichever spelling set them; the
  deprecated spellings leave the record. Pacquet mirrors `audit.level`
  into its explicit `auditLevel` entry so `config get audit-level`
  answers the way the TypeScript CLI does.
- Pacquet record holes: `packages`, `catalog`, `catalogs` (shown merged,
  with the singular `catalog` block as its `default` entry),
  `onlyBuiltDependencies`, `neverBuiltDependencies`, and
  `ignoredBuiltDependencies` are now carried by `WorkspaceSettings` for
  display only; the global config.yaml refuses them via the existing
  workspace-only clearing.
- Pacquet answered `undefined` for `registry` and `@jsr:registry` where
  the TypeScript CLI answers the built-in defaults; the JSR default
  registry moved from the npm resolver into `pnpm-config` so both
  consult one constant. `patchedDependencies` now displays
  workspace-resolved paths, matching the TypeScript record.
- `RegistryDeclaration` serialization skips absent fields, so pacquet's
  pnpr requests stop sending nulls the TypeScript CLI's requests omit.
2026-08-21 02:31:34 +02:00
..