UNPKG

gchcg-cli

Version:
1 lines 1 kB
"use strict";const axios=require("axios"),urlJoin=require("url-join"),semver=require("semver");function getNpmInfo(e,t){if(!e)return null;const r=t||getDefaultRegistry(),s=urlJoin(r,e);return axios.get(s).then((e=>200===e.status?e.data:null)).catch((e=>Promise.reject(e)))}function getDefaultRegistry(){return"https://registry.npmmirror.com"}async function getNpmVersions(e,t){const r=await getNpmInfo(e,t);return r?Object.keys(r.versions):[]}function getSemverVersions(e,t){return t.filter((t=>semver.satisfies(t,`>${e}`))).sort(((e,t)=>semver.gt(t,e)?1:-1))}async function getNpmSemverVersion(e,t,r){const s=getSemverVersions(e,await getNpmVersions(t,r));return s&&s.length>0?s[0]:null}async function getNpmLatestVersion(e,t){let r=await getNpmVersions(e,t);return r?r.sort(((e,t)=>semver.gt(t,e)))[r.length-1]:null}module.exports={getNpmInfo:getNpmInfo,getNpmVersions:getNpmVersions,getNpmSemverVersion:getNpmSemverVersion,getDefaultRegistry:getDefaultRegistry,getNpmLatestVersion:getNpmLatestVersion};