PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/alt/alt-nodejs10/root/lib/node_modules/npm/node_modules/package-json/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/alt/alt-nodejs10/root/lib/node_modules/npm/node_modules/package-json/index.js |
'use strict'; const url = require('url'); const got = require('got'); const registryUrl = require('registry-url'); const registryAuthToken = require('registry-auth-token'); const semver = require('semver'); module.exports = (name, opts) => { const scope = name.split('/')[0]; const regUrl = registryUrl(scope); const pkgUrl = url.resolve(regUrl, encodeURIComponent(name).replace(/^%40/, '@')); const authInfo = registryAuthToken(regUrl, {recursive: true}); opts = Object.assign({ version: 'latest' }, opts); const headers = { accept: 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*' }; if (opts.fullMetadata) { delete headers.accept; } if (authInfo) { headers.authorization = `${authInfo.type} ${authInfo.token}`; } return got(pkgUrl, {json: true, headers}) .then(res => { let data = res.body; let version = opts.version; if (opts.allVersions) { return data; } if (data['dist-tags'][version]) { data = data.versions[data['dist-tags'][version]]; } else if (version) { if (!data.versions[version]) { const versions = Object.keys(data.versions); version = semver.maxSatisfying(versions, version); if (!version) { throw new Error('Version doesn\'t exist'); } } data = data.versions[version]; if (!data) { throw new Error('Version doesn\'t exist'); } } return data; }) .catch(err => { if (err.statusCode === 404) { throw new Error(`Package \`${name}\` doesn't exist`); } throw err; }); };