X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs19/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs19
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
ðŸ“
..
📄
access.js
(6.08 KB)
📄
adduser.js
(1.32 KB)
📄
audit.js
(13.86 KB)
📄
bugs.js
(815 B)
📄
cache.js
(7.07 KB)
📄
ci.js
(3.51 KB)
📄
completion.js
(8.73 KB)
📄
config.js
(10.04 KB)
📄
dedupe.js
(1.4 KB)
📄
deprecate.js
(2.03 KB)
📄
diff.js
(8.12 KB)
📄
dist-tag.js
(5.45 KB)
📄
docs.js
(447 B)
📄
doctor.js
(11.51 KB)
📄
edit.js
(2 KB)
📄
exec.js
(2.54 KB)
📄
explain.js
(3.55 KB)
📄
explore.js
(2.3 KB)
📄
find-dupes.js
(622 B)
📄
fund.js
(6.51 KB)
📄
get.js
(524 B)
📄
help-search.js
(5.49 KB)
📄
help.js
(3.54 KB)
📄
hook.js
(3.77 KB)
📄
init.js
(6.9 KB)
📄
install-ci-test.js
(373 B)
📄
install-test.js
(370 B)
📄
install.js
(5.11 KB)
📄
link.js
(5.15 KB)
📄
ll.js
(234 B)
📄
login.js
(1.32 KB)
📄
logout.js
(1.3 KB)
📄
ls.js
(16.73 KB)
📄
org.js
(4.14 KB)
📄
outdated.js
(8.76 KB)
📄
owner.js
(5.91 KB)
📄
pack.js
(2.37 KB)
📄
ping.js
(917 B)
📄
pkg.js
(3.5 KB)
📄
prefix.js
(303 B)
📄
profile.js
(11.19 KB)
📄
prune.js
(779 B)
📄
publish.js
(6.5 KB)
📄
query.js
(2.9 KB)
📄
rebuild.js
(2.14 KB)
📄
repo.js
(1.24 KB)
📄
restart.js
(310 B)
📄
root.js
(258 B)
📄
run-script.js
(6.81 KB)
📄
search.js
(2.68 KB)
📄
set.js
(572 B)
📄
shrinkwrap.js
(2.64 KB)
📄
star.js
(1.87 KB)
📄
stars.js
(1.03 KB)
📄
start.js
(300 B)
📄
stop.js
(295 B)
📄
team.js
(4.44 KB)
📄
test.js
(295 B)
📄
token.js
(6.64 KB)
📄
uninstall.js
(1.51 KB)
📄
unpublish.js
(4.54 KB)
📄
unstar.js
(182 B)
📄
update.js
(1.71 KB)
📄
version.js
(3.58 KB)
📄
view.js
(14.38 KB)
📄
whoami.js
(474 B)
Editing: team.js
const columns = require('cli-columns') const libteam = require('libnpmteam') const otplease = require('../utils/otplease.js') const BaseCommand = require('../base-command.js') class Team extends BaseCommand { static description = 'Manage organization teams and team memberships' static name = 'team' static usage = [ 'create <scope:team> [--otp <otpcode>]', 'destroy <scope:team> [--otp <otpcode>]', 'add <scope:team> <user> [--otp <otpcode>]', 'rm <scope:team> <user> [--otp <otpcode>]', 'ls <scope>|<scope:team>', ] static params = [ 'registry', 'otp', 'parseable', 'json', ] static ignoreImplicitWorkspace = false async completion (opts) { const { conf: { argv: { remain: argv } } } = opts const subcommands = ['create', 'destroy', 'add', 'rm', 'ls'] if (argv.length === 2) { return subcommands } if (subcommands.includes(argv[2])) { return [] } throw new Error(argv[2] + ' not recognized') } async exec ([cmd, entity = '', user = '']) { // Entities are in the format <scope>:<team> // XXX: "description" option to libnpmteam is used as a description of the // team, but in npm's options, this is a boolean meaning "show the // description in npm search output". Hence its being set to null here. await otplease(this.npm, { ...this.npm.flatOptions }, opts => { entity = entity.replace(/^@/, '') switch (cmd) { case 'create': return this.create(entity, opts) case 'destroy': return this.destroy(entity, opts) case 'add': return this.add(entity, user, opts) case 'rm': return this.rm(entity, user, opts) case 'ls': { const match = entity.match(/[^:]+:.+/) if (match) { return this.listUsers(entity, opts) } else { return this.listTeams(entity, opts) } } default: throw this.usageError() } }) } async create (entity, opts) { await libteam.create(entity, opts) if (opts.json) { this.npm.output(JSON.stringify({ created: true, team: entity, })) } else if (opts.parseable) { this.npm.output(`${entity}\tcreated`) } else if (!this.npm.silent) { this.npm.output(`+@${entity}`) } } async destroy (entity, opts) { await libteam.destroy(entity, opts) if (opts.json) { this.npm.output(JSON.stringify({ deleted: true, team: entity, })) } else if (opts.parseable) { this.npm.output(`${entity}\tdeleted`) } else if (!this.npm.silent) { this.npm.output(`-@${entity}`) } } async add (entity, user, opts) { await libteam.add(user, entity, opts) if (opts.json) { this.npm.output(JSON.stringify({ added: true, team: entity, user, })) } else if (opts.parseable) { this.npm.output(`${user}\t${entity}\tadded`) } else if (!this.npm.silent) { this.npm.output(`${user} added to @${entity}`) } } async rm (entity, user, opts) { await libteam.rm(user, entity, opts) if (opts.json) { this.npm.output(JSON.stringify({ removed: true, team: entity, user, })) } else if (opts.parseable) { this.npm.output(`${user}\t${entity}\tremoved`) } else if (!this.npm.silent) { this.npm.output(`${user} removed from @${entity}`) } } async listUsers (entity, opts) { const users = (await libteam.lsUsers(entity, opts)).sort() if (opts.json) { this.npm.output(JSON.stringify(users, null, 2)) } else if (opts.parseable) { this.npm.output(users.join('\n')) } else if (!this.npm.silent) { const plural = users.length === 1 ? '' : 's' const more = users.length === 0 ? '' : ':\n' this.npm.output(`\n@${entity} has ${users.length} user${plural}${more}`) this.npm.output(columns(users, { padding: 1 })) } } async listTeams (entity, opts) { const teams = (await libteam.lsTeams(entity, opts)).sort() if (opts.json) { this.npm.output(JSON.stringify(teams, null, 2)) } else if (opts.parseable) { this.npm.output(teams.join('\n')) } else if (!this.npm.silent) { const plural = teams.length === 1 ? '' : 's' const more = teams.length === 0 ? '' : ':\n' this.npm.output(`\n@${entity} has ${teams.length} team${plural}${more}`) this.npm.output(columns(teams.map(t => `@${t}`), { padding: 1 })) } } } module.exports = Team
Upload File
Create Folder