verdaccio
Version:
A lightweight private npm proxy registry
1 lines • 1.65 kB
Source Map (JSON)
{"version":3,"file":"metadata-utils.mjs","names":[],"sources":["../../src/lib/metadata-utils.ts"],"sourcesContent":["import _ from 'lodash';\nimport semver from 'semver';\n\nimport { Package } from '@verdaccio/types';\n\nimport { DIST_TAGS } from './constants';\n\n/**\n * Function gets a local info and an info from uplinks and tries to merge it\n exported for unit tests only.\n * @param {*} local\n * @param {*} up\n * @param {*} config\n * @static\n */\nexport function mergeVersions(local: Package, up: Package) {\n // copy new versions to a cache\n // NOTE: if a certain version was updated, we can't refresh it reliably\n for (const i in up.versions) {\n if (_.isNil(local.versions[i])) {\n local.versions[i] = up.versions[i];\n }\n }\n\n for (const i in up[DIST_TAGS]) {\n if (local[DIST_TAGS][i] !== up[DIST_TAGS][i]) {\n if (!local[DIST_TAGS][i] || semver.lte(local[DIST_TAGS][i], up[DIST_TAGS][i])) {\n local[DIST_TAGS][i] = up[DIST_TAGS][i];\n }\n if (i === 'latest' && local[DIST_TAGS][i] === up[DIST_TAGS][i]) {\n // if remote has more fresh package, we should borrow its readme\n local.readme = up.readme;\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;AAeA,SAAgB,cAAc,OAAgB,IAAa;CAGzD,KAAK,MAAM,KAAK,GAAG,UACjB,IAAI,EAAE,MAAM,MAAM,SAAS,EAAE,GAC3B,MAAM,SAAS,KAAK,GAAG,SAAS;CAIpC,KAAK,MAAM,KAAK,GAAG,YACjB,IAAI,MAAA,YAAgB,CAAC,OAAO,GAAA,YAAa,CAAC,IAAI;EAC5C,IAAI,CAAC,MAAA,YAAgB,CAAC,MAAM,OAAO,IAAI,MAAA,YAAgB,CAAC,IAAI,GAAA,YAAa,CAAC,EAAE,GAC1E,MAAM,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC;EAEtC,IAAI,MAAM,YAAY,MAAA,YAAgB,CAAC,OAAO,GAAA,YAAa,CAAC,IAE1D,MAAM,SAAS,GAAG;CAEtB;AAEJ"}