verdaccio-audit 13.1.0 → 13.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/audit.js CHANGED
@@ -68,6 +68,7 @@ var ProxyAudit = class extends _verdaccio_core.pluginUtils.Plugin {
68
68
  }
69
69
  };
70
70
  //#endregion
71
+ exports.REGISTRY_DOMAIN = REGISTRY_DOMAIN;
71
72
  exports.default = ProxyAudit;
72
73
 
73
74
  //# sourceMappingURL=audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","names":[],"sources":["../src/audit.ts"],"sourcesContent":["import express, { type Express, type Request, type Response } from 'express';\nimport createHttpsProxyAgent from 'https-proxy-agent';\nimport fetch from 'node-fetch';\nimport https from 'node:https';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { pluginUtils } from '@verdaccio/core';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { ConfigAudit } from './types';\n\n// FUTURE: we should be able to overwrite this\nexport const REGISTRY_DOMAIN = 'https://registry.npmjs.org';\n\nexport default class ProxyAudit\n extends pluginUtils.Plugin<ConfigAudit>\n implements pluginUtils.ExpressMiddleware<ConfigAudit, {}, Auth>\n{\n public enabled: boolean;\n public logger: Logger;\n public strict_ssl: boolean;\n public timeout: number;\n\n public constructor(config: ConfigAudit, options: pluginUtils.PluginOptions) {\n super(config, options);\n this.enabled = config.enabled || false;\n this.strict_ssl = config.strict_ssl !== undefined ? config.strict_ssl : true;\n this.timeout = config.timeout ?? 1000 * 60 * 1;\n this.logger = options.logger;\n }\n\n public register_middlewares(app: Express, auth: Auth): void {\n const fetchAudit = async (\n req: Request,\n res: Response & { report_error?: Function }\n ): Promise<void> => {\n const headers = req.headers;\n\n headers['host'] = 'registry.npmjs.org';\n headers['content-encoding'] = 'gzip,deflate,br';\n\n let requestOptions: any = {\n agent: new https.Agent({ rejectUnauthorized: this.strict_ssl }),\n body: JSON.stringify(req.body),\n headers,\n method: req.method,\n };\n\n if (auth?.config?.https_proxy) {\n // we should check whether this works fine after this migration\n // please notify if anyone is having issues\n const agent = createHttpsProxyAgent(auth?.config?.https_proxy);\n requestOptions = Object.assign({}, requestOptions, {\n agent,\n });\n }\n\n try {\n const auditEndpoint = `${REGISTRY_DOMAIN}${req.baseUrl}${req.route.path}`;\n this.logger.debug('fetching audit from ' + auditEndpoint);\n\n const controller = new AbortController();\n\n setTimeout(\n () => controller.abort(`Fetch ${auditEndpoint} timeout ${this.timeout}ms`),\n this.timeout\n );\n\n const response = await fetch(auditEndpoint, {\n ...requestOptions,\n signal: controller.signal,\n });\n\n if (response.ok) {\n res.status(response.status).send(await response.json());\n } else {\n this.logger.warn('could not fetch audit: ' + JSON.stringify(await response.json()));\n res.status(response.status).end();\n }\n } catch (error) {\n this.logger.warn('could not fetch audit: ' + error);\n res.status(500).end();\n }\n };\n\n const handleAudit = async (req: Request, res: Response): Promise<void> => {\n if (this.enabled) {\n await fetchAudit(req, res);\n } else {\n res.status(500).end();\n }\n };\n\n const router = express.Router();\n\n router.post('/audits', express.json({ limit: '10mb' }), handleAudit);\n router.post('/audits/quick', express.json({ limit: '10mb' }), handleAudit);\n\n router.post('/advisories/bulk', express.json({ limit: '10mb' }), handleAudit);\n\n app.use('/-/npm/v1/security', router);\n }\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,kBAAkB;AAE/B,IAAqB,aAArB,cACU,gBAAA,YAAY,OAEtB;CACE;CACA;CACA;CACA;CAEA,YAAmB,QAAqB,SAAoC;EAC1E,MAAM,QAAQ,OAAO;EACrB,KAAK,UAAU,OAAO,WAAW;EACjC,KAAK,aAAa,OAAO,eAAe,KAAA,IAAY,OAAO,aAAa;EACxE,KAAK,UAAU,OAAO,WAAW,MAAO,KAAK;EAC7C,KAAK,SAAS,QAAQ;CACxB;CAEA,qBAA4B,KAAc,MAAkB;EAC1D,MAAM,aAAa,OACjB,KACA,QACkB;GAClB,MAAM,UAAU,IAAI;GAEpB,QAAQ,UAAU;GAClB,QAAQ,sBAAsB;GAE9B,IAAI,iBAAsB;IACxB,OAAO,IAAI,WAAA,QAAM,MAAM,EAAE,oBAAoB,KAAK,WAAW,CAAC;IAC9D,MAAM,KAAK,UAAU,IAAI,IAAI;IAC7B;IACA,QAAQ,IAAI;GACd;GAEA,IAAI,MAAM,QAAQ,aAAa;IAG7B,MAAM,SAAA,GAAA,kBAAA,SAA8B,MAAM,QAAQ,WAAW;IAC7D,iBAAiB,OAAO,OAAO,CAAC,GAAG,gBAAgB,EACjD,MACF,CAAC;GACH;GAEA,IAAI;IACF,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,UAAU,IAAI,MAAM;IACnE,KAAK,OAAO,MAAM,yBAAyB,aAAa;IAExD,MAAM,aAAa,IAAI,gBAAgB;IAEvC,iBACQ,WAAW,MAAM,SAAS,cAAc,WAAW,KAAK,QAAQ,GAAG,GACzE,KAAK,OACP;IAEA,MAAM,WAAW,OAAA,GAAA,WAAA,SAAY,eAAe;KAC1C,GAAG;KACH,QAAQ,WAAW;IACrB,CAAC;IAED,IAAI,SAAS,IACX,IAAI,OAAO,SAAS,MAAM,EAAE,KAAK,MAAM,SAAS,KAAK,CAAC;SACjD;KACL,KAAK,OAAO,KAAK,4BAA4B,KAAK,UAAU,MAAM,SAAS,KAAK,CAAC,CAAC;KAClF,IAAI,OAAO,SAAS,MAAM,EAAE,IAAI;IAClC;GACF,SAAS,OAAO;IACd,KAAK,OAAO,KAAK,4BAA4B,KAAK;IAClD,IAAI,OAAO,GAAG,EAAE,IAAI;GACtB;EACF;EAEA,MAAM,cAAc,OAAO,KAAc,QAAiC;GACxE,IAAI,KAAK,SACP,MAAM,WAAW,KAAK,GAAG;QAEzB,IAAI,OAAO,GAAG,EAAE,IAAI;EAExB;EAEA,MAAM,SAAS,QAAA,QAAQ,OAAO;EAE9B,OAAO,KAAK,WAAW,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EACnE,OAAO,KAAK,iBAAiB,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAEzE,OAAO,KAAK,oBAAoB,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAE5E,IAAI,IAAI,sBAAsB,MAAM;CACtC;AACF"}
