X7ROOT File Manager
Current Path:
/lib/node_modules/npm/lib
lib
/
node_modules
/
npm
/
lib
/
??
..
??
access.js
(5.54 KB)
??
adduser.js
(1.31 KB)
??
audit.js
(10.56 KB)
??
auth
??
bin.js
(515 B)
??
bugs.js
(864 B)
??
build.js
(4.44 KB)
??
cache.js
(4.66 KB)
??
ci.js
(1.31 KB)
??
completion.js
(7.11 KB)
??
config
??
config.js
(7.43 KB)
??
dedupe.js
(4.88 KB)
??
deprecate.js
(2.11 KB)
??
dist-tag.js
(4.11 KB)
??
docs.js
(1.04 KB)
??
doctor
??
doctor.js
(3.98 KB)
??
edit.js
(1.37 KB)
??
explore.js
(1.67 KB)
??
fetch-package-metadata.js
(3.97 KB)
??
fetch-package-metadata.md
(1.77 KB)
??
fund.js
(4.91 KB)
??
get.js
(235 B)
??
help-search.js
(5.64 KB)
??
help.js
(6.35 KB)
??
hook.js
(4.62 KB)
??
init.js
(2.74 KB)
??
install
??
install-ci-test.js
(486 B)
??
install-test.js
(507 B)
??
install.js
(36.47 KB)
??
link.js
(5.6 KB)
??
logout.js
(1.26 KB)
??
ls.js
(16.09 KB)
??
npm.js
(14.37 KB)
??
org.js
(4.18 KB)
??
outdated.js
(12.28 KB)
??
owner.js
(6.6 KB)
??
pack.js
(11.79 KB)
??
ping.js
(1.11 KB)
??
prefix.js
(330 B)
??
profile.js
(11.13 KB)
??
prune.js
(2.23 KB)
??
publish.js
(5.14 KB)
??
rebuild.js
(2.09 KB)
??
repo.js
(1.44 KB)
??
restart.js
(64 B)
??
root.js
(320 B)
??
run-script.js
(5.41 KB)
??
search
??
search.js
(3.36 KB)
??
set.js
(276 B)
??
shrinkwrap.js
(9.82 KB)
??
star.js
(2.11 KB)
??
stars.js
(1.03 KB)
??
start.js
(62 B)
??
stop.js
(61 B)
??
substack.js
(509 B)
??
team.js
(4.61 KB)
??
test.js
(374 B)
??
token.js
(6.66 KB)
??
unbuild.js
(4.27 KB)
??
uninstall.js
(2.21 KB)
??
unpublish.js
(3.51 KB)
??
update.js
(2.16 KB)
??
utils
??
version.js
(9.79 KB)
??
view.js
(15.11 KB)
??
visnup.js
(4.01 KB)
??
whoami.js
(1.77 KB)
??
xmas.js
(1.62 KB)
Editing: fetch-package-metadata.js
'use strict' const deprCheck = require('./utils/depr-check') const path = require('path') const log = require('npmlog') const pacote = require('pacote') const readPackageTree = require('read-package-tree') const rimraf = require('rimraf') const validate = require('aproba') const npa = require('npm-package-arg') const npm = require('./npm') let npmConfig const npmlog = require('npmlog') const limit = require('call-limit') const tempFilename = require('./utils/temp-filename.js') const replaceInfo = require('./utils/replace-info.js') const isWindows = require('./utils/is-windows.js') function andLogAndFinish (spec, tracker, done) { validate('SOF|SZF|OOF|OZF', [spec, tracker, done]) return (er, pkg) => { if (er) { er.message = replaceInfo(er.message) var spc = replaceInfo(String(spec)) log.silly('fetchPackageMetaData', 'error for ' + spc, er.message) if (tracker) tracker.finish() } return done(er, pkg) } } const LRUCache = require('lru-cache') const CACHE = new LRUCache({ max: 300 * 1024 * 1024, length: (p) => p._contentLength }) module.exports = limit(fetchPackageMetadata, npm.limit.fetch) function fetchPackageMetadata (spec, where, opts, done) { validate('SSOF|SSFZ|OSOF|OSFZ', [spec, where, opts, done]) if (!done) { done = opts opts = {} } var tracker = opts.tracker const logAndFinish = andLogAndFinish(spec, tracker, done) if (typeof spec === 'object') { var dep = spec } else { dep = npa(spec) } if (!isWindows && dep.type === 'directory' && /^[a-zA-Z]:/.test(dep.fetchSpec)) { var err = new Error(`Can't install from windows path on a non-windows system: ${dep.fetchSpec.replace(/[/]/g, '\\')}`) err.code = 'EWINDOWSPATH' return logAndFinish(err) } if (!npmConfig) { npmConfig = require('./config/figgy-config.js') } pacote.manifest(dep, npmConfig({ annotate: true, fullMetadata: opts.fullMetadata, log: tracker || npmlog, memoize: CACHE, where: where })).then( (pkg) => logAndFinish(null, deprCheck(pkg)), (err) => { if (dep.type !== 'directory') return logAndFinish(err) if (err.code === 'ENOTDIR') { var enolocal = new Error(`Could not install "${path.relative(process.cwd(), dep.fetchSpec)}" as it is not a directory and is not a file with a name ending in .tgz, .tar.gz or .tar`) enolocal.code = 'ENOLOCAL' if (err.stack) enolocal.stack = err.stack return logAndFinish(enolocal) } else if (err.code === 'ENOPACKAGEJSON') { var enopackage = new Error(`Could not install from "${path.relative(process.cwd(), dep.fetchSpec)}" as it does not contain a package.json file.`) enopackage.code = 'ENOLOCAL' if (err.stack) enopackage.stack = err.stack return logAndFinish(enopackage) } else { return logAndFinish(err) } } ) } module.exports.addBundled = addBundled function addBundled (pkg, next) { validate('OF', arguments) if (pkg._bundled !== undefined) return next(null, pkg) if (!pkg.bundleDependencies && pkg._requested.type !== 'directory') return next(null, pkg) const requested = pkg._requested || npa(pkg._from) if (requested.type === 'directory') { pkg._bundled = null return readPackageTree(pkg._requested.fetchSpec, function (er, tree) { if (tree) pkg._bundled = tree.children return next(null, pkg) }) } pkg._bundled = null const target = tempFilename('unpack') if (!npmConfig) { npmConfig = require('./config/figgy-config.js') } const opts = npmConfig({integrity: pkg._integrity}) pacote.extract(pkg._resolved || pkg._requested || npa.resolve(pkg.name, pkg.version), target, opts).then(() => { log.silly('addBundled', 'read tarball') readPackageTree(target, (err, tree) => { if (err) { return next(err) } log.silly('cleanup', 'remove extracted module') rimraf(target, function () { if (tree) { pkg._bundled = tree.children } next(null, pkg) }) }) }, next) }
Upload File
Create Folder