mirror of
https://github.com/pnpm/pnpm.git
synced 2026-04-06 16:24:33 -04:00
Replace metadata_manifests (per-version rows requiring JSON.stringify per manifest) with metadata_blobs (single raw JSON blob per package). Write path: store the raw registry response text as-is — zero serialization on the hot path. Only the compact index fields (dist-tags, version keys, deprecated flags) are extracted. Read path: parse the lightweight index for version picking, then parse the blob and extract just the resolved version's manifest. This eliminates the cold install regression caused by hundreds of JSON.stringify calls per install. The index table still provides cheap header lookups for conditional requests. Also tracks is_full flag on the index to avoid serving abbreviated metadata when full is requested (e.g., for optional dependencies).