@verdaccio/api 9.0.0-next-9.2 → 9.0.0-next-9.4

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.
Files changed (67) hide show
  1. package/build/_virtual/_rolldown/runtime.js +23 -0
  2. package/build/dist-tags.d.ts +4 -4
  3. package/build/dist-tags.js +52 -124
  4. package/build/dist-tags.js.map +1 -1
  5. package/build/dist-tags.mjs +52 -0
  6. package/build/dist-tags.mjs.map +1 -0
  7. package/build/index.d.ts +4 -4
  8. package/build/index.js +61 -78
  9. package/build/index.js.map +1 -1
  10. package/build/index.mjs +59 -0
  11. package/build/index.mjs.map +1 -0
  12. package/build/package.d.ts +3 -3
  13. package/build/package.js +69 -120
  14. package/build/package.js.map +1 -1
  15. package/build/package.mjs +69 -0
  16. package/build/package.mjs.map +1 -0
  17. package/build/ping.d.ts +1 -1
  18. package/build/ping.js +10 -11
  19. package/build/ping.js.map +1 -1
  20. package/build/ping.mjs +11 -0
  21. package/build/ping.mjs.map +1 -0
  22. package/build/publish.d.ts +4 -4
  23. package/build/publish.js +192 -268
  24. package/build/publish.js.map +1 -1
  25. package/build/publish.mjs +196 -0
  26. package/build/publish.mjs.map +1 -0
  27. package/build/search.d.ts +1 -1
  28. package/build/search.js +13 -17
  29. package/build/search.js.map +1 -1
  30. package/build/search.mjs +14 -0
  31. package/build/search.mjs.map +1 -0
  32. package/build/stars.d.ts +2 -2
  33. package/build/stars.js +21 -59
  34. package/build/stars.js.map +1 -1
  35. package/build/stars.mjs +21 -0
  36. package/build/stars.mjs.map +1 -0
  37. package/build/user.d.ts +3 -3
  38. package/build/user.js +106 -188
  39. package/build/user.js.map +1 -1
  40. package/build/user.mjs +106 -0
  41. package/build/user.mjs.map +1 -0
  42. package/build/v1/login.d.ts +4 -4
  43. package/build/v1/login.js +115 -246
  44. package/build/v1/login.js.map +1 -1
  45. package/build/v1/login.mjs +115 -0
  46. package/build/v1/login.mjs.map +1 -0
  47. package/build/v1/profile.d.ts +3 -3
  48. package/build/v1/profile.js +45 -67
  49. package/build/v1/profile.js.map +1 -1
  50. package/build/v1/profile.mjs +45 -0
  51. package/build/v1/profile.mjs.map +1 -0
  52. package/build/v1/search.d.ts +3 -3
  53. package/build/v1/search.js +64 -113
  54. package/build/v1/search.js.map +1 -1
  55. package/build/v1/search.mjs +64 -0
  56. package/build/v1/search.mjs.map +1 -0
  57. package/build/v1/token.d.ts +4 -4
  58. package/build/v1/token.js +100 -201
  59. package/build/v1/token.js.map +1 -1
  60. package/build/v1/token.mjs +102 -0
  61. package/build/v1/token.mjs.map +1 -0
  62. package/build/whoami.d.ts +1 -1
  63. package/build/whoami.js +20 -25
  64. package/build/whoami.js.map +1 -1
  65. package/build/whoami.mjs +20 -0
  66. package/build/whoami.mjs.map +1 -0
  67. package/package.json +25 -14
@@ -0,0 +1,23 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ exports.__toESM = __toESM;
@@ -1,5 +1,5 @@
1
- import type { Router } from 'express';
2
- import type { Auth } from '@verdaccio/auth';
3
- import type { Storage } from '@verdaccio/store';
4
- import type { Logger } from '@verdaccio/types';
1
+ import { Router } from 'express';
2
+ import { Auth } from '@verdaccio/auth';
3
+ import { Storage } from '@verdaccio/store';
4
+ import { Logger } from '@verdaccio/types';
5
5
  export default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void;