1
+ {"version":3,"file":"audit.js","names":[],"sources":["../src/audit.ts"],"sourcesContent":["import express, { type Express, type Request, type Response } from 'express';\nimport createHttpsProxyAgent from 'https-proxy-agent';\nimport fetch from 'node-fetch';\nimport https from 'node:https';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { pluginUtils } from '@verdaccio/core';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { ConfigAudit } from './types';\n\n// FUTURE: we should be able to overwrite this\nexport const REGISTRY_DOMAIN = 'https://registry.npmjs.org';\n\nexport default class ProxyAudit\n extends pluginUtils.Plugin<ConfigAudit>\n implements pluginUtils.ExpressMiddleware<ConfigAudit, {}, Auth>\n{\n public enabled: boolean;\n public logger: Logger;\n public strict_ssl: boolean;\n public timeout: number;\n\n public constructor(config: ConfigAudit, options: pluginUtils.PluginOptions) {\n super(config, options);\n this.enabled = config.enabled || false;\n this.strict_ssl = config.strict_ssl !== undefined ? config.strict_ssl : true;\n this.timeout = config.timeout ?? 1000 * 60 * 1;\n this.logger = options.logger;\n }\n\n public register_middlewares(app: Express, auth: Auth): void {\n const fetchAudit = async (\n req: Request,\n res: Response & { report_error?: Function }\n ): Promise<void> => {\n const headers = req.headers;\n\n headers['host'] = 'registry.npmjs.org';\n headers['content-encoding'] = 'gzip,deflate,br';\n\n let requestOptions: any = {\n agent: new https.Agent({ rejectUnauthorized: this.strict_ssl }),\n body: JSON.stringify(req.body),\n headers,\n method: req.method,\n };\n\n if (auth?.config?.https_proxy) {\n // we should check whether this works fine after this migration\n // please notify if anyone is having issues\n const agent = createHttpsProxyAgent(auth?.config?.https_proxy);\n requestOptions = Object.assign({}, requestOptions, {\n agent,\n });\n }\n\n try {\n const auditEndpoint = `${REGISTRY_DOMAIN}${req.baseUrl}${req.route.path}`;\n this.logger.debug('fetching audit from ' + auditEndpoint);\n\n const controller = new AbortController();\n\n setTimeout(\n () => controller.abort(`Fetch ${auditEndpoint} timeout ${this.timeout}ms`),\n this.timeout\n );\n\n const response = await fetch(auditEndpoint, {\n ...requestOptions,\n signal: controller.signal,\n });\n\n if (response.ok) {\n res.status(response.status).send(await response.json());\n } else {\n this.logger.warn('could not fetch audit: ' + JSON.stringify(await response.json()));\n res.status(response.status).end();\n }\n } catch (error) {\n this.logger.warn('could not fetch audit: ' + error);\n res.status(500).end();\n }\n };\n\n const handleAudit = async (req: Request, res: Response): Promise<void> => {\n if (this.enabled) {\n await fetchAudit(req, res);\n } else {\n res.status(500).end();\n }\n };\n\n const router = express.Router();\n\n router.post('/audits', express.json({ limit: '10mb' }), handleAudit);\n router.post('/audits/quick', express.json({ limit: '10mb' }), handleAudit);\n\n router.post('/advisories/bulk', express.json({ limit: '10mb' }), handleAudit);\n\n app.use('/-/npm/v1/security', router);\n }\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,kBAAkB;AAE/B,IAAqB,aAArB,cACU,gBAAA,YAAY,OAEtB;CACE;CACA;CACA;CACA;CAEA,YAAmB,QAAqB,SAAoC;EAC1E,MAAM,QAAQ,OAAO;EACrB,KAAK,UAAU,OAAO,WAAW;EACjC,KAAK,aAAa,OAAO,eAAe,KAAA,IAAY,OAAO,aAAa;EACxE,KAAK,UAAU,OAAO,WAAW,MAAO,KAAK;EAC7C,KAAK,SAAS,QAAQ;CACxB;CAEA,qBAA4B,KAAc,MAAkB;EAC1D,MAAM,aAAa,OACjB,KACA,QACkB;GAClB,MAAM,UAAU,IAAI;GAEpB,QAAQ,UAAU;GAClB,QAAQ,sBAAsB;GAE9B,IAAI,iBAAsB;IACxB,OAAO,IAAI,WAAA,QAAM,MAAM,EAAE,oBAAoB,KAAK,WAAW,CAAC;IAC9D,MAAM,KAAK,UAAU,IAAI,IAAI;IAC7B;IACA,QAAQ,IAAI;GACd;GAEA,IAAI,MAAM,QAAQ,aAAa;IAG7B,MAAM,SAAA,GAAA,kBAAA,QAAA,CAA8B,MAAM,QAAQ,WAAW;IAC7D,iBAAiB,OAAO,OAAO,CAAC,GAAG,gBAAgB,EACjD,MACF,CAAC;GACH;GAEA,IAAI;IACF,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,UAAU,IAAI,MAAM;IACnE,KAAK,OAAO,MAAM,yBAAyB,aAAa;IAExD,MAAM,aAAa,IAAI,gBAAgB;IAEvC,iBACQ,WAAW,MAAM,SAAS,cAAc,WAAW,KAAK,QAAQ,GAAG,GACzE,KAAK,OACP;IAEA,MAAM,WAAW,OAAA,GAAA,WAAA,QAAA,CAAY,eAAe;KAC1C,GAAG;KACH,QAAQ,WAAW;IACrB,CAAC;IAED,IAAI,SAAS,IACX,IAAI,OAAO,SAAS,MAAM,CAAC,CAAC,KAAK,MAAM,SAAS,KAAK,CAAC;SACjD;KACL,KAAK,OAAO,KAAK,4BAA4B,KAAK,UAAU,MAAM,SAAS,KAAK,CAAC,CAAC;KAClF,IAAI,OAAO,SAAS,MAAM,CAAC,CAAC,IAAI;IAClC;GACF,SAAS,OAAO;IACd,KAAK,OAAO,KAAK,4BAA4B,KAAK;IAClD,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI;GACtB;EACF;EAEA,MAAM,cAAc,OAAO,KAAc,QAAiC;GACxE,IAAI,KAAK,SACP,MAAM,WAAW,KAAK,GAAG;QAEzB,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI;EAExB;EAEA,MAAM,SAAS,QAAA,QAAQ,OAAO;EAE9B,OAAO,KAAK,WAAW,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EACnE,OAAO,KAAK,iBAAiB,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAEzE,OAAO,KAAK,oBAAoB,QAAA,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAE5E,IAAI,IAAI,sBAAsB,MAAM;CACtC;AACF"}
package/build/audit.mjs CHANGED
@@ -63,6 +63,6 @@ var ProxyAudit = class extends pluginUtils.Plugin {
63
63
  }
64
64
  };
