@verdaccio/api 8.1.0-next-8.30 → 8.1.0-next-8.32

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.
@@ -1,5 +1,5 @@
1
- import { Router } from 'express';
2
- import { Auth } from '@verdaccio/auth';
3
- import { Storage } from '@verdaccio/store';
4
- import { Logger } from '@verdaccio/types';
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';
5
5
  export default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void;
@@ -3,68 +3,124 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = _default;
6
+ exports["default"] = _default;
7
7
  var _lodash = _interopRequireDefault(require("lodash"));
8
8
  var _core = require("@verdaccio/core");
9
9
  var _middleware = require("@verdaccio/middleware");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }); }; }
11
15
  function _default(route, auth, storage, logger) {
12
- const can = (0, _middleware.allow)(auth, {
13
- beforeAll: (a, b) => logger.trace(a, b),
14
- afterAll: (a, b) => logger.trace(a, b)
15
- });
16
- const addTagPackageVersionMiddleware = async function (req, res, next) {
17
- if (_lodash.default.isString(req.body) === false) {
18
- return next(_core.errorUtils.getBadRequest('version is missing'));
19
- }
20
- const tags = {};
21
- tags[req.params.tag] = req.body;
22
- try {
23
- await storage.mergeTagsNext(req.params.package, tags);
24
- res.status(_core.constants.HTTP_STATUS.CREATED);
25
- return next({
26
- ok: _core.constants.API_MESSAGE.TAG_ADDED
27
- });
28
- } catch (err) {
29
- next(err);
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);
30
22
  }
31
- };
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
+ }();
32
59
 
33
60
  // tagging a package.
34
61
  route.put(_middleware.DIST_TAGS_API_ENDPOINTS.tagging, can('publish'), (0, _middleware.media)(_core.HEADERS.JSON), addTagPackageVersionMiddleware);
35
62
  route.put(_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can('publish'), (0, _middleware.media)(_core.HEADERS.JSON), addTagPackageVersionMiddleware);
36
- route.delete(_middleware.DIST_TAGS_API_ENDPOINTS.tagging_package, can('publish'), async function (req, res, next) {
37
- const tags = {};
38
- tags[req.params.tag] = null;
39
- try {
40
- await storage.mergeTagsNext(req.params.package, tags);
41
- res.status(_core.constants.HTTP_STATUS.CREATED);
42
- return next({
43
- ok: _core.constants.API_MESSAGE.TAG_REMOVED
44
- });
45
- } catch (err) {
46
- next(err);
47
- }
48
- });
49
- route.get(_middleware.DIST_TAGS_API_ENDPOINTS.get_dist_tags, can('access'), async function (req, res, next) {
50
- const name = req.params.package;
51
- const requestOptions = {
52
- protocol: req.protocol,
53
- headers: req.headers,
54
- // FIXME: if we migrate to req.hostname, the port is not longer included.
55
- host: req.host,
56
- remoteAddress: req.socket.remoteAddress
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);
57
90
  };
58
- try {
59
- const manifest = await storage.getPackageByOptions({
60
- name,
61
- uplinksLook: true,
62
- requestOptions
63
- });
64
- next(manifest[_core.constants.DIST_TAGS]);
65
- } catch (err) {
66
- next(err);
67
- }
68
- });
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
+ }());
69
125
  }
70
126
  //# sourceMappingURL=dist-tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-tags.js","names":["_lodash","_interopRequireDefault","require","_core","_middleware","e","__esModule","default","_default","route","auth","storage","logger","can","allow","beforeAll","a","b","trace","afterAll","addTagPackageVersionMiddleware","req","res","next","_","isString","body","errorUtils","getBadRequest","tags","params","tag","mergeTagsNext","package","status","constants","HTTP_STATUS","CREATED","ok","API_MESSAGE","TAG_ADDED","err","put","DIST_TAGS_API_ENDPOINTS","tagging","media","HEADERS","JSON","tagging_package","delete","TAG_REMOVED","get","get_dist_tags","name","requestOptions","protocol","headers","host","remoteAddress","socket","manifest","getPackageByOptions","uplinksLook","DIST_TAGS"],"sources":["../src/dist-tags.ts"],"sourcesContent":["import { Router } from 'express';\nimport _ from 'lodash';\n\nimport { Auth } from '@verdaccio/auth';\nimport { HEADERS, constants, errorUtils } from '@verdaccio/core';\nimport { allow, media } from '@verdaccio/middleware';\nimport { DIST_TAGS_API_ENDPOINTS } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { Logger } from '@verdaccio/types';\n\nimport { $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 = {\n protocol: req.protocol,\n headers: req.headers as any,\n // FIXME: if we migrate to req.hostname, the port is not longer included.\n host: req.host,\n remoteAddress: req.socket.remoteAddress,\n };\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":["_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":[]}