@@ -1,126 +1,54 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- var _lodash = _interopRequireDefault(require("lodash"));
8
- var _core = require("@verdaccio/core");
9
- var _middleware = require("@verdaccio/middleware");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
12
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
13
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
14
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
15
- function _default(route, auth, storage, logger) {
16
- var can = (0, _middleware.allow)(auth, {
17
- beforeAll: function beforeAll(a, b) {
18
- return logger.trace(a, b);
19
- },
20
- afterAll: function afterAll(a, b) {
21
- return logger.trace(a, b);
22
- }
23
- });
24
- var addTagPackageVersionMiddleware = /*#__PURE__*/function () {
25
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(req, res, next) {
26
- var tags, _t;
27
- return _regenerator().w(function (_context) {
28
- while (1) switch (_context.p = _context.n) {
29
- case 0:
30
- if (!(_lodash["default"].isString(req.body) === false)) {
31
- _context.n = 1;
32
- break;
33
- }
34
- return _context.a(2, next(_core.errorUtils.getBadRequest('version is missing')));
35
- case 1:
36
- tags = {};
37
- tags[req.params.tag] = req.body;
38
- _context.p = 2;
39
- _context.n = 3;
40
- return storage.mergeTagsNext(req.params["package"], tags);
41
- case 3:
42
- res.status(_core.constants.HTTP_STATUS.CREATED);
43
- return _context.a(2, next({
44
- ok: _core.constants.API_MESSAGE.TAG_ADDED
45
- }));
46
- case 4:
47
- _context.p = 4;
48
- _t = _context.v;
49
- next(_t);
50
- case 5:
51
- return _context.a(2);
52
- }
53
- }, _callee, null, [[2, 4]]);
54
- }));
55
- return function addTagPackageVersionMiddleware(_x, _x2, _x3) {
56
- return _ref.apply(this, arguments);
57
- };
58
- }();
59
-
60
- // tagging a package.
61
- route.put(_middleware.DIST_TAGS_API_ENDPOINTS.tagging, can('publish'), (0, _middleware.media)(_core.HEADERS.JSON), addTagPackageVersionMiddleware);
62
- route.put(_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can('publish'), (0, _middleware.media)(_core.HEADERS.JSON), addTagPackageVersionMiddleware);
63
- route["delete"](_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can('publish'), /*#__PURE__*/function () {
64
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(req, res, next) {
65
- var tags, _t2;
66
- return _regenerator().w(function (_context2) {
67
- while (1) switch (_context2.p = _context2.n) {
68
- case 0:
69
- tags = {};
70
- tags[req.params.tag] = null;
71
- _context2.p = 1;
72
- _context2.n = 2;
73
- return storage.mergeTagsNext(req.params["package"], tags);
74
- case 2:
75
- res.status(_core.constants.HTTP_STATUS.CREATED);
76
- return _context2.a(2, next({
77
- ok: _core.constants.API_MESSAGE.TAG_REMOVED
78
- }));
79
- case 3:
80
- _context2.p = 3;
81
- _t2 = _context2.v;
82
- next(_t2);
83
- case 4:
84
- return _context2.a(2);
85
- }
86
- }, _callee2, null, [[1, 3]]);
87
- }));
88
- return function (_x4, _x5, _x6) {
89
- return _ref2.apply(this, arguments);
90
- };
91
- }());
92
- route.get(_middleware.DIST_TAGS_API_ENDPOINTS.get_dist_tags, can('access'), /*#__PURE__*/function () {
93
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(req, res, next) {
94
- var name, requestOptions, manifest, _t3;
95
- return _regenerator().w(function (_context3) {
96
- while (1) switch (_context3.p = _context3.n) {
97
- case 0:
98
- name = req.params["package"];
99
- requestOptions = (0, _middleware.getRequestOptions)(req);
100
- _context3.p = 1;
101
- _context3.n = 2;
102
- return storage.getPackageByOptions({
103
- name: name,
104
- uplinksLook: true,
105
- requestOptions: requestOptions
106
- });
107
- case 2:
108
- manifest = _context3.v;
109
- next(manifest[_core.constants.DIST_TAGS]);
110
- _context3.n = 4;
111
- break;
112
- case 3:
113
- _context3.p = 3;
114
- _t3 = _context3.v;
115
- next(_t3);
116
- case 4:
117
- return _context3.a(2);
118
- }
119
- }, _callee3, null, [[1, 3]]);
120
- }));
121
- return function (_x7, _x8, _x9) {
122
- return _ref3.apply(this, arguments);
123
- };
124
- }());
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
2
+ let _verdaccio_middleware = require("@verdaccio/middleware");
3
+ let lodash = require("lodash");
4
+ lodash = require_runtime.__toESM(lodash);
5
+ let _verdaccio_core = require("@verdaccio/core");
6
+ //#region src/dist-tags.ts
7
+ function dist_tags_default(route, auth, storage, logger) {
8
+ const can = (0, _verdaccio_middleware.allow)(auth, {
9
+ beforeAll: (a, b) => logger.trace(a, b),
10
+ afterAll: (a, b) => logger.trace(a, b)
11
+ });
12
+ const addTagPackageVersionMiddleware = async function(req, res, next) {
13
+ if (lodash.default.isString(req.body) === false) return next(_verdaccio_core.errorUtils.getBadRequest("version is missing"));
14
+ const tags = {};
15
+ tags[req.params.tag] = req.body;
16
+ try {
17
+ await storage.mergeTagsNext(req.params.package, tags);
18
+ res.status(_verdaccio_core.constants.HTTP_STATUS.CREATED);
19
+ return next({ ok: _verdaccio_core.constants.API_MESSAGE.TAG_ADDED });
20
+ } catch (err) {
21
+ next(err);
22
+ }
23
+ };
24
+ route.put(_verdaccio_middleware.DIST_TAGS_API_ENDPOINTS.tagging, can("publish"), (0, _verdaccio_middleware.media)(_verdaccio_core.HEADERS.JSON), addTagPackageVersionMiddleware);
25
+ route.put(_verdaccio_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can("publish"), (0, _verdaccio_middleware.media)(_verdaccio_core.HEADERS.JSON), addTagPackageVersionMiddleware);
26
+ route.delete(_verdaccio_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can("publish"), async function(req, res, next) {
27
+ const tags = {};
28
+ tags[req.params.tag] = null;
29
+ try {
30
+ await storage.mergeTagsNext(req.params.package, tags);
31
+ res.status(_verdaccio_core.constants.HTTP_STATUS.CREATED);
32
+ return next({ ok: _verdaccio_core.constants.API_MESSAGE.TAG_REMOVED });
33
+ } catch (err) {
34
+ next(err);
35
+ }
36
+ });
37
+ route.get(_verdaccio_middleware.DIST_TAGS_API_ENDPOINTS.get_dist_tags, can("access"), async function(req, res, next) {
38
+ const name = req.params.package;
39
+ const requestOptions = (0, _verdaccio_middleware.getRequestOptions)(req);
40
+ try {
41
+ next((await storage.getPackageByOptions({
42
+ name,
43
+ uplinksLook: true,
44
+ requestOptions
45
+ }))[_verdaccio_core.constants.DIST_TAGS]);
46
+ } catch (err) {
47
+ next(err);
48
+ }
49
+ });
125
50
  }
