自由访问

libnpmaccess 是节点.js
提供 npm CLI 胆量的程序访问库 npm access 命令及其各种子命令。 这包括管理账户2FA,
列出软件包和权限,查看软件包合作者,并定义
用于用户、 orgs 和团队的软件包权限.
示例
const access = require('libnpmaccess')
// List all packages @zkat has access to on the npm registry.
console.log(Object.keys(await access.lsPackages('zkat')))
目录
安装
$ npm install libnpmaccess
捐款
Npm团队热情欢迎捐款和项目参与!! 如果你想出力,你们可以做很多事! 这个 贡献者 指南 拥有所有你需要的信息 从所有从 报告错误以贡献整个新特性。 请不要犹豫 如果你愿意,跳进去,甚至问我们问题 如果事情不明.
预计该项目的所有参与者和维护者将遵循 守则 行为,只是一般是 优于对方.
请参看 更改日志 还有项目历史细节.
黑客快乐!
API 密码
opts 页:1 libnpmaccess 命令
libnpmaccess 用途 npm-registry-fetch。 。 。 .
所有选项都直接传递到该库,所以请参考 联合国
拥有 opts
文档
对于可以传递的选项.
对于匆忙的人来说,有几种选择:
opts.token- 可作为登记处的认证标志。 关于其他通过认证细节的方式,请参见n-r-f文件.opts.otp- 某些行动需要检察官办公室的证明。 如果有的话libnpmaccess命令失败err.code === EOTP请重试请求{otp: <2fa token>}opts.Promise- 如果你把这个传过来, 承诺会回来的libnpmaccess命令将使用这个“承诺”类。 例如:{Promise: require('bluebird')}
> access.public(spec, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格.
制作软件包 spec 大众.
示例
await access.public('@foo/bar', {token: 'myregistrytoken'})
// `@foo/bar` is now public
> access.restricted(spec, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格.
制作软件包 spec 私人/受限制.
示例
await access.restricted('@foo/bar', {token: 'myregistrytoken'})
// `@foo/bar` is now private
> access.grant(spec, team, permissions, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格. team 必须是完全合格的团队名称,在 scope:team
格式,有或无 @ 前缀,且队伍必须是内部有效的队伍
范围. permissions 必须是其中之一 'read-only' 或者说 'read-write'。 。 。 .
赠款 read-only 或者说 read-write 给一个团队的某个软件包的权限.
示例
await access.grant('@foo/bar', '@foo:myteam', 'read-write', {
token: 'myregistrytoken'
})
// `@foo/bar` is now read/write enabled for the @foo:myteam team.
> access.revoke(spec, team, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格. team 必须是完全合格的团队名称,在 scope:team
格式,有或无 @ 前缀,且队伍必须是内部有效的队伍
范围. permissions 必须是其中之一 'read-only' 或者说 'read-write'。 。 。 .
从某个团队中删除对软件包的访问.
示例
await access.revoke('@foo/bar', '@foo:myteam', {
token: 'myregistrytoken'
})
// @foo:myteam can no longer access `@foo/bar`
> access.tfaRequired(spec, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格.
因此,发布或管理软件包需要使用 2FA 令牌 完成操作.
示例
await access.tfaRequires('lodash', {token: 'myregistrytoken'})
// Publishing or changing dist-tags on `lodash` now require OTP to be enabled.
> access.tfaNotRequired(spec, [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格.
禁用包级 2FA 要求 spec。请注意,你将需要
传入 otp 符号在 opts 为了完成这次行动.
示例
await access.tfaNotRequired('lodash', {otp: '123654', token: 'myregistrytoken'})
// Publishing or editing dist-tags on `lodash` no longer requires OTP to be
// enabled.
> access.lsPackages(entity, [opts]) -> Promise
entity 必须是有效的或用户名称,或完全合格的团队名称
输入 scope:team 格式,有或无 @ 前缀.
列出用户、 org 或团队可访问的软件包, 以及相应的 权限。 无法进入的软件包 列出.
为了消除用户和Orgs之间的矛盾,两个请求最终可能会是: 上市时使用.
关于这些结果的流出版本,见
access.lsPackages.stream()。 。 。 .
示例
await access.lsPackages('zkat', {
token: 'myregistrytoken'
})
// Lists all packages `@zkat` has access to on the registry, and the
// corresponding permissions.
> access.lsPackages.stream(scope, [team], [opts]) -> Stream
entity 必须是有效的或用户名称,或完全合格的团队名称
输入 scope:team 格式,有或无 @ 前缀.
流出用户、 org 或团队可以访问的软件包, 并有相应的
权限,每个流项格式化为 [packageName, permissions]。访问符没有访问权限的软件包将不会
列出.
为了消除用户和Orgs之间的矛盾,两个请求最终可能会是: 上市时使用.
返回的流是有效的 asyncIterator。 。 。 .
示例
for await (let [pkg, perm] of access.lsPackages.stream('zkat')) {
console.log('zkat has', perm, 'access to', pkg)
}
// zkat has read-write access to eggplant
// zkat has read-only access to @npmcorp/secret
> access.lsCollaborators(spec, [user], [opts]) -> Promise
spec 一定是个 npm-package-arg- 兼容
注册规格. user 必须是有效的用户名,有或没有 @
前缀.
列出某个软件包的访问权限。 只显示权限
对于您至少可以读取的软件包。 若为 user 被传入
列表仅过滤到团队 那个 用户恰好属于.
关于这些结果的流出版本,见 access.lsCollaborators.stream()。 。 。 .
示例
await access.lsCollaborators('@npm/foo', 'zkat', {
token: 'myregistrytoken'
})
// Lists all teams with access to @npm/foo that @zkat belongs to.
> access.lsCollaborators.stream(spec, [user], [opts]) -> Stream
spec 一定是个 npm-package-arg- 兼容
注册规格. user 必须是有效的用户名,有或没有 @
前缀.
流出特定软件包的访问权限,每个条目都输入 [user, permissions] 格式。 只显示您的软件包的权限
至少读取权限。 若为 user 被传送,名单只过滤给团队
那个 用户恰好属于.
返回的流是有效的 asyncIterator。 。 。 .
示例
for await (let [usr, perm] of access.lsCollaborators.stream('npm')) {
console.log(usr, 'has', perm, 'access to npm')
}
// zkat has read-write access to npm
// iarna has read-write access to npm