@verdaccio/middleware 8.0.0-next-8.6 → 8.0.0-next-8.7

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @verdaccio/middleware
2
2
 
3
+ ## 8.0.0-next-8.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 589ea7f: chore: move tarball utils to core
8
+ - 139861e: fix: crashes with path-to-regexp v0.1.12 express
9
+ - Updated dependencies [589ea7f]
10
+ - @verdaccio/core@8.0.0-next-8.7
11
+ - @verdaccio/utils@8.1.0-next-8.7
12
+ - @verdaccio/config@8.0.0-next-8.7
13
+ - @verdaccio/url@13.0.0-next-8.7
14
+
3
15
  ## 8.0.0-next-8.6
4
16
 
5
17
  ### Patch Changes
package/build/index.d.ts CHANGED
@@ -14,3 +14,5 @@ export { webMiddleware, renderWebMiddleware } from './middlewares/web';
14
14
  export { errorReportingMiddleware, handleError } from './middlewares/error';
15
15
  export { log, LOG_STATUS_MESSAGE, LOG_VERDACCIO_BYTES, LOG_VERDACCIO_ERROR, } from './middlewares/log';
16
16
  export * from './types';
17
+ export * from './middlewares/api_urls';
18
+ export * from './middlewares/web/web-urls';
package/build/index.js CHANGED
@@ -179,4 +179,28 @@ Object.keys(_types).forEach(function (key) {
179
179
  }
180
180
  });
181
181
  });
182
+ var _api_urls = require("./middlewares/api_urls");
183
+ Object.keys(_api_urls).forEach(function (key) {
184
+ if (key === "default" || key === "__esModule") return;
185
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
186
+ if (key in exports && exports[key] === _api_urls[key]) return;
187
+ Object.defineProperty(exports, key, {
188
+ enumerable: true,
189
+ get: function () {
190
+ return _api_urls[key];
191
+ }
192
+ });
193
+ });
194
+ var _webUrls = require("./middlewares/web/web-urls");
195
+ Object.keys(_webUrls).forEach(function (key) {
196
+ if (key === "default" || key === "__esModule") return;
197
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
198
+ if (key in exports && exports[key] === _webUrls[key]) return;
199
+ Object.defineProperty(exports, key, {
200
+ enumerable: true,
201
+ get: function () {
202
+ return _webUrls[key];
203
+ }
204
+ });
205
+ });
182
206
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_match","require","_securityHeaders","_validation","_media","_makeUrlRelative","_encodePkg","_json","_antiLoop","_final","_allow","_rateLimit","_userAgent","_web","_error","_log","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../src/index.ts"],"sourcesContent":["export { match } from './middlewares/match';\nexport { setSecurityWebHeaders } from './middlewares/security-headers';\nexport { validateName, validatePackage } from './middlewares/validation';\nexport { media } from './middlewares/media';\nexport { makeURLrelative } from './middlewares/make-url-relative';\nexport { encodeScopePackage } from './middlewares/encode-pkg';\nexport { expectJson } from './middlewares/json';\nexport { antiLoop } from './middlewares/antiLoop';\nexport { final } from './middlewares/final';\nexport { allow } from './middlewares/allow';\nexport { rateLimit } from './middlewares/rate-limit';\nexport { userAgent } from './middlewares/user-agent';\nexport { webMiddleware, renderWebMiddleware } from './middlewares/web';\nexport { errorReportingMiddleware, handleError } from './middlewares/error';\nexport {\n log,\n LOG_STATUS_MESSAGE,\n LOG_VERDACCIO_BYTES,\n LOG_VERDACCIO_ERROR,\n} from './middlewares/log';\nexport * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,IAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,IAAA,GAAAd,OAAA;AAMA,IAAAe,MAAA,GAAAf,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_match","require","_securityHeaders","_validation","_media","_makeUrlRelative","_encodePkg","_json","_antiLoop","_final","_allow","_rateLimit","_userAgent","_web","_error","_log","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_api_urls","_webUrls"],"sources":["../src/index.ts"],"sourcesContent":["export { match } from './middlewares/match';\nexport { setSecurityWebHeaders } from './middlewares/security-headers';\nexport { validateName, validatePackage } from './middlewares/validation';\nexport { media } from './middlewares/media';\nexport { makeURLrelative } from './middlewares/make-url-relative';\nexport { encodeScopePackage } from './middlewares/encode-pkg';\nexport { expectJson } from './middlewares/json';\nexport { antiLoop } from './middlewares/antiLoop';\nexport { final } from './middlewares/final';\nexport { allow } from './middlewares/allow';\nexport { rateLimit } from './middlewares/rate-limit';\nexport { userAgent } from './middlewares/user-agent';\nexport { webMiddleware, renderWebMiddleware } from './middlewares/web';\nexport { errorReportingMiddleware, handleError } from './middlewares/error';\nexport {\n log,\n LOG_STATUS_MESSAGE,\n LOG_VERDACCIO_BYTES,\n LOG_VERDACCIO_ERROR,\n} from './middlewares/log';\nexport * from './types';\nexport * from './middlewares/api_urls';\nexport * from './middlewares/web/web-urls';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,IAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,IAAA,GAAAd,OAAA;AAMA,IAAAe,MAAA,GAAAf,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,SAAA,GAAA5B,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAW,SAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,SAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,QAAA,GAAA7B,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAY,QAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,QAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.allow = allow;
7
7
  var _debug = _interopRequireDefault(require("debug"));