51
+ //#endregion
52
+ exports.default = dist_tags_default;
53
+
126
54
  //# sourceMappingURL=dist-tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-tags.js","names":["_lodash","_interopRequireDefault","require","_core","_middleware","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_default","route","auth","storage","logger","can","allow","beforeAll","b","trace","afterAll","addTagPackageVersionMiddleware","_ref","_callee","req","res","next","tags","_t","_context","_","isString","body","errorUtils","getBadRequest","params","tag","mergeTagsNext","status","constants","HTTP_STATUS","CREATED","ok","API_MESSAGE","TAG_ADDED","_x","_x2","_x3","put","DIST_TAGS_API_ENDPOINTS","tagging","media","HEADERS","JSON","tagging_package","_ref2","_callee2","_t2","_context2","TAG_REMOVED","_x4","_x5","_x6","get","get_dist_tags","_ref3","_callee3","name","requestOptions","manifest","_t3","_context3","getRequestOptions","getPackageByOptions","uplinksLook","DIST_TAGS","_x7","_x8","_x9"],"sources":["../src/dist-tags.ts"],"sourcesContent":["import type { Router } from 'express';\nimport _ from 'lodash';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, constants, errorUtils } from '@verdaccio/core';\nimport { DIST_TAGS_API_ENDPOINTS, allow, getRequestOptions, media } from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void {\n const can = allow(auth, {\n beforeAll: (a, b) => logger.trace(a, b),\n afterAll: (a, b) => logger.trace(a, b),\n });\n const addTagPackageVersionMiddleware = async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<$NextFunctionVer> {\n if (_.isString(req.body) === false) {\n return next(errorUtils.getBadRequest('version is missing'));\n }\n\n const tags = {};\n tags[req.params.tag] = req.body;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_ADDED,\n });\n } catch (err) {\n next(err);\n }\n };\n\n // tagging a package.\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.delete(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const tags = {};\n tags[req.params.tag] = null;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_REMOVED,\n });\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n DIST_TAGS_API_ENDPOINTS.get_dist_tags,\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const name = req.params.package;\n const requestOptions = getRequestOptions(req);\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n requestOptions,\n });\n next(manifest[constants.DIST_TAGS]);\n } catch (err) {\n next(err);\n }\n }\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dist-tags.js","names":[],"sources":["../src/dist-tags.ts"],"sourcesContent":["import type { Router } from 'express';\nimport _ from 'lodash';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, constants, errorUtils } from '@verdaccio/core';\nimport { DIST_TAGS_API_ENDPOINTS, allow, getRequestOptions, media } from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void {\n const can = allow(auth, {\n beforeAll: (a, b) => logger.trace(a, b),\n afterAll: (a, b) => logger.trace(a, b),\n });\n const addTagPackageVersionMiddleware = async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<$NextFunctionVer> {\n if (_.isString(req.body) === false) {\n return next(errorUtils.getBadRequest('version is missing'));\n }\n\n const tags = {};\n tags[req.params.tag] = req.body;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_ADDED,\n });\n } catch (err) {\n next(err);\n }\n };\n\n // tagging a package.\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.delete(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const tags = {};\n tags[req.params.tag] = null;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_REMOVED,\n });\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n DIST_TAGS_API_ENDPOINTS.get_dist_tags,\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const name = req.params.package;\n const requestOptions = getRequestOptions(req);\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n requestOptions,\n });\n next(manifest[constants.DIST_TAGS]);\n } catch (err) {\n next(err);\n }\n }\n );\n}\n"],"mappings":";;;;;;AAWA,SAAA,kBAAyB,OAAe,MAAY,SAAkB,QAAsB;CAC1F,MAAM,OAAA,GAAA,sBAAA,OAAY,MAAM;EACtB,YAAY,GAAG,MAAM,OAAO,MAAM,GAAG,EAAE;EACvC,WAAW,GAAG,MAAM,OAAO,MAAM,GAAG,EAAE;EACvC,CAAC;CACF,MAAM,iCAAiC,eACrC,KACA,KACA,MAC2B;AAC3B,MAAI,OAAA,QAAE,SAAS,IAAI,KAAK,KAAK,MAC3B,QAAO,KAAK,gBAAA,WAAW,cAAc,qBAAqB,CAAC;EAG7D,MAAM,OAAO,EAAE;AACf,OAAK,IAAI,OAAO,OAAO,IAAI;AAC3B,MAAI;AACF,SAAM,QAAQ,cAAc,IAAI,OAAO,SAAS,KAAK;AACrD,OAAI,OAAO,gBAAA,UAAU,YAAY,QAAQ;AACzC,UAAO,KAAK,EACV,IAAI,gBAAA,UAAU,YAAY,WAC3B,CAAC;WACK,KAAK;AACZ,QAAK,IAAI;;;AAKb,OAAM,IACJ,sBAAA,wBAAwB,SACxB,IAAI,UAAU,GAAA,GAAA,sBAAA,OACR,gBAAA,QAAQ,KAAK,EACnB,+BACD;AAED,OAAM,IACJ,sBAAA,wBAAwB,iBACxB,IAAI,UAAU,GAAA,GAAA,sBAAA,OACR,gBAAA,QAAQ,KAAK,EACnB,+BACD;AAED,OAAM,OACJ,sBAAA,wBAAwB,iBACxB,IAAI,UAAU,EACd,eACE,KACA,KACA,MACe;EACf,MAAM,OAAO,EAAE;AACf,OAAK,IAAI,OAAO,OAAO;AACvB,MAAI;AACF,SAAM,QAAQ,cAAc,IAAI,OAAO,SAAS,KAAK;AACrD,OAAI,OAAO,gBAAA,UAAU,YAAY,QAAQ;AACzC,UAAO,KAAK,EACV,IAAI,gBAAA,UAAU,YAAY,aAC3B,CAAC;WACK,KAAK;AACZ,QAAK,IAAI;;GAGd;AAED,OAAM,IACJ,sBAAA,wBAAwB,eACxB,IAAI,SAAS,EACb,eACE,KACA,KACA,MACe;EACf,MAAM,OAAO,IAAI,OAAO;EACxB,MAAM,kBAAA,GAAA,sBAAA,mBAAmC,IAAI;AAC7C,MAAI;AAMF,SALiB,MAAM,QAAQ,oBAAoB;IACjD;IACA,aAAa;IACb;IACD,CAAC,EACY,gBAAA,UAAU,WAAW;WAC5B,KAAK;AACZ,QAAK,IAAI;;GAGd"}
