![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/local/n/versions/node/14.15.4/lib/node_modules/npm/node_modules/libnpmhook/ |
Upload File : |
'use strict' const fetch = require('npm-registry-fetch') const figgyPudding = require('figgy-pudding') const getStream = require('get-stream') const validate = require('aproba') const HooksConfig = figgyPudding({ package: {}, limit: {}, offset: {}, Promise: {default: () => Promise} }) const eu = encodeURIComponent const cmd = module.exports = {} cmd.add = (name, endpoint, secret, opts) => { opts = HooksConfig(opts) validate('SSSO', [name, endpoint, secret, opts]) let type = 'package' if (name.match(/^@[^/]+$/)) { type = 'scope' } if (name[0] === '~') { type = 'owner' name = name.substr(1) } return fetch.json('/-/npm/v1/hooks/hook', opts.concat({ method: 'POST', body: { type, name, endpoint, secret } })) } cmd.rm = (id, opts) => { opts = HooksConfig(opts) validate('SO', [id, opts]) return fetch.json(`/-/npm/v1/hooks/hook/${eu(id)}`, opts.concat({ method: 'DELETE' }, opts)).catch(err => { if (err.code === 'E404') { return null } else { throw err } }) } cmd.update = (id, endpoint, secret, opts) => { opts = HooksConfig(opts) validate('SSSO', [id, endpoint, secret, opts]) return fetch.json(`/-/npm/v1/hooks/hook/${eu(id)}`, opts.concat({ method: 'PUT', body: {endpoint, secret} }, opts)) } cmd.find = (id, opts) => { opts = HooksConfig(opts) validate('SO', [id, opts]) return fetch.json(`/-/npm/v1/hooks/hook/${eu(id)}`, opts) } cmd.ls = (opts) => { return getStream.array(cmd.ls.stream(opts)) } cmd.ls.stream = (opts) => { opts = HooksConfig(opts) const {package: pkg, limit, offset} = opts validate('S|Z', [pkg]) validate('N|Z', [limit]) validate('N|Z', [offset]) return fetch.json.stream('/-/npm/v1/hooks', 'objects.*', opts.concat({ query: { package: pkg, limit, offset } })) }