package/build/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Router } from 'express';
2
- import { Auth } from '@verdaccio/auth';
3
- import { Storage } from '@verdaccio/store';
4
- import { Config, Logger } from '@verdaccio/types';
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';
5
5
  export default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router;
package/build/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = _default;
6
+ exports["default"] = _default;
7
7
  var _debug = _interopRequireDefault(require("debug"));
8
8
  var _express = _interopRequireDefault(require("express"));
9
9
  var _middleware = require("@verdaccio/middleware");
@@ -19,12 +19,12 @@ var _profile = _interopRequireDefault(require("./v1/profile"));
19
19
  var _search2 = _interopRequireDefault(require("./v1/search"));
20
20
  var _token = _interopRequireDefault(require("./v1/token"));
21
21
  var _whoami = _interopRequireDefault(require("./whoami"));
22
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
- const debug = (0, _debug.default)('verdaccio:api');
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
23
+ var debug = (0, _debug["default"])('verdaccio:api');
24
24
  function _default(config, auth, storage, logger) {
25
+ var _config$flags;
25
26
  /* eslint new-cap:off */
26
- const app = _express.default.Router();
27
- /* eslint new-cap:off */
27
+ var app = _express["default"].Router();
28
28
 
29
29
  // validate all of these params as a package name
30
30
  // this might be too harsh, so ask if it causes trouble
@@ -45,7 +45,7 @@ function _default(config, auth, storage, logger) {
45
45
  if (hasBodyParser(app)) {
46
46
  debug('json parser already registered');
47
47
  } else {
48
- app.use(_express.default.json({
48
+ app.use(_express["default"].json({
49
49
  strict: false,
50
50
  limit: config.max_body_size || '10mb'
51
51
  }));
@@ -55,26 +55,27 @@ function _default(config, auth, storage, logger) {
55
55
  // encode / in a scoped package name to be matched as a single parameter in routes
56
56
  app.use(_middleware.encodeScopePackage);
57
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?.webLogin) {
70
- (0, _login.default)(app, auth, storage, config, logger);
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
71
  }
72
72
  return app;
73
73
  }
74
74
  function hasBodyParser(app) {
75
- const stack = app.stack || [];
76
- return stack.some(middleware => {
77
- return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';
75
+ var stack = app.stack || [];
76
+ return stack.some(function (middleware) {
77
+ var _middleware$handle;
78
+ return ((_middleware$handle = middleware.handle) === null || _middleware$handle === void 0 ? void 0 : _middleware$handle.name) === 'jsonParser' || middleware.name === 'jsonParser';
78
79
  });
79
80
  }
80
81
  //# 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","default","debug","buildDebug","_default","config","auth","storage","logger","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","stack","some","middleware","handle","name"],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport express, { Router } from 'express';\n\nimport { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { 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 /* eslint new-cap:off */\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 const stack = app.stack || [];\n return stack.some((middleware) => {\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":["_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","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 const stack = app.stack || [];\n return stack.some((middleware) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Router } from 'express';
2
- import { Auth } from '@verdaccio/auth';
1
+ import type { Router } from 'express';
2
+ import type { Auth } from '@verdaccio/auth';
3
3
  import { Storage } from '@verdaccio/store';
4
- import { Logger } from '@verdaccio/types';
4
+ import type { Logger } from '@verdaccio/types';
5
5
  export default function (route: Router, auth: Auth, storage: Storage, logger: Logger): void;
package/build/package.js CHANGED
@@ -3,97 +3,120 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = _default;
6
+ exports["default"] = _default;
7
7
  var _debug = _interopRequireDefault(require("debug"));
8
8
  var _core = require("@verdaccio/core");
9
9
  var _middleware = require("@verdaccio/middleware");
10
10
  var _store = require("@verdaccio/store");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const debug = (0, _debug.default)('verdaccio:api:package');
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ 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 }; })(); }
13
+ 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); }
14
+ 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); }
15
+ 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); }); }; }
16
+ var debug = (0, _debug["default"])('verdaccio:api:package');
13
17
  function _default(route, auth, storage, logger) {
14
- const can = (0, _middleware.allow)(auth, {
15
- beforeAll: (a, b) => logger.trace(a, b),
16
- afterAll: (a, b) => logger.trace(a, b)
17
- });
18
- route.get(_middleware.PACKAGE_API_ENDPOINTS.get_package_by_version, can('access'), async function (req, _res, next) {
19
- debug('get package by version');
20
- const name = req.params.package;
21
- let version = req.params.version;
22
- const write = req.query.write === 'true';
23
- const username = req?.remote_user?.name;
24
- const abbreviated = _core.stringUtils.getByQualityPriorityValue(req.get('Accept')) === _store.Storage.ABBREVIATED_HEADER;
25
- if (debug.enabled) {
26
- debug('is write %o', write);
27
- debug('is abbreviated %o', abbreviated);
28
- debug('package %o', name);
29
- debug('version %o', version);
30
- debug('username %o', username);
31
- debug('remote address %o', req.socket.remoteAddress);
32
- debug('host %o', req.host);
33
- debug('protocol %o', req.protocol);
34
- debug('url %o', req.url);
35
- }
36
- const requestOptions = {
37
- protocol: req.protocol,
38
- headers: req.headers,
39
- // FIXME: if we migrate to req.hostname, the port is not longer included.
40
- host: req.host,
41
- remoteAddress: req.socket.remoteAddress,
42
- byPassCache: write,
43
- username
44
- };
45
- try {
46
- const manifest = await storage.getPackageByOptions({
47
- name,
48
- uplinksLook: true,
49
- abbreviated,
50
- version,
51
- requestOptions
52
- });
53
- if (abbreviated) {
54
- debug('abbreviated response');
55
- _res.setHeader(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.JSON_INSTALL_CHARSET);
56
- } else {
57
- debug('full response');
58
- _res.setHeader(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.JSON);
59
- }
60
- next(manifest);
61
- } catch (err) {
62
- next(err);
63
- }
64
- });
65
- route.get(_middleware.PACKAGE_API_ENDPOINTS.get_package_tarball, can('access'), async function (req, res, next) {
66
- const {
67
- package: pkgName,
68
- filename
69
- } = req.params;
70
- const abort = new AbortController();
71
- try {
72
- debug('downloading tarball %o', filename);
73
- const stream = await storage.getTarball(pkgName, filename, {
74
- signal: abort.signal
75
- // TODO: review why this param
76
- // enableRemote: true,
77
- });
78
- stream.on('content-length', size => {
79
- debug('tarball size %o', size);
80
- res.header(_core.HEADER_TYPE.CONTENT_LENGTH, size);
81
- });
82
- stream.once('error', err => {
83
- debug('error on download tarball %o', err);
84
- res.locals.report_error(err);
85
- next(err);
86
- });
87
- req.on('abort', () => {
88
- debug('request aborted for %o', req.url);
89
- abort.abort();
90
- });
91
- res.header(_core.HEADERS.CONTENT_TYPE, _core.HEADERS.OCTET_STREAM);
92
- stream.pipe(res);
93
- } catch (err) {
94
- res.locals.report_error(err);
95
- next(err);
18
+ var can = (0, _middleware.allow)(auth, {
19
+ beforeAll: function beforeAll(a, b) {
20
+ return logger.trace(a, b);
21
+ },
22
+ afterAll: function afterAll(a, b) {
23
+ return logger.trace(a, b);
96
24
  }
97
25
  });
26
+ route.get(_middleware.PACKAGE_API_ENDPOINTS.get_package_by_version, can('access'), /*#__PURE__*/function () {
27
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(req, _res, next) {
28
+ var name, version, abbreviated, requestOptions, manifest, _t;
29
+ return _regenerator().w(function (_context) {
30
+ while (1) switch (_context.p = _context.n) {
31
+ case 0:
32
+ name = req.params["package"];
33
+ version = req.params.version;
34
+ debug('get package by version: %o %o', name, version);
35
+ abbreviated = _core.stringUtils.getByQualityPriorityValue(req.get('Accept')) === _store.Storage.ABBREVIATED_HEADER;
36
+ debug('abbreviated: %o', abbreviated);
37
+ requestOptions = (0, _middleware.getRequestOptions)(req);
38
+ _context.p = 1;
39
+ _context.n = 2;
40
+ return storage.getPackageByOptions({
41
+ name: name,
42
+ uplinksLook: true,
43
+ abbreviated: abbreviated,
44
+ version: version,
45
+ requestOptions: requestOptions
46
+ });
47
+ case 2:
48
+ manifest = _context.v;
49
+ if (abbreviated) {
50
+ debug('abbreviated response');
51
+ _res.setHeader(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.JSON_INSTALL_CHARSET);
52
+ } else {
53
+ debug('full response');
54
+ _res.setHeader(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.JSON);
55
+ }
56
+ next(manifest);
57
+ _context.n = 4;
58
+ break;
59
+ case 3:
60
+ _context.p = 3;
61
+ _t = _context.v;
62
+ next(_t);
63
+ case 4:
64
+ return _context.a(2);
65
+ }
66
+ }, _callee, null, [[1, 3]]);
67
+ }));
68
+ return function (_x, _x2, _x3) {
69
+ return _ref.apply(this, arguments);
70
+ };
71
+ }());
72
+ route.get(_middleware.PACKAGE_API_ENDPOINTS.get_package_tarball, can('access'), /*#__PURE__*/function () {
73
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(req, res, next) {
74
+ var _req$params, pkgName, filename, abort, stream, _t2;
75
+ return _regenerator().w(function (_context2) {
76
+ while (1) switch (_context2.p = _context2.n) {
77
+ case 0:
78
+ _req$params = req.params, pkgName = _req$params["package"], filename = _req$params.filename;
79
+ abort = new AbortController();
80
+ _context2.p = 1;
81
+ debug('downloading tarball %o', filename);
82
+ _context2.n = 2;
83
+ return storage.getTarball(pkgName, filename, {
84
+ signal: abort.signal
85
+ // TODO: review why this param
86
+ // enableRemote: true,
87
+ });
88
+ case 2:
89
+ stream = _context2.v;
90
+ stream.on('content-length', function (size) {
91
+ debug('tarball size %o', size);
92
+ res.header(_core.HEADER_TYPE.CONTENT_LENGTH, size);
93
+ });
94
+ stream.once('error', function (err) {
95
+ debug('error on download tarball %o', err);
96
+ res.locals.report_error(err);
97
+ next(err);
98
+ });
99
+ req.on('abort', function () {
100
+ debug('request aborted for %o', req.url);
101
+ abort.abort();
102
+ });
103
+ res.header(_core.HEADERS.CONTENT_TYPE, _core.HEADERS.OCTET_STREAM);
104
+ stream.pipe(res);
105
+ _context2.n = 4;
106
+ break;
107
+ case 3:
108
+ _context2.p = 3;
109
+ _t2 = _context2.v;
110
+ res.locals.report_error(_t2);
111
+ next(_t2);
112
+ case 4:
113
+ return _context2.a(2);
114
+ }
115
+ }, _callee2, null, [[1, 3]]);
116
+ }));
117
+ return function (_x4, _x5, _x6) {
118
+ return _ref2.apply(this, arguments);
119
+ };
120
+ }());
98
121
  }
99
122
  //# sourceMappingURL=package.js.map