X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs11/root/usr/lib/node_modules/npm/lib
opt
/
alt
/
alt-nodejs11
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
ðŸ“
..
📄
access.js
(5.53 KB)
📄
adduser.js
(1.29 KB)
📄
audit.js
(10.43 KB)
ðŸ“
auth
📄
bin.js
(515 B)
📄
bugs.js
(864 B)
📄
build.js
(4.44 KB)
📄
cache.js
(4.66 KB)
📄
ci.js
(471 B)
📄
completion.js
(7.11 KB)
ðŸ“
config
📄
config.js
(7.42 KB)
📄
dedupe.js
(4.88 KB)
📄
deprecate.js
(2.11 KB)
📄
dist-tag.js
(4.09 KB)
📄
docs.js
(1.04 KB)
ðŸ“
doctor
📄
doctor.js
(3.97 KB)
📄
edit.js
(1.37 KB)
📄
explore.js
(1.63 KB)
📄
fetch-package-metadata.js
(3.81 KB)
📄
fetch-package-metadata.md
(1.77 KB)
📄
get.js
(235 B)
📄
help-search.js
(5.64 KB)
📄
help.js
(6.33 KB)
📄
hook.js
(4.21 KB)
📄
init.js
(2.74 KB)
ðŸ“
install
📄
install-ci-test.js
(486 B)
📄
install-test.js
(507 B)
📄
install.js
(34.75 KB)
📄
link.js
(5.6 KB)
📄
logout.js
(1.26 KB)
📄
ls.js
(15.79 KB)
📄
npm.js
(12.89 KB)
📄
org.js
(4.18 KB)
📄
outdated.js
(11.73 KB)
📄
owner.js
(6.6 KB)
📄
pack.js
(11.72 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
(316 B)
📄
run-script.js
(5.4 KB)
ðŸ“
search
📄
search.js
(3.36 KB)
📄
set.js
(276 B)
📄
shrinkwrap.js
(9 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.54 KB)
📄
test.js
(374 B)
📄
token.js
(6.84 KB)
📄
unbuild.js
(4.11 KB)
📄
uninstall.js
(2.21 KB)
📄
unpublish.js
(3.44 KB)
📄
update.js
(2.19 KB)
ðŸ“
utils
📄
version.js
(9.5 KB)
📄
view.js
(15.06 KB)
📄
visnup.js
(4.01 KB)
📄
whoami.js
(1.77 KB)
📄
xmas.js
(1.58 KB)
Editing: publish.js
'use strict' const BB = require('bluebird') const cacache = require('cacache') const figgyPudding = require('figgy-pudding') const libpub = require('libnpm/publish') const libunpub = require('libnpm/unpublish') const lifecycle = BB.promisify(require('./utils/lifecycle.js')) const log = require('npmlog') const npa = require('libnpm/parse-arg') const npmConfig = require('./config/figgy-config.js') const output = require('./utils/output.js') const otplease = require('./utils/otplease.js') const pack = require('./pack') const { tarball, extract } = require('libnpm') const path = require('path') const readFileAsync = BB.promisify(require('graceful-fs').readFile) const readJson = BB.promisify(require('read-package-json')) const semver = require('semver') const statAsync = BB.promisify(require('graceful-fs').stat) publish.usage = 'npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--dry-run]' + "\n\nPublishes '.' if no argument supplied" + '\n\nSets tag `latest` if no --tag specified' publish.completion = function (opts, cb) { // publish can complete to a folder with a package.json // or a tarball, or a tarball url. // for now, not yet implemented. return cb() } const PublishConfig = figgyPudding({ dryRun: 'dry-run', 'dry-run': { default: false }, force: { default: false }, json: { default: false }, Promise: { default: () => Promise }, tag: { default: 'latest' }, tmp: {} }) module.exports = publish function publish (args, isRetry, cb) { if (typeof cb !== 'function') { cb = isRetry isRetry = false } if (args.length === 0) args = ['.'] if (args.length !== 1) return cb(publish.usage) log.verbose('publish', args) const opts = PublishConfig(npmConfig()) const t = opts.tag.trim() if (semver.validRange(t)) { return cb(new Error('Tag name must not be a valid SemVer range: ' + t)) } return publish_(args[0], opts) .then((tarball) => { const silent = log.level === 'silent' if (!silent && opts.json) { output(JSON.stringify(tarball, null, 2)) } else if (!silent) { output(`+ ${tarball.id}`) } }) .nodeify(cb) } function publish_ (arg, opts) { return statAsync(arg).then((stat) => { if (stat.isDirectory()) { return stat } else { const err = new Error('not a directory') err.code = 'ENOTDIR' throw err } }).then(() => { return publishFromDirectory(arg, opts) }, (err) => { if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') { throw err } else { return publishFromPackage(arg, opts) } }) } function publishFromDirectory (arg, opts) { // All this readJson is because any of the given scripts might modify the // package.json in question, so we need to refresh after every step. let contents return pack.prepareDirectory(arg).then(() => { return readJson(path.join(arg, 'package.json')) }).then((pkg) => { return lifecycle(pkg, 'prepublishOnly', arg) }).then(() => { return readJson(path.join(arg, 'package.json')) }).then((pkg) => { return cacache.tmp.withTmp(opts.tmp, {tmpPrefix: 'fromDir'}, (tmpDir) => { const target = path.join(tmpDir, 'package.tgz') return pack.packDirectory(pkg, arg, target, null, true) .tap((c) => { contents = c }) .then((c) => !opts.json && pack.logContents(c)) .then(() => upload(pkg, false, target, opts)) }) }).then(() => { return readJson(path.join(arg, 'package.json')) }).tap((pkg) => { return lifecycle(pkg, 'publish', arg) }).tap((pkg) => { return lifecycle(pkg, 'postpublish', arg) }) .then(() => contents) } function publishFromPackage (arg, opts) { return cacache.tmp.withTmp(opts.tmp, {tmpPrefix: 'fromPackage'}, tmp => { const extracted = path.join(tmp, 'package') const target = path.join(tmp, 'package.json') return tarball.toFile(arg, target, opts) .then(() => extract(arg, extracted, opts)) .then(() => readJson(path.join(extracted, 'package.json'))) .then((pkg) => { return BB.resolve(pack.getContents(pkg, target)) .tap((c) => !opts.json && pack.logContents(c)) .tap(() => upload(pkg, false, target, opts)) }) }) } function upload (pkg, isRetry, cached, opts) { if (!opts.dryRun) { return readFileAsync(cached).then(tarball => { return otplease(opts, opts => { return libpub(pkg, tarball, opts) }).catch(err => { if ( err.code === 'EPUBLISHCONFLICT' && opts.force && !isRetry ) { log.warn('publish', 'Forced publish over ' + pkg._id) return otplease(opts, opts => libunpub( npa.resolve(pkg.name, pkg.version), opts )).finally(() => { // ignore errors. Use the force. Reach out with your feelings. return otplease(opts, opts => { return upload(pkg, true, tarball, opts) }).catch(() => { // but if it fails again, then report the first error. throw err }) }) } else { throw err } }) }) } else { return opts.Promise.resolve(true) } }
Upload File
Create Folder