# npm hook
管理注册中心钩子
# 概要
npm hook add <pkg> <url> <secret> [--type=<type>]
npm hook ls [pkg]
npm hook rm <id>
npm hook update <id> <url> <secret>
注意
这个命令不支持工作空间。
# 描述
允许您管理 npm hooks
,包括添加、删除、列出和更新。
钩子允许您配置 URL 端点,当任何受支持的实体类型发生更改时,这些端点将收到通知。钩子可以监视三种不同类型的实体: 包、所有者和作用域。
要创建一个包钩子,只需引用包的名称。
要创建所有者钩子,请在所有者名称前加上 ~
(如,~youruser
)。
要创建范围钩子,请在范围名称前加上 @
(如, @yourscope
)。
update
和 rm
使用的钩子 id
是在 npm hook ls
中列出的该特定钩子的 id
。
共享的秘钥将被发送到 URL 端点,这样您就可以验证请求来自您自己配置的钩子。
# 例子
添加一个钩子来观察一个包的变化:
$ npm hook add lodash https://example.com/ my-shared-secret
添加一个钩子来监视属于用户 substack
的包:
$ npm hook add ~substack https://example.com/ my-shared-secret
添加一个钩子来监视范围 @npm
中的包
$ npm hook add @npm https://example.com/ my-shared-secret
列出所有活动的钩子:
$ npm hook ls
列出 lodash
包的活动钩子:
$ npm hook ls lodash
更新现有钩子的 url:
$ npm hook update id-deadbeef https://my-new-website.here/
移除一个钩子:
$ npm hook rm id-deadbeef
# 配置
# registry
- Default: "https://registry.npmjs.org/"
- Type: URL
npm 注册中心的基本 URL。
# otp
- Default: null
- Type: null or String
这是来自双因素验证器的一次性密码。使用发布或更改包权限时需要使用 npm access
如果没有设置,注册中心响应会失败,并要求输入一次性密码,npm 将在命令行提示输入密码。