{"version":3,"sources":["jsdelivr-header.js","/npm/@pkgjs/nv@0.3.0/index.js"],"names":[],"mappings":"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","file":"/npm/@pkgjs/nv@0.3.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@pkgjs/nv@0.3.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\nconst got = require('got')\nconst semver = require('semver')\nconst _cache = new Map()\n\nmodule.exports = async function (alias = 'lts_active', opts = {}) {\n  const now = opts.now || new Date()\n  const cache = opts.cache || _cache\n  const mirror = opts.mirror || 'https://nodejs.org/dist/'\n  const latestOfMajorOnly = opts.latestOfMajorOnly || false\n  const ignoreFutureReleases = opts.ignoreFutureReleases || false\n\n  const a = Array.isArray(alias) ? alias : [alias]\n  const versions = await getLatestVersionsByCodename({\n    now,\n    cache,\n    mirror,\n    ignoreFutureReleases\n  })\n\n  // Reduce to an object\n  let m = a.reduce((m, a) => {\n    const vers = resolveAlias(versions, a)\n    if (Array.isArray(vers)) {\n      vers.forEach((v) => {\n        m[v.version] = v\n      })\n    } else if (vers) {\n      m[vers.version] = vers\n    }\n    return m\n  }, {})\n\n  // If only latest major is true, filter out all but latest\n  if (latestOfMajorOnly) {\n    const vers = Object.values(m).reduce((latestMajor, v) => {\n      // If highest in version range, save off\n      if (!latestMajor[v.major] || semver.gt(v.version, latestMajor[v.major].version)) {\n        latestMajor[v.major] = v\n      }\n      return latestMajor\n    }, {})\n    m = Array.from(Object.values(vers))\n  }\n\n  // Sort and pluck version\n  return Object.values(m).sort((v1, v2) => {\n    return semver.gt(v1.version, v2.version) ? 1 : -1\n  })\n}\n\nfunction resolveAlias (versions, alias) {\n  if (typeof alias === 'number' && versions[`v${alias}`]) {\n    return versions[`v${alias}`]\n  }\n\n  if (typeof alias === 'string') {\n    if (versions[alias.toLowerCase()]) {\n      return versions[alias.toLowerCase()]\n    }\n\n    // Alias might be a semver range\n    return versions.all.filter((v) => semver.satisfies(v.version, alias))\n  }\n}\n\nfunction getSchedule (cache) {\n  return got('https://raw.githubusercontent.com/nodejs/Release/master/schedule.json', {\n    cache\n  }).json()\n}\n\nfunction getVersions (cache, mirror) {\n  return got(mirror.replace(/\\/$/, '') + '/index.json', {\n    cache\n  }).json()\n}\n\nasync function getLatestVersionsByCodename ({ now, cache, mirror, ignoreFutureReleases }) {\n  const schedule = await getSchedule(cache)\n  const versions = await getVersions(cache, mirror)\n\n  // Composite aliases point to the HEAD for each release line\n  const supported = {}\n  const active = {}\n  const ltsActive = {}\n  const lts = {}\n\n  const aliases = versions.reduce((obj, ver) => {\n    const { major, minor, patch, tag } = splitVersion(ver.version)\n    const versionName = major !== '0' ? `v${major}` : `v${major}.${minor}`\n    const codename = ver.lts ? ver.lts.toLowerCase() : versionName\n    const version = tag !== '' ? `${major}.${minor}.${patch}-${tag}` : `${major}.${minor}.${patch}`\n    const s = schedule[versionName]\n\n    // Version Object\n    const v = {\n      version,\n      major,\n      minor,\n      patch,\n      tag,\n      codename,\n      versionName,\n      start: s && s.start && new Date(s.start),\n      lts: s && s.lts && new Date(s.lts),\n      maintenance: s && s.maintenance && new Date(s.maintenance),\n      end: s && s.end && new Date(s.end),\n      releaseDate: new Date(ver.date),\n      isLts: false,\n      isSupported: false,\n      isMaintenance: false,\n      isSecurity: ver.security,\n      modules: ver.modules,\n      files: ver.files || [],\n      dependencies: {\n        npm: ver.npm,\n        v8: ver.v8,\n        uv: ver.uv,\n        zlib: ver.zlib,\n        openssl: ver.openssl\n      }\n    }\n\n    // This version is from future; completely ignore it (i.e. we may have specified a `now` from the past)\n    if (ignoreFutureReleases && now < v.releaseDate) {\n      return obj\n    }\n\n    // Is in any supported period\n    if (now > v.start && now < v.end) {\n      v.isSupported = true\n\n      // Is in maintenence period\n      if (now > v.maintenance) {\n        v.isMaintenance = true\n      }\n\n      // Latest lts\n      if (now > v.lts) {\n        v.isLts = true\n      }\n    }\n\n    // The new version is higher than the last stored version for this release line\n    if (!obj[versionName] || semver.gt(ver.version, obj[versionName].version)) {\n      // Version and codename alias\n      obj[versionName] = obj[codename] = v\n\n      if (v.isSupported) {\n        supported[versionName] = v\n\n        if (!v.isMaintenance) {\n          active[versionName] = v\n        }\n\n        // Latest lts\n        if (v.isLts) {\n          lts[versionName] = v\n\n          if (!v.isMaintenance) {\n            ltsActive[versionName] = v\n          }\n\n          if (!obj.lts_latest || semver.gt(ver.version, obj.lts_latest.version)) {\n            obj.lts_latest = v\n          }\n        }\n\n        // The newest supported release\n        if (!obj.current || semver.gt(ver.version, obj.current.version)) {\n          obj.current = v\n        }\n      }\n    }\n\n    // All versions get added to all\n    obj.all.push(v)\n\n    // Add specific version references\n    obj[v.version] = obj[`v${v.version}`] = v\n\n    return obj\n  }, {\n    all: []\n  })\n\n  // Add composite aliases\n  ;[\n    ['supported', supported],\n    ['active', active],\n    ['lts_active', ltsActive],\n    ['lts', lts]\n  ].forEach(([alias, vers]) => {\n    aliases[alias] = Object.values(vers)\n  })\n\n  // nvm --lts='lts/*'\n  aliases['lts/*'] = aliases.lts_latest\n\n  // nvm 'node'\n  aliases.node = aliases.current\n\n  // Deprecated maintained alias\n  let deprecationShown = false\n  Object.defineProperty(aliases, 'maintained', {\n    get: () => {\n      if (!deprecationShown) {\n        deprecationShown = true\n        console.warn(new Error('maintained is deprecated, use supported'))\n      }\n      return Object.values(supported)\n    }\n  })\n\n  return aliases\n}\n\nfunction splitVersion (ver) {\n  const [, major, minor, patch, tag] = /^v([0-9]*)\\.([0-9]*)\\.([0-9]*)(?:-([0-9A-Za-z-_]+))?/.exec(ver).map((n, i) => i < 4 ? parseInt(n, 10) : n || '')\n  return { major, minor, patch, tag }\n}\n"]}