8
8
  var _core = require("@verdaccio/core");
9
- var _utils = require("@verdaccio/utils");
10
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
10
  const debug = (0, _debug.default)('verdaccio:middleware:allow');
12
11
  function allow(auth, options = {
@@ -23,7 +22,7 @@ function allow(auth, options = {
23
22
  return function (req, res, next) {
24
23
  req.pause();
25
24
  const packageName = req.params.scope ? `@${req.params.scope}/${req.params.package}` : req.params.package;
26
- const packageVersion = req.params.filename ? (0, _utils.getVersionFromTarball)(req.params.filename) : req.params.version ? req.params.version : undefined;
25
+ const packageVersion = req.params.filename ? _core.tarballUtils.getVersionFromTarball(req.params.filename) : req.params.version ? req.params.version : undefined;
27
26
  const remote_user = req.remote_user;
28
27
  debug('check if user %o can %o package %o version %o', remote_user?.name, action, packageName, packageVersion);
29
28
  beforeAll?.({
@@ -1 +1 @@
1
- {"version":3,"file":"allow.js","names":["_debug","_interopRequireDefault","require","_core","_utils","e","__esModule","default","debug","buildDebug","allow","auth","options","beforeAll","_a","_b","afterAll","action","req","res","next","pause","packageName","params","scope","package","packageVersion","filename","getVersionFromTarball","version","undefined","remote_user","name","user","error","allowed","resume","errorUtils","getInternalError","API_ERROR","PLUGIN_ERROR"],"sources":["../../src/middlewares/allow.ts"],"sourcesContent":["import buildDebug from 'debug';\n\nimport { API_ERROR, errorUtils } from '@verdaccio/core';\nimport { getVersionFromTarball } from '@verdaccio/utils';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types';\n\nconst debug = buildDebug('verdaccio:middleware:allow');\n\nexport function allow<T>(\n auth: T,\n options = {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n beforeAll: (_a: any, _b: any) => {},\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n afterAll: (_a: any, _b: any) => {},\n }\n): Function {\n const { beforeAll, afterAll } = options;\n return function (action: string): Function {\n return function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {\n req.pause();\n const packageName = req.params.scope\n ? `@${req.params.scope}/${req.params.package}`\n : req.params.package;\n const packageVersion = req.params.filename\n ? getVersionFromTarball(req.params.filename)\n : req.params.version\n ? req.params.version\n : undefined;\n const remote_user = req.remote_user;\n debug(\n 'check if user %o can %o package %o version %o',\n remote_user?.name,\n action,\n packageName,\n packageVersion\n );\n beforeAll?.(\n { action, user: remote_user?.name },\n `[middleware/allow][@{action}] allow for @{user}`\n );\n auth['allow_' + action](\n { packageName, packageVersion },\n remote_user,\n function (error, allowed): void {\n req.resume();\n if (error) {\n debug('user is NOT allowed to %o', action);\n next(error);\n } else if (allowed) {\n debug('user is allowed to %o', action);\n afterAll?.(\n { action, user: remote_user?.name },\n `[middleware/allow][@{action}] allowed for @{user}`\n );\n next();\n } else {\n // last plugin (that's our built-in one) returns either\n // cb(err) or cb(null, true), so this should never happen\n throw errorUtils.getInternalError(API_ERROR.PLUGIN_ERROR);\n }\n }\n );\n };\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAAyD,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIzD,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,4BAA4B,CAAC;AAE/C,SAASC,KAAKA,CACnBC,IAAO,EACPC,OAAO,GAAG;EACR;EACAC,SAAS,EAAEA,CAACC,EAAO,EAAEC,EAAO,KAAK,CAAC,CAAC;EACnC;EACAC,QAAQ,EAAEA,CAACF,EAAO,EAAEC,EAAO,KAAK,CAAC;AACnC,CAAC,EACS;EACV,MAAM;IAAEF,SAAS;IAAEG;EAAS,CAAC,GAAGJ,OAAO;EACvC,OAAO,UAAUK,MAAc,EAAY;IACzC,OAAO,UAAUC,GAAmB,EAAEC,GAAoB,EAAEC,IAAsB,EAAQ;MACxFF,GAAG,CAACG,KAAK,CAAC,CAAC;MACX,MAAMC,WAAW,GAAGJ,GAAG,CAACK,MAAM,CAACC,KAAK,GAChC,IAAIN,GAAG,CAACK,MAAM,CAACC,KAAK,IAAIN,GAAG,CAACK,MAAM,CAACE,OAAO,EAAE,GAC5CP,GAAG,CAACK,MAAM,CAACE,OAAO;MACtB,MAAMC,cAAc,GAAGR,GAAG,CAACK,MAAM,CAACI,QAAQ,GACtC,IAAAC,4BAAqB,EAACV,GAAG,CAACK,MAAM,CAACI,QAAQ,CAAC,GAC1CT,GAAG,CAACK,MAAM,CAACM,OAAO,GAChBX,GAAG,CAACK,MAAM,CAACM,OAAO,GAClBC,SAAS;MACf,MAAMC,WAAW,GAAGb,GAAG,CAACa,WAAW;MACnCvB,KAAK,CACH,+CAA+C,EAC/CuB,WAAW,EAAEC,IAAI,EACjBf,MAAM,EACNK,WAAW,EACXI,cACF,CAAC;MACDb,SAAS,GACP;QAAEI,MAAM;QAAEgB,IAAI,EAAEF,WAAW,EAAEC;MAAK,CAAC,EACnC,iDACF,CAAC;MACDrB,IAAI,CAAC,QAAQ,GAAGM,MAAM,CAAC,CACrB;QAAEK,WAAW;QAAEI;MAAe,CAAC,EAC/BK,WAAW,EACX,UAAUG,KAAK,EAAEC,OAAO,EAAQ;QAC9BjB,GAAG,CAACkB,MAAM,CAAC,CAAC;QACZ,IAAIF,KAAK,EAAE;UACT1B,KAAK,CAAC,2BAA2B,EAAES,MAAM,CAAC;UAC1CG,IAAI,CAACc,KAAK,CAAC;QACb,CAAC,MAAM,IAAIC,OAAO,EAAE;UAClB3B,KAAK,CAAC,uBAAuB,EAAES,MAAM,CAAC;UACtCD,QAAQ,GACN;YAAEC,MAAM;YAAEgB,IAAI,EAAEF,WAAW,EAAEC;UAAK,CAAC,EACnC,mDACF,CAAC;UACDZ,IAAI,CAAC,CAAC;QACR,CAAC,MAAM;UACL;UACA;UACA,MAAMiB,gBAAU,CAACC,gBAAgB,CAACC,eAAS,CAACC,YAAY,CAAC;QAC3D;MACF,CACF,CAAC;IACH,CAAC;EACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"allow.js","names":["_debug","_interopRequireDefault","require","_core","e","__esModule","default","debug","buildDebug","allow","auth","options","beforeAll","_a","_b","afterAll","action","req","res","next","pause","packageName","params","scope","package","packageVersion","filename","tarballUtils","getVersionFromTarball","version","undefined","remote_user","name","user","error","allowed","resume","errorUtils","getInternalError","API_ERROR","PLUGIN_ERROR"],"sources":["../../src/middlewares/allow.ts"],"sourcesContent":["import buildDebug from 'debug';\n\nimport { API_ERROR, errorUtils, tarballUtils } from '@verdaccio/core';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types';\n\nconst debug = buildDebug('verdaccio:middleware:allow');\n\nexport function allow<T>(\n auth: T,\n options = {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n beforeAll: (_a: any, _b: any) => {},\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n afterAll: (_a: any, _b: any) => {},\n }\n): Function {\n const { beforeAll, afterAll } = options;\n return function (action: string): Function {\n return function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {\n req.pause();\n const packageName = req.params.scope\n ? `@${req.params.scope}/${req.params.package}`\n : req.params.package;\n const packageVersion = req.params.filename\n ? tarballUtils.getVersionFromTarball(req.params.filename)\n : req.params.version\n ? req.params.version\n : undefined;\n const remote_user = req.remote_user;\n debug(\n 'check if user %o can %o package %o version %o',\n remote_user?.name,\n action,\n packageName,\n packageVersion\n );\n beforeAll?.(\n { action, user: remote_user?.name },\n `[middleware/allow][@{action}] allow for @{user}`\n );\n auth['allow_' + action](\n { packageName, packageVersion },\n remote_user,\n function (error, allowed): void {\n req.resume();\n if (error) {\n debug('user is NOT allowed to %o', action);\n next(error);\n } else if (allowed) {\n debug('user is allowed to %o', action);\n afterAll?.(\n { action, user: remote_user?.name },\n `[middleware/allow][@{action}] allowed for @{user}`\n );\n next();\n } else {\n // last plugin (that's our built-in one) returns either\n // cb(err) or cb(null, true), so this should never happen\n throw errorUtils.getInternalError(API_ERROR.PLUGIN_ERROR);\n }\n }\n );\n };\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAAsE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAItE,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,4BAA4B,CAAC;AAE/C,SAASC,KAAKA,CACnBC,IAAO,EACPC,OAAO,GAAG;EACR;EACAC,SAAS,EAAEA,CAACC,EAAO,EAAEC,EAAO,KAAK,CAAC,CAAC;EACnC;EACAC,QAAQ,EAAEA,CAACF,EAAO,EAAEC,EAAO,KAAK,CAAC;AACnC,CAAC,EACS;EACV,MAAM;IAAEF,SAAS;IAAEG;EAAS,CAAC,GAAGJ,OAAO;EACvC,OAAO,UAAUK,MAAc,EAAY;IACzC,OAAO,UAAUC,GAAmB,EAAEC,GAAoB,EAAEC,IAAsB,EAAQ;MACxFF,GAAG,CAACG,KAAK,CAAC,CAAC;MACX,MAAMC,WAAW,GAAGJ,GAAG,CAACK,MAAM,CAACC,KAAK,GAChC,IAAIN,GAAG,CAACK,MAAM,CAACC,KAAK,IAAIN,GAAG,CAACK,MAAM,CAACE,OAAO,EAAE,GAC5CP,GAAG,CAACK,MAAM,CAACE,OAAO;MACtB,MAAMC,cAAc,GAAGR,GAAG,CAACK,MAAM,CAACI,QAAQ,GACtCC,kBAAY,CAACC,qBAAqB,CAACX,GAAG,CAACK,MAAM,CAACI,QAAQ,CAAC,GACvDT,GAAG,CAACK,MAAM,CAACO,OAAO,GAChBZ,GAAG,CAACK,MAAM,CAACO,OAAO,GAClBC,SAAS;MACf,MAAMC,WAAW,GAAGd,GAAG,CAACc,WAAW;MACnCxB,KAAK,CACH,+CAA+C,EAC/CwB,WAAW,EAAEC,IAAI,EACjBhB,MAAM,EACNK,WAAW,EACXI,cACF,CAAC;MACDb,SAAS,GACP;QAAEI,MAAM;QAAEiB,IAAI,EAAEF,WAAW,EAAEC;MAAK,CAAC,EACnC,iDACF,CAAC;MACDtB,IAAI,CAAC,QAAQ,GAAGM,MAAM,CAAC,CACrB;QAAEK,WAAW;QAAEI;MAAe,CAAC,EAC/BM,WAAW,EACX,UAAUG,KAAK,EAAEC,OAAO,EAAQ;QAC9BlB,GAAG,CAACmB,MAAM,CAAC,CAAC;QACZ,IAAIF,KAAK,EAAE;UACT3B,KAAK,CAAC,2BAA2B,EAAES,MAAM,CAAC;UAC1CG,IAAI,CAACe,KAAK,CAAC;QACb,CAAC,MAAM,IAAIC,OAAO,EAAE;UAClB5B,KAAK,CAAC,uBAAuB,EAAES,MAAM,CAAC;UACtCD,QAAQ,GACN;YAAEC,MAAM;YAAEiB,IAAI,EAAEF,WAAW,EAAEC;UAAK,CAAC,EACnC,mDACF,CAAC;UACDb,IAAI,CAAC,CAAC;QACR,CAAC,MAAM;UACL;UACA;UACA,MAAMkB,gBAAU,CAACC,gBAAgB,CAACC,eAAS,CAACC,YAAY,CAAC;QAC3D;MACF,CACF,CAAC;IACH,CAAC;EACH,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ export declare enum USER_API_ENDPOINTS {
2
+ whoami = "/-/whoami",
3
+ get_user = "/-/user/:org_couchdb_user",
4
+ add_user = "/-/user/:org_couchdb_user/:_rev?/:revision?",
5
+ user_token = "/-/user/token/*"
6
+ }
7
+ export declare enum STARS_API_ENDPOINTS {
8
+ get_user_starred_packages = "/-/_view/starredByUser"
9
+ }
10
+ export declare enum SEARCH_API_ENDPOINTS {
11
+ search = "/-/v1/search",
12
+ deprecated_search = "/-/all(/since)?"
13
+ }
14
+ export declare enum PUBLISH_API_ENDPOINTS {
15
+ add_package = "/:package",
16
+ publish_package = "/:package/-rev/:revision",
17
+ remove_tarball = "/:package/-/:filename/-rev/:revision"
18
+ }
19
+ export declare enum PING_API_ENDPOINTS {
20
+ ping = "/-/ping"
21
+ }
22
+ export declare enum PACKAGE_API_ENDPOINTS {
23
+ get_package_by_version = "/:package/:version?",
24
+ get_package_tarball = "/:package/-/:filename"
25
+ }
26
+ export declare enum DIST_TAGS_API_ENDPOINTS {
27
+ tagging = "/:package/:tag",
28
+ tagging_package = "/-/package/:package/dist-tags/:tag",
29
+ get_dist_tags = "/-/package/:package/dist-tags"
30
+ }
31
+ export declare enum PROFILE_API_ENDPOINTS {
32
+ get_profile = "/-/npm/v1/user"
33
+ }
34
+ export declare enum TOKEN_API_ENDPOINTS {
35
+ get_tokens = "/-/npm/v1/tokens",
36
+ delete_token = "/-/npm/v1/tokens/token/:tokenKey"
37
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.USER_API_ENDPOINTS = exports.TOKEN_API_ENDPOINTS = exports.STARS_API_ENDPOINTS = exports.SEARCH_API_ENDPOINTS = exports.PUBLISH_API_ENDPOINTS = exports.PROFILE_API_ENDPOINTS = exports.PING_API_ENDPOINTS = exports.PACKAGE_API_ENDPOINTS = exports.DIST_TAGS_API_ENDPOINTS = void 0;
7
+ let USER_API_ENDPOINTS = exports.USER_API_ENDPOINTS = /*#__PURE__*/function (USER_API_ENDPOINTS) {
8
+ USER_API_ENDPOINTS["whoami"] = "/-/whoami";
9
+ USER_API_ENDPOINTS["get_user"] = "/-/user/:org_couchdb_user";
10
+ USER_API_ENDPOINTS["add_user"] = "/-/user/:org_couchdb_user/:_rev?/:revision?";
11
+ USER_API_ENDPOINTS["user_token"] = "/-/user/token/*";
12
+ return USER_API_ENDPOINTS;
13
+ }({});
14
+ let STARS_API_ENDPOINTS = exports.STARS_API_ENDPOINTS = /*#__PURE__*/function (STARS_API_ENDPOINTS) {
15
+ STARS_API_ENDPOINTS["get_user_starred_packages"] = "/-/_view/starredByUser";
16
+ return STARS_API_ENDPOINTS;
17
+ }({});
18
+ let SEARCH_API_ENDPOINTS = exports.SEARCH_API_ENDPOINTS = /*#__PURE__*/function (SEARCH_API_ENDPOINTS) {
19
+ SEARCH_API_ENDPOINTS["search"] = "/-/v1/search";
20
+ SEARCH_API_ENDPOINTS["deprecated_search"] = "/-/all(/since)?";
21
+ return SEARCH_API_ENDPOINTS;
22
+ }({});
23
+ let PUBLISH_API_ENDPOINTS = exports.PUBLISH_API_ENDPOINTS = /*#__PURE__*/function (PUBLISH_API_ENDPOINTS) {
24
+ PUBLISH_API_ENDPOINTS["add_package"] = "/:package";
25
+ PUBLISH_API_ENDPOINTS["publish_package"] = "/:package/-rev/:revision";
26
+ PUBLISH_API_ENDPOINTS["remove_tarball"] = "/:package/-/:filename/-rev/:revision";
27
+ return PUBLISH_API_ENDPOINTS;
28
+ }({});
29
+ let PING_API_ENDPOINTS = exports.PING_API_ENDPOINTS = /*#__PURE__*/function (PING_API_ENDPOINTS) {
30
+ PING_API_ENDPOINTS["ping"] = "/-/ping";
31
+ return PING_API_ENDPOINTS;
32
+ }({});
33
+ let PACKAGE_API_ENDPOINTS = exports.PACKAGE_API_ENDPOINTS = /*#__PURE__*/function (PACKAGE_API_ENDPOINTS) {
34
+ PACKAGE_API_ENDPOINTS["get_package_by_version"] = "/:package/:version?";
35
+ PACKAGE_API_ENDPOINTS["get_package_tarball"] = "/:package/-/:filename";
36
+ return PACKAGE_API_ENDPOINTS;
37
+ }({});
38
+ let DIST_TAGS_API_ENDPOINTS = exports.DIST_TAGS_API_ENDPOINTS = /*#__PURE__*/function (DIST_TAGS_API_ENDPOINTS) {
39
+ DIST_TAGS_API_ENDPOINTS["tagging"] = "/:package/:tag";
40
+ DIST_TAGS_API_ENDPOINTS["tagging_package"] = "/-/package/:package/dist-tags/:tag";
41
+ DIST_TAGS_API_ENDPOINTS["get_dist_tags"] = "/-/package/:package/dist-tags";
42
+ return DIST_TAGS_API_ENDPOINTS;
43
+ }({});
44
+ let PROFILE_API_ENDPOINTS = exports.PROFILE_API_ENDPOINTS = /*#__PURE__*/function (PROFILE_API_ENDPOINTS) {
45
+ PROFILE_API_ENDPOINTS["get_profile"] = "/-/npm/v1/user";
46
+ return PROFILE_API_ENDPOINTS;
47
+ }({});
48
+ let TOKEN_API_ENDPOINTS = exports.TOKEN_API_ENDPOINTS = /*#__PURE__*/function (TOKEN_API_ENDPOINTS) {
49
+ TOKEN_API_ENDPOINTS["get_tokens"] = "/-/npm/v1/tokens";
50
+ TOKEN_API_ENDPOINTS["delete_token"] = "/-/npm/v1/tokens/token/:tokenKey";
51
+ return TOKEN_API_ENDPOINTS;
52
+ }({});
53
+ //# sourceMappingURL=api_urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api_urls.js","names":["USER_API_ENDPOINTS","exports","STARS_API_ENDPOINTS","SEARCH_API_ENDPOINTS","PUBLISH_API_ENDPOINTS","PING_API_ENDPOINTS","PACKAGE_API_ENDPOINTS","DIST_TAGS_API_ENDPOINTS","PROFILE_API_ENDPOINTS","TOKEN_API_ENDPOINTS"],"sources":["../../src/middlewares/api_urls.ts"],"sourcesContent":["export enum USER_API_ENDPOINTS {\n whoami = '/-/whoami',\n get_user = '/-/user/:org_couchdb_user',\n add_user = '/-/user/:org_couchdb_user/:_rev?/:revision?',\n user_token = '/-/user/token/*',\n}\n\nexport enum STARS_API_ENDPOINTS {\n get_user_starred_packages = '/-/_view/starredByUser',\n}\n\nexport enum SEARCH_API_ENDPOINTS {\n search = '/-/v1/search',\n deprecated_search = '/-/all(/since)?',\n}\n\nexport enum PUBLISH_API_ENDPOINTS {\n add_package = '/:package',\n publish_package = '/:package/-rev/:revision',\n remove_tarball = '/:package/-/:filename/-rev/:revision',\n}\n\nexport enum PING_API_ENDPOINTS {\n ping = '/-/ping',\n}\n\nexport enum PACKAGE_API_ENDPOINTS {\n get_package_by_version = '/:package/:version?',\n get_package_tarball = '/:package/-/:filename',\n}\n\nexport enum DIST_TAGS_API_ENDPOINTS {\n tagging = '/:package/:tag',\n tagging_package = '/-/package/:package/dist-tags/:tag',\n get_dist_tags = '/-/package/:package/dist-tags',\n}\n\nexport enum PROFILE_API_ENDPOINTS {\n get_profile = '/-/npm/v1/user',\n}\n\nexport enum TOKEN_API_ENDPOINTS {\n get_tokens = '/-/npm/v1/tokens',\n delete_token = '/-/npm/v1/tokens/token/:tokenKey',\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAOlBE,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA;AAAA,IAInBC,oBAAoB,GAAAF,OAAA,CAAAE,oBAAA,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAAA,IAKpBC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAA,IAMrBC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAIlBC,qBAAqB,GAAAL,OAAA,CAAAK,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAA,IAKrBC,uBAAuB,GAAAN,OAAA,CAAAM,uBAAA,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AAAA,IAMvBC,qBAAqB,GAAAP,OAAA,CAAAO,qBAAA,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAA,IAIrBC,mBAAmB,GAAAR,OAAA,CAAAQ,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export declare enum WebUrls {
2
+ sidebar_scopped_package = "/sidebar/:scope/:package",
3
+ sidebar_package = "/sidebar/:package",
4
+ readme_package_scoped_version = "/package/readme/:scope/:package/:version?",
5
+ readme_package_version = "/package/readme/:package/:version?",
6
+ packages_all = "/packages",
7
+ user_login = "/login",
8
+ search = "/search/:anything",
9
+ reset_password = "/reset_password"
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WebUrls = void 0;
7
+ let WebUrls = exports.WebUrls = /*#__PURE__*/function (WebUrls) {
8
+ WebUrls["sidebar_scopped_package"] = "/sidebar/:scope/:package";
9
+ WebUrls["sidebar_package"] = "/sidebar/:package";
10
+ WebUrls["readme_package_scoped_version"] = "/package/readme/:scope/:package/:version?";
11
+ WebUrls["readme_package_version"] = "/package/readme/:package/:version?";
12
+ WebUrls["packages_all"] = "/packages";
13
+ WebUrls["user_login"] = "/login";
14
+ WebUrls["search"] = "/search/:anything";
15
+ WebUrls["reset_password"] = "/reset_password";
16
+ return WebUrls;
17
+ }({});
18
+ //# sourceMappingURL=web-urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-urls.js","names":["WebUrls","exports"],"sources":["../../../src/middlewares/web/web-urls.ts"],"sourcesContent":["export enum WebUrls {\n sidebar_scopped_package = '/sidebar/:scope/:package',\n sidebar_package = '/sidebar/:package',\n readme_package_scoped_version = '/package/readme/:scope/:package/:version?',\n readme_package_version = '/package/readme/:package/:version?',\n packages_all = '/packages',\n user_login = '/login',\n search = '/search/:anything',\n reset_password = '/reset_password',\n}\n"],"mappings":";;;;;;IAAYA,OAAO,GAAAC,OAAA,CAAAD,OAAA,0BAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/middleware",
3
- "version": "8.0.0-next-8.6",
3
+ "version": "8.0.0-next-8.7",
4
4
  "description": "express middleware utils",
5
5
  "main": "./build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -29,12 +29,12 @@
29
29
  "node": ">=18"
30
30
  },
31
31
  "dependencies": {
32
- "@verdaccio/config": "8.0.0-next-8.6",
33
- "@verdaccio/core": "8.0.0-next-8.6",
34
- "@verdaccio/url": "13.0.0-next-8.6",
35
- "@verdaccio/utils": "8.1.0-next-8.6",
36
- "debug": "4.3.7",
37
- "express": "4.21.1",
32
+ "@verdaccio/config": "8.0.0-next-8.7",
33
+ "@verdaccio/core": "8.0.0-next-8.7",
34
+ "@verdaccio/url": "13.0.0-next-8.7",
35
+ "@verdaccio/utils": "8.1.0-next-8.7",
36
+ "debug": "4.4.0",
37
+ "express": "4.21.2",
38
38
  "express-rate-limit": "5.5.1",
39
39
  "lodash": "4.17.21",
40
40
  "lru-cache": "7.18.3",
@@ -45,7 +45,7 @@
45
45
  "url": "https://opencollective.com/verdaccio"
46
46
  },
47
47
  "devDependencies": {
48
- "@verdaccio/logger": "8.0.0-next-8.6",
48
+ "@verdaccio/logger": "8.0.0-next-8.7",
49
49
  "body-parser": "1.20.3",
50
50
  "supertest": "7.0.0",
51
51
  "jsdom": "25.0.1"
package/src/index.ts CHANGED
@@ -19,3 +19,5 @@ export {
19
19
  LOG_VERDACCIO_ERROR,
20
20
  } from './middlewares/log';
21
21
  export * from './types';
22
+ export * from './middlewares/api_urls';
23
+ export * from './middlewares/web/web-urls';
@@ -1,7 +1,6 @@
1
1
  import buildDebug from 'debug';
2
2
 
3
- import { API_ERROR, errorUtils } from '@verdaccio/core';
4
- import { getVersionFromTarball } from '@verdaccio/utils';
3
+ import { API_ERROR, errorUtils, tarballUtils } from '@verdaccio/core';
5
4
 
6
5
  import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types';
7
6
 
@@ -24,7 +23,7 @@ export function allow<T>(
24
23
  ? `@${req.params.scope}/${req.params.package}`
25
24
  : req.params.package;
26
25
  const packageVersion = req.params.filename
27
- ? getVersionFromTarball(req.params.filename)
26
+ ? tarballUtils.getVersionFromTarball(req.params.filename)
28
27
  : req.params.version
29
28
  ? req.params.version
30
29
  : undefined;
@@ -0,0 +1,45 @@
1
+ export enum USER_API_ENDPOINTS {
2
+ whoami = '/-/whoami',
3
+ get_user = '/-/user/:org_couchdb_user',
4
+ add_user = '/-/user/:org_couchdb_user/:_rev?/:revision?',
5
+ user_token = '/-/user/token/*',
6
+ }
7
+
8
+ export enum STARS_API_ENDPOINTS {
9
+ get_user_starred_packages = '/-/_view/starredByUser',
10
+ }
11
+
12
+ export enum SEARCH_API_ENDPOINTS {
13
+ search = '/-/v1/search',
14
+ deprecated_search = '/-/all(/since)?',
15
+ }
16
+
17
+ export enum PUBLISH_API_ENDPOINTS {
18
+ add_package = '/:package',
19
+ publish_package = '/:package/-rev/:revision',
20
+ remove_tarball = '/:package/-/:filename/-rev/:revision',
21
+ }
22
+
23
+ export enum PING_API_ENDPOINTS {
24
+ ping = '/-/ping',
25
+ }
26
+
27
+ export enum PACKAGE_API_ENDPOINTS {
28
+ get_package_by_version = '/:package/:version?',
29
+ get_package_tarball = '/:package/-/:filename',
30
+ }
31
+
32
+ export enum DIST_TAGS_API_ENDPOINTS {
33
+ tagging = '/:package/:tag',
34
+ tagging_package = '/-/package/:package/dist-tags/:tag',
35
+ get_dist_tags = '/-/package/:package/dist-tags',
36
+ }
37
+
38
+ export enum PROFILE_API_ENDPOINTS {
39
+ get_profile = '/-/npm/v1/user',
40
+ }
41
+
42
+ export enum TOKEN_API_ENDPOINTS {
43
+ get_tokens = '/-/npm/v1/tokens',
44
+ delete_token = '/-/npm/v1/tokens/token/:tokenKey',
45
+ }
@@ -0,0 +1,10 @@
1
+ export enum WebUrls {
2
+ sidebar_scopped_package = '/sidebar/:scope/:package',
3
+ sidebar_package = '/sidebar/:package',
4
+ readme_package_scoped_version = '/package/readme/:scope/:package/:version?',
5
+ readme_package_version = '/package/readme/:package/:version?',
6
+ packages_all = '/packages',
7
+ user_login = '/login',
8
+ search = '/search/:anything',
9
+ reset_password = '/reset_password',
10
+ }