65
65
  //#endregion
66
- export { ProxyAudit as default };
66
+ export { REGISTRY_DOMAIN, ProxyAudit as default };
67
67
 
68
68
  //# sourceMappingURL=audit.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit.mjs","names":[],"sources":["../src/audit.ts"],"sourcesContent":["import express, { type Express, type Request, type Response } from 'express';\nimport createHttpsProxyAgent from 'https-proxy-agent';\nimport fetch from 'node-fetch';\nimport https from 'node:https';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { pluginUtils } from '@verdaccio/core';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { ConfigAudit } from './types';\n\n// FUTURE: we should be able to overwrite this\nexport const REGISTRY_DOMAIN = 'https://registry.npmjs.org';\n\nexport default class ProxyAudit\n extends pluginUtils.Plugin<ConfigAudit>\n implements pluginUtils.ExpressMiddleware<ConfigAudit, {}, Auth>\n{\n public enabled: boolean;\n public logger: Logger;\n public strict_ssl: boolean;\n public timeout: number;\n\n public constructor(config: ConfigAudit, options: pluginUtils.PluginOptions) {\n super(config, options);\n this.enabled = config.enabled || false;\n this.strict_ssl = config.strict_ssl !== undefined ? config.strict_ssl : true;\n this.timeout = config.timeout ?? 1000 * 60 * 1;\n this.logger = options.logger;\n }\n\n public register_middlewares(app: Express, auth: Auth): void {\n const fetchAudit = async (\n req: Request,\n res: Response & { report_error?: Function }\n ): Promise<void> => {\n const headers = req.headers;\n\n headers['host'] = 'registry.npmjs.org';\n headers['content-encoding'] = 'gzip,deflate,br';\n\n let requestOptions: any = {\n agent: new https.Agent({ rejectUnauthorized: this.strict_ssl }),\n body: JSON.stringify(req.body),\n headers,\n method: req.method,\n };\n\n if (auth?.config?.https_proxy) {\n // we should check whether this works fine after this migration\n // please notify if anyone is having issues\n const agent = createHttpsProxyAgent(auth?.config?.https_proxy);\n requestOptions = Object.assign({}, requestOptions, {\n agent,\n });\n }\n\n try {\n const auditEndpoint = `${REGISTRY_DOMAIN}${req.baseUrl}${req.route.path}`;\n this.logger.debug('fetching audit from ' + auditEndpoint);\n\n const controller = new AbortController();\n\n setTimeout(\n () => controller.abort(`Fetch ${auditEndpoint} timeout ${this.timeout}ms`),\n this.timeout\n );\n\n const response = await fetch(auditEndpoint, {\n ...requestOptions,\n signal: controller.signal,\n });\n\n if (response.ok) {\n res.status(response.status).send(await response.json());\n } else {\n this.logger.warn('could not fetch audit: ' + JSON.stringify(await response.json()));\n res.status(response.status).end();\n }\n } catch (error) {\n this.logger.warn('could not fetch audit: ' + error);\n res.status(500).end();\n }\n };\n\n const handleAudit = async (req: Request, res: Response): Promise<void> => {\n if (this.enabled) {\n await fetchAudit(req, res);\n } else {\n res.status(500).end();\n }\n };\n\n const router = express.Router();\n\n router.post('/audits', express.json({ limit: '10mb' }), handleAudit);\n router.post('/audits/quick', express.json({ limit: '10mb' }), handleAudit);\n\n router.post('/advisories/bulk', express.json({ limit: '10mb' }), handleAudit);\n\n app.use('/-/npm/v1/security', router);\n }\n}\n"],"mappings":";;;;;;AAYA,IAAa,kBAAkB;AAE/B,IAAqB,aAArB,cACU,YAAY,OAEtB;CACE;CACA;CACA;CACA;CAEA,YAAmB,QAAqB,SAAoC;EAC1E,MAAM,QAAQ,OAAO;EACrB,KAAK,UAAU,OAAO,WAAW;EACjC,KAAK,aAAa,OAAO,eAAe,KAAA,IAAY,OAAO,aAAa;EACxE,KAAK,UAAU,OAAO,WAAW,MAAO,KAAK;EAC7C,KAAK,SAAS,QAAQ;CACxB;CAEA,qBAA4B,KAAc,MAAkB;EAC1D,MAAM,aAAa,OACjB,KACA,QACkB;GAClB,MAAM,UAAU,IAAI;GAEpB,QAAQ,UAAU;GAClB,QAAQ,sBAAsB;GAE9B,IAAI,iBAAsB;IACxB,OAAO,IAAI,MAAM,MAAM,EAAE,oBAAoB,KAAK,WAAW,CAAC;IAC9D,MAAM,KAAK,UAAU,IAAI,IAAI;IAC7B;IACA,QAAQ,IAAI;GACd;GAEA,IAAI,MAAM,QAAQ,aAAa;IAG7B,MAAM,QAAQ,sBAAsB,MAAM,QAAQ,WAAW;IAC7D,iBAAiB,OAAO,OAAO,CAAC,GAAG,gBAAgB,EACjD,MACF,CAAC;GACH;GAEA,IAAI;IACF,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,UAAU,IAAI,MAAM;IACnE,KAAK,OAAO,MAAM,yBAAyB,aAAa;IAExD,MAAM,aAAa,IAAI,gBAAgB;IAEvC,iBACQ,WAAW,MAAM,SAAS,cAAc,WAAW,KAAK,QAAQ,GAAG,GACzE,KAAK,OACP;IAEA,MAAM,WAAW,MAAM,MAAM,eAAe;KAC1C,GAAG;KACH,QAAQ,WAAW;IACrB,CAAC;IAED,IAAI,SAAS,IACX,IAAI,OAAO,SAAS,MAAM,EAAE,KAAK,MAAM,SAAS,KAAK,CAAC;SACjD;KACL,KAAK,OAAO,KAAK,4BAA4B,KAAK,UAAU,MAAM,SAAS,KAAK,CAAC,CAAC;KAClF,IAAI,OAAO,SAAS,MAAM,EAAE,IAAI;IAClC;GACF,SAAS,OAAO;IACd,KAAK,OAAO,KAAK,4BAA4B,KAAK;IAClD,IAAI,OAAO,GAAG,EAAE,IAAI;GACtB;EACF;EAEA,MAAM,cAAc,OAAO,KAAc,QAAiC;GACxE,IAAI,KAAK,SACP,MAAM,WAAW,KAAK,GAAG;QAEzB,IAAI,OAAO,GAAG,EAAE,IAAI;EAExB;EAEA,MAAM,SAAS,QAAQ,OAAO;EAE9B,OAAO,KAAK,WAAW,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EACnE,OAAO,KAAK,iBAAiB,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAEzE,OAAO,KAAK,oBAAoB,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAE5E,IAAI,IAAI,sBAAsB,MAAM;CACtC;AACF"}
