@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
package/build/package.js CHANGED
@@ -1,122 +1,71 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- var _debug = _interopRequireDefault(require("debug"));
8
- var _core = require("@verdaccio/core");
9
- var _middleware = require("@verdaccio/middleware");
10
- var _store = require("@verdaccio/store");
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');
17
- function _default(route, auth, storage, logger) {
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);
24
- }
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
- }());
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
2
+ let debug = require("debug");
3
+ debug = require_runtime.__toESM(debug);
4
+ let _verdaccio_middleware = require("@verdaccio/middleware");
5
+ let _verdaccio_core = require("@verdaccio/core");
6
+ let _verdaccio_store = require("@verdaccio/store");
7
+ //#region src/package.ts
8
+ var debug$1 = (0, debug.default)("verdaccio:api:package");
9
+ function package_default(route, auth, storage, logger) {
10
+ const can = (0, _verdaccio_middleware.allow)(auth, {
11
+ beforeAll: (a, b) => logger.trace(a, b),
12
+ afterAll: (a, b) => logger.trace(a, b)
13
+ });
14
+ route.get(_verdaccio_middleware.PACKAGE_API_ENDPOINTS.get_package_by_version, can("access"), async function(req, _res, next) {
15
+ const name = req.params.package;
16
+ const version = req.params.version;
17
+ debug$1("get package by version: %o %o", name, version);
18
+ const abbreviated = _verdaccio_core.stringUtils.getByQualityPriorityValue(req.get("Accept")) === _verdaccio_store.Storage.ABBREVIATED_HEADER;
19
+ debug$1("abbreviated: %o", abbreviated);
20
+ const requestOptions = (0, _verdaccio_middleware.getRequestOptions)(req);
21
+ try {
22
+ const manifest = await storage.getPackageByOptions({
23
+ name,
24
+ uplinksLook: true,
25
+ abbreviated,
26
+ version,
27
+ requestOptions
28
+ });
29
+ if (abbreviated) {
30
+ debug$1("abbreviated response");
31
+ _res.setHeader(_verdaccio_core.HEADER_TYPE.CONTENT_TYPE, _verdaccio_core.HEADERS.JSON_INSTALL_CHARSET);
32
+ } else {
33
+ debug$1("full response");
34
+ _res.setHeader(_verdaccio_core.HEADER_TYPE.CONTENT_TYPE, _verdaccio_core.HEADERS.JSON);
35
+ }
36
+ next(manifest);
37
+ } catch (err) {
38
+ next(err);
39
+ }
40
+ });
41
+ route.get(_verdaccio_middleware.PACKAGE_API_ENDPOINTS.get_package_tarball, can("access"), async function(req, res, next) {
42
+ const { package: pkgName, filename } = req.params;
43
+ const abort = new AbortController();
44
+ try {
45
+ debug$1("downloading tarball %o", filename);
46
+ const stream = await storage.getTarball(pkgName, filename, { signal: abort.signal });
47
+ stream.on("content-length", (size) => {
48
+ debug$1("tarball size %o", size);
49
+ res.header(_verdaccio_core.HEADER_TYPE.CONTENT_LENGTH, size);
50
+ });
51
+ stream.once("error", (err) => {
52
+ debug$1("error on download tarball %o", err);
53
+ res.locals.report_error(err);
54
+ next(err);
55
+ });
56
+ req.on("abort", () => {
57
+ debug$1("request aborted for %o", req.url);
58
+ abort.abort();
59
+ });
60
+ res.header(_verdaccio_core.HEADERS.CONTENT_TYPE, _verdaccio_core.HEADERS.OCTET_STREAM);
61
+ stream.pipe(res);
62
+ } catch (err) {
63
+ res.locals.report_error(err);
64
+ next(err);
65
+ }
66
+ });
121
67
  }
