verdaccio
Version:
A lightweight private npm proxy registry
23 lines (22 loc) • 841 B
JavaScript
import { DIST_TAGS } from "./constants.mjs";
import _ from "lodash";
import semver from "semver";
//#region src/lib/metadata-utils.ts
/**
* Function gets a local info and an info from uplinks and tries to merge it
exported for unit tests only.
* @param {*} local
* @param {*} up
* @param {*} config
* @static
*/
function mergeVersions(local, up) {
for (const i in up.versions) if (_.isNil(local.versions[i])) local.versions[i] = up.versions[i];
for (const i in up[DIST_TAGS]) if (local["dist-tags"][i] !== up["dist-tags"][i]) {
if (!local["dist-tags"][i] || semver.lte(local["dist-tags"][i], up["dist-tags"][i])) local[DIST_TAGS][i] = up[DIST_TAGS][i];
if (i === "latest" && local["dist-tags"][i] === up["dist-tags"][i]) local.readme = up.readme;
}
}
//#endregion
export { mergeVersions };
//# sourceMappingURL=metadata-utils.mjs.map