X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs16/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs16
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
??
..
??
access.js
(5.45 KB)
??
adduser.js
(2.2 KB)
??
audit.js
(11.95 KB)
??
bin.js
(729 B)
??
birthday.js
(508 B)
??
bugs.js
(815 B)
??
cache.js
(7.08 KB)
??
ci.js
(3.63 KB)
??
completion.js
(8.91 KB)
??
config.js
(8.11 KB)
??
dedupe.js
(1.37 KB)
??
deprecate.js
(2.06 KB)
??
diff.js
(8.1 KB)
??
dist-tag.js
(5.47 KB)
??
docs.js
(447 B)
??
doctor.js
(9.22 KB)
??
edit.js
(2 KB)
??
exec.js
(2.44 KB)
??
explain.js
(3.55 KB)
??
explore.js
(2.33 KB)
??
find-dupes.js
(602 B)
??
fund.js
(6.37 KB)
??
get.js
(524 B)
??
help-search.js
(5.62 KB)
??
help.js
(4.53 KB)
??
hook.js
(3.93 KB)
??
init.js
(6.81 KB)
??
install-ci-test.js
(377 B)
??
install-test.js
(374 B)
??
install.js
(5.11 KB)
??
link.js
(5.02 KB)
??
ll.js
(234 B)
??
logout.js
(1.34 KB)
??
ls.js
(16.94 KB)
??
org.js
(4.2 KB)
??
outdated.js
(8.84 KB)
??
owner.js
(5.88 KB)
??
pack.js
(2.36 KB)
??
ping.js
(874 B)
??
pkg.js
(3.47 KB)
??
prefix.js
(343 B)
??
profile.js
(11.25 KB)
??
prune.js
(779 B)
??
publish.js
(6.33 KB)
??
query.js
(2.81 KB)
??
rebuild.js
(2.16 KB)
??
repo.js
(1.24 KB)
??
restart.js
(351 B)
??
root.js
(298 B)
??
run-script.js
(6.9 KB)
??
search.js
(2.72 KB)
??
set-script.js
(2.63 KB)
??
set.js
(572 B)
??
shrinkwrap.js
(2.64 KB)
??
star.js
(1.87 KB)
??
stars.js
(1.03 KB)
??
start.js
(341 B)
??
stop.js
(336 B)
??
team.js
(4.44 KB)
??
test.js
(336 B)
??
token.js
(6.79 KB)
??
uninstall.js
(1.52 KB)
??
unpublish.js
(4.51 KB)
??
unstar.js
(182 B)
??
update.js
(1.7 KB)
??
version.js
(3.6 KB)
??
view.js
(14.38 KB)
??
whoami.js
(514 B)
Editing: access.js
const path = require('path') const libaccess = require('libnpmaccess') const readPackageJson = require('read-package-json-fast') const otplease = require('../utils/otplease.js') const getIdentity = require('../utils/get-identity.js') const log = require('../utils/log-shim.js') const BaseCommand = require('../base-command.js') const subcommands = [ 'public', 'restricted', 'grant', 'revoke', 'ls-packages', 'ls-collaborators', 'edit', '2fa-required', '2fa-not-required', ] const deprecated = [ '2fa-not-required', '2fa-required', 'ls-collaborators', 'ls-packages', 'public', 'restricted', ] class Access extends BaseCommand { static description = 'Set access level on published packages' static name = 'access' static params = [ 'registry', 'otp', ] static ignoreImplicitWorkspace = true static usage = [ 'public [<package>]', 'restricted [<package>]', 'grant <read-only|read-write> <scope:team> [<package>]', 'revoke <scope:team> [<package>]', '2fa-required [<package>]', '2fa-not-required [<package>]', 'ls-packages [<user>|<scope>|<scope:team>]', 'ls-collaborators [<package> [<user>]]', 'edit [<package>]', ] async completion (opts) { const argv = opts.conf.argv.remain if (argv.length === 2) { return subcommands } switch (argv[2]) { case 'grant': if (argv.length === 3) { return ['read-only', 'read-write'] } else { return [] } case 'public': case 'restricted': case 'ls-packages': case 'ls-collaborators': case 'edit': case '2fa-required': case '2fa-not-required': case 'revoke': return [] default: throw new Error(argv[2] + ' not recognized') } } async exec ([cmd, ...args]) { if (!cmd) { throw this.usageError('Subcommand is required.') } if (!subcommands.includes(cmd) || !this[cmd]) { throw this.usageError(`${cmd} is not a recognized subcommand.`) } if (deprecated.includes(cmd)) { log.warn('access', `${cmd} subcommand will be removed in the next version of npm`) } return this[cmd](args, { ...this.npm.flatOptions, }) } public ([pkg], opts) { return this.modifyPackage(pkg, opts, libaccess.public) } restricted ([pkg], opts) { return this.modifyPackage(pkg, opts, libaccess.restricted) } async grant ([perms, scopeteam, pkg], opts) { if (!perms || (perms !== 'read-only' && perms !== 'read-write')) { throw this.usageError('First argument must be either `read-only` or `read-write`.') } if (!scopeteam) { throw this.usageError('`<scope:team>` argument is required.') } const [, scope, team] = scopeteam.match(/^@?([^:]+):(.*)$/) || [] if (!scope && !team) { throw this.usageError( 'Second argument used incorrect format.\n' + 'Example: @example:developers' ) } return this.modifyPackage(pkg, opts, (pkgName, opts) => libaccess.grant(pkgName, scopeteam, perms, opts), false) } async revoke ([scopeteam, pkg], opts) { if (!scopeteam) { throw this.usageError('`<scope:team>` argument is required.') } const [, scope, team] = scopeteam.match(/^@?([^:]+):(.*)$/) || [] if (!scope || !team) { throw this.usageError( 'First argument used incorrect format.\n' + 'Example: @example:developers' ) } return this.modifyPackage(pkg, opts, (pkgName, opts) => libaccess.revoke(pkgName, scopeteam, opts)) } get ['2fa-required'] () { return this.tfaRequired } tfaRequired ([pkg], opts) { return this.modifyPackage(pkg, opts, libaccess.tfaRequired, false) } get ['2fa-not-required'] () { return this.tfaNotRequired } tfaNotRequired ([pkg], opts) { return this.modifyPackage(pkg, opts, libaccess.tfaNotRequired, false) } get ['ls-packages'] () { return this.lsPackages } async lsPackages ([owner], opts) { if (!owner) { owner = await getIdentity(this.npm, opts) } const pkgs = await libaccess.lsPackages(owner, opts) // TODO - print these out nicely (breaking change) this.npm.output(JSON.stringify(pkgs, null, 2)) } get ['ls-collaborators'] () { return this.lsCollaborators } async lsCollaborators ([pkg, usr], opts) { const pkgName = await this.getPackage(pkg, false) const collabs = await libaccess.lsCollaborators(pkgName, usr, opts) // TODO - print these out nicely (breaking change) this.npm.output(JSON.stringify(collabs, null, 2)) } async edit () { throw new Error('edit subcommand is not implemented') } modifyPackage (pkg, opts, fn, requireScope = true) { return this.getPackage(pkg, requireScope) .then(pkgName => otplease(this.npm, opts, opts => fn(pkgName, opts))) } async getPackage (name, requireScope) { if (name && name.trim()) { return name.trim() } else { try { const pkg = await readPackageJson(path.resolve(this.npm.prefix, 'package.json')) name = pkg.name } catch (err) { if (err.code === 'ENOENT') { throw new Error( 'no package name passed to command and no package.json found' ) } else { throw err } } if (requireScope && !name.match(/^@[^/]+\/.*$/)) { throw this.usageError('This command is only available for scoped packages.') } else { return name } } } } module.exports = Access
Upload File
Create Folder