@@ -0,0 +1,52 @@
1
+ import { DIST_TAGS_API_ENDPOINTS, allow, getRequestOptions, media } from "@verdaccio/middleware";
2
+ import _ from "lodash";
3
+ import { HEADERS, constants, errorUtils } from "@verdaccio/core";
4
+ //#region src/dist-tags.ts
5
+ function dist_tags_default(route, auth, storage, logger) {
6
+ const can = allow(auth, {
7
+ beforeAll: (a, b) => logger.trace(a, b),
8
+ afterAll: (a, b) => logger.trace(a, b)
9
+ });
10
+ const addTagPackageVersionMiddleware = async function(req, res, next) {
11
+ if (_.isString(req.body) === false) return next(errorUtils.getBadRequest("version is missing"));
12
+ const tags = {};
13
+ tags[req.params.tag] = req.body;
14
+ try {
15
+ await storage.mergeTagsNext(req.params.package, tags);
16
+ res.status(constants.HTTP_STATUS.CREATED);
17
+ return next({ ok: constants.API_MESSAGE.TAG_ADDED });
18
+ } catch (err) {
19
+ next(err);
20
+ }
21
+ };
22
+ route.put(DIST_TAGS_API_ENDPOINTS.tagging, can("publish"), media(HEADERS.JSON), addTagPackageVersionMiddleware);
23
+ route.put(DIST_TAGS_API_ENDPOINTS.tagging_package, can("publish"), media(HEADERS.JSON), addTagPackageVersionMiddleware);
24
+ route.delete(DIST_TAGS_API_ENDPOINTS.tagging_package, can("publish"), async function(req, res, next) {
25
+ const tags = {};
26
+ tags[req.params.tag] = null;
27
+ try {
28
+ await storage.mergeTagsNext(req.params.package, tags);
29
+ res.status(constants.HTTP_STATUS.CREATED);
30
+ return next({ ok: constants.API_MESSAGE.TAG_REMOVED });
31
+ } catch (err) {
32
+ next(err);
33
+ }
34
+ });
35
+ route.get(DIST_TAGS_API_ENDPOINTS.get_dist_tags, can("access"), async function(req, res, next) {
36
+ const name = req.params.package;
37
+ const requestOptions = getRequestOptions(req);
38
+ try {
39
+ next((await storage.getPackageByOptions({
40
+ name,
41
+ uplinksLook: true,
42
+ requestOptions
43
+ }))[constants.DIST_TAGS]);
44
+ } catch (err) {
45
+ next(err);
46
+ }
47
+ });
48
+ }
49
+ //#endregion
50
+ export { dist_tags_default as default };
51
+
52
+ //# sourceMappingURL=dist-tags.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dist-tags.mjs","names":[],"sources":["../src/dist-tags.ts"],"sourcesContent":["import type { Router } from 'express';\nimport _ from 'lodash';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, constants, errorUtils } from '@verdaccio/core';\nimport { DIST_TAGS_API_ENDPOINTS, allow, getRequestOptions, media } from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void {\n const can = allow(auth, {\n beforeAll: (a, b) => logger.trace(a, b),\n afterAll: (a, b) => logger.trace(a, b),\n });\n const addTagPackageVersionMiddleware = async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<$NextFunctionVer> {\n if (_.isString(req.body) === false) {\n return next(errorUtils.getBadRequest('version is missing'));\n }\n\n const tags = {};\n tags[req.params.tag] = req.body;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_ADDED,\n });\n } catch (err) {\n next(err);\n }\n };\n\n // tagging a package.\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.put(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n media(HEADERS.JSON),\n addTagPackageVersionMiddleware\n );\n\n route.delete(\n DIST_TAGS_API_ENDPOINTS.tagging_package,\n can('publish'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const tags = {};\n tags[req.params.tag] = null;\n try {\n await storage.mergeTagsNext(req.params.package, tags);\n res.status(constants.HTTP_STATUS.CREATED);\n return next({\n ok: constants.API_MESSAGE.TAG_REMOVED,\n });\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n DIST_TAGS_API_ENDPOINTS.get_dist_tags,\n can('access'),\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n const name = req.params.package;\n const requestOptions = getRequestOptions(req);\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n requestOptions,\n });\n next(manifest[constants.DIST_TAGS]);\n } catch (err) {\n next(err);\n }\n }\n );\n}\n"],"mappings":";;;;AAWA,SAAA,kBAAyB,OAAe,MAAY,SAAkB,QAAsB;CAC1F,MAAM,MAAM,MAAM,MAAM;EACtB,YAAY,GAAG,MAAM,OAAO,MAAM,GAAG,EAAE;EACvC,WAAW,GAAG,MAAM,OAAO,MAAM,GAAG,EAAE;EACvC,CAAC;CACF,MAAM,iCAAiC,eACrC,KACA,KACA,MAC2B;AAC3B,MAAI,EAAE,SAAS,IAAI,KAAK,KAAK,MAC3B,QAAO,KAAK,WAAW,cAAc,qBAAqB,CAAC;EAG7D,MAAM,OAAO,EAAE;AACf,OAAK,IAAI,OAAO,OAAO,IAAI;AAC3B,MAAI;AACF,SAAM,QAAQ,cAAc,IAAI,OAAO,SAAS,KAAK;AACrD,OAAI,OAAO,UAAU,YAAY,QAAQ;AACzC,UAAO,KAAK,EACV,IAAI,UAAU,YAAY,WAC3B,CAAC;WACK,KAAK;AACZ,QAAK,IAAI;;;AAKb,OAAM,IACJ,wBAAwB,SACxB,IAAI,UAAU,EACd,MAAM,QAAQ,KAAK,EACnB,+BACD;AAED,OAAM,IACJ,wBAAwB,iBACxB,IAAI,UAAU,EACd,MAAM,QAAQ,KAAK,EACnB,+BACD;AAED,OAAM,OACJ,wBAAwB,iBACxB,IAAI,UAAU,EACd,eACE,KACA,KACA,MACe;EACf,MAAM,OAAO,EAAE;AACf,OAAK,IAAI,OAAO,OAAO;AACvB,MAAI;AACF,SAAM,QAAQ,cAAc,IAAI,OAAO,SAAS,KAAK;AACrD,OAAI,OAAO,UAAU,YAAY,QAAQ;AACzC,UAAO,KAAK,EACV,IAAI,UAAU,YAAY,aAC3B,CAAC;WACK,KAAK;AACZ,QAAK,IAAI;;GAGd;AAED,OAAM,IACJ,wBAAwB,eACxB,IAAI,SAAS,EACb,eACE,KACA,KACA,MACe;EACf,MAAM,OAAO,IAAI,OAAO;EACxB,MAAM,iBAAiB,kBAAkB,IAAI;AAC7C,MAAI;AAMF,SALiB,MAAM,QAAQ,oBAAoB;IACjD;IACA,aAAa;IACb;IACD,CAAC,EACY,UAAU,WAAW;WAC5B,KAAK;AACZ,QAAK,IAAI;;GAGd"}
package/build/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Router } from 'express';
2
- import type { Auth } from '@verdaccio/auth';
3
- import type { Storage } from '@verdaccio/store';
4
- import type { Config, Logger } from '@verdaccio/types';
1
+ import { Router } from 'express';
2
+ import { Auth } from '@verdaccio/auth';
3
+ import { Storage } from '@verdaccio/store';
4
+ import { Config, Logger } from '@verdaccio/types';
5
5
  export default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router;