1
+ {"version":3,"file":"audit.mjs","names":[],"sources":["../src/audit.ts"],"sourcesContent":["import express, { type Express, type Request, type Response } from 'express';\nimport createHttpsProxyAgent from 'https-proxy-agent';\nimport fetch from 'node-fetch';\nimport https from 'node:https';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { pluginUtils } from '@verdaccio/core';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { ConfigAudit } from './types';\n\n// FUTURE: we should be able to overwrite this\nexport const REGISTRY_DOMAIN = 'https://registry.npmjs.org';\n\nexport default class ProxyAudit\n extends pluginUtils.Plugin<ConfigAudit>\n implements pluginUtils.ExpressMiddleware<ConfigAudit, {}, Auth>\n{\n public enabled: boolean;\n public logger: Logger;\n public strict_ssl: boolean;\n public timeout: number;\n\n public constructor(config: ConfigAudit, options: pluginUtils.PluginOptions) {\n super(config, options);\n this.enabled = config.enabled || false;\n this.strict_ssl = config.strict_ssl !== undefined ? config.strict_ssl : true;\n this.timeout = config.timeout ?? 1000 * 60 * 1;\n this.logger = options.logger;\n }\n\n public register_middlewares(app: Express, auth: Auth): void {\n const fetchAudit = async (\n req: Request,\n res: Response & { report_error?: Function }\n ): Promise<void> => {\n const headers = req.headers;\n\n headers['host'] = 'registry.npmjs.org';\n headers['content-encoding'] = 'gzip,deflate,br';\n\n let requestOptions: any = {\n agent: new https.Agent({ rejectUnauthorized: this.strict_ssl }),\n body: JSON.stringify(req.body),\n headers,\n method: req.method,\n };\n\n if (auth?.config?.https_proxy) {\n // we should check whether this works fine after this migration\n // please notify if anyone is having issues\n const agent = createHttpsProxyAgent(auth?.config?.https_proxy);\n requestOptions = Object.assign({}, requestOptions, {\n agent,\n });\n }\n\n try {\n const auditEndpoint = `${REGISTRY_DOMAIN}${req.baseUrl}${req.route.path}`;\n this.logger.debug('fetching audit from ' + auditEndpoint);\n\n const controller = new AbortController();\n\n setTimeout(\n () => controller.abort(`Fetch ${auditEndpoint} timeout ${this.timeout}ms`),\n this.timeout\n );\n\n const response = await fetch(auditEndpoint, {\n ...requestOptions,\n signal: controller.signal,\n });\n\n if (response.ok) {\n res.status(response.status).send(await response.json());\n } else {\n this.logger.warn('could not fetch audit: ' + JSON.stringify(await response.json()));\n res.status(response.status).end();\n }\n } catch (error) {\n this.logger.warn('could not fetch audit: ' + error);\n res.status(500).end();\n }\n };\n\n const handleAudit = async (req: Request, res: Response): Promise<void> => {\n if (this.enabled) {\n await fetchAudit(req, res);\n } else {\n res.status(500).end();\n }\n };\n\n const router = express.Router();\n\n router.post('/audits', express.json({ limit: '10mb' }), handleAudit);\n router.post('/audits/quick', express.json({ limit: '10mb' }), handleAudit);\n\n router.post('/advisories/bulk', express.json({ limit: '10mb' }), handleAudit);\n\n app.use('/-/npm/v1/security', router);\n }\n}\n"],"mappings":";;;;;;AAYA,IAAa,kBAAkB;AAE/B,IAAqB,aAArB,cACU,YAAY,OAEtB;CACE;CACA;CACA;CACA;CAEA,YAAmB,QAAqB,SAAoC;EAC1E,MAAM,QAAQ,OAAO;EACrB,KAAK,UAAU,OAAO,WAAW;EACjC,KAAK,aAAa,OAAO,eAAe,KAAA,IAAY,OAAO,aAAa;EACxE,KAAK,UAAU,OAAO,WAAW,MAAO,KAAK;EAC7C,KAAK,SAAS,QAAQ;CACxB;CAEA,qBAA4B,KAAc,MAAkB;EAC1D,MAAM,aAAa,OACjB,KACA,QACkB;GAClB,MAAM,UAAU,IAAI;GAEpB,QAAQ,UAAU;GAClB,QAAQ,sBAAsB;GAE9B,IAAI,iBAAsB;IACxB,OAAO,IAAI,MAAM,MAAM,EAAE,oBAAoB,KAAK,WAAW,CAAC;IAC9D,MAAM,KAAK,UAAU,IAAI,IAAI;IAC7B;IACA,QAAQ,IAAI;GACd;GAEA,IAAI,MAAM,QAAQ,aAAa;IAG7B,MAAM,QAAQ,sBAAsB,MAAM,QAAQ,WAAW;IAC7D,iBAAiB,OAAO,OAAO,CAAC,GAAG,gBAAgB,EACjD,MACF,CAAC;GACH;GAEA,IAAI;IACF,MAAM,gBAAgB,GAAG,kBAAkB,IAAI,UAAU,IAAI,MAAM;IACnE,KAAK,OAAO,MAAM,yBAAyB,aAAa;IAExD,MAAM,aAAa,IAAI,gBAAgB;IAEvC,iBACQ,WAAW,MAAM,SAAS,cAAc,WAAW,KAAK,QAAQ,GAAG,GACzE,KAAK,OACP;IAEA,MAAM,WAAW,MAAM,MAAM,eAAe;KAC1C,GAAG;KACH,QAAQ,WAAW;IACrB,CAAC;IAED,IAAI,SAAS,IACX,IAAI,OAAO,SAAS,MAAM,CAAC,CAAC,KAAK,MAAM,SAAS,KAAK,CAAC;SACjD;KACL,KAAK,OAAO,KAAK,4BAA4B,KAAK,UAAU,MAAM,SAAS,KAAK,CAAC,CAAC;KAClF,IAAI,OAAO,SAAS,MAAM,CAAC,CAAC,IAAI;IAClC;GACF,SAAS,OAAO;IACd,KAAK,OAAO,KAAK,4BAA4B,KAAK;IAClD,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI;GACtB;EACF;EAEA,MAAM,cAAc,OAAO,KAAc,QAAiC;GACxE,IAAI,KAAK,SACP,MAAM,WAAW,KAAK,GAAG;QAEzB,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI;EAExB;EAEA,MAAM,SAAS,QAAQ,OAAO;EAE9B,OAAO,KAAK,WAAW,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EACnE,OAAO,KAAK,iBAAiB,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAEzE,OAAO,KAAK,oBAAoB,QAAQ,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,WAAW;EAE5E,IAAI,IAAI,sBAAsB,MAAM;CACtC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import AuditPlugin from './audit';\nimport type { ConfigAudit } from './types';\n\nexport type { ConfigAudit };\n\nexport default AuditPlugin;\n"],"mappings":";;;;;AAKA,IAAA,kCAAe,EAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import AuditPlugin from './audit';\nimport type { ConfigAudit } from './types';\n\nexport type { ConfigAudit };\n\nexport default AuditPlugin;\n"],"mappings":";;;;;AAKA,IAAA,kCAAe,CAAA,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verdaccio-audit",
3
- "version": "13.1.0",
3
+ "version": "13.1.2",
4
4
  "description": "Verdaccio Middleware plugin to bypass npmjs audit",
