Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
node_modules /
npm /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
auth
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
config
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
doctor
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
install
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
search
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
utils
[ DIR ]
drwxr-xr-x
2024-03-12 22:00
access.js
5.54
KB
-rw-r--r--
2023-02-16 16:16
adduser.js
1.31
KB
-rw-r--r--
2023-02-16 16:16
audit.js
10.56
KB
-rw-r--r--
2023-02-16 16:16
bin.js
515
B
-rw-r--r--
2023-02-16 16:16
bugs.js
864
B
-rw-r--r--
2023-02-16 16:16
build.js
4.44
KB
-rw-r--r--
2023-02-16 16:16
cache.js
4.66
KB
-rw-r--r--
2023-02-16 16:16
ci.js
1.31
KB
-rw-r--r--
2023-02-16 16:16
completion.js
7.11
KB
-rw-r--r--
2023-02-16 16:16
config.js
7.43
KB
-rw-r--r--
2023-02-16 16:16
dedupe.js
4.88
KB
-rw-r--r--
2023-02-16 16:16
deprecate.js
2.11
KB
-rw-r--r--
2023-02-16 16:16
dist-tag.js
4.11
KB
-rw-r--r--
2023-02-16 16:16
docs.js
1.04
KB
-rw-r--r--
2023-02-16 16:16
doctor.js
3.98
KB
-rw-r--r--
2023-02-16 16:16
edit.js
1.37
KB
-rw-r--r--
2023-02-16 16:16
explore.js
1.67
KB
-rw-r--r--
2023-02-16 16:16
fetch-package-metadata.js
3.97
KB
-rw-r--r--
2023-02-16 16:16
fund.js
4.91
KB
-rw-r--r--
2023-02-16 16:16
get.js
235
B
-rw-r--r--
2023-02-16 16:16
help-search.js
5.64
KB
-rw-r--r--
2023-02-16 16:16
help.js
6.35
KB
-rw-r--r--
2023-02-16 16:16
hook.js
4.62
KB
-rw-r--r--
2023-02-16 16:16
init.js
2.74
KB
-rw-r--r--
2023-02-16 16:16
install-ci-test.js
486
B
-rw-r--r--
2023-02-16 16:16
install-test.js
507
B
-rw-r--r--
2023-02-16 16:16
install.js
36.47
KB
-rw-r--r--
2023-02-16 16:16
link.js
5.6
KB
-rw-r--r--
2023-02-16 16:16
logout.js
1.26
KB
-rw-r--r--
2023-02-16 16:16
ls.js
16.09
KB
-rw-r--r--
2023-02-16 16:16
npm.js
14.37
KB
-rw-r--r--
2023-02-16 16:16
org.js
4.18
KB
-rw-r--r--
2023-02-16 16:16
outdated.js
12.28
KB
-rw-r--r--
2023-02-16 16:16
owner.js
6.6
KB
-rw-r--r--
2023-02-16 16:16
pack.js
11.79
KB
-rw-r--r--
2023-02-16 16:16
ping.js
1.11
KB
-rw-r--r--
2023-02-16 16:16
prefix.js
330
B
-rw-r--r--
2023-02-16 16:16
profile.js
11.08
KB
-rw-r--r--
2023-02-16 16:16
prune.js
2.23
KB
-rw-r--r--
2023-02-16 16:16
publish.js
5.14
KB
-rw-r--r--
2023-02-16 16:16
rebuild.js
2.09
KB
-rw-r--r--
2023-02-16 16:16
repo.js
1.44
KB
-rw-r--r--
2023-02-16 16:16
restart.js
64
B
-rw-r--r--
2023-02-16 16:16
root.js
320
B
-rw-r--r--
2023-02-16 16:16
run-script.js
5.41
KB
-rw-r--r--
2023-02-16 16:16
search.js
3.36
KB
-rw-r--r--
2023-02-16 16:16
set.js
276
B
-rw-r--r--
2023-02-16 16:16
shrinkwrap.js
9.82
KB
-rw-r--r--
2023-02-16 16:16
star.js
2.11
KB
-rw-r--r--
2023-02-16 16:16
stars.js
1.03
KB
-rw-r--r--
2023-02-16 16:16
start.js
62
B
-rw-r--r--
2023-02-16 16:16
stop.js
61
B
-rw-r--r--
2023-02-16 16:16
substack.js
509
B
-rw-r--r--
2023-02-16 16:16
team.js
4.61
KB
-rw-r--r--
2023-02-16 16:16
test.js
374
B
-rw-r--r--
2023-02-16 16:16
token.js
6.66
KB
-rw-r--r--
2023-02-16 16:16
unbuild.js
4.27
KB
-rw-r--r--
2023-02-16 16:16
uninstall.js
2.21
KB
-rw-r--r--
2023-02-16 16:16
unpublish.js
3.51
KB
-rw-r--r--
2023-02-16 16:16
update.js
2.16
KB
-rw-r--r--
2023-02-16 16:16
version.js
9.79
KB
-rw-r--r--
2023-02-16 16:16
view.js
15.11
KB
-rw-r--r--
2023-02-16 16:16
visnup.js
4.01
KB
-rw-r--r--
2023-02-16 16:16
whoami.js
1.77
KB
-rw-r--r--
2023-02-16 16:16
xmas.js
1.62
KB
-rw-r--r--
2023-02-16 16:16
Save
Rename
'use strict' const figgyPudding = require('figgy-pudding') const liborg = require('libnpm/org') const npmConfig = require('./config/figgy-config.js') const output = require('./utils/output.js') const otplease = require('./utils/otplease.js') const Table = require('cli-table3') module.exports = org org.subcommands = ['set', 'rm', 'ls'] org.usage = 'npm org set orgname username [developer | admin | owner]\n' + 'npm org rm orgname username\n' + 'npm org ls orgname [<username>]' const OrgConfig = figgyPudding({ json: {}, loglevel: {}, parseable: {}, silent: {} }) org.completion = function (opts, cb) { var argv = opts.conf.argv.remain if (argv.length === 2) { return cb(null, org.subcommands) } switch (argv[2]) { case 'ls': case 'add': case 'rm': case 'set': return cb(null, []) default: return cb(new Error(argv[2] + ' not recognized')) } } function UsageError () { throw Object.assign(new Error(org.usage), {code: 'EUSAGE'}) } function org ([cmd, orgname, username, role], cb) { otplease(npmConfig(), opts => { opts = OrgConfig(opts) switch (cmd) { case 'add': case 'set': return orgSet(orgname, username, role, opts) case 'rm': return orgRm(orgname, username, opts) case 'ls': return orgList(orgname, username, opts) default: UsageError() } }).then( x => cb(null, x), err => cb(err.code === 'EUSAGE' ? err.message : err) ) } function orgSet (org, user, role, opts) { role = role || 'developer' if (!org) { throw new Error('First argument `orgname` is required.') } if (!user) { throw new Error('Second argument `username` is required.') } if (!['owner', 'admin', 'developer'].find(x => x === role)) { throw new Error('Third argument `role` must be one of `owner`, `admin`, or `developer`, with `developer` being the default value if omitted.') } return liborg.set(org, user, role, opts).then(memDeets => { if (opts.json) { output(JSON.stringify(memDeets, null, 2)) } else if (opts.parseable) { output(['org', 'orgsize', 'user', 'role'].join('\t')) output([ memDeets.org.name, memDeets.org.size, memDeets.user, memDeets.role ]) } else if (!opts.silent && opts.loglevel !== 'silent') { output(`Added ${memDeets.user} as ${memDeets.role} to ${memDeets.org.name}. You now ${memDeets.org.size} member${memDeets.org.size === 1 ? '' : 's'} in this org.`) } return memDeets }) } function orgRm (org, user, opts) { if (!org) { throw new Error('First argument `orgname` is required.') } if (!user) { throw new Error('Second argument `username` is required.') } return liborg.rm(org, user, opts).then(() => { return liborg.ls(org, opts) }).then(roster => { user = user.replace(/^[~@]?/, '') org = org.replace(/^[~@]?/, '') const userCount = Object.keys(roster).length if (opts.json) { output(JSON.stringify({ user, org, userCount, deleted: true })) } else if (opts.parseable) { output(['user', 'org', 'userCount', 'deleted'].join('\t')) output([user, org, userCount, true].join('\t')) } else if (!opts.silent && opts.loglevel !== 'silent') { output(`Successfully removed ${user} from ${org}. You now have ${userCount} member${userCount === 1 ? '' : 's'} in this org.`) } }) } function orgList (org, user, opts) { if (!org) { throw new Error('First argument `orgname` is required.') } return liborg.ls(org, opts).then(roster => { if (user) { const newRoster = {} if (roster[user]) { newRoster[user] = roster[user] } roster = newRoster } if (opts.json) { output(JSON.stringify(roster, null, 2)) } else if (opts.parseable) { output(['user', 'role'].join('\t')) Object.keys(roster).forEach(user => { output([user, roster[user]].join('\t')) }) } else if (!opts.silent && opts.loglevel !== 'silent') { const table = new Table({head: ['user', 'role']}) Object.keys(roster).sort().forEach(user => { table.push([user, roster[user]]) }) output(table.toString()) } }) }