package/build/index.js CHANGED
@@ -1,83 +1,66 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
5
4
  });
6
- exports["default"] = _default;
7
- var _debug = _interopRequireDefault(require("debug"));
8
- var _express = _interopRequireDefault(require("express"));
9
- var _middleware = require("@verdaccio/middleware");
10
- var _distTags = _interopRequireDefault(require("./dist-tags"));
11
- var _package = _interopRequireDefault(require("./package"));
12
- var _ping = _interopRequireDefault(require("./ping"));
13
- var _publish = _interopRequireDefault(require("./publish"));
14
- var _search = _interopRequireDefault(require("./search"));
15
- var _stars = _interopRequireDefault(require("./stars"));
16
- var _user = _interopRequireDefault(require("./user"));
17
- var _login = _interopRequireDefault(require("./v1/login"));
18
- var _profile = _interopRequireDefault(require("./v1/profile"));
19
- var _search2 = _interopRequireDefault(require("./v1/search"));
20
- var _token = _interopRequireDefault(require("./v1/token"));
21
- var _whoami = _interopRequireDefault(require("./whoami"));
22
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
23
- var debug = (0, _debug["default"])('verdaccio:api');
24
- function _default(config, auth, storage, logger) {
25
- var _config$flags;
26
- /* eslint new-cap:off */
27
- var app = _express["default"].Router();
28
-
29
- // validate all of these params as a package name
30
- // this might be too harsh, so ask if it causes trouble
31
- app.param('package', _middleware.validatePackage);
32
- app.param('filename', _middleware.validateName);
33
- app.param('tag', _middleware.validateName);
34
- app.param('version', _middleware.validateName);
35
- app.param('revision', _middleware.validateName);
36
- app.param('token', _middleware.validateName);
37
-
38
- // Express route parameter names must be valid JavaScript identifiers, which means
39
- // they cannot start with a hyphen (-) or contain special characters like dots (.)
40
- app.param('_rev', (0, _middleware.match)(/^-rev$/));
41
- app.param('org_couchdb_user', (0, _middleware.match)(/^org\.couchdb\.user:/));
42
- app.use(auth.apiJWTmiddleware());
43
-
44
- // middleware might have registered a json parser already
45
- if (hasBodyParser(app)) {
46
- debug('json parser already registered');
47
- } else {
48
- app.use(_express["default"].json({
49
- strict: false,
50
- limit: config.max_body_size || '10mb'
51
- }));
52
- }
53
- app.use((0, _middleware.antiLoop)(config));
54
- app.use(_middleware.makeURLrelative);
55
- // encode / in a scoped package name to be matched as a single parameter in routes
56
- app.use(_middleware.encodeScopePackage);
57
- // for "npm whoami"
58
- (0, _whoami["default"])(app);
59
- (0, _profile["default"])(app, auth, config);
60
- (0, _search["default"])(app, logger);
61
- (0, _user["default"])(app, auth, config, logger);
62
- (0, _distTags["default"])(app, auth, storage, logger);
63
- (0, _publish["default"])(app, auth, storage, logger);
64
- (0, _ping["default"])(app);
65
- (0, _stars["default"])(app, storage);
66
- (0, _search2["default"])(app, auth, storage, logger);
67
- (0, _token["default"])(app, auth, storage, config, logger);
68
- (0, _package["default"])(app, auth, storage, logger);
69
- if ((_config$flags = config.flags) !== null && _config$flags !== void 0 && _config$flags.webLogin) {
70
- (0, _login["default"])(app, auth, storage, config, logger);
71
- }
72
- return app;
5
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
6
+ const require_dist_tags = require("./dist-tags.js");
7
+ const require_package = require("./package.js");
8
+ const require_ping = require("./ping.js");
9
+ const require_publish = require("./publish.js");
10
+ const require_search = require("./search.js");
11
+ const require_stars = require("./stars.js");
12
+ const require_user = require("./user.js");
13
+ const require_login = require("./v1/login.js");
14
+ const require_profile = require("./v1/profile.js");
15
+ const require_search$1 = require("./v1/search.js");
16
+ const require_token = require("./v1/token.js");
17
+ const require_whoami = require("./whoami.js");
18
+ let debug = require("debug");
19
+ debug = require_runtime.__toESM(debug);
20
+ let express = require("express");
21
+ express = require_runtime.__toESM(express);
22
+ let _verdaccio_middleware = require("@verdaccio/middleware");
23
+ //#region src/index.ts
24
+ var debug$1 = (0, debug.default)("verdaccio:api");
25
+ function src_default(config, auth, storage, logger) {
26
+ const app = express.default.Router();
27
+ app.param("package", _verdaccio_middleware.validatePackage);
28
+ app.param("filename", _verdaccio_middleware.validateName);
29
+ app.param("tag", _verdaccio_middleware.validateName);
30
+ app.param("version", _verdaccio_middleware.validateName);
31
+ app.param("revision", _verdaccio_middleware.validateName);
32
+ app.param("token", _verdaccio_middleware.validateName);
33
+ app.param("_rev", (0, _verdaccio_middleware.match)(/^-rev$/));
34
+ app.param("org_couchdb_user", (0, _verdaccio_middleware.match)(/^org\.couchdb\.user:/));
35
+ app.use(auth.apiJWTmiddleware());
36
+ if (hasBodyParser(app)) debug$1("json parser already registered");
37
+ else app.use(express.default.json({
38
+ strict: false,
39
+ limit: config.max_body_size || "10mb"
40
+ }));
41
+ app.use((0, _verdaccio_middleware.antiLoop)(config));
42
+ app.use(_verdaccio_middleware.makeURLrelative);
43
+ app.use(_verdaccio_middleware.encodeScopePackage);
44
+ require_whoami.default(app);
45
+ require_profile.default(app, auth, config);
46
+ require_search.default(app, logger);
47
+ require_user.default(app, auth, config, logger);
48
+ require_dist_tags.default(app, auth, storage, logger);
49
+ require_publish.default(app, auth, storage, logger);
50
+ require_ping.default(app);
51
+ require_stars.default(app, storage);
52
+ require_search$1.default(app, auth, storage, logger);
53
+ require_token.default(app, auth, storage, config, logger);
54
+ require_package.default(app, auth, storage, logger);
55
+ if (config.flags?.webLogin) require_login.default(app, auth, storage, config, logger);
56
+ return app;
73
57
  }
74
58
  function hasBodyParser(app) {
75
- var _router;
76
- // @ts-ignore - Express internals: app.stack is not part of the public API
77
- var stack = app.stack || ((_router = app._router) === null || _router === void 0 ? void 0 : _router.stack) || [];
78
- return stack.some(function (middleware) {
79
- var _middleware$handle;
80
- return ((_middleware$handle = middleware.handle) === null || _middleware$handle === void 0 ? void 0 : _middleware$handle.name) === 'jsonParser' || middleware.name === 'jsonParser';
81
- });
59
+ return (app.stack || app._router?.stack || []).some((middleware) => {
60
+ return middleware.handle?.name === "jsonParser" || middleware.name === "jsonParser";
61
+ });
82
62
  }
63
+ //#endregion
64
+ exports.default = src_default;
65
+
83
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_debug","_interopRequireDefault","require","_express","_middleware","_distTags","_package","_ping","_publish","_search","_stars","_user","_login","_profile","_search2","_token","_whoami","e","__esModule","debug","buildDebug","_default","config","auth","storage","logger","_config$flags","app","express","Router","param","validatePackage","validateName","match","use","apiJWTmiddleware","hasBodyParser","json","strict","limit","max_body_size","antiLoop","makeURLrelative","encodeScopePackage","whoami","profile","search","user","distTags","publish","ping","stars","v1Search","token","pkg","flags","webLogin","login","_router","stack","some","middleware","_middleware$handle","handle","name"],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\nimport express from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Config, Logger } from '@verdaccio/types';\n\nimport distTags from './dist-tags';\nimport pkg from './package';\nimport ping from './ping';\nimport publish from './publish';\nimport search from './search';\nimport stars from './stars';\nimport user from './user';\nimport login from './v1/login';\nimport profile from './v1/profile';\nimport v1Search from './v1/search';\nimport token from './v1/token';\nimport whoami from './whoami';\n\nconst debug = buildDebug('verdaccio:api');\n\nexport default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {\n /* eslint new-cap:off */\n const app = express.Router();\n\n // validate all of these params as a package name\n // this might be too harsh, so ask if it causes trouble\n app.param('package', validatePackage);\n app.param('filename', validateName);\n app.param('tag', validateName);\n app.param('version', validateName);\n app.param('revision', validateName);\n app.param('token', validateName);\n\n // Express route parameter names must be valid JavaScript identifiers, which means\n // they cannot start with a hyphen (-) or contain special characters like dots (.)\n app.param('_rev', match(/^-rev$/));\n app.param('org_couchdb_user', match(/^org\\.couchdb\\.user:/));\n\n app.use(auth.apiJWTmiddleware());\n\n // middleware might have registered a json parser already\n if (hasBodyParser(app)) {\n debug('json parser already registered');\n } else {\n app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));\n }\n\n app.use(antiLoop(config));\n app.use(makeURLrelative);\n // encode / in a scoped package name to be matched as a single parameter in routes\n app.use(encodeScopePackage);\n // for \"npm whoami\"\n whoami(app);\n profile(app, auth, config);\n search(app, logger);\n user(app, auth, config, logger);\n distTags(app, auth, storage, logger);\n publish(app, auth, storage, logger);\n ping(app);\n stars(app, storage);\n v1Search(app, auth, storage, logger);\n token(app, auth, storage, config, logger);\n pkg(app, auth, storage, logger);\n if (config.flags?.webLogin) {\n login(app, auth, storage, config, logger);\n }\n return app;\n}\n\nfunction hasBodyParser(app: Router): boolean {\n // @ts-ignore - Express internals: app.stack is not part of the public API\n const stack = (app as any).stack || (app as any)._router?.stack || [];\n return stack.some((middleware: any) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\nimport express from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Config, Logger } from '@verdaccio/types';\n\nimport distTags from './dist-tags';\nimport pkg from './package';\nimport ping from './ping';\nimport publish from './publish';\nimport search from './search';\nimport stars from './stars';\nimport user from './user';\nimport login from './v1/login';\nimport profile from './v1/profile';\nimport v1Search from './v1/search';\nimport token from './v1/token';\nimport whoami from './whoami';\n\nconst debug = buildDebug('verdaccio:api');\n\nexport default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {\n /* eslint new-cap:off */\n const app = express.Router();\n\n // validate all of these params as a package name\n // this might be too harsh, so ask if it causes trouble\n app.param('package', validatePackage);\n app.param('filename', validateName);\n app.param('tag', validateName);\n app.param('version', validateName);\n app.param('revision', validateName);\n app.param('token', validateName);\n\n // Express route parameter names must be valid JavaScript identifiers, which means\n // they cannot start with a hyphen (-) or contain special characters like dots (.)\n app.param('_rev', match(/^-rev$/));\n app.param('org_couchdb_user', match(/^org\\.couchdb\\.user:/));\n\n app.use(auth.apiJWTmiddleware());\n\n // middleware might have registered a json parser already\n if (hasBodyParser(app)) {\n debug('json parser already registered');\n } else {\n app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));\n }\n\n app.use(antiLoop(config));\n app.use(makeURLrelative);\n // encode / in a scoped package name to be matched as a single parameter in routes\n app.use(encodeScopePackage);\n // for \"npm whoami\"\n whoami(app);\n profile(app, auth, config);\n search(app, logger);\n user(app, auth, config, logger);\n distTags(app, auth, storage, logger);\n publish(app, auth, storage, logger);\n ping(app);\n stars(app, storage);\n v1Search(app, auth, storage, logger);\n token(app, auth, storage, config, logger);\n pkg(app, auth, storage, logger);\n if (config.flags?.webLogin) {\n login(app, auth, storage, config, logger);\n }\n return app;\n}\n\nfunction hasBodyParser(app: Router): boolean {\n // @ts-ignore - Express internals: app.stack is not part of the public API\n const stack = (app as any).stack || (app as any)._router?.stack || [];\n return stack.some((middleware: any) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAM,WAAA,GAAA,MAAA,SAAmB,gBAAgB;AAEzC,SAAA,YAAyB,QAAgB,MAAY,SAAkB,QAAwB;CAE7F,MAAM,MAAM,QAAA,QAAQ,QAAQ;AAI5B,KAAI,MAAM,WAAW,sBAAA,gBAAgB;AACrC,KAAI,MAAM,YAAY,sBAAA,aAAa;AACnC,KAAI,MAAM,OAAO,sBAAA,aAAa;AAC9B,KAAI,MAAM,WAAW,sBAAA,aAAa;AAClC,KAAI,MAAM,YAAY,sBAAA,aAAa;AACnC,KAAI,MAAM,SAAS,sBAAA,aAAa;AAIhC,KAAI,MAAM,SAAA,GAAA,sBAAA,OAAc,SAAS,CAAC;AAClC,KAAI,MAAM,qBAAA,GAAA,sBAAA,OAA0B,uBAAuB,CAAC;AAE5D,KAAI,IAAI,KAAK,kBAAkB,CAAC;AAGhC,KAAI,cAAc,IAAI,CACpB,SAAM,iCAAiC;KAEvC,KAAI,IAAI,QAAA,QAAQ,KAAK;EAAE,QAAQ;EAAO,OAAO,OAAO,iBAAiB;EAAQ,CAAC,CAAC;AAGjF,KAAI,KAAA,GAAA,sBAAA,UAAa,OAAO,CAAC;AACzB,KAAI,IAAI,sBAAA,gBAAgB;AAExB,KAAI,IAAI,sBAAA,mBAAmB;AAE3B,gBAAA,QAAO,IAAI;AACX,iBAAA,QAAQ,KAAK,MAAM,OAAO;AAC1B,gBAAA,QAAO,KAAK,OAAO;AACnB,cAAA,QAAK,KAAK,MAAM,QAAQ,OAAO;AAC/B,mBAAA,QAAS,KAAK,MAAM,SAAS,OAAO;AACpC,iBAAA,QAAQ,KAAK,MAAM,SAAS,OAAO;AACnC,cAAA,QAAK,IAAI;AACT,eAAA,QAAM,KAAK,QAAQ;AACnB,kBAAA,QAAS,KAAK,MAAM,SAAS,OAAO;AACpC,eAAA,QAAM,KAAK,MAAM,SAAS,QAAQ,OAAO;AACzC,iBAAA,QAAI,KAAK,MAAM,SAAS,OAAO;AAC/B,KAAI,OAAO,OAAO,SAChB,eAAA,QAAM,KAAK,MAAM,SAAS,QAAQ,OAAO;AAE3C,QAAO;;AAGT,SAAS,cAAc,KAAsB;AAG3C,SADe,IAAY,SAAU,IAAY,SAAS,SAAS,EAAE,EACxD,MAAM,eAAoB;AACrC,SAAO,WAAW,QAAQ,SAAS,gBAAgB,WAAW,SAAS;GACvE"}
@@ -0,0 +1,59 @@
1
+ import dist_tags_default from "./dist-tags.mjs";
2
+ import package_default from "./package.mjs";
3
+ import ping_default from "./ping.mjs";
4
+ import publish from "./publish.mjs";
5
+ import search_default from "./search.mjs";
6
+ import stars_default from "./stars.mjs";
7
+ import user_default from "./user.mjs";
8
+ import login_default from "./v1/login.mjs";
9
+ import profile_default from "./v1/profile.mjs";
10
+ import search_default$1 from "./v1/search.mjs";
11
+ import token_default from "./v1/token.mjs";
12
+ import whoami_default from "./whoami.mjs";
13
+ import buildDebug from "debug";
14
+ import express from "express";
15
+ import { antiLoop, encodeScopePackage, makeURLrelative, match, validateName, validatePackage } from "@verdaccio/middleware";
16
+ //#region src/index.ts
17
+ var debug = buildDebug("verdaccio:api");
18
+ function src_default(config, auth, storage, logger) {
19
+ const app = express.Router();
20
+ app.param("package", validatePackage);
21
+ app.param("filename", validateName);
22
+ app.param("tag", validateName);
23
+ app.param("version", validateName);
24
+ app.param("revision", validateName);
25
+ app.param("token", validateName);
26
+ app.param("_rev", match(/^-rev$/));
27
+ app.param("org_couchdb_user", match(/^org\.couchdb\.user:/));
28
+ app.use(auth.apiJWTmiddleware());
29
+ if (hasBodyParser(app)) debug("json parser already registered");
30
+ else app.use(express.json({
31
+ strict: false,
32
+ limit: config.max_body_size || "10mb"
33
+ }));
34
+ app.use(antiLoop(config));
35
+ app.use(makeURLrelative);
36
+ app.use(encodeScopePackage);
37
+ whoami_default(app);
38
+ profile_default(app, auth, config);
39
+ search_default(app, logger);
40
+ user_default(app, auth, config, logger);
41
+ dist_tags_default(app, auth, storage, logger);
42
+ publish(app, auth, storage, logger);
43
+ ping_default(app);
44
+ stars_default(app, storage);
45
+ search_default$1(app, auth, storage, logger);
46
+ token_default(app, auth, storage, config, logger);
47
+ package_default(app, auth, storage, logger);
48
+ if (config.flags?.webLogin) login_default(app, auth, storage, config, logger);
49
+ return app;
50
+ }
51
+ function hasBodyParser(app) {
52
+ return (app.stack || app._router?.stack || []).some((middleware) => {
53
+ return middleware.handle?.name === "jsonParser" || middleware.name === "jsonParser";
54
+ });
55
+ }
56
+ //#endregion
57
+ export { src_default as default };
58
+
59
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\nimport express from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Config, Logger } from '@verdaccio/types';\n\nimport distTags from './dist-tags';\nimport pkg from './package';\nimport ping from './ping';\nimport publish from './publish';\nimport search from './search';\nimport stars from './stars';\nimport user from './user';\nimport login from './v1/login';\nimport profile from './v1/profile';\nimport v1Search from './v1/search';\nimport token from './v1/token';\nimport whoami from './whoami';\n\nconst debug = buildDebug('verdaccio:api');\n\nexport default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {\n /* eslint new-cap:off */\n const app = express.Router();\n\n // validate all of these params as a package name\n // this might be too harsh, so ask if it causes trouble\n app.param('package', validatePackage);\n app.param('filename', validateName);\n app.param('tag', validateName);\n app.param('version', validateName);\n app.param('revision', validateName);\n app.param('token', validateName);\n\n // Express route parameter names must be valid JavaScript identifiers, which means\n // they cannot start with a hyphen (-) or contain special characters like dots (.)\n app.param('_rev', match(/^-rev$/));\n app.param('org_couchdb_user', match(/^org\\.couchdb\\.user:/));\n\n app.use(auth.apiJWTmiddleware());\n\n // middleware might have registered a json parser already\n if (hasBodyParser(app)) {\n debug('json parser already registered');\n } else {\n app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));\n }\n\n app.use(antiLoop(config));\n app.use(makeURLrelative);\n // encode / in a scoped package name to be matched as a single parameter in routes\n app.use(encodeScopePackage);\n // for \"npm whoami\"\n whoami(app);\n profile(app, auth, config);\n search(app, logger);\n user(app, auth, config, logger);\n distTags(app, auth, storage, logger);\n publish(app, auth, storage, logger);\n ping(app);\n stars(app, storage);\n v1Search(app, auth, storage, logger);\n token(app, auth, storage, config, logger);\n pkg(app, auth, storage, logger);\n if (config.flags?.webLogin) {\n login(app, auth, storage, config, logger);\n }\n return app;\n}\n\nfunction hasBodyParser(app: Router): boolean {\n // @ts-ignore - Express internals: app.stack is not part of the public API\n const stack = (app as any).stack || (app as any)._router?.stack || [];\n return stack.some((middleware: any) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAM,QAAQ,WAAW,gBAAgB;AAEzC,SAAA,YAAyB,QAAgB,MAAY,SAAkB,QAAwB;CAE7F,MAAM,MAAM,QAAQ,QAAQ;AAI5B,KAAI,MAAM,WAAW,gBAAgB;AACrC,KAAI,MAAM,YAAY,aAAa;AACnC,KAAI,MAAM,OAAO,aAAa;AAC9B,KAAI,MAAM,WAAW,aAAa;AAClC,KAAI,MAAM,YAAY,aAAa;AACnC,KAAI,MAAM,SAAS,aAAa;AAIhC,KAAI,MAAM,QAAQ,MAAM,SAAS,CAAC;AAClC,KAAI,MAAM,oBAAoB,MAAM,uBAAuB,CAAC;AAE5D,KAAI,IAAI,KAAK,kBAAkB,CAAC;AAGhC,KAAI,cAAc,IAAI,CACpB,OAAM,iCAAiC;KAEvC,KAAI,IAAI,QAAQ,KAAK;EAAE,QAAQ;EAAO,OAAO,OAAO,iBAAiB;EAAQ,CAAC,CAAC;AAGjF,KAAI,IAAI,SAAS,OAAO,CAAC;AACzB,KAAI,IAAI,gBAAgB;AAExB,KAAI,IAAI,mBAAmB;AAE3B,gBAAO,IAAI;AACX,iBAAQ,KAAK,MAAM,OAAO;AAC1B,gBAAO,KAAK,OAAO;AACnB,cAAK,KAAK,MAAM,QAAQ,OAAO;AAC/B,mBAAS,KAAK,MAAM,SAAS,OAAO;AACpC,SAAQ,KAAK,MAAM,SAAS,OAAO;AACnC,cAAK,IAAI;AACT,eAAM,KAAK,QAAQ;AACnB,kBAAS,KAAK,MAAM,SAAS,OAAO;AACpC,eAAM,KAAK,MAAM,SAAS,QAAQ,OAAO;AACzC,iBAAI,KAAK,MAAM,SAAS,OAAO;AAC/B,KAAI,OAAO,OAAO,SAChB,eAAM,KAAK,MAAM,SAAS,QAAQ,OAAO;AAE3C,QAAO;;AAGT,SAAS,cAAc,KAAsB;AAG3C,SADe,IAAY,SAAU,IAAY,SAAS,SAAS,EAAE,EACxD,MAAM,eAAoB;AACrC,SAAO,WAAW,QAAQ,SAAS,gBAAgB,WAAW,SAAS;GACvE"}
@@ -1,5 +1,5 @@
1
- import type { Router } from 'express';
2
- import type { Auth } from '@verdaccio/auth';
1
+ import { Router } from 'express';
2
+ import { Auth } from '@verdaccio/auth';
3
3
  import { Storage } from '@verdaccio/store';
4
- import type { Logger } from '@verdaccio/types';
4
+ import { Logger } from '@verdaccio/types';
5
5
  export default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void;