X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs9/root/usr/lib/node_modules/npm/lib
opt
/
alt
/
alt-nodejs9
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
??
..
??
access.js
(3.23 KB)
??
adduser.js
(1.28 KB)
??
auth
??
bin.js
(515 B)
??
bugs.js
(879 B)
??
build.js
(4.45 KB)
??
cache.js
(4.43 KB)
??
completion.js
(7.06 KB)
??
config
??
config.js
(7.22 KB)
??
dedupe.js
(4.83 KB)
??
deprecate.js
(1.41 KB)
??
dist-tag.js
(3.67 KB)
??
docs.js
(1.05 KB)
??
doctor
??
doctor.js
(3.97 KB)
??
edit.js
(985 B)
??
explore.js
(1.63 KB)
??
fetch-package-metadata.js
(3.8 KB)
??
fetch-package-metadata.md
(1.77 KB)
??
get.js
(235 B)
??
help-search.js
(5.65 KB)
??
help.js
(6.32 KB)
??
init.js
(1.26 KB)
??
install
??
install-test.js
(507 B)
??
install.js
(32.16 KB)
??
link.js
(5.56 KB)
??
logout.js
(1.1 KB)
??
ls.js
(15.83 KB)
??
npm.js
(13.3 KB)
??
outdated.js
(12.15 KB)
??
owner.js
(7.55 KB)
??
pack.js
(7.21 KB)
??
ping.js
(688 B)
??
prefix.js
(330 B)
??
profile.js
(10.61 KB)
??
prune.js
(2.14 KB)
??
publish.js
(6.1 KB)
??
rebuild.js
(2.09 KB)
??
repo.js
(1.45 KB)
??
restart.js
(64 B)
??
root.js
(316 B)
??
run-script.js
(5.18 KB)
??
search
??
search.js
(3.15 KB)
??
set.js
(276 B)
??
shrinkwrap.js
(7.76 KB)
??
star.js
(1.17 KB)
??
stars.js
(1.1 KB)
??
start.js
(62 B)
??
stop.js
(61 B)
??
substack.js
(509 B)
??
team.js
(1.41 KB)
??
test.js
(324 B)
??
token.js
(6.2 KB)
??
unbuild.js
(4.11 KB)
??
uninstall.js
(2.22 KB)
??
unpublish.js
(3.55 KB)
??
update.js
(2.18 KB)
??
utils
??
version.js
(9.1 KB)
??
view.js
(9.26 KB)
??
visnup.js
(4.01 KB)
??
whoami.js
(1.42 KB)
??
xmas.js
(1.57 KB)
Editing: pack.js
'use strict' // npm pack <pkg> // Packs the specified package into a .tgz file, which can then // be installed. const BB = require('bluebird') const cacache = require('cacache') const cp = require('child_process') const deprCheck = require('./utils/depr-check') const fpm = require('./fetch-package-metadata') const fs = require('graceful-fs') const install = require('./install') const lifecycle = BB.promisify(require('./utils/lifecycle')) const log = require('npmlog') const move = require('move-concurrently') const npm = require('./npm') const output = require('./utils/output') const pacote = require('pacote') const pacoteOpts = require('./config/pacote') const path = require('path') const PassThrough = require('stream').PassThrough const pathIsInside = require('path-is-inside') const pipe = BB.promisify(require('mississippi').pipe) const prepublishWarning = require('./utils/warn-deprecated')('prepublish-on-install') const pinflight = require('promise-inflight') const readJson = BB.promisify(require('read-package-json')) const tar = require('tar') const packlist = require('npm-packlist') pack.usage = 'npm pack [[<@scope>/]<pkg>...]' // if it can be installed, it can be packed. pack.completion = install.completion module.exports = pack function pack (args, silent, cb) { const cwd = process.cwd() if (typeof cb !== 'function') { cb = silent silent = false } if (args.length === 0) args = ['.'] BB.all( args.map((arg) => pack_(arg, cwd)) ).then((files) => { if (!silent) { output(files.map((f) => path.relative(cwd, f)).join('\n')) } cb(null, files) }, cb) } // add to cache, then cp to the cwd function pack_ (pkg, dir) { return BB.fromNode((cb) => fpm(pkg, dir, cb)).then((mani) => { let name = mani.name[0] === '@' // scoped packages get special treatment ? mani.name.substr(1).replace(/\//g, '-') : mani.name const target = `${name}-${mani.version}.tgz` return pinflight(target, () => { if (mani._requested.type === 'directory') { return prepareDirectory(mani._resolved).then(() => { return packDirectory(mani, mani._resolved, target) }) } else { return pacote.tarball.toFile(pkg, target, pacoteOpts()) .then(() => target) } }) }) } module.exports.prepareDirectory = prepareDirectory function prepareDirectory (dir) { return readJson(path.join(dir, 'package.json')).then((pkg) => { if (!pkg.name) { throw new Error('package.json requires a "name" field') } if (!pkg.version) { throw new Error('package.json requires a valid "version" field') } if (!pathIsInside(dir, npm.tmp)) { if (pkg.scripts && pkg.scripts.prepublish) { prepublishWarning([ 'As of npm@5, `prepublish` scripts are deprecated.', 'Use `prepare` for build steps and `prepublishOnly` for upload-only.', 'See the deprecation note in `npm help scripts` for more information.' ]) } if (npm.config.get('ignore-prepublish')) { return lifecycle(pkg, 'prepare', dir).then(() => pkg) } else { return lifecycle(pkg, 'prepublish', dir).then(() => { return lifecycle(pkg, 'prepare', dir) }).then(() => pkg) } } return pkg }) } module.exports.packDirectory = packDirectory function packDirectory (mani, dir, target) { deprCheck(mani) return readJson(path.join(dir, 'package.json')).then((pkg) => { return lifecycle(pkg, 'prepack', dir) }).then(() => { return readJson(path.join(dir, 'package.json')) }).then((pkg) => { return cacache.tmp.withTmp(npm.tmp, {tmpPrefix: 'packing'}, (tmp) => { const tmpTarget = path.join(tmp, path.basename(target)) const tarOpt = { file: tmpTarget, cwd: dir, prefix: 'package/', portable: true, noMtime: true, gzip: true } return packlist({ path: dir }) // NOTE: node-tar does some Magic Stuff depending on prefixes for files // specifically with @ signs, so we just neutralize that one // and any such future "features" by prepending `./` .then((files) => tar.create(tarOpt, files.map((f) => `./${f}`))) .then(() => move(tmpTarget, target, {Promise: BB, fs})) .then(() => lifecycle(pkg, 'postpack', dir)) .then(() => target) }) }) } const PASSTHROUGH_OPTS = [ 'always-auth', 'auth-type', 'ca', 'cafile', 'cert', 'git', 'local-address', 'maxsockets', 'offline', 'prefer-offline', 'prefer-online', 'proxy', 'https-proxy', 'registry', 'send-metrics', 'sso-poll-frequency', 'sso-type', 'strict-ssl' ] module.exports.packGitDep = packGitDep function packGitDep (manifest, dir) { const stream = new PassThrough() readJson(path.join(dir, 'package.json')).then((pkg) => { if (pkg.scripts && pkg.scripts.prepare) { log.verbose('prepareGitDep', `${manifest._spec}: installing devDeps and running prepare script.`) const cliArgs = PASSTHROUGH_OPTS.reduce((acc, opt) => { if (npm.config.get(opt, 'cli') != null) { acc.push(`--${opt}=${npm.config.get(opt)}`) } return acc }, []) const child = cp.spawn(process.env.NODE || process.execPath, [ require.main.filename, 'install', '--dev', '--prod', '--ignore-prepublish', '--no-progress', '--no-save' ].concat(cliArgs), { cwd: dir, env: process.env }) let errData = [] let errDataLen = 0 let outData = [] let outDataLen = 0 child.stdout.on('data', (data) => { outData.push(data) outDataLen += data.length log.gauge.pulse('preparing git package') }) child.stderr.on('data', (data) => { errData.push(data) errDataLen += data.length log.gauge.pulse('preparing git package') }) return BB.fromNode((cb) => { child.on('error', cb) child.on('exit', (code, signal) => { if (code > 0) { const err = new Error(`${signal}: npm exited with code ${code} while attempting to build ${manifest._requested}. Clone the repository manually and run 'npm install' in it for more information.`) err.code = code err.signal = signal cb(err) } else { cb() } }) }).then(() => { if (outDataLen > 0) log.silly('prepareGitDep', '1>', Buffer.concat(outData, outDataLen).toString()) if (errDataLen > 0) log.silly('prepareGitDep', '2>', Buffer.concat(errData, errDataLen).toString()) }, (err) => { if (outDataLen > 0) log.error('prepareGitDep', '1>', Buffer.concat(outData, outDataLen).toString()) if (errDataLen > 0) log.error('prepareGitDep', '2>', Buffer.concat(errData, errDataLen).toString()) throw err }) } }).then(() => { return readJson(path.join(dir, 'package.json')) }).then((pkg) => { return cacache.tmp.withTmp(npm.tmp, { tmpPrefix: 'pacote-packing' }, (tmp) => { const tmpTar = path.join(tmp, 'package.tgz') return packDirectory(manifest, dir, tmpTar).then(() => { return pipe(fs.createReadStream(tmpTar), stream) }) }) }).catch((err) => stream.emit('error', err)) return stream }
Upload File
Create Folder