peerDependenciesMeta not included with abbreviated metadata responses

Summary

When using a gitlab npm registry the peerDependenciesMeta field is not returned. This causes npm to install peer dependencies even when they are marked as optional.

Steps to reproduce

  1. Publish a packaged with a peerDependenciesMeta field in the package.json.
  2. View the metadata returned by gitlab
curl "https://gitlab.mydomain.com/api/v4/packages/npm/@namespace/test" \
--header 'accept: application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*' \
--header 'authorization: Bearer XXXXXXXXXXXXXXXXX' | jq

Example Project

What is the current bug behavior?

peerDependenciesMeta is missing.

What is the expected correct behavior?

peerDependenciesMeta should be present.

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of:
`sudo gitlab-rake gitlab:env:info`)

(For installations from source run and paste the output of:
`sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)

Results of GitLab application Check

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:check SANITIZE=true)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true)

(we will only investigate if the tests are passing)

Possible fixes