`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.