68
+ //#endregion
69
+ exports.default = package_default;
70
+
122
71
  //# sourceMappingURL=package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","names":["_debug","_interopRequireDefault","require","_core","_middleware","_store","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","debug","buildDebug","_default","route","auth","storage","logger","can","allow","beforeAll","b","trace","afterAll","get","PACKAGE_API_ENDPOINTS","get_package_by_version","_ref","_callee","req","_res","next","name","version","abbreviated","requestOptions","manifest","_t","_context","params","stringUtils","getByQualityPriorityValue","Storage","ABBREVIATED_HEADER","getRequestOptions","getPackageByOptions","uplinksLook","setHeader","HEADER_TYPE","CONTENT_TYPE","HEADERS","JSON_INSTALL_CHARSET","JSON","_x","_x2","_x3","get_package_tarball","_ref2","_callee2","res","_req$params","pkgName","filename","abort","stream","_t2","_context2","AbortController","getTarball","signal","on","size","header","CONTENT_LENGTH","once","err","locals","report_error","url","OCTET_STREAM","pipe","_x4","_x5","_x6"],"sources":["../src/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, HEADER_TYPE, stringUtils } from '@verdaccio/core';\nimport { PACKAGE_API_ENDPOINTS, allow, getRequestOptions } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nconst debug = buildDebug('verdaccio:api:package');\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 route.get(\n PACKAGE_API_ENDPOINTS.get_package_by_version,\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 version = req.params.version;\n debug('get package by version: %o %o', name, version);\n const abbreviated =\n stringUtils.getByQualityPriorityValue(req.get('Accept')) === Storage.ABBREVIATED_HEADER;\n debug('abbreviated: %o', abbreviated);\n\n const requestOptions = getRequestOptions(req);\n\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n abbreviated,\n version,\n requestOptions,\n });\n if (abbreviated) {\n debug('abbreviated response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_INSTALL_CHARSET);\n } else {\n debug('full response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON);\n }\n\n next(manifest);\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n PACKAGE_API_ENDPOINTS.get_package_tarball,\n can('access'),\n async function (req: $RequestExtend, res: $ResponseExtend, next): Promise<void> {\n const { package: pkgName, filename } = req.params;\n const abort = new AbortController();\n try {\n debug('downloading tarball %o', filename);\n const stream = (await storage.getTarball(pkgName, filename, {\n signal: abort.signal,\n // TODO: review why this param\n // enableRemote: true,\n })) as any;\n\n stream.on('content-length', (size) => {\n debug('tarball size %o', size);\n res.header(HEADER_TYPE.CONTENT_LENGTH, size);\n });\n\n stream.once('error', (err) => {\n debug('error on download tarball %o', err);\n res.locals.report_error(err);\n next(err);\n });\n\n req.on('abort', () => {\n debug('request aborted for %o', req.url);\n abort.abort();\n });\n\n res.header(HEADERS.CONTENT_TYPE, HEADERS.OCTET_STREAM);\n stream.pipe(res);\n } catch (err: any) {\n res.locals.report_error(err);\n next(err);\n }\n }\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"package.js","names":[],"sources":["../src/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, HEADER_TYPE, stringUtils } from '@verdaccio/core';\nimport { PACKAGE_API_ENDPOINTS, allow, getRequestOptions } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nconst debug = buildDebug('verdaccio:api:package');\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 route.get(\n PACKAGE_API_ENDPOINTS.get_package_by_version,\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 version = req.params.version;\n debug('get package by version: %o %o', name, version);\n const abbreviated =\n stringUtils.getByQualityPriorityValue(req.get('Accept')) === Storage.ABBREVIATED_HEADER;\n debug('abbreviated: %o', abbreviated);\n\n const requestOptions = getRequestOptions(req);\n\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n abbreviated,\n version,\n requestOptions,\n });\n if (abbreviated) {\n debug('abbreviated response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_INSTALL_CHARSET);\n } else {\n debug('full response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON);\n }\n\n next(manifest);\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n PACKAGE_API_ENDPOINTS.get_package_tarball,\n can('access'),\n async function (req: $RequestExtend, res: $ResponseExtend, next): Promise<void> {\n const { package: pkgName, filename } = req.params;\n const abort = new AbortController();\n try {\n debug('downloading tarball %o', filename);\n const stream = (await storage.getTarball(pkgName, filename, {\n signal: abort.signal,\n // TODO: review why this param\n // enableRemote: true,\n })) as any;\n\n stream.on('content-length', (size) => {\n debug('tarball size %o', size);\n res.header(HEADER_TYPE.CONTENT_LENGTH, size);\n });\n\n stream.once('error', (err) => {\n debug('error on download tarball %o', err);\n res.locals.report_error(err);\n next(err);\n });\n\n req.on('abort', () => {\n debug('request aborted for %o', req.url);\n abort.abort();\n });\n\n res.header(HEADERS.CONTENT_TYPE, HEADERS.OCTET_STREAM);\n stream.pipe(res);\n } catch (err: any) {\n res.locals.report_error(err);\n next(err);\n }\n }\n );\n}\n"],"mappings":";;;;;;;AAWA,IAAM,WAAA,GAAA,MAAA,SAAmB,wBAAwB;AAEjD,SAAA,gBAAyB,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;AACF,OAAM,IACJ,sBAAA,sBAAsB,wBACtB,IAAI,SAAS,EACb,eACE,KACA,MACA,MACe;EACf,MAAM,OAAO,IAAI,OAAO;EACxB,MAAM,UAAU,IAAI,OAAO;AAC3B,UAAM,iCAAiC,MAAM,QAAQ;EACrD,MAAM,cACJ,gBAAA,YAAY,0BAA0B,IAAI,IAAI,SAAS,CAAC,KAAK,iBAAA,QAAQ;AACvE,UAAM,mBAAmB,YAAY;EAErC,MAAM,kBAAA,GAAA,sBAAA,mBAAmC,IAAI;AAE7C,MAAI;GACF,MAAM,WAAW,MAAM,QAAQ,oBAAoB;IACjD;IACA,aAAa;IACb;IACA;IACA;IACD,CAAC;AACF,OAAI,aAAa;AACf,YAAM,uBAAuB;AAC7B,SAAK,UAAU,gBAAA,YAAY,cAAc,gBAAA,QAAQ,qBAAqB;UACjE;AACL,YAAM,gBAAgB;AACtB,SAAK,UAAU,gBAAA,YAAY,cAAc,gBAAA,QAAQ,KAAK;;AAGxD,QAAK,SAAS;WACP,KAAK;AACZ,QAAK,IAAI;;GAGd;AAED,OAAM,IACJ,sBAAA,sBAAsB,qBACtB,IAAI,SAAS,EACb,eAAgB,KAAqB,KAAsB,MAAqB;EAC9E,MAAM,EAAE,SAAS,SAAS,aAAa,IAAI;EAC3C,MAAM,QAAQ,IAAI,iBAAiB;AACnC,MAAI;AACF,WAAM,0BAA0B,SAAS;GACzC,MAAM,SAAU,MAAM,QAAQ,WAAW,SAAS,UAAU,EAC1D,QAAQ,MAAM,QAGf,CAAC;AAEF,UAAO,GAAG,mBAAmB,SAAS;AACpC,YAAM,mBAAmB,KAAK;AAC9B,QAAI,OAAO,gBAAA,YAAY,gBAAgB,KAAK;KAC5C;AAEF,UAAO,KAAK,UAAU,QAAQ;AAC5B,YAAM,gCAAgC,IAAI;AAC1C,QAAI,OAAO,aAAa,IAAI;AAC5B,SAAK,IAAI;KACT;AAEF,OAAI,GAAG,eAAe;AACpB,YAAM,0BAA0B,IAAI,IAAI;AACxC,UAAM,OAAO;KACb;AAEF,OAAI,OAAO,gBAAA,QAAQ,cAAc,gBAAA,QAAQ,aAAa;AACtD,UAAO,KAAK,IAAI;WACT,KAAU;AACjB,OAAI,OAAO,aAAa,IAAI;AAC5B,QAAK,IAAI;;GAGd"}