5
5
  "keywords": [
6
6
  "enterprise",
@@ -45,20 +45,20 @@
45
45
  "./build/*": "./build/*"
46
46
  },
47
47
  "dependencies": {
48
- "@verdaccio/config": "8.2.0",
49
- "@verdaccio/core": "8.2.0",
50
- "express": "4.22.1",
48
+ "@verdaccio/config": "8.2.2",
49
+ "@verdaccio/core": "8.2.2",
50
+ "express": "4.22.2",
51
51
  "https-proxy-agent": "5.0.1",
52
52
  "node-fetch": "cjs"
53
53
  },
54
54
  "devDependencies": {
55
- "@verdaccio/auth": "8.1.0",
56
- "@verdaccio/logger": "8.1.0",
57
- "@verdaccio/types": "13.0.5",
55
+ "@verdaccio/auth": "8.1.2",
56
+ "@verdaccio/logger": "8.1.2",
57
+ "@verdaccio/types": "13.0.6",
58
58
  "nock": "13.5.6",
59
59
  "supertest": "7.1.4",
60
- "vite": "8.0.16",
61
- "vitest": "4.1.2"
60
+ "vite": "8.1.5",
61
+ "vitest": "4.1.10"
62
62
  },
63
63
  "engines": {
64
64
  "node": ">=22"