0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-04-08 02:54:13 -05:00

feat: refactor middleware and bufixes (#3922)

This commit is contained in:
Juan Picado 2023-07-15 21:37:45 +02:00 committed by GitHub
parent c671faace5
commit 43de79d46a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 248 additions and 508 deletions

203
.pnp.cjs generated
View file

@ -69,24 +69,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@typescript-eslint/eslint-plugin", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.11"],\
["@typescript-eslint/parser", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.11"],\
["@verdaccio-scope/verdaccio-auth-foo", "npm:0.0.2"],\
["@verdaccio/config", "npm:6.0.0-6-next.72"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/config", "npm:6.0.0-6-next.74"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/local-storage", "npm:10.3.3"],\
["@verdaccio/logger-7", "npm:6.0.0-6-next.17"],\
["@verdaccio/middleware", "npm:6.0.0-6-next.51"],\
["@verdaccio/logger-7", "npm:6.0.0-6-next.19"],\
["@verdaccio/middleware", "npm:6.0.0-6-next.53"],\
["@verdaccio/search", "npm:6.0.0-6-next.2"],\
["@verdaccio/signature", "npm:6.0.0-6-next.2"],\
["@verdaccio/streams", "npm:10.2.1"],\
["@verdaccio/tarball", "npm:11.0.0-6-next.41"],\
["@verdaccio/tarball", "npm:11.0.0-6-next.43"],\
["@verdaccio/types", "npm:11.0.0-6-next.25"],\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.72"],\
["@verdaccio/url", "npm:11.0.0-6-next.38"],\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.74"],\
["@verdaccio/url", "npm:11.0.0-6-next.40"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["JSONStream", "npm:1.3.5"],\
["async", "npm:3.2.4"],\
["babel-jest", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:29.6.1"],\
["babel-plugin-dynamic-import-node", "npm:2.3.3"],\
["body-parser", "npm:1.20.2"],\
["clipanion", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:3.2.1"],\
["compression", "npm:1.7.4"],\
["cookies", "npm:0.8.0"],\
@ -137,9 +136,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["ts-node", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.9.1"],\
["typescript", "patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=289587"],\
["validator", "npm:13.9.0"],\
["verdaccio-audit", "npm:11.0.0-6-next.35"],\
["verdaccio-audit", "npm:11.0.0-6-next.37"],\
["verdaccio-auth-memory", "npm:10.2.2"],\
["verdaccio-htpasswd", "npm:11.0.0-6-next.41"],\
["verdaccio-htpasswd", "npm:11.0.0-6-next.44"],\
["verdaccio-memory", "npm:10.3.2"]\
],\
"linkType": "SOFT"\
@ -5749,12 +5748,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/config", [\
["npm:6.0.0-6-next.72", {\
"packageLocation": "./.yarn/cache/@verdaccio-config-npm-6.0.0-6-next.72-32f3afabd4-9880fb08ff.zip/node_modules/@verdaccio/config/",\
["npm:6.0.0-6-next.74", {\
"packageLocation": "./.yarn/cache/@verdaccio-config-npm-6.0.0-6-next.74-fabf8662cb-2cadbd173d.zip/node_modules/@verdaccio/config/",\
"packageDependencies": [\
["@verdaccio/config", "npm:6.0.0-6-next.72"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/config", "npm:6.0.0-6-next.74"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["debug", "virtual:071d471ccd267160a6f0ec15e4cdc2874728a012db8f34521faf9e64a516aa918ee9ebab3c4c084d955ab74aaac5b8be9afb7a168813c9f210acdb7d88754ab9#npm:4.3.4"],\
["js-yaml", "npm:4.1.0"],\
["lodash", "npm:4.17.21"],\
@ -5765,29 +5764,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/core", [\
["npm:6.0.0-6-next.71", {\
"packageLocation": "./.yarn/cache/@verdaccio-core-npm-6.0.0-6-next.71-dde7e6d27d-d5c61d9e86.zip/node_modules/@verdaccio/core/",\
["npm:6.0.0-6-next.74", {\
"packageLocation": "./.yarn/cache/@verdaccio-core-npm-6.0.0-6-next.74-6facca5771-ba4d1524a9.zip/node_modules/@verdaccio/core/",\
"packageDependencies": [\
["@verdaccio/core", "npm:6.0.0-6-next.71"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["ajv", "npm:8.12.0"],\
["core-js", "npm:3.30.2"],\
["http-errors", "npm:2.0.0"],\
["http-status-codes", "npm:2.2.0"],\
["process-warning", "npm:1.0.0"],\
["semver", "npm:7.5.0"]\
],\
"linkType": "HARD"\
}],\
["npm:6.0.0-6-next.72", {\
"packageLocation": "./.yarn/cache/@verdaccio-core-npm-6.0.0-6-next.72-ebaeda159c-785941667f.zip/node_modules/@verdaccio/core/",\
"packageDependencies": [\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["ajv", "npm:8.12.0"],\
["core-js", "npm:3.30.2"],\
["http-errors", "npm:2.0.0"],\
["http-status-codes", "npm:2.2.0"],\
["process-warning", "npm:1.0.0"],\
["semver", "npm:7.5.0"]\
["semver", "npm:7.5.4"]\
],\
"linkType": "HARD"\
}]\
@ -5828,22 +5814,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/logger-7", [\
["npm:6.0.0-6-next.17", {\
"packageLocation": "./.yarn/cache/@verdaccio-logger-7-npm-6.0.0-6-next.17-2bc8c7ba9e-fdc2577cef.zip/node_modules/@verdaccio/logger-7/",\
["npm:6.0.0-6-next.19", {\
"packageLocation": "./.yarn/cache/@verdaccio-logger-7-npm-6.0.0-6-next.19-cece039ff5-002cb584e8.zip/node_modules/@verdaccio/logger-7/",\
"packageDependencies": [\
["@verdaccio/logger-7", "npm:6.0.0-6-next.17"],\
["@verdaccio/logger-commons", "npm:6.0.0-6-next.40"],\
["@verdaccio/logger-7", "npm:6.0.0-6-next.19"],\
["@verdaccio/logger-commons", "npm:6.0.0-6-next.42"],\
["pino", "npm:7.11.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["@verdaccio/logger-commons", [\
["npm:6.0.0-6-next.40", {\
"packageLocation": "./.yarn/cache/@verdaccio-logger-commons-npm-6.0.0-6-next.40-cab9c8d239-448bd21ae4.zip/node_modules/@verdaccio/logger-commons/",\
["npm:6.0.0-6-next.42", {\
"packageLocation": "./.yarn/cache/@verdaccio-logger-commons-npm-6.0.0-6-next.42-83908b28ad-ed1d44557c.zip/node_modules/@verdaccio/logger-commons/",\
"packageDependencies": [\
["@verdaccio/logger-commons", "npm:6.0.0-6-next.40"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/logger-commons", "npm:6.0.0-6-next.42"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/logger-prettify", "npm:6.0.0-6-next.10"],\
["colorette", "npm:2.0.20"],\
["debug", "virtual:071d471ccd267160a6f0ec15e4cdc2874728a012db8f34521faf9e64a516aa918ee9ebab3c4c084d955ab74aaac5b8be9afb7a168813c9f210acdb7d88754ab9#npm:4.3.4"]\
@ -5866,14 +5852,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/middleware", [\
["npm:6.0.0-6-next.51", {\
"packageLocation": "./.yarn/cache/@verdaccio-middleware-npm-6.0.0-6-next.51-d1a57a1720-50b6c0c194.zip/node_modules/@verdaccio/middleware/",\
["npm:6.0.0-6-next.53", {\
"packageLocation": "./.yarn/cache/@verdaccio-middleware-npm-6.0.0-6-next.53-0b15f87331-646971454a.zip/node_modules/@verdaccio/middleware/",\
"packageDependencies": [\
["@verdaccio/middleware", "npm:6.0.0-6-next.51"],\
["@verdaccio/config", "npm:6.0.0-6-next.72"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/url", "npm:11.0.0-6-next.38"],\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/middleware", "npm:6.0.0-6-next.53"],\
["@verdaccio/config", "npm:6.0.0-6-next.74"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/url", "npm:11.0.0-6-next.40"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["debug", "virtual:071d471ccd267160a6f0ec15e4cdc2874728a012db8f34521faf9e64a516aa918ee9ebab3c4c084d955ab74aaac5b8be9afb7a168813c9f210acdb7d88754ab9#npm:4.3.4"],\
["express", "npm:4.18.2"],\
["express-rate-limit", "npm:5.5.1"],\
@ -5915,13 +5901,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/tarball", [\
["npm:11.0.0-6-next.41", {\
"packageLocation": "./.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.41-7f527b4078-89a6532b7a.zip/node_modules/@verdaccio/tarball/",\
["npm:11.0.0-6-next.43", {\
"packageLocation": "./.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.43-e38e0d642e-cd39d065cf.zip/node_modules/@verdaccio/tarball/",\
"packageDependencies": [\
["@verdaccio/tarball", "npm:11.0.0-6-next.41"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/url", "npm:11.0.0-6-next.38"],\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/tarball", "npm:11.0.0-6-next.43"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/url", "npm:11.0.0-6-next.40"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["debug", "virtual:071d471ccd267160a6f0ec15e4cdc2874728a012db8f34521faf9e64a516aa918ee9ebab3c4c084d955ab74aaac5b8be9afb7a168813c9f210acdb7d88754ab9#npm:4.3.4"],\
["lodash", "npm:4.17.21"]\
],\
@ -5938,20 +5924,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/ui-theme", [\
["npm:6.0.0-6-next.72", {\
"packageLocation": "./.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.72-3ad25529a8-2b6c09b823.zip/node_modules/@verdaccio/ui-theme/",\
["npm:6.0.0-6-next.74", {\
"packageLocation": "./.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.74-8136215052-7ab99df04a.zip/node_modules/@verdaccio/ui-theme/",\
"packageDependencies": [\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.72"]\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.74"]\
],\
"linkType": "HARD"\
}]\
]],\
["@verdaccio/url", [\
["npm:11.0.0-6-next.38", {\
"packageLocation": "./.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.38-407f9b96f5-aac9b04e4f.zip/node_modules/@verdaccio/url/",\
["npm:11.0.0-6-next.40", {\
"packageLocation": "./.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.40-f389fd5ab6-77889b1fcb.zip/node_modules/@verdaccio/url/",\
"packageDependencies": [\
["@verdaccio/url", "npm:11.0.0-6-next.38"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/url", "npm:11.0.0-6-next.40"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["debug", "virtual:071d471ccd267160a6f0ec15e4cdc2874728a012db8f34521faf9e64a516aa918ee9ebab3c4c084d955ab74aaac5b8be9afb7a168813c9f210acdb7d88754ab9#npm:4.3.4"],\
["lodash", "npm:4.17.21"],\
["validator", "npm:13.9.0"]\
@ -5960,14 +5946,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["@verdaccio/utils", [\
["npm:6.0.0-6-next.40", {\
"packageLocation": "./.yarn/cache/@verdaccio-utils-npm-6.0.0-6-next.40-6d81210b28-8522be67ec.zip/node_modules/@verdaccio/utils/",\
["npm:6.0.0-6-next.42", {\
"packageLocation": "./.yarn/cache/@verdaccio-utils-npm-6.0.0-6-next.42-132d3a942d-d9ea0d9f9c.zip/node_modules/@verdaccio/utils/",\
"packageDependencies": [\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["lodash", "npm:4.17.21"],\
["minimatch", "npm:3.1.2"],\
["semver", "npm:7.5.0"]\
["semver", "npm:7.5.4"]\
],\
"linkType": "HARD"\
}]\
@ -6770,25 +6756,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["unpipe", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}],\
["npm:1.20.2", {\
"packageLocation": "./.yarn/cache/body-parser-npm-1.20.2-44738662cf-14d37ec638.zip/node_modules/body-parser/",\
"packageDependencies": [\
["body-parser", "npm:1.20.2"],\
["bytes", "npm:3.1.2"],\
["content-type", "npm:1.0.5"],\
["debug", "virtual:759fd14db92b54abdb7afb3d21dbf8d50f1a5c59c96cd3f963ce3e3ed063bdb801142fae5f01cc81fb79f7ddc13b7c31a9deb9d5a9cfa48ec107f83de8f7f40e#npm:2.6.9"],\
["depd", "npm:2.0.0"],\
["destroy", "npm:1.2.0"],\
["http-errors", "npm:2.0.0"],\
["iconv-lite", "npm:0.4.24"],\
["on-finished", "npm:2.4.1"],\
["qs", "npm:6.11.0"],\
["raw-body", "npm:2.5.2"],\
["type-is", "npm:1.6.18"],\
["unpipe", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["brace-expansion", [\
@ -11929,10 +11896,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\
"linkType": "HARD"\
}],\
["virtual:2c3a18a16a535cecafafac4686dcde609914834792677379c1af38b636fdb4571a0527be3e92ca087ff2261c64e7f1ae95acddc692e0c113d574d8daec2c8825#npm:2.6.7", {\
"packageLocation": "./.yarn/__virtual__/node-fetch-virtual-073eec1bd6/0/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\
["virtual:cc40351c685741983b41804cc37fbab0f46943a86a984eaad02f39bf5bbec189011adab51792a83d45ff82385c8cea8dc074c99aed7b875d2fda0c0ea86ee230#npm:2.6.7", {\
"packageLocation": "./.yarn/__virtual__/node-fetch-virtual-6754bf4830/0/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\
"packageDependencies": [\
["node-fetch", "virtual:2c3a18a16a535cecafafac4686dcde609914834792677379c1af38b636fdb4571a0527be3e92ca087ff2261c64e7f1ae95acddc692e0c113d574d8daec2c8825#npm:2.6.7"],\
["node-fetch", "virtual:cc40351c685741983b41804cc37fbab0f46943a86a984eaad02f39bf5bbec189011adab51792a83d45ff82385c8cea8dc074c99aed7b875d2fda0c0ea86ee230#npm:2.6.7"],\
["@types/encoding", null],\
["encoding", null],\
["whatwg-url", "npm:5.0.0"]\
@ -12877,17 +12844,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["unpipe", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}],\
["npm:2.5.2", {\
"packageLocation": "./.yarn/cache/raw-body-npm-2.5.2-5cb9dfebc1-ba1583c8d8.zip/node_modules/raw-body/",\
"packageDependencies": [\
["raw-body", "npm:2.5.2"],\
["bytes", "npm:3.1.2"],\
["http-errors", "npm:2.0.0"],\
["iconv-lite", "npm:0.4.24"],\
["unpipe", "npm:1.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["react-is", [\
@ -13340,14 +13296,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],\
"linkType": "HARD"\
}],\
["npm:7.5.0", {\
"packageLocation": "./.yarn/cache/semver-npm-7.5.0-160502ad5d-2d26693775.zip/node_modules/semver/",\
"packageDependencies": [\
["semver", "npm:7.5.0"],\
["lru-cache", "npm:6.0.0"]\
],\
"linkType": "HARD"\
}],\
["npm:7.5.4", {\
"packageLocation": "./.yarn/cache/semver-npm-7.5.4-c4ad957fcd-12d8ad952f.zip/node_modules/semver/",\
"packageDependencies": [\
@ -14660,24 +14608,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@typescript-eslint/eslint-plugin", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.11"],\
["@typescript-eslint/parser", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.11"],\
["@verdaccio-scope/verdaccio-auth-foo", "npm:0.0.2"],\
["@verdaccio/config", "npm:6.0.0-6-next.72"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["@verdaccio/config", "npm:6.0.0-6-next.74"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/local-storage", "npm:10.3.3"],\
["@verdaccio/logger-7", "npm:6.0.0-6-next.17"],\
["@verdaccio/middleware", "npm:6.0.0-6-next.51"],\
["@verdaccio/logger-7", "npm:6.0.0-6-next.19"],\
["@verdaccio/middleware", "npm:6.0.0-6-next.53"],\
["@verdaccio/search", "npm:6.0.0-6-next.2"],\
["@verdaccio/signature", "npm:6.0.0-6-next.2"],\
["@verdaccio/streams", "npm:10.2.1"],\
["@verdaccio/tarball", "npm:11.0.0-6-next.41"],\
["@verdaccio/tarball", "npm:11.0.0-6-next.43"],\
["@verdaccio/types", "npm:11.0.0-6-next.25"],\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.72"],\
["@verdaccio/url", "npm:11.0.0-6-next.38"],\
["@verdaccio/utils", "npm:6.0.0-6-next.40"],\
["@verdaccio/ui-theme", "npm:6.0.0-6-next.74"],\
["@verdaccio/url", "npm:11.0.0-6-next.40"],\
["@verdaccio/utils", "npm:6.0.0-6-next.42"],\
["JSONStream", "npm:1.3.5"],\
["async", "npm:3.2.4"],\
["babel-jest", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:29.6.1"],\
["babel-plugin-dynamic-import-node", "npm:2.3.3"],\
["body-parser", "npm:1.20.2"],\
["clipanion", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:3.2.1"],\
["compression", "npm:1.7.4"],\
["cookies", "npm:0.8.0"],\
@ -14728,24 +14675,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["ts-node", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.9.1"],\
["typescript", "patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=289587"],\
["validator", "npm:13.9.0"],\
["verdaccio-audit", "npm:11.0.0-6-next.35"],\
["verdaccio-audit", "npm:11.0.0-6-next.37"],\
["verdaccio-auth-memory", "npm:10.2.2"],\
["verdaccio-htpasswd", "npm:11.0.0-6-next.41"],\
["verdaccio-htpasswd", "npm:11.0.0-6-next.44"],\
["verdaccio-memory", "npm:10.3.2"]\
],\
"linkType": "SOFT"\
}]\
]],\
["verdaccio-audit", [\
["npm:11.0.0-6-next.35", {\
"packageLocation": "./.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.35-2c3a18a16a-4d94e1b725.zip/node_modules/verdaccio-audit/",\
["npm:11.0.0-6-next.37", {\
"packageLocation": "./.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.37-cc40351c68-8a2babce51.zip/node_modules/verdaccio-audit/",\
"packageDependencies": [\
["verdaccio-audit", "npm:11.0.0-6-next.35"],\
["@verdaccio/config", "npm:6.0.0-6-next.72"],\
["@verdaccio/core", "npm:6.0.0-6-next.72"],\
["verdaccio-audit", "npm:11.0.0-6-next.37"],\
["@verdaccio/config", "npm:6.0.0-6-next.74"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["express", "npm:4.18.2"],\
["https-proxy-agent", "npm:5.0.1"],\
["node-fetch", "virtual:2c3a18a16a535cecafafac4686dcde609914834792677379c1af38b636fdb4571a0527be3e92ca087ff2261c64e7f1ae95acddc692e0c113d574d8daec2c8825#npm:2.6.7"]\
["node-fetch", "virtual:cc40351c685741983b41804cc37fbab0f46943a86a984eaad02f39bf5bbec189011adab51792a83d45ff82385c8cea8dc074c99aed7b875d2fda0c0ea86ee230#npm:2.6.7"]\
],\
"linkType": "HARD"\
}]\
@ -14761,11 +14708,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
}]\
]],\
["verdaccio-htpasswd", [\
["npm:11.0.0-6-next.41", {\
"packageLocation": "./.yarn/cache/verdaccio-htpasswd-npm-11.0.0-6-next.41-d086703514-768083f3e7.zip/node_modules/verdaccio-htpasswd/",\
["npm:11.0.0-6-next.44", {\
"packageLocation": "./.yarn/cache/verdaccio-htpasswd-npm-11.0.0-6-next.44-4cf4db954e-1ab224615c.zip/node_modules/verdaccio-htpasswd/",\
"packageDependencies": [\
["verdaccio-htpasswd", "npm:11.0.0-6-next.41"],\
["@verdaccio/core", "npm:6.0.0-6-next.71"],\
["verdaccio-htpasswd", "npm:11.0.0-6-next.44"],\
["@verdaccio/core", "npm:6.0.0-6-next.74"],\
["@verdaccio/file-locking", "npm:11.0.0-6-next.7"],\
["apache-md5", "npm:1.1.8"],\
["bcryptjs", "npm:2.4.3"],\

View file

@ -4,6 +4,7 @@ enableGlobalCache: false
npmRegistryServer: "https://registry.npmjs.org"
# for local development usage
# npmRegistryServer: "http://localhost:4873/"
# unsafeHttpWhitelist:
# - localhost

View file

@ -19,21 +19,20 @@
"url": "https://opencollective.com/verdaccio"
},
"dependencies": {
"@verdaccio/config": "6.0.0-6-next.72",
"@verdaccio/core": "6.0.0-6-next.72",
"@verdaccio/config": "6.0.0-6-next.74",
"@verdaccio/core": "6.0.0-6-next.74",
"@verdaccio/local-storage": "10.3.3",
"@verdaccio/logger-7": "6.0.0-6-next.17",
"@verdaccio/middleware": "6.0.0-6-next.51",
"@verdaccio/logger-7": "6.0.0-6-next.19",
"@verdaccio/middleware": "6.0.0-6-next.53",
"@verdaccio/search": "6.0.0-6-next.2",
"@verdaccio/signature": "6.0.0-6-next.2",
"@verdaccio/streams": "10.2.1",
"@verdaccio/tarball": "11.0.0-6-next.41",
"@verdaccio/ui-theme": "6.0.0-6-next.72",
"@verdaccio/url": "11.0.0-6-next.38",
"@verdaccio/utils": "6.0.0-6-next.40",
"@verdaccio/tarball": "11.0.0-6-next.43",
"@verdaccio/ui-theme": "6.0.0-6-next.74",
"@verdaccio/url": "11.0.0-6-next.40",
"@verdaccio/utils": "6.0.0-6-next.42",
"JSONStream": "1.3.5",
"async": "3.2.4",
"body-parser": "1.20.2",
"clipanion": "3.2.1",
"compression": "1.7.4",
"cookies": "0.8.0",
@ -56,8 +55,8 @@
"request": "2.88.2",
"semver": "7.5.4",
"validator": "13.9.0",
"verdaccio-audit": "11.0.0-6-next.35",
"verdaccio-htpasswd": "11.0.0-6-next.41"
"verdaccio-audit": "11.0.0-6-next.37",
"verdaccio-htpasswd": "11.0.0-6-next.44"
},
"devDependencies": {
"@babel/cli": "7.22.6",
@ -186,10 +185,5 @@
"url": "https://opencollective.com/verdaccio",
"logo": "https://opencollective.com/verdaccio/logo.txt"
},
"packageManager": "yarn@3.6.0",
"dependenciesMeta": {
"@verdaccio/types@11.0.0-6-next.24": {
"unplugged": true
}
}
"packageManager": "yarn@3.6.0"
}

View file

@ -1,106 +1,11 @@
import { API_ERROR, HEADERS } from '../../../lib/constants';
import { HTTP_STATUS } from '../../../lib/constants';
import { logger } from '../../../lib/logger';
import { ErrorCode } from '../../../lib/utils';
export default function (route, auth, storage): void {
export default function (route): void {
// searching packages
route.get('/-/all(/since)?', function (req, res, next) {
let received_end = false;
let response_finished = false;
let processing_pkgs = 0;
let firstPackage = true;
logger.warn('/-/all search endpoint is deprecated, might be removed in the next major release');
res.status(200);
res.set(HEADERS.CONTENT_TYPE, HEADERS.JSON_CHARSET);
/*
* Offical NPM registry (registry.npmjs.org) no longer return whole database,
* They only return packages matched with keyword in `referer: search pkg-name`,
* And NPM client will request server in every search.
*
* The magic number 99999 was sent by NPM registry. Modify it may caused strange
* behaviour in the future.
*
* BTW: NPM will not return result if user-agent does not contain string 'npm',
* See: method 'request' in up-storage.js
*
* If there is no cache in local, NPM will request /-/all, then get response with
* _updated: 99999, 'Date' in response header was Mon, 10 Oct 1983 00:12:48 GMT,
* this will make NPM always query from server
*
* Data structure also different, whel request /-/all, response is an object, but
* when request /-/all/since, response is an array
*/
const respShouldBeArray = req.path.endsWith('/since');
if (!respShouldBeArray) {
res.set('Date', 'Mon, 10 Oct 1983 00:12:48 GMT');
}
const check_finish = function (): void {
if (!received_end) {
return;
}
if (processing_pkgs) {
return;
}
if (response_finished) {
return;
}
response_finished = true;
if (respShouldBeArray) {
res.end(']\n');
} else {
res.end('}\n');
}
};
if (respShouldBeArray) {
res.write('[');
} else {
res.write('{"_updated":' + 99999);
}
const stream = storage.search(req.query.startkey || 0, { req: req });
stream.on('data', function each(pkg) {
processing_pkgs++;
auth.allow_access({ packageName: pkg.name }, req.remote_user, function (err, allowed) {
processing_pkgs--;
if (err) {
if (err.status && String(err.status).match(/^4\d\d$/)) {
// auth plugin returns 4xx user error,
// that's equivalent of !allowed basically
allowed = false;
} else {
stream.abort(err);
}
}
if (allowed) {
if (respShouldBeArray) {
res.write(`${firstPackage ? '' : ','}${JSON.stringify(pkg)}\n`);
if (firstPackage) {
firstPackage = false;
}
} else {
res.write(',\n' + JSON.stringify(pkg.name) + ':' + JSON.stringify(pkg));
}
}
check_finish();
});
});
stream.on('error', function (err) {
logger.error('search `/-/all endpoint has failed @{err}', err);
received_end = true;
check_finish();
});
stream.on('end', function () {
received_end = true;
check_finish();
});
route.get('/-/all(/since)?', function (_req, res) {
logger.warn('search endpoint has been removed, please use search v1');
res.status(HTTP_STATUS.NOT_FOUND);
res.json({ error: 'not found, endpoint removed' });
});
}

View file

@ -107,21 +107,5 @@ export default function (route: Router, auth: Auth, config: Config): void {
}
);
// placeholder 'cause npm require to be authenticated to publish
// we do not do any real authentication yet
userRouter.post(
'/_session',
Cookies.express(),
function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {
res.cookies.set('AuthSession', String(Math.random()), createSessionToken());
next({
ok: true,
name: 'somebody',
roles: [],
});
}
);
route.use(userRouter);
}

View file

@ -1,11 +0,0 @@
import { Response, Router } from 'express';
import profile from './profile';
import token from './token';
export default (auth, storage, config) => {
const route = Router(); /* eslint new-cap: 0 */
route.use('/-/npm/v1/', profile(auth, config));
route.use('/-/npm/v1/', token(auth, storage, config));
return route;
};

View file

@ -21,8 +21,7 @@ export interface Profile {
fullname: string;
}
export default function (auth: Auth, config: ConfigYaml): Router {
const profileRoute = Router(); /* eslint new-cap: 0 */
export default function (router: Router, auth: Auth, config: ConfigYaml) {
function buildProfile(name: string): Profile {
return {
tfa: false,
@ -36,8 +35,8 @@ export default function (auth: Auth, config: ConfigYaml): Router {
};
}
profileRoute.get(
'/user',
router.get(
'/-/npm/v1/user',
rateLimit(config?.userRateLimit),
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
if (_.isNil(req.remote_user.name) === false) {
@ -51,8 +50,8 @@ export default function (auth: Auth, config: ConfigYaml): Router {
}
);
profileRoute.post(
'/user',
router.post(
'/-/npm/v1/user',
rateLimit(config?.userRateLimit),
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
if (_.isNil(req.remote_user.name)) {
@ -98,6 +97,4 @@ export default function (auth: Auth, config: ConfigYaml): Router {
}
}
);
return profileRoute;
}

View file

@ -27,10 +27,9 @@ function normalizeToken(token: Token): NormalizeToken {
}
// https://github.com/npm/npm-profile/blob/latest/lib/index.js
export default function (auth: Auth, storage: Storage, config: Config): Router {
const tokenRoute = Router(); /* eslint new-cap: 0 */
tokenRoute.get(
'/tokens',
export default function (router: Router, auth: Auth, storage: Storage, config: Config) {
router.get(
'/-/npm/v1/tokens',
rateLimit(config?.userRateLimit),
async function (req: $RequestExtend, res: Response, next: $NextFunctionVer) {
const { name } = req.remote_user;
@ -56,8 +55,8 @@ export default function (auth: Auth, storage: Storage, config: Config): Router {
}
);
tokenRoute.post(
'/tokens',
router.post(
'/-/npm/v1/tokens',
rateLimit(config?.userRateLimit),
function (req: $RequestExtend, res: Response, next: $NextFunctionVer) {
const { password, readonly, cidr_whitelist } = req.body;
@ -122,8 +121,8 @@ export default function (auth: Auth, storage: Storage, config: Config): Router {
}
);
tokenRoute.delete(
'/tokens/token/:tokenKey',
router.delete(
'/-/npm/v1/tokens/token/:tokenKey',
rateLimit(config?.userRateLimit),
async (req: $RequestExtend, res: Response, next: $NextFunctionVer) => {
const {
@ -145,6 +144,4 @@ export default function (auth: Auth, storage: Storage, config: Config): Router {
return next(ErrorCode.getUnauthorized());
}
);
return tokenRoute;
}

View file

@ -3,14 +3,6 @@ import { Response, Router } from 'express';
import { $NextFunctionVer, $RequestExtend } from '../../../types';
export default function (route: Router): void {
route.get('/whoami', (req: $RequestExtend, res: Response, next: $NextFunctionVer): void => {
if (req.get('referer') === 'whoami') {
next({ username: req.remote_user.name });
} else {
next('route');
}
});
route.get('/-/whoami', (req: $RequestExtend, res: Response, next: $NextFunctionVer): any => {
next({ username: req.remote_user.name });
});

View file

@ -11,8 +11,9 @@ import publish from './api/publish';
import search from './api/search';
import stars from './api/stars';
import user from './api/user';
import npmV1 from './api/v1';
import profile from './api/v1/profile';
import v1Search from './api/v1/search';
import token from './api/v1/token';
import whoami from './api/whoami';
const {
@ -46,16 +47,16 @@ export default function (config: Config, auth: Auth, storage: Storage) {
app.use(antiLoop(config));
// encode / in a scoped package name to be matched as a single parameter in routes
app.use(encodeScopePackage);
// for "npm whoami"
whoami(app);
pkg(app, auth, storage, config);
search(app, auth, storage);
profile(app, auth, config);
search(app);
user(app, auth, config);
distTags(app, auth, storage);
publish(app, auth, storage, config);
ping(app);
stars(app, storage);
v1Search(app, auth, storage);
user(app, auth, config);
app.use(npmV1(auth, storage, config));
token(app, auth, storage, config);
pkg(app, auth, storage, config);
return app;
}

View file

@ -3,10 +3,11 @@ import cors from 'cors';
import express, { Application } from 'express';
import _ from 'lodash';
import { Config, getUserAgent } from '@verdaccio/config';
import { getUserAgent } from '@verdaccio/config';
import { pluginUtils } from '@verdaccio/core';
import { final } from '@verdaccio/middleware';
import { log } from '@verdaccio/middleware';
import { SearchMemoryIndexer } from '@verdaccio/search';
import { Config as IConfig } from '@verdaccio/types';
import Auth from '../lib/auth';
@ -40,10 +41,11 @@ export function loadTheme(config) {
}
}
const defineAPI = async function (config: IConfig, storage: Storage): Promise<any> {
const defineAPI = async function (config: IConfig, storage: Storage): Promise<express.Application> {
const auth = new Auth(config);
const app: Application = express();
SearchMemoryIndexer.configureStorage(storage);
await SearchMemoryIndexer.init();
// run in production mode by default, just in case
// it shouldn't make any difference anyway
app.set('env', process.env.NODE_ENV || 'production');
@ -56,7 +58,7 @@ const defineAPI = async function (config: IConfig, storage: Storage): Promise<an
app.use(cors());
// Router setup
// // Router setup
app.use(log(logger));
app.use(errorReportingMiddleware);
if (config.user_agent) {
@ -88,15 +90,16 @@ const defineAPI = async function (config: IConfig, storage: Storage): Promise<an
config.middlewares,
plugin_params,
function (plugin: pluginUtils.ManifestFilter<IConfig>) {
// @ts-expect-error
// @ts-ignore
return plugin.register_middlewares;
}
);
plugins.forEach((plugin: any) => {
plugin.register_middlewares(app, auth, storage);
});
// For npm request
// // For npm request
app.use(apiEndpoint(config, auth, storage));
// For WebUI & WebUI API
@ -105,16 +108,14 @@ const defineAPI = async function (config: IConfig, storage: Storage): Promise<an
res.locals.app_version = version ?? '';
next();
});
const midl = await webMiddleware(config, auth, storage);
app.use('/', midl);
app.use(webMiddleware(config, auth, storage));
} else {
app.get('/', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {
app.get('/', function (_, __, next: $NextFunctionVer) {
next(ErrorCode.getNotFound(API_ERROR.WEB_DISABLED));
});
}
// Catch 404
app.get('/*', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {
app.get('/*', function (_, __, next: $NextFunctionVer) {
next(ErrorCode.getNotFound(API_ERROR.FILE_NOT_FOUND));
});
app.use(handleError);
@ -123,7 +124,7 @@ const defineAPI = async function (config: IConfig, storage: Storage): Promise<an
return app;
};
export default (async function (configHash: any): Promise<any> {
export default (async function (configHash: any) {
setup(configHash.logs);
const config: IConfig = new AppConfig(_.cloneDeep(configHash));
// register middleware plugins

View file

@ -8,20 +8,19 @@ import search from './search';
import user from './user';
export default (auth, storage, config) => {
const route = Router(); /* eslint new-cap: 0 */
route.use(
'/data/',
// eslint-disable-next-line new-cap
const router = Router();
router.use(
rateLimit({
windowMs: 2 * 60 * 1000, // 2 minutes
max: 5000, // limit each IP to 1000 requests per windowMs
...config?.web?.rateLimit,
})
);
route.use('/data/', packageApi(storage, auth, config));
route.use('/data/', search(storage, auth));
route.use('/sec/', rateLimit(config?.userRateLimit));
packageApi(router, storage, auth, config);
search(router, storage, auth);
if (hasLogin(config)) {
route.use('/sec/', user(auth, storage));
user(router, auth, storage);
}
return route;
return router;
};

View file

@ -6,7 +6,7 @@ import {
convertDistRemoteToLocalTarballUrls,
getLocalRegistryTarballUri,
} from '@verdaccio/tarball';
import { Config, Package } from '@verdaccio/types';
import { Config, Manifest } from '@verdaccio/types';
import { generateGravatarUrl } from '@verdaccio/utils';
import Auth from '../../../lib/auth';
@ -29,16 +29,15 @@ const getOrder = (order = 'asc') => {
return order === 'asc';
};
export type PackcageExt = Package & { author: any; dist?: { tarball: string } };
export type PackcageExt = Manifest & { author: any; dist?: { tarball: string } };
function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router {
function addPackageWebApi(pkgRouter: Router, storage: Storage, auth: Auth, config: Config): Router {
const can = allow(auth, {
beforeAll: (params, message) => {
logger.debug(params, message);
},
afterAll: (params, message) => logger.debug(params, message),
});
const pkgRouter = Router(); /* eslint new-cap: 0 */
const checkAllow = (name, remoteUser): Promise<boolean> =>
new Promise((resolve, reject): void => {
@ -56,7 +55,7 @@ function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router
// Get list of all visible package
pkgRouter.get(
'/packages',
'/-/verdaccio/data/packages',
function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {
storage.getLocalDatabase(async function (err, packages): Promise<void> {
if (err) {
@ -114,7 +113,7 @@ function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router
// Get package readme
pkgRouter.get(
'/package/readme/(@:scope/)?:package/:version?',
'/-/verdaccio/data/package/readme/(@:scope/)?:package/:version?',
can('access'),
function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {
const packageName = req.params.scope
@ -138,7 +137,7 @@ function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router
);
pkgRouter.get(
'/sidebar/(@:scope/)?:package',
'/-/verdaccio/data/sidebar/(@:scope/)?:package',
can('access'),
function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {
const packageName: string = req.params.scope

View file

@ -8,11 +8,10 @@ import { DIST_TAGS } from '../../../lib/constants';
import Storage from '../../../lib/storage';
import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../../../types';
function addSearchWebApi(storage: Storage, auth: Auth): Router {
const route = Router(); /* eslint new-cap: 0 */
function addSearchWebApi(route: Router, storage: Storage, auth: Auth): Router {
// Search package
route.get(
'/search/:anything',
'/-/verdaccio/data/search/:anything',
async function (
req: $RequestExtend,
_res: $ResponseExtend,

View file

@ -1,6 +1,7 @@
import { Request, Response, Router } from 'express';
import _ from 'lodash';
import { rateLimit } from '@verdaccio/middleware';
import { Config, JWTSignOptions, RemoteUser } from '@verdaccio/types';
import Auth from '../../../lib/auth';
@ -9,29 +10,32 @@ import { API_ERROR, APP_ERROR, HEADERS, HTTP_STATUS } from '../../../lib/constan
import { ErrorCode } from '../../../lib/utils';
import { $NextFunctionVer } from '../../../types';
function addUserAuthApi(auth: Auth, config: Config): Router {
const route = Router(); /* eslint new-cap: 0 */
route.post('/login', function (req: Request, res: Response, next: $NextFunctionVer): void {
const { username, password } = req.body;
function addUserAuthApi(route: Router, auth: Auth, config: Config): Router {
route.post(
'/-/verdaccio/sec/login',
rateLimit(config?.userRateLimit),
function (req: Request, res: Response, next: $NextFunctionVer): void {
const { username, password } = req.body;
auth.authenticate(username, password, async (err, user: RemoteUser): Promise<void> => {
if (err) {
const errorCode = err.message ? HTTP_STATUS.UNAUTHORIZED : HTTP_STATUS.INTERNAL_ERROR;
next(ErrorCode.getCode(errorCode, err.message));
} else {
req.remote_user = user;
const jWTSignOptions: JWTSignOptions = getSecurity(config).web.sign;
res.set(HEADERS.CACHE_CONTROL, 'no-cache, no-store');
next({
token: await auth.jwtEncrypt(user, jWTSignOptions),
username: req.remote_user.name,
});
}
});
});
auth.authenticate(username, password, async (err, user: RemoteUser): Promise<void> => {
if (err) {
const errorCode = err.message ? HTTP_STATUS.UNAUTHORIZED : HTTP_STATUS.INTERNAL_ERROR;
next(ErrorCode.getCode(errorCode, err.message));
} else {
req.remote_user = user;
const jWTSignOptions: JWTSignOptions = getSecurity(config).web.sign;
res.set(HEADERS.CACHE_CONTROL, 'no-cache, no-store');
next({
token: await auth.jwtEncrypt(user, jWTSignOptions),
username: req.remote_user.name,
});
}
});
}
);
route.put(
'/reset_password',
'/-/verdaccio/sec/reset_password',
function (req: Request, res: Response, next: $NextFunctionVer): void {
if (_.isNil(req.remote_user.name)) {
res.status(HTTP_STATUS.UNAUTHORIZED);

View file

@ -1,12 +1,11 @@
import buildDebug from 'debug';
import express from 'express';
import { Router } from 'express';
import _ from 'lodash';
import { webMiddleware } from '@verdaccio/middleware';
import { SearchMemoryIndexer } from '@verdaccio/search';
import { renderWebMiddleware, setSecurityWebHeaders } from '@verdaccio/middleware';
import loadPlugin from '../../lib/plugin-loader';
import webApi from './api';
import webEndpointsApi from './api';
const debug = buildDebug('verdaccio:web');
@ -27,22 +26,15 @@ export function loadTheme(config) {
}
}
export default async (config, auth, storage) => {
export default (config, auth, storage) => {
const pluginOptions = loadTheme(config) || require('@verdaccio/ui-theme')();
SearchMemoryIndexer.configureStorage(storage);
await SearchMemoryIndexer.init();
// eslint-disable-next-line new-cap
const router = express.Router();
// load application
router.use(
webMiddleware(
config,
{
tokenMiddleware: auth.webUIJWTmiddleware(),
webEndpointsApi: webApi(auth, storage, config),
},
pluginOptions
)
);
const router = Router();
router.use(setSecurityWebHeaders);
// render web
// @ts-ignore
router.use('/', renderWebMiddleware(config, null, pluginOptions));
// web endpoints, search, packages, etc
router.use(webEndpointsApi(auth, storage, config));
return router;
};

207
yarn.lock
View file

@ -3483,46 +3483,32 @@ __metadata:
languageName: node
linkType: hard
"@verdaccio/config@npm:6.0.0-6-next.72":
version: 6.0.0-6-next.72
resolution: "@verdaccio/config@npm:6.0.0-6-next.72"
"@verdaccio/config@npm:6.0.0-6-next.74":
version: 6.0.0-6-next.74
resolution: "@verdaccio/config@npm:6.0.0-6-next.74"
dependencies:
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/utils": 6.0.0-6-next.40
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/utils": 6.0.0-6-next.42
debug: 4.3.4
js-yaml: 4.1.0
lodash: 4.17.21
minimatch: 3.1.2
yup: 0.32.11
checksum: 9880fb08ff625dbfca1f4b3a9d2f738da12f84a73cf3da2e976f68a3d9d8e2abf1c19b73274d2c5cad292a880d59bb58b02d3d13b2a8beeed82aaa64f7e81e11
checksum: 2cadbd173d0faa81316c4df8c0767eefa880707993985bd06ab6a6e2d4f33081ed820e7747fdecf4b31a67d7079c42c3df6c7090f7c64ac19a2a3e5d3fe93762
languageName: node
linkType: hard
"@verdaccio/core@npm:6.0.0-6-next.71":
version: 6.0.0-6-next.71
resolution: "@verdaccio/core@npm:6.0.0-6-next.71"
"@verdaccio/core@npm:6.0.0-6-next.74":
version: 6.0.0-6-next.74
resolution: "@verdaccio/core@npm:6.0.0-6-next.74"
dependencies:
ajv: 8.12.0
core-js: 3.30.2
http-errors: 2.0.0
http-status-codes: 2.2.0
process-warning: 1.0.0
semver: 7.5.0
checksum: d5c61d9e86bec1fbb58b2df5f8b83d0e60871173b7a160957a67805dbaec95656142853e6e99812870208b2eec754bc5d2f0b6fd3e3e9878678afcf6648d65fa
languageName: node
linkType: hard
"@verdaccio/core@npm:6.0.0-6-next.72":
version: 6.0.0-6-next.72
resolution: "@verdaccio/core@npm:6.0.0-6-next.72"
dependencies:
ajv: 8.12.0
core-js: 3.30.2
http-errors: 2.0.0
http-status-codes: 2.2.0
process-warning: 1.0.0
semver: 7.5.0
checksum: 785941667fe7cf9a6cf8a2d213a295a5111efbe88cd9c40b9468a14a1e9ea539a78995a53d4dc40a72a42f82bd6ec29b373ca929d07e44dc4edd8c843ce81f92
semver: 7.5.4
checksum: ba4d1524a97ad9f0656fdb5b658ee0ac0da632c8eb3310b9cc3499a07a9c5be23546ceb287bf2ad74199b2b4caed8c38024f3a563deca02b0a5c6f871089df6d
languageName: node
linkType: hard
@ -3560,25 +3546,25 @@ __metadata:
languageName: node
linkType: hard
"@verdaccio/logger-7@npm:6.0.0-6-next.17":
version: 6.0.0-6-next.17
resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.17"
"@verdaccio/logger-7@npm:6.0.0-6-next.19":
version: 6.0.0-6-next.19
resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.19"
dependencies:
"@verdaccio/logger-commons": 6.0.0-6-next.40
"@verdaccio/logger-commons": 6.0.0-6-next.42
pino: 7.11.0
checksum: fdc2577cefd1917428d84baa8e3659d7dcc028039f8c4f84ee72954c886d4a01ce58198b9e72059125d57169a4aabd4f54f8431affc8807dc60d6a59c73ae138
checksum: 002cb584e858b6fda4c922a0300aa5d6954de2efd51528564756b17800c2ef7284f914eb94c952bee5c4e36c5977c25057a3b39cd8ce96c9bda671682d0c2c77
languageName: node
linkType: hard
"@verdaccio/logger-commons@npm:6.0.0-6-next.40":
version: 6.0.0-6-next.40
resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.40"
"@verdaccio/logger-commons@npm:6.0.0-6-next.42":
version: 6.0.0-6-next.42
resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.42"
dependencies:
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/logger-prettify": 6.0.0-6-next.10
colorette: 2.0.20
debug: 4.3.4
checksum: 448bd21ae42463d3cdb30162ef9133f52a3768ab7bab2b5f589599cd4046b0d4f9b8f2c688c0eec645c3b3da9faaca4ace689c84efe0b93f862e8e263c40abdd
checksum: ed1d44557c160096901a00136516c54aa686cbfc5263d4b3d1ff974ebf61ff79231086efa4d8fb8a17ba612c96be30a8124c3b3fa21c5500650d6305d701472c
languageName: node
linkType: hard
@ -3595,21 +3581,21 @@ __metadata:
languageName: node
linkType: hard
"@verdaccio/middleware@npm:6.0.0-6-next.51":
version: 6.0.0-6-next.51
resolution: "@verdaccio/middleware@npm:6.0.0-6-next.51"
"@verdaccio/middleware@npm:6.0.0-6-next.53":
version: 6.0.0-6-next.53
resolution: "@verdaccio/middleware@npm:6.0.0-6-next.53"
dependencies:
"@verdaccio/config": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/url": 11.0.0-6-next.38
"@verdaccio/utils": 6.0.0-6-next.40
"@verdaccio/config": 6.0.0-6-next.74
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/url": 11.0.0-6-next.40
"@verdaccio/utils": 6.0.0-6-next.42
debug: 4.3.4
express: 4.18.2
express-rate-limit: 5.5.1
lodash: 4.17.21
lru-cache: 7.18.3
mime: 2.6.0
checksum: 50b6c0c1943c5507cd402bd346aee3f4440abf73ec699a27115c2ca4e93ba4a5a4155788d04c82d89c578c8454c64d4f7f72be214957dcdcf0924783306f0070
checksum: 646971454a497ba8308f8148b4e5013a427ef138fbcca817c5a75a07647ba9a75048763a97f8a894723f11aabf9d83a696a65a2ee3f1f0d936b7f8ff91a10282
languageName: node
linkType: hard
@ -3638,16 +3624,16 @@ __metadata:
languageName: node
linkType: hard
"@verdaccio/tarball@npm:11.0.0-6-next.41":
version: 11.0.0-6-next.41
resolution: "@verdaccio/tarball@npm:11.0.0-6-next.41"
"@verdaccio/tarball@npm:11.0.0-6-next.43":
version: 11.0.0-6-next.43
resolution: "@verdaccio/tarball@npm:11.0.0-6-next.43"
dependencies:
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/url": 11.0.0-6-next.38
"@verdaccio/utils": 6.0.0-6-next.40
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/url": 11.0.0-6-next.40
"@verdaccio/utils": 6.0.0-6-next.42
debug: 4.3.4
lodash: 4.17.21
checksum: 89a6532b7a85d7962b2fb7204a5d4a439534c34329814436d5bf197b15eac2b1724ccfc2dd4598f500db87c83832e3cf4f4090f603b3e47bc0e469a40c2d7138
checksum: cd39d065cfcc677f609dd3f277889ef25019a35c42457b792c75252376b3788ffad982e97ecb204c02fbe2ac5173da61620e2d72ba703f0440eb11be583dc94e
languageName: node
linkType: hard
@ -3658,34 +3644,34 @@ __metadata:
languageName: node
linkType: hard
"@verdaccio/ui-theme@npm:6.0.0-6-next.72":
version: 6.0.0-6-next.72
resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.72"
checksum: 2b6c09b8230081a1fd63dbd00e7d26d92da286286dc930b10410872afee297b701fcf0f9aa09d3f01c15b0b33e0959ddd375a590b6f3dcdfc6c0ff90653ee624
"@verdaccio/ui-theme@npm:6.0.0-6-next.74":
version: 6.0.0-6-next.74
resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.74"
checksum: 7ab99df04a3297e457a105832fe3028ebca962676b9af727bc1a9515e5ca378ab9c2dca8cf81e9d62f2ced710ba9640fd70fefadfaf1080f752d39314480ab75
languageName: node
linkType: hard
"@verdaccio/url@npm:11.0.0-6-next.38":
version: 11.0.0-6-next.38
resolution: "@verdaccio/url@npm:11.0.0-6-next.38"
"@verdaccio/url@npm:11.0.0-6-next.40":
version: 11.0.0-6-next.40
resolution: "@verdaccio/url@npm:11.0.0-6-next.40"
dependencies:
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.74
debug: 4.3.4
lodash: 4.17.21
validator: 13.9.0
checksum: aac9b04e4fda24e167b3c313e38361069b4b37b4fdf9b848dbc1e6d28341b25a2efbe43a287e3890ff64f10d2f1b9d9c71f1a3a990caa38e5d5b312e40618920
checksum: 77889b1fcba2e376e49b97bfdca9431fa79ab8b2270f00f347b94fcce2aad85349d89dc0e5aef5132c5a568cd93701b8027813fe800e5e014628b6d2b045ea77
languageName: node
linkType: hard
"@verdaccio/utils@npm:6.0.0-6-next.40":
version: 6.0.0-6-next.40
resolution: "@verdaccio/utils@npm:6.0.0-6-next.40"
"@verdaccio/utils@npm:6.0.0-6-next.42":
version: 6.0.0-6-next.42
resolution: "@verdaccio/utils@npm:6.0.0-6-next.42"
dependencies:
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.74
lodash: 4.17.21
minimatch: 3.1.2
semver: 7.5.0
checksum: 8522be67ec363d923af92eaf3339a94d4806259c1a9503a7c47214568c1d4235b094c7dcee4f8957777cefdde6b112979b203d7719d080f3588492191f65d722
semver: 7.5.4
checksum: d9ea0d9f9c81bd6044b93d25ae04e8b327fef52b4b4738c0be4e15ae4d7b1befbde44f4159e87e6b958c4749fda4d84a4a4731e19d7eb8e855cefcdb1fa948ce
languageName: node
linkType: hard
@ -4258,26 +4244,6 @@ __metadata:
languageName: node
linkType: hard
"body-parser@npm:1.20.2":
version: 1.20.2
resolution: "body-parser@npm:1.20.2"
dependencies:
bytes: 3.1.2
content-type: ~1.0.5
debug: 2.6.9
depd: 2.0.0
destroy: 1.2.0
http-errors: 2.0.0
iconv-lite: 0.4.24
on-finished: 2.4.1
qs: 6.11.0
raw-body: 2.5.2
type-is: ~1.6.18
unpipe: 1.0.0
checksum: 14d37ec638ab5c93f6099ecaed7f28f890d222c650c69306872e00b9efa081ff6c596cd9afb9930656aae4d6c4e1c17537bea12bb73c87a217cb3cfea8896737
languageName: node
linkType: hard
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@ -4750,7 +4716,7 @@ __metadata:
languageName: node
linkType: hard
"content-type@npm:~1.0.4, content-type@npm:~1.0.5":
"content-type@npm:~1.0.4":
version: 1.0.5
resolution: "content-type@npm:1.0.5"
checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766
@ -9521,18 +9487,6 @@ __metadata:
languageName: node
linkType: hard
"raw-body@npm:2.5.2":
version: 2.5.2
resolution: "raw-body@npm:2.5.2"
dependencies:
bytes: 3.1.2
http-errors: 2.0.0
iconv-lite: 0.4.24
unpipe: 1.0.0
checksum: ba1583c8d8a48e8fbb7a873fdbb2df66ea4ff83775421bfe21ee120140949ab048200668c47d9ae3880012f6e217052690628cf679ddfbd82c9fc9358d574676
languageName: node
linkType: hard
"react-is@npm:^17.0.1":
version: 17.0.2
resolution: "react-is@npm:17.0.2"
@ -9951,17 +9905,6 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:7.5.0":
version: 7.5.0
resolution: "semver@npm:7.5.0"
dependencies:
lru-cache: ^6.0.0
bin:
semver: bin/semver.js
checksum: 2d266937756689a76f124ffb4c1ea3e1bbb2b263219f90ada8a11aebebe1280b13bb76cca2ca96bdee3dbc554cbc0b24752eb895b2a51577aa644427e9229f2b
languageName: node
linkType: hard
"semver@npm:7.5.4, semver@npm:^7.5.3":
version: 7.5.4
resolution: "semver@npm:7.5.4"
@ -11087,16 +11030,16 @@ __metadata:
languageName: node
linkType: hard
"verdaccio-audit@npm:11.0.0-6-next.35":
version: 11.0.0-6-next.35
resolution: "verdaccio-audit@npm:11.0.0-6-next.35"
"verdaccio-audit@npm:11.0.0-6-next.37":
version: 11.0.0-6-next.37
resolution: "verdaccio-audit@npm:11.0.0-6-next.37"
dependencies:
"@verdaccio/config": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/config": 6.0.0-6-next.74
"@verdaccio/core": 6.0.0-6-next.74
express: 4.18.2
https-proxy-agent: 5.0.1
node-fetch: cjs
checksum: 4d94e1b72580fd6f41e63da581950dee79de3884edac431728dd219224baf9061aad8ec8e033d0a0476bdbb5089d23163f568f533be24c68427cfbf41c6ee45c
checksum: 8a2babce515d2a09a7373c802b133a1b11bcf6388bb6f05959b9addfcd9329f4ba5ad43c3893900af2d8855659b749e10763c3af30182579672582d9e9f1802a
languageName: node
linkType: hard
@ -11109,11 +11052,11 @@ __metadata:
languageName: node
linkType: hard
"verdaccio-htpasswd@npm:11.0.0-6-next.41":
version: 11.0.0-6-next.41
resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.41"
"verdaccio-htpasswd@npm:11.0.0-6-next.44":
version: 11.0.0-6-next.44
resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.44"
dependencies:
"@verdaccio/core": 6.0.0-6-next.71
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/file-locking": 11.0.0-6-next.7
apache-md5: 1.1.8
bcryptjs: 2.4.3
@ -11121,7 +11064,7 @@ __metadata:
debug: 4.3.4
http-errors: 2.0.0
unix-crypt-td-js: 1.1.4
checksum: 768083f3e7a54b504e41afd5c4d9e4057480a87b5434c96e924739086bc07812b6c115a57969008aae86493c2bd99a4ad829bd5d0705e254fc4668b5edf79a28
checksum: 1ab224615c532afbb5d8564dfdea4fef80a66b9141874bdee20926cc0ee2bf9e40048d36b43855099a84d2acb765a3cfde1715b9a5758240a039aaea7f78c00d
languageName: node
linkType: hard
@ -11181,24 +11124,23 @@ __metadata:
"@typescript-eslint/eslint-plugin": 5.59.11
"@typescript-eslint/parser": 5.59.11
"@verdaccio-scope/verdaccio-auth-foo": 0.0.2
"@verdaccio/config": 6.0.0-6-next.72
"@verdaccio/core": 6.0.0-6-next.72
"@verdaccio/config": 6.0.0-6-next.74
"@verdaccio/core": 6.0.0-6-next.74
"@verdaccio/local-storage": 10.3.3
"@verdaccio/logger-7": 6.0.0-6-next.17
"@verdaccio/middleware": 6.0.0-6-next.51
"@verdaccio/logger-7": 6.0.0-6-next.19
"@verdaccio/middleware": 6.0.0-6-next.53
"@verdaccio/search": 6.0.0-6-next.2
"@verdaccio/signature": 6.0.0-6-next.2
"@verdaccio/streams": 10.2.1
"@verdaccio/tarball": 11.0.0-6-next.41
"@verdaccio/tarball": 11.0.0-6-next.43
"@verdaccio/types": 11.0.0-6-next.25
"@verdaccio/ui-theme": 6.0.0-6-next.72
"@verdaccio/url": 11.0.0-6-next.38
"@verdaccio/utils": 6.0.0-6-next.40
"@verdaccio/ui-theme": 6.0.0-6-next.74
"@verdaccio/url": 11.0.0-6-next.40
"@verdaccio/utils": 6.0.0-6-next.42
JSONStream: 1.3.5
async: 3.2.4
babel-jest: 29.6.1
babel-plugin-dynamic-import-node: 2.3.3
body-parser: 1.20.2
clipanion: 3.2.1
compression: 1.7.4
cookies: 0.8.0
@ -11249,13 +11191,10 @@ __metadata:
ts-node: 10.9.1
typescript: 4.9.5
validator: 13.9.0
verdaccio-audit: 11.0.0-6-next.35
verdaccio-audit: 11.0.0-6-next.37
verdaccio-auth-memory: 10.2.2
verdaccio-htpasswd: 11.0.0-6-next.41
verdaccio-htpasswd: 11.0.0-6-next.44
verdaccio-memory: 10.3.2
dependenciesMeta:
"@verdaccio/types@11.0.0-6-next.24":
unplugged: true
bin:
verdaccio: ./bin/verdaccio
languageName: unknown