@@ -0,0 +1,69 @@
1
+ import buildDebug from "debug";
2
+ import { PACKAGE_API_ENDPOINTS, allow, getRequestOptions } from "@verdaccio/middleware";
3
+ import { HEADERS, HEADER_TYPE, stringUtils } from "@verdaccio/core";
4
+ import { Storage } from "@verdaccio/store";
5
+ //#region src/package.ts
6
+ var debug = buildDebug("verdaccio:api:package");
7
+ function package_default(route, auth, storage, logger) {
8
+ const can = allow(auth, {
9
+ beforeAll: (a, b) => logger.trace(a, b),
10
+ afterAll: (a, b) => logger.trace(a, b)
11
+ });
12
+ route.get(PACKAGE_API_ENDPOINTS.get_package_by_version, can("access"), async function(req, _res, next) {
13
+ const name = req.params.package;
14
+ const version = req.params.version;
15
+ debug("get package by version: %o %o", name, version);
16
+ const abbreviated = stringUtils.getByQualityPriorityValue(req.get("Accept")) === Storage.ABBREVIATED_HEADER;
17
+ debug("abbreviated: %o", abbreviated);
18
+ const requestOptions = getRequestOptions(req);
19
+ try {
20
+ const manifest = await storage.getPackageByOptions({
21
+ name,
22
+ uplinksLook: true,
23
+ abbreviated,
24
+ version,
25
+ requestOptions
26
+ });
27
+ if (abbreviated) {
28
+ debug("abbreviated response");
29
+ _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_INSTALL_CHARSET);
30
+ } else {
31
+ debug("full response");
32
+ _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON);
33
+ }
34
+ next(manifest);
35
+ } catch (err) {
36
+ next(err);
37
+ }
38
+ });
39
+ route.get(PACKAGE_API_ENDPOINTS.get_package_tarball, can("access"), async function(req, res, next) {
40
+ const { package: pkgName, filename } = req.params;
41
+ const abort = new AbortController();
42
+ try {
43
+ debug("downloading tarball %o", filename);
44
+ const stream = await storage.getTarball(pkgName, filename, { signal: abort.signal });
45
+ stream.on("content-length", (size) => {
46
+ debug("tarball size %o", size);
47
+ res.header(HEADER_TYPE.CONTENT_LENGTH, size);
48
+ });
49
+ stream.once("error", (err) => {
50
+ debug("error on download tarball %o", err);
51
+ res.locals.report_error(err);
52
+ next(err);
53
+ });
54
+ req.on("abort", () => {
55
+ debug("request aborted for %o", req.url);
56
+ abort.abort();
57
+ });
58
+ res.header(HEADERS.CONTENT_TYPE, HEADERS.OCTET_STREAM);
59
+ stream.pipe(res);
60
+ } catch (err) {
61
+ res.locals.report_error(err);
62
+ next(err);
63
+ }
64
+ });
65
+ }
66
+ //#endregion
67
+ export { package_default as default };
68
+
69
+ //# sourceMappingURL=package.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.mjs","names":[],"sources":["../src/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { HEADERS, HEADER_TYPE, stringUtils } from '@verdaccio/core';\nimport { PACKAGE_API_ENDPOINTS, allow, getRequestOptions } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport type { Logger } from '@verdaccio/types';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nconst debug = buildDebug('verdaccio:api:package');\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 route.get(\n PACKAGE_API_ENDPOINTS.get_package_by_version,\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 version = req.params.version;\n debug('get package by version: %o %o', name, version);\n const abbreviated =\n stringUtils.getByQualityPriorityValue(req.get('Accept')) === Storage.ABBREVIATED_HEADER;\n debug('abbreviated: %o', abbreviated);\n\n const requestOptions = getRequestOptions(req);\n\n try {\n const manifest = await storage.getPackageByOptions({\n name,\n uplinksLook: true,\n abbreviated,\n version,\n requestOptions,\n });\n if (abbreviated) {\n debug('abbreviated response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_INSTALL_CHARSET);\n } else {\n debug('full response');\n _res.setHeader(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON);\n }\n\n next(manifest);\n } catch (err) {\n next(err);\n }\n }\n );\n\n route.get(\n PACKAGE_API_ENDPOINTS.get_package_tarball,\n can('access'),\n async function (req: $RequestExtend, res: $ResponseExtend, next): Promise<void> {\n const { package: pkgName, filename } = req.params;\n const abort = new AbortController();\n try {\n debug('downloading tarball %o', filename);\n const stream = (await storage.getTarball(pkgName, filename, {\n signal: abort.signal,\n // TODO: review why this param\n // enableRemote: true,\n })) as any;\n\n stream.on('content-length', (size) => {\n debug('tarball size %o', size);\n res.header(HEADER_TYPE.CONTENT_LENGTH, size);\n });\n\n stream.once('error', (err) => {\n debug('error on download tarball %o', err);\n res.locals.report_error(err);\n next(err);\n });\n\n req.on('abort', () => {\n debug('request aborted for %o', req.url);\n abort.abort();\n });\n\n res.header(HEADERS.CONTENT_TYPE, HEADERS.OCTET_STREAM);\n stream.pipe(res);\n } catch (err: any) {\n res.locals.report_error(err);\n next(err);\n }\n }\n );\n}\n"],"mappings":";;;;;AAWA,IAAM,QAAQ,WAAW,wBAAwB;AAEjD,SAAA,gBAAyB,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;AACF,OAAM,IACJ,sBAAsB,wBACtB,IAAI,SAAS,EACb,eACE,KACA,MACA,MACe;EACf,MAAM,OAAO,IAAI,OAAO;EACxB,MAAM,UAAU,IAAI,OAAO;AAC3B,QAAM,iCAAiC,MAAM,QAAQ;EACrD,MAAM,cACJ,YAAY,0BAA0B,IAAI,IAAI,SAAS,CAAC,KAAK,QAAQ;AACvE,QAAM,mBAAmB,YAAY;EAErC,MAAM,iBAAiB,kBAAkB,IAAI;AAE7C,MAAI;GACF,MAAM,WAAW,MAAM,QAAQ,oBAAoB;IACjD;IACA,aAAa;IACb;IACA;IACA;IACD,CAAC;AACF,OAAI,aAAa;AACf,UAAM,uBAAuB;AAC7B,SAAK,UAAU,YAAY,cAAc,QAAQ,qBAAqB;UACjE;AACL,UAAM,gBAAgB;AACtB,SAAK,UAAU,YAAY,cAAc,QAAQ,KAAK;;AAGxD,QAAK,SAAS;WACP,KAAK;AACZ,QAAK,IAAI;;GAGd;AAED,OAAM,IACJ,sBAAsB,qBACtB,IAAI,SAAS,EACb,eAAgB,KAAqB,KAAsB,MAAqB;EAC9E,MAAM,EAAE,SAAS,SAAS,aAAa,IAAI;EAC3C,MAAM,QAAQ,IAAI,iBAAiB;AACnC,MAAI;AACF,SAAM,0BAA0B,SAAS;GACzC,MAAM,SAAU,MAAM,QAAQ,WAAW,SAAS,UAAU,EAC1D,QAAQ,MAAM,QAGf,CAAC;AAEF,UAAO,GAAG,mBAAmB,SAAS;AACpC,UAAM,mBAAmB,KAAK;AAC9B,QAAI,OAAO,YAAY,gBAAgB,KAAK;KAC5C;AAEF,UAAO,KAAK,UAAU,QAAQ;AAC5B,UAAM,gCAAgC,IAAI;AAC1C,QAAI,OAAO,aAAa,IAAI;AAC5B,SAAK,IAAI;KACT;AAEF,OAAI,GAAG,eAAe;AACpB,UAAM,0BAA0B,IAAI,IAAI;AACxC,UAAM,OAAO;KACb;AAEF,OAAI,OAAO,QAAQ,cAAc,QAAQ,aAAa;AACtD,UAAO,KAAK,IAAI;WACT,KAAU;AACjB,OAAI,OAAO,aAAa,IAAI;AAC5B,QAAK,IAAI;;GAGd"}
package/build/ping.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { Router } from 'express';
1
+ import { Router } from 'express';
2
2
  export default function (route: Router): void;
