@verdaccio/web 8.1.0-next-8.29 → 8.1.0-next-8.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/index.js +19 -15
- package/build/api/index.js.map +1 -1
- package/build/api/package.d.ts +3 -3
- package/build/api/package.js +161 -73
- package/build/api/package.js.map +1 -1
- package/build/api/readme.d.ts +2 -2
- package/build/api/readme.js +68 -50
- package/build/api/readme.js.map +1 -1
- package/build/api/search.d.ts +2 -2
- package/build/api/search.js +71 -45
- package/build/api/search.js.map +1 -1
- package/build/api/sidebar.d.ts +3 -3
- package/build/api/sidebar.js +74 -57
- package/build/api/sidebar.js.map +1 -1
- package/build/api/user.d.ts +3 -3
- package/build/api/user.js +182 -37
- package/build/api/user.js.map +1 -1
- package/build/author-utils.d.ts +1 -1
- package/build/author-utils.js +67 -67
- package/build/author-utils.js.map +1 -1
- package/build/index.js +7 -6
- package/build/index.js.map +1 -1
- package/build/middleware.js +77 -44
- package/build/middleware.js.map +1 -1
- package/build/web-utils.d.ts +1 -1
- package/build/web-utils.js +10 -8
- package/build/web-utils.js.map +1 -1
- package/package.json +13 -13
package/build/api/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports["default"] = void 0;
|
|
7
7
|
var _express = require("express");
|
|
8
8
|
var _middleware = require("@verdaccio/middleware");
|
|
9
9
|
var _webUtils = require("../web-utils");
|
|
@@ -12,24 +12,28 @@ var _readme = _interopRequireDefault(require("./readme"));
|
|
|
12
12
|
var _search = _interopRequireDefault(require("./search"));
|
|
13
13
|
var _sidebar = _interopRequireDefault(require("./sidebar"));
|
|
14
14
|
var _user = _interopRequireDefault(require("./user"));
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
16
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
17
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
20
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
21
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
22
|
+
var _default = exports["default"] = function _default(auth, storage, config) {
|
|
23
|
+
var _config$web;
|
|
24
|
+
var route = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
25
|
+
route.use(_middleware.WebUrlsNamespace.data, (0, _middleware.rateLimit)(_objectSpread({
|
|
19
26
|
windowMs: 2 * 60 * 1000,
|
|
20
27
|
// 2 minutes
|
|
21
|
-
max: 5000
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
route.use(_middleware.WebUrlsNamespace.data, (0,
|
|
26
|
-
route.use(_middleware.WebUrlsNamespace.data, (0,
|
|
27
|
-
route.use(_middleware.WebUrlsNamespace.data, (0, _sidebar.default)(config, storage, auth));
|
|
28
|
-
route.use(_middleware.WebUrlsNamespace.data, (0, _readme.default)(storage, auth));
|
|
28
|
+
max: 5000
|
|
29
|
+
}, config === null || config === void 0 || (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.rateLimit)));
|
|
30
|
+
route.use(_middleware.WebUrlsNamespace.data, (0, _package["default"])(storage, auth, config));
|
|
31
|
+
route.use(_middleware.WebUrlsNamespace.data, (0, _search["default"])(storage, auth));
|
|
32
|
+
route.use(_middleware.WebUrlsNamespace.data, (0, _sidebar["default"])(config, storage, auth));
|
|
33
|
+
route.use(_middleware.WebUrlsNamespace.data, (0, _readme["default"])(storage, auth));
|
|
29
34
|
if ((0, _webUtils.hasLogin)(config)) {
|
|
30
|
-
route.use(_middleware.WebUrlsNamespace.sec, (0, _user
|
|
35
|
+
route.use(_middleware.WebUrlsNamespace.sec, (0, _user["default"])(auth, config, storage));
|
|
31
36
|
}
|
|
32
37
|
return route;
|
|
33
38
|
};
|
|
34
|
-
exports.default = _default;
|
|
35
39
|
//# sourceMappingURL=index.js.map
|
package/build/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_express","require","_middleware","_webUtils","_package","_interopRequireDefault","_readme","_search","_sidebar","_user","e","__esModule","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_express","require","_middleware","_webUtils","_package","_interopRequireDefault","_readme","_search","_sidebar","_user","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","_default","exports","auth","storage","config","_config$web","route","Router","use","WebUrlsNamespace","data","rateLimit","windowMs","max","web","packageApi","search","sidebar","readme","hasLogin","sec","user"],"sources":["../../src/api/index.ts"],"sourcesContent":["import { Router } from 'express';\n\nimport { WebUrlsNamespace, rateLimit } from '@verdaccio/middleware';\n\nimport { hasLogin } from '../web-utils';\nimport packageApi from './package';\nimport readme from './readme';\nimport search from './search';\nimport sidebar from './sidebar';\nimport user from './user';\n\nexport default (auth, storage, config) => {\n const route = Router(); /* eslint new-cap: 0 */\n route.use(\n WebUrlsNamespace.data,\n rateLimit({\n windowMs: 2 * 60 * 1000, // 2 minutes\n max: 5000, // limit each IP to 1000 requests per windowMs\n ...config?.web?.rateLimit,\n })\n );\n route.use(WebUrlsNamespace.data, packageApi(storage, auth, config));\n route.use(WebUrlsNamespace.data, search(storage, auth));\n route.use(WebUrlsNamespace.data, sidebar(config, storage, auth));\n route.use(WebUrlsNamespace.data, readme(storage, auth));\n if (hasLogin(config)) {\n route.use(WebUrlsNamespace.sec, user(auth, config, storage));\n }\n return route;\n};\n"],"mappings":"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","ignoreList":[]}
|
package/build/api/package.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import { Auth } from '@verdaccio/auth';
|
|
2
|
+
import type { Auth } from '@verdaccio/auth';
|
|
3
3
|
import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '@verdaccio/middleware';
|
|
4
|
-
import { Storage } from '@verdaccio/store';
|
|
5
|
-
import { Config } from '@verdaccio/types';
|
|
4
|
+
import type { Storage } from '@verdaccio/store';
|
|
5
|
+
import type { Config } from '@verdaccio/types';
|
|
6
6
|
export { $RequestExtend, $ResponseExtend, $NextFunctionVer };
|
|
7
7
|
declare function addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router;
|
|
8
8
|
export default addPackageWebApi;
|
package/build/api/package.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
Object.defineProperty(exports, "$NextFunctionVer", {
|
|
7
8
|
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
+
get: function get() {
|
|
9
10
|
return _middleware.$NextFunctionVer;
|
|
10
11
|
}
|
|
11
12
|
});
|
|
12
13
|
Object.defineProperty(exports, "$RequestExtend", {
|
|
13
14
|
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
+
get: function get() {
|
|
15
16
|
return _middleware.$RequestExtend;
|
|
16
17
|
}
|
|
17
18
|
});
|
|
18
19
|
Object.defineProperty(exports, "$ResponseExtend", {
|
|
19
20
|
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
+
get: function get() {
|
|
21
22
|
return _middleware.$ResponseExtend;
|
|
22
23
|
}
|
|
23
24
|
});
|
|
24
|
-
exports
|
|
25
|
+
exports["default"] = void 0;
|
|
25
26
|
var _debug = _interopRequireDefault(require("debug"));
|
|
26
27
|
var _express = require("express");
|
|
27
28
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
@@ -31,86 +32,173 @@ var _middleware = require("@verdaccio/middleware");
|
|
|
31
32
|
var _tarball = require("@verdaccio/tarball");
|
|
32
33
|
var _authorUtils = require("../author-utils");
|
|
33
34
|
var _webUtils = require("../web-utils");
|
|
34
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
35
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
36
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
39
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
40
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
41
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
42
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
43
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
44
|
+
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 }; })(); }
|
|
45
|
+
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); }
|
|
46
|
+
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); }
|
|
47
|
+
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); }); }; }
|
|
35
48
|
// Was required by other packages
|
|
36
49
|
|
|
37
|
-
|
|
50
|
+
var getOrder = function getOrder() {
|
|
51
|
+
var order = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'asc';
|
|
38
52
|
return order === 'asc';
|
|
39
53
|
};
|
|
40
|
-
|
|
54
|
+
var debug = (0, _debug["default"])('verdaccio:web:api:package');
|
|
41
55
|
function addPackageWebApi(storage, auth, config) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
56
|
+
var isLoginEnabled = (0, _webUtils.hasLogin)(config);
|
|
57
|
+
debug('is login enabled: %o', isLoginEnabled);
|
|
58
|
+
var pkgRouter = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
59
|
+
var anonymousRemoteUser = (0, _config.createAnonymousRemoteUser)();
|
|
45
60
|
debug('initialized package web api');
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
auth.allow_access({
|
|
51
|
-
packageName: name
|
|
52
|
-
}, remoteUserAccess, (err, allowed) => {
|
|
53
|
-
if (err) {
|
|
54
|
-
resolve(false);
|
|
55
|
-
}
|
|
56
|
-
return resolve(allowed);
|
|
57
|
-
});
|
|
58
|
-
} catch (err) {
|
|
59
|
-
reject(err);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
async function processPackages(packages = [], req) {
|
|
63
|
-
const permissions = [];
|
|
64
|
-
const packagesToProcess = packages.slice();
|
|
65
|
-
debug('process packages %o', packagesToProcess);
|
|
66
|
-
for (const pkg of packagesToProcess) {
|
|
67
|
-
const pkgCopy = {
|
|
68
|
-
...pkg
|
|
69
|
-
};
|
|
70
|
-
pkgCopy.author = (0, _authorUtils.formatAuthor)(pkg.author);
|
|
61
|
+
var checkAllow = function checkAllow(name, remoteUser) {
|
|
62
|
+
return new Promise(function (resolve, reject) {
|
|
63
|
+
var remoteUserAccess = !isLoginEnabled ? anonymousRemoteUser : remoteUser;
|
|
71
64
|
try {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// convert any remote dist to a local reference
|
|
78
|
-
// eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz
|
|
79
|
-
if (!_lodash.default.isNil(pkgCopy.dist) && !_lodash.default.isNull(pkgCopy.dist.tarball)) {
|
|
80
|
-
pkgCopy.dist.tarball = (0, _tarball.getLocalRegistryTarballUri)(pkgCopy.dist.tarball, pkg.name, {
|
|
81
|
-
protocol: req.protocol,
|
|
82
|
-
headers: req.headers,
|
|
83
|
-
host: req.hostname
|
|
84
|
-
}, config?.url_prefix);
|
|
65
|
+
auth.allow_access({
|
|
66
|
+
packageName: name
|
|
67
|
+
}, remoteUserAccess, function (err, allowed) {
|
|
68
|
+
if (err) {
|
|
69
|
+
resolve(false);
|
|
85
70
|
}
|
|
86
|
-
|
|
87
|
-
}
|
|
71
|
+
return resolve(allowed);
|
|
72
|
+
});
|
|
88
73
|
} catch (err) {
|
|
89
|
-
|
|
90
|
-
_logger.logger.error({
|
|
91
|
-
name: pkg.name,
|
|
92
|
-
error: err
|
|
93
|
-
}, 'permission process for @{name} has failed: @{error}');
|
|
94
|
-
throw err;
|
|
74
|
+
reject(err);
|
|
95
75
|
}
|
|
96
|
-
}
|
|
97
|
-
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
function processPackages() {
|
|
79
|
+
return _processPackages.apply(this, arguments);
|
|
80
|
+
} // Get list of all visible package
|
|
81
|
+
function _processPackages() {
|
|
82
|
+
_processPackages = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
|
|
83
|
+
var packages,
|
|
84
|
+
req,
|
|
85
|
+
permissions,
|
|
86
|
+
packagesToProcess,
|
|
87
|
+
requestOptions,
|
|
88
|
+
_iterator,
|
|
89
|
+
_step,
|
|
90
|
+
pkg,
|
|
91
|
+
pkgCopy,
|
|
92
|
+
_args2 = arguments,
|
|
93
|
+
_t2,
|
|
94
|
+
_t3;
|
|
95
|
+
return _regenerator().w(function (_context2) {
|
|
96
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
97
|
+
case 0:
|
|
98
|
+
packages = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : [];
|
|
99
|
+
req = _args2.length > 1 ? _args2[1] : undefined;
|
|
100
|
+
permissions = [];
|
|
101
|
+
packagesToProcess = packages.slice();
|
|
102
|
+
debug('process packages %o', packagesToProcess);
|
|
103
|
+
requestOptions = (0, _middleware.getRequestOptions)(req);
|
|
104
|
+
_iterator = _createForOfIteratorHelper(packagesToProcess);
|
|
105
|
+
_context2.p = 1;
|
|
106
|
+
_iterator.s();
|
|
107
|
+
case 2:
|
|
108
|
+
if ((_step = _iterator.n()).done) {
|
|
109
|
+
_context2.n = 8;
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
pkg = _step.value;
|
|
113
|
+
pkgCopy = _objectSpread({}, pkg);
|
|
114
|
+
pkgCopy.author = (0, _authorUtils.formatAuthor)(pkg.author);
|
|
115
|
+
_context2.p = 3;
|
|
116
|
+
_context2.n = 4;
|
|
117
|
+
return checkAllow(pkg.name, req.remote_user);
|
|
118
|
+
case 4:
|
|
119
|
+
if (!_context2.v) {
|
|
120
|
+
_context2.n = 5;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
if (config.web) {
|
|
124
|
+
// @ts-ignore
|
|
125
|
+
pkgCopy.author.avatar = (0, _authorUtils.generateGravatarUrl)(pkgCopy.author.email, config.web.gravatar);
|
|
126
|
+
}
|
|
127
|
+
// convert any remote dist to a local reference
|
|
128
|
+
// eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz
|
|
129
|
+
if (!_lodash["default"].isNil(pkgCopy.dist) && !_lodash["default"].isNull(pkgCopy.dist.tarball)) {
|
|
130
|
+
pkgCopy.dist.tarball = (0, _tarball.getLocalRegistryTarballUri)(pkgCopy.dist.tarball, pkg.name, requestOptions, config === null || config === void 0 ? void 0 : config.url_prefix);
|
|
131
|
+
}
|
|
132
|
+
permissions.push(pkgCopy);
|
|
133
|
+
case 5:
|
|
134
|
+
_context2.n = 7;
|
|
135
|
+
break;
|
|
136
|
+
case 6:
|
|
137
|
+
_context2.p = 6;
|
|
138
|
+
_t2 = _context2.v;
|
|
139
|
+
debug('process packages error %o', _t2);
|
|
140
|
+
_logger.logger.error({
|
|
141
|
+
name: pkg.name,
|
|
142
|
+
error: _t2
|
|
143
|
+
}, 'permission process for @{name} has failed: @{error}');
|
|
144
|
+
throw _t2;
|
|
145
|
+
case 7:
|
|
146
|
+
_context2.n = 2;
|
|
147
|
+
break;
|
|
148
|
+
case 8:
|
|
149
|
+
_context2.n = 10;
|
|
150
|
+
break;
|
|
151
|
+
case 9:
|
|
152
|
+
_context2.p = 9;
|
|
153
|
+
_t3 = _context2.v;
|
|
154
|
+
_iterator.e(_t3);
|
|
155
|
+
case 10:
|
|
156
|
+
_context2.p = 10;
|
|
157
|
+
_iterator.f();
|
|
158
|
+
return _context2.f(10);
|
|
159
|
+
case 11:
|
|
160
|
+
debug('allowed %o packages', permissions.length);
|
|
161
|
+
return _context2.a(2, permissions);
|
|
162
|
+
}
|
|
163
|
+
}, _callee2, null, [[3, 6], [1, 9, 10, 11]]);
|
|
164
|
+
}));
|
|
165
|
+
return _processPackages.apply(this, arguments);
|
|
98
166
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
167
|
+
pkgRouter.get(_middleware.WebUrls.packages_all, /*#__PURE__*/function () {
|
|
168
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(req, res, next) {
|
|
169
|
+
var _config$web, localPackages, order, pkgs, _t;
|
|
170
|
+
return _regenerator().w(function (_context) {
|
|
171
|
+
while (1) switch (_context.p = _context.n) {
|
|
172
|
+
case 0:
|
|
173
|
+
debug('hit package web api %o');
|
|
174
|
+
_context.p = 1;
|
|
175
|
+
_context.n = 2;
|
|
176
|
+
return storage.getLocalDatabase();
|
|
177
|
+
case 2:
|
|
178
|
+
localPackages = _context.v;
|
|
179
|
+
order = getOrder(config === null || config === void 0 || (_config$web = config.web) === null || _config$web === void 0 ? void 0 : _config$web.sort_packages);
|
|
180
|
+
debug('order %o', order);
|
|
181
|
+
_context.n = 3;
|
|
182
|
+
return processPackages(localPackages, req);
|
|
183
|
+
case 3:
|
|
184
|
+
pkgs = _context.v;
|
|
185
|
+
next((0, _webUtils.sortByName)(pkgs, order));
|
|
186
|
+
_context.n = 5;
|
|
187
|
+
break;
|
|
188
|
+
case 4:
|
|
189
|
+
_context.p = 4;
|
|
190
|
+
_t = _context.v;
|
|
191
|
+
next(_t);
|
|
192
|
+
case 5:
|
|
193
|
+
return _context.a(2);
|
|
194
|
+
}
|
|
195
|
+
}, _callee, null, [[1, 4]]);
|
|
196
|
+
}));
|
|
197
|
+
return function (_x, _x2, _x3) {
|
|
198
|
+
return _ref.apply(this, arguments);
|
|
199
|
+
};
|
|
200
|
+
}());
|
|
113
201
|
return pkgRouter;
|
|
114
202
|
}
|
|
115
|
-
var _default = exports
|
|
203
|
+
var _default = exports["default"] = addPackageWebApi;
|
|
116
204
|
//# sourceMappingURL=package.js.map
|
package/build/api/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_config","_logger","_middleware","_tarball","_authorUtils","_webUtils","e","__esModule","default","getOrder","order","debug","buildDebug","addPackageWebApi","storage","auth","config","isLoginEnabled","hasLogin","pkgRouter","Router","anonymousRemoteUser","createAnonymousRemoteUser","checkAllow","name","remoteUser","Promise","resolve","reject","remoteUserAccess","allow_access","packageName","err","allowed","processPackages","packages","req","permissions","packagesToProcess","slice","pkg","pkgCopy","author","formatAuthor","remote_user","web","avatar","generateGravatarUrl","email","gravatar","_","isNil","dist","isNull","tarball","getLocalRegistryTarballUri","protocol","headers","host","hostname","url_prefix","push","logger","error","get","WebUrls","packages_all","res","next","localPackages","getLocalDatabase","sort_packages","pkgs","sortByName","_default","exports"],"sources":["../../src/api/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\n\nimport { Auth } from '@verdaccio/auth';\nimport { createAnonymousRemoteUser } from '@verdaccio/config';\nimport { logger } from '@verdaccio/logger';\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '@verdaccio/middleware';\nimport { WebUrls } from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { getLocalRegistryTarballUri } from '@verdaccio/tarball';\nimport { Config, RemoteUser, Version } from '@verdaccio/types';\n\nimport { formatAuthor, generateGravatarUrl } from '../author-utils';\nimport { hasLogin, sortByName } from '../web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nconst getOrder = (order = 'asc') => {\n return order === 'asc';\n};\n\nconst debug = buildDebug('verdaccio:web:api:package');\n\nfunction addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router {\n const isLoginEnabled = hasLogin(config);\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n const anonymousRemoteUser: RemoteUser = createAnonymousRemoteUser();\n\n debug('initialized package web api');\n const checkAllow = (name: string, remoteUser: RemoteUser): Promise<boolean> =>\n new Promise((resolve, reject): void => {\n debug('is login enabled: %o', isLoginEnabled);\n const remoteUserAccess = !isLoginEnabled ? anonymousRemoteUser : remoteUser;\n try {\n auth.allow_access({ packageName: name }, remoteUserAccess, (err, allowed): void => {\n if (err) {\n resolve(false);\n }\n return resolve(allowed as boolean);\n });\n } catch (err: any) {\n reject(err);\n }\n });\n\n async function processPackages(packages: Version[] = [], req): Promise<Version[]> {\n const permissions: Version[] = [];\n const packagesToProcess = packages.slice();\n debug('process packages %o', packagesToProcess);\n for (const pkg of packagesToProcess) {\n const pkgCopy = { ...pkg };\n pkgCopy.author = formatAuthor(pkg.author);\n try {\n if (await checkAllow(pkg.name, req.remote_user)) {\n if (config.web) {\n // @ts-ignore\n pkgCopy.author.avatar = generateGravatarUrl(pkgCopy.author.email, config.web.gravatar);\n }\n // convert any remote dist to a local reference\n // eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz\n if (!_.isNil(pkgCopy.dist) && !_.isNull(pkgCopy.dist.tarball)) {\n pkgCopy.dist.tarball = getLocalRegistryTarballUri(\n pkgCopy.dist.tarball,\n pkg.name,\n { protocol: req.protocol, headers: req.headers as any, host: req.hostname },\n config?.url_prefix\n );\n }\n permissions.push(pkgCopy);\n }\n } catch (err: any) {\n debug('process packages error %o', err);\n logger.error(\n { name: pkg.name, error: err },\n 'permission process for @{name} has failed: @{error}'\n );\n throw err;\n }\n }\n\n return permissions;\n }\n\n // Get list of all visible package\n pkgRouter.get(\n WebUrls.packages_all,\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('hit package web api %o');\n\n try {\n const localPackages: Version[] = await storage.getLocalDatabase();\n\n const order = getOrder(config?.web?.sort_packages);\n debug('order %o', order);\n const pkgs = await processPackages(localPackages, req);\n next(sortByName(pkgs, order));\n } catch (error: any) {\n next(error);\n }\n }\n );\n\n return pkgRouter;\n}\n\nexport default addPackageWebApi;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"package.js","names":["_debug","_interopRequireDefault","require","_express","_lodash","_config","_logger","_middleware","_tarball","_authorUtils","_webUtils","e","__esModule","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_createForOfIteratorHelper","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","n","done","f","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_regenerator","toStringTag","c","prototype","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","l","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","_regeneratorDefine","_invoke","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","getOrder","order","undefined","debug","buildDebug","addPackageWebApi","storage","auth","config","isLoginEnabled","hasLogin","pkgRouter","Router","anonymousRemoteUser","createAnonymousRemoteUser","checkAllow","remoteUser","reject","remoteUserAccess","allow_access","packageName","err","allowed","processPackages","_processPackages","_callee2","packages","req","permissions","packagesToProcess","requestOptions","_iterator","_step","pkg","pkgCopy","_args2","_t2","_t3","_context2","getRequestOptions","author","formatAuthor","remote_user","web","avatar","generateGravatarUrl","email","gravatar","_","isNil","dist","isNull","tarball","getLocalRegistryTarballUri","url_prefix","logger","error","get","WebUrls","packages_all","_ref","_callee","res","_config$web","localPackages","pkgs","_t","_context","getLocalDatabase","sort_packages","sortByName","_x","_x2","_x3","_default","exports"],"sources":["../../src/api/package.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport { Router } from 'express';\nimport _ from 'lodash';\n\nimport type { Auth } from '@verdaccio/auth';\nimport { createAnonymousRemoteUser } from '@verdaccio/config';\nimport { logger } from '@verdaccio/logger';\nimport {\n $NextFunctionVer,\n $RequestExtend,\n $ResponseExtend,\n WebUrls,\n getRequestOptions,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport { getLocalRegistryTarballUri } from '@verdaccio/tarball';\nimport type { Config, RemoteUser, Version } from '@verdaccio/types';\n\nimport { formatAuthor, generateGravatarUrl } from '../author-utils';\nimport { hasLogin, sortByName } from '../web-utils';\n\nexport { $RequestExtend, $ResponseExtend, $NextFunctionVer }; // Was required by other packages\n\nconst getOrder = (order = 'asc') => {\n return order === 'asc';\n};\n\nconst debug = buildDebug('verdaccio:web:api:package');\n\nfunction addPackageWebApi(storage: Storage, auth: Auth, config: Config): Router {\n const isLoginEnabled = hasLogin(config);\n debug('is login enabled: %o', isLoginEnabled);\n const pkgRouter = Router(); /* eslint new-cap: 0 */\n const anonymousRemoteUser: RemoteUser = createAnonymousRemoteUser();\n\n debug('initialized package web api');\n const checkAllow = (name: string, remoteUser: RemoteUser): Promise<boolean> =>\n new Promise((resolve, reject): void => {\n const remoteUserAccess = !isLoginEnabled ? anonymousRemoteUser : remoteUser;\n try {\n auth.allow_access({ packageName: name }, remoteUserAccess, (err, allowed): void => {\n if (err) {\n resolve(false);\n }\n return resolve(allowed as boolean);\n });\n } catch (err: any) {\n reject(err);\n }\n });\n\n async function processPackages(packages: Version[] = [], req): Promise<Version[]> {\n const permissions: Version[] = [];\n const packagesToProcess = packages.slice();\n debug('process packages %o', packagesToProcess);\n const requestOptions = getRequestOptions(req);\n for (const pkg of packagesToProcess) {\n const pkgCopy = { ...pkg };\n pkgCopy.author = formatAuthor(pkg.author);\n try {\n if (await checkAllow(pkg.name, req.remote_user)) {\n if (config.web) {\n // @ts-ignore\n pkgCopy.author.avatar = generateGravatarUrl(pkgCopy.author.email, config.web.gravatar);\n }\n // convert any remote dist to a local reference\n // eg: if the dist points to npmjs, switch to localhost:4873/prefix/etc.tar.gz\n if (!_.isNil(pkgCopy.dist) && !_.isNull(pkgCopy.dist.tarball)) {\n pkgCopy.dist.tarball = getLocalRegistryTarballUri(\n pkgCopy.dist.tarball,\n pkg.name,\n requestOptions,\n config?.url_prefix\n );\n }\n permissions.push(pkgCopy);\n }\n } catch (err: any) {\n debug('process packages error %o', err);\n logger.error(\n { name: pkg.name, error: err },\n 'permission process for @{name} has failed: @{error}'\n );\n throw err;\n }\n }\n\n debug('allowed %o packages', permissions.length);\n return permissions;\n }\n\n // Get list of all visible package\n pkgRouter.get(\n WebUrls.packages_all,\n async function (\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n ): Promise<void> {\n debug('hit package web api %o');\n\n try {\n const localPackages: Version[] = await storage.getLocalDatabase();\n\n const order = getOrder(config?.web?.sort_packages);\n debug('order %o', order);\n const pkgs = await processPackages(localPackages, req);\n next(sortByName(pkgs, order));\n } catch (error: any) {\n next(error);\n }\n }\n );\n\n return pkgRouter;\n}\n\nexport default addPackageWebApi;\n"],"mappings":"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","ignoreList":[]}
|
package/build/api/readme.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import { Auth } from '@verdaccio/auth';
|
|
2
|
+
import type { Auth } from '@verdaccio/auth';
|
|
3
3
|
import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '@verdaccio/middleware';
|
|
4
|
-
import { Storage } from '@verdaccio/store';
|
|
4
|
+
import type { Storage } from '@verdaccio/store';
|
|
5
5
|
export { $RequestExtend, $ResponseExtend, $NextFunctionVer };
|
|
6
6
|
export declare const NOT_README_FOUND = "ERROR: No README data found!";
|
|
7
7
|
declare function addReadmeWebApi(storage: Storage, auth: Auth): Router;
|
package/build/api/readme.js
CHANGED
|
@@ -5,37 +5,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
Object.defineProperty(exports, "$NextFunctionVer", {
|
|
7
7
|
enumerable: true,
|
|
8
|
-
get: function () {
|
|
8
|
+
get: function get() {
|
|
9
9
|
return _middleware.$NextFunctionVer;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "$RequestExtend", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () {
|
|
14
|
+
get: function get() {
|
|
15
15
|
return _middleware.$RequestExtend;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "$ResponseExtend", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () {
|
|
20
|
+
get: function get() {
|
|
21
21
|
return _middleware.$ResponseExtend;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
exports
|
|
24
|
+
exports["default"] = exports.NOT_README_FOUND = void 0;
|
|
25
25
|
var _debug = _interopRequireDefault(require("debug"));
|
|
26
26
|
var _express = require("express");
|
|
27
27
|
var _core = require("@verdaccio/core");
|
|
28
28
|
var _logger = require("@verdaccio/logger");
|
|
29
29
|
var _middleware = require("@verdaccio/middleware");
|
|
30
30
|
var _webUtils = require("../web-utils");
|
|
31
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
31
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
32
|
+
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 }; })(); }
|
|
33
|
+
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); }
|
|
34
|
+
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); }
|
|
35
|
+
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); }); }; }
|
|
32
36
|
// Was required by other packages
|
|
33
37
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const debug = (0, _debug.default)('verdaccio:web:api:readme');
|
|
38
|
-
const getReadme = readme => {
|
|
38
|
+
var NOT_README_FOUND = exports.NOT_README_FOUND = 'ERROR: No README data found!';
|
|
39
|
+
var debug = (0, _debug["default"])('verdaccio:web:api:readme');
|
|
40
|
+
var getReadme = function getReadme(readme) {
|
|
39
41
|
if (typeof readme === 'string' && readme.length === 0) {
|
|
40
42
|
return NOT_README_FOUND;
|
|
41
43
|
}
|
|
@@ -45,14 +47,15 @@ const getReadme = readme => {
|
|
|
45
47
|
return readme;
|
|
46
48
|
}
|
|
47
49
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
var getReadmeFromManifest = function getReadmeFromManifest(manifest, v) {
|
|
51
|
+
var _manifest$DIST_TAGS;
|
|
52
|
+
var id;
|
|
53
|
+
var readme;
|
|
51
54
|
if (typeof v === 'string' && (0, _webUtils.isVersionValid)(manifest, v)) {
|
|
52
55
|
id = 'version';
|
|
53
56
|
readme = manifest.versions[v].readme;
|
|
54
57
|
}
|
|
55
|
-
if (!readme && (0, _webUtils.isVersionValid)(manifest, manifest[_core.DIST_TAGS]
|
|
58
|
+
if (!readme && (0, _webUtils.isVersionValid)(manifest, (_manifest$DIST_TAGS = manifest[_core.DIST_TAGS]) === null || _manifest$DIST_TAGS === void 0 ? void 0 : _manifest$DIST_TAGS.latest)) {
|
|
56
59
|
id = 'latest';
|
|
57
60
|
readme = manifest.versions[manifest[_core.DIST_TAGS].latest].readme;
|
|
58
61
|
}
|
|
@@ -65,45 +68,60 @@ const getReadmeFromManifest = (manifest, v) => {
|
|
|
65
68
|
};
|
|
66
69
|
function addReadmeWebApi(storage, auth) {
|
|
67
70
|
debug('initialized readme web api');
|
|
68
|
-
|
|
69
|
-
beforeAll: (a, b)
|
|
70
|
-
|
|
71
|
+
var can = (0, _middleware.allow)(auth, {
|
|
72
|
+
beforeAll: function beforeAll(a, b) {
|
|
73
|
+
return _logger.logger.trace(a, b);
|
|
74
|
+
},
|
|
75
|
+
afterAll: function afterAll(a, b) {
|
|
76
|
+
return _logger.logger.trace(a, b);
|
|
77
|
+
}
|
|
71
78
|
});
|
|
72
|
-
|
|
79
|
+
var pkgRouter = (0, _express.Router)(); /* eslint new-cap: 0 */
|
|
73
80
|
|
|
74
|
-
pkgRouter.get([_middleware.WebUrls.readme_package_scoped_version, _middleware.WebUrls.readme_package_version], can('access'),
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
pkgRouter.get([_middleware.WebUrls.readme_package_scoped_version, _middleware.WebUrls.readme_package_version], can('access'), /*#__PURE__*/function () {
|
|
82
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(req, res, next) {
|
|
83
|
+
var rawScope, scope, name, requestOptions, manifest, v, readme, _t;
|
|
84
|
+
return _regenerator().w(function (_context) {
|
|
85
|
+
while (1) switch (_context.p = _context.n) {
|
|
86
|
+
case 0:
|
|
87
|
+
debug('readme hit');
|
|
88
|
+
rawScope = req.params.scope; // May include '@'
|
|
89
|
+
scope = rawScope ? rawScope.slice(1) : null; // Remove '@' if present
|
|
90
|
+
name = scope ? (0, _webUtils.addScope)(scope, req.params["package"]) : req.params["package"];
|
|
91
|
+
debug('readme name %o', name);
|
|
92
|
+
requestOptions = (0, _middleware.getRequestOptions)(req);
|
|
93
|
+
_context.p = 1;
|
|
94
|
+
_context.n = 2;
|
|
95
|
+
return storage.getPackageByOptions({
|
|
96
|
+
name: name,
|
|
97
|
+
uplinksLook: true,
|
|
98
|
+
abbreviated: false,
|
|
99
|
+
requestOptions: requestOptions
|
|
100
|
+
});
|
|
101
|
+
case 2:
|
|
102
|
+
manifest = _context.v;
|
|
103
|
+
debug('readme pkg %o', manifest === null || manifest === void 0 ? void 0 : manifest.name);
|
|
104
|
+
res.set(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.TEXT_PLAIN_UTF8);
|
|
105
|
+
// TODO: sanitize query
|
|
106
|
+
v = req.query.v;
|
|
107
|
+
readme = getReadmeFromManifest(manifest, v);
|
|
108
|
+
next(getReadme(readme));
|
|
109
|
+
_context.n = 4;
|
|
110
|
+
break;
|
|
111
|
+
case 3:
|
|
112
|
+
_context.p = 3;
|
|
113
|
+
_t = _context.v;
|
|
114
|
+
next(_t);
|
|
115
|
+
case 4:
|
|
116
|
+
return _context.a(2);
|
|
117
|
+
}
|
|
118
|
+
}, _callee, null, [[1, 3]]);
|
|
119
|
+
}));
|
|
120
|
+
return function (_x, _x2, _x3) {
|
|
121
|
+
return _ref.apply(this, arguments);
|
|
86
122
|
};
|
|
87
|
-
|
|
88
|
-
const manifest = await storage.getPackageByOptions({
|
|
89
|
-
name,
|
|
90
|
-
uplinksLook: true,
|
|
91
|
-
abbreviated: false,
|
|
92
|
-
requestOptions
|
|
93
|
-
});
|
|
94
|
-
debug('readme pkg %o', manifest?.name);
|
|
95
|
-
res.set(_core.HEADER_TYPE.CONTENT_TYPE, _core.HEADERS.TEXT_PLAIN_UTF8);
|
|
96
|
-
// TODO: sanitize query
|
|
97
|
-
const {
|
|
98
|
-
v
|
|
99
|
-
} = req.query;
|
|
100
|
-
const readme = getReadmeFromManifest(manifest, v);
|
|
101
|
-
next(getReadme(readme));
|
|
102
|
-
} catch (err) {
|
|
103
|
-
next(err);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
123
|
+
}());
|
|
106
124
|
return pkgRouter;
|
|
107
125
|
}
|
|
108
|
-
var _default = exports
|
|
126
|
+
var _default = exports["default"] = addReadmeWebApi;
|
|
109
127
|
//# sourceMappingURL=readme.js.map
|