package/build/ping.js CHANGED
@@ -1,13 +1,12 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = _default;
7
- var _middleware = require("@verdaccio/middleware");
8
- function _default(route) {
9
- route.get(_middleware.PING_API_ENDPOINTS.ping, function (req, res, next) {
10
- next({});
11
- });
1
+ require("./_virtual/_rolldown/runtime.js");
2
+ let _verdaccio_middleware = require("@verdaccio/middleware");
3
+ //#region src/ping.ts
4
+ function ping_default(route) {
5
+ route.get(_verdaccio_middleware.PING_API_ENDPOINTS.ping, function(req, res, next) {
6
+ next({});
7
+ });
12
8
  }
9
+ //#endregion
10
+ exports.default = ping_default;
11
+
13
12
  //# sourceMappingURL=ping.js.map
package/build/ping.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ping.js","names":["_middleware","require","_default","route","get","PING_API_ENDPOINTS","ping","req","res","next"],"sources":["../src/ping.ts"],"sourcesContent":["import type { Router } from 'express';\n\nimport { PING_API_ENDPOINTS } from '@verdaccio/middleware';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router): void {\n route.get(\n PING_API_ENDPOINTS.ping,\n function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next({});\n }\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AAIe,SAAAC,SAAUC,KAAa,EAAQ;EAC5CA,KAAK,CAACC,GAAG,CACPC,8BAAkB,CAACC,IAAI,EACvB,UAAUC,GAAmB,EAAEC,GAAoB,EAAEC,IAAsB,EAAE;IAC3EA,IAAI,CAAC,CAAC,CAAC,CAAC;EACV,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"ping.js","names":[],"sources":["../src/ping.ts"],"sourcesContent":["import type { Router } from 'express';\n\nimport { PING_API_ENDPOINTS } from '@verdaccio/middleware';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router): void {\n route.get(\n PING_API_ENDPOINTS.ping,\n function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next({});\n }\n );\n}\n"],"mappings":";;;AAMA,SAAA,aAAyB,OAAqB;AAC5C,OAAM,IACJ,sBAAA,mBAAmB,MACnB,SAAU,KAAqB,KAAsB,MAAwB;AAC3E,OAAK,EAAE,CAAC;GAEX"}
package/build/ping.mjs ADDED
@@ -0,0 +1,11 @@
1
+ import { PING_API_ENDPOINTS } from "@verdaccio/middleware";
2
+ //#region src/ping.ts
3
+ function ping_default(route) {
4
+ route.get(PING_API_ENDPOINTS.ping, function(req, res, next) {
5
+ next({});
6
+ });
7
+ }
8
+ //#endregion
9
+ export { ping_default as default };
10
+
11
+ //# sourceMappingURL=ping.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ping.mjs","names":[],"sources":["../src/ping.ts"],"sourcesContent":["import type { Router } from 'express';\n\nimport { PING_API_ENDPOINTS } from '@verdaccio/middleware';\n\nimport type { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\n\nexport default function (route: Router): void {\n route.get(\n PING_API_ENDPOINTS.ping,\n function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next({});\n }\n );\n}\n"],"mappings":";;AAMA,SAAA,aAAyB,OAAqB;AAC5C,OAAM,IACJ,mBAAmB,MACnB,SAAU,KAAqB,KAAsB,MAAwB;AAC3E,OAAK,EAAE,CAAC;GAEX"}
@@ -1,7 +1,7 @@
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
  /**
6
6
  * Publish a package / update package / un/start a package
7
7
  *