verdaccio 5.15.1 → 5.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.15.2](https://github.com/verdaccio/verdaccio/compare/v5.15.1...v5.15.2) (2022-09-05)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * get header by quality priority value ([#3359](https://github.com/verdaccio/verdaccio/issues/3359)) ([cdb80aa](https://github.com/verdaccio/verdaccio/commit/cdb80aac20b98855638ac9c8eeca700076b2c519))
11
+
5
12
  ### [5.15.1](https://github.com/verdaccio/verdaccio/compare/v5.15.0...v5.15.1) (2022-09-04)
6
13
 
7
14
 
@@ -11,12 +11,12 @@ var _constants = require("../../../lib/constants");
11
11
 
12
12
  var _utils = require("../../../lib/utils");
13
13
 
14
+ var _string = require("../../../utils/string");
15
+
14
16
  var _middleware = require("../../middleware");
15
17
 
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
- const ABBREVIATED_HEADER = 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*';
19
-
20
20
  const downloadStream = (packageName, filename, storage, req, res) => {
21
21
  const stream = storage.getTarball(packageName, filename);
22
22
  stream.on('content-length', function (content) {
@@ -52,6 +52,8 @@ function _default(route, auth, storage, config) {
52
52
  const can = (0, _middleware.allow)(auth); // TODO: anonymous user?
53
53
 
54
54
  route.get('/:package/:version?', can('access'), function (req, res, next) {
55
+ const abbreviated = (0, _string.getByQualityPriorityValue)(req.get('Accept')) === 'application/vnd.npm.install-v1+json';
56
+
55
57
  const getPackageMetaCallback = function (err, metadata) {
56
58
  if (err) {
57
59
  return next(err);
@@ -61,12 +63,19 @@ function _default(route, auth, storage, config) {
61
63
  let queryVersion = req.params.version;
62
64
 
63
65
  if (_lodash.default.isNil(queryVersion)) {
66
+ if (abbreviated) {
67
+ res.setHeader(_constants.HEADERS.CONTENT_TYPE, 'application/vnd.npm.install-v1+json');
68
+ } else {
69
+ res.setHeader(_constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.JSON);
70
+ }
71
+
64
72
  return next(metadata);
65
73
  }
66
74
 
67
75
  let version = (0, _utils.getVersion)(metadata, queryVersion);
68
76
 
69
77
  if (_lodash.default.isNil(version) === false) {
78
+ res.setHeader(_constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.JSON);
70
79
  return next(version);
71
80
  }
72
81
 
@@ -76,6 +85,7 @@ function _default(route, auth, storage, config) {
76
85
  version = (0, _utils.getVersion)(metadata, queryVersion);
77
86
 
78
87
  if (_lodash.default.isNil(version) === false) {
88
+ res.setHeader(_constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.JSON);
79
89
  return next(version);
80
90
  }
81
91
  }
@@ -84,7 +94,6 @@ function _default(route, auth, storage, config) {
84
94
  return next(_utils.ErrorCode.getNotFound(`${_constants.API_ERROR.VERSION_NOT_EXIST}: ${req.params.version}`));
85
95
  };
86
96
 
87
- const abbreviated = req.get('Accept') === ABBREVIATED_HEADER;
88
97
  storage.getPackage({
89
98
  name: req.params.package,
90
99
  uplinksLook: true,
@@ -113,4 +122,4 @@ function _default(route, auth, storage, config) {
113
122
  }
114
123
  });
115
124
  }
116
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBQkJSRVZJQVRFRF9IRUFERVIiLCJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsInJvdXRlIiwiYXV0aCIsImNhbiIsImFsbG93IiwibmV4dCIsImdldFBhY2thZ2VNZXRhQ2FsbGJhY2siLCJtZXRhZGF0YSIsImNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIiwidXJsX3ByZWZpeCIsInF1ZXJ5VmVyc2lvbiIsInBhcmFtcyIsInZlcnNpb24iLCJpc05pbCIsImdldFZlcnNpb24iLCJESVNUX1RBR1MiLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIlZFUlNJT05fTk9UX0VYSVNUIiwiYWJicmV2aWF0ZWQiLCJnZXRQYWNrYWdlIiwibmFtZSIsInBhY2thZ2UiLCJ1cGxpbmtzTG9vayIsImNhbGxiYWNrIiwic2NvcGVkUGFja2FnZSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3BhY2thZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDb25maWcsIFBhY2thZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCwgSUF1dGgsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgRElTVF9UQUdTLCBIRUFERVJTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUsIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLCBnZXRWZXJzaW9uIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnLi4vLi4vbWlkZGxld2FyZSc7XG5cbmNvbnN0IEFCQlJFVklBVEVEX0hFQURFUiA9ICdhcHBsaWNhdGlvbi92bmQubnBtLmluc3RhbGwtdjEranNvbjsgcT0xLjAsIGFwcGxpY2F0aW9uL2pzb247IHE9MC44LCAqLyonO1xuY29uc3QgZG93bmxvYWRTdHJlYW0gPSAocGFja2FnZU5hbWU6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZywgc3RvcmFnZTogYW55LCByZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCk6IHZvaWQgPT4ge1xuICBjb25zdCBzdHJlYW0gPSBzdG9yYWdlLmdldFRhcmJhbGwocGFja2FnZU5hbWUsIGZpbGVuYW1lKTtcblxuICBzdHJlYW0ub24oJ2NvbnRlbnQtbGVuZ3RoJywgZnVuY3Rpb24gKGNvbnRlbnQpOiB2b2lkIHtcbiAgICByZXMuaGVhZGVyKCdDb250ZW50LUxlbmd0aCcsIGNvbnRlbnQpO1xuICB9KTtcblxuICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycik6IHZvaWQge1xuICAgIHJldHVybiByZXMubG9jYWxzLnJlcG9ydF9lcnJvcihlcnIpO1xuICB9KTtcblxuICByZXMuaGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCBIRUFERVJTLk9DVEVUX1NUUkVBTSk7XG4gIHN0cmVhbS5waXBlKHJlcyk7XG59O1xuXG5jb25zdCByZWRpcmVjdE9yRG93bmxvYWRTdHJlYW0gPSAocGFja2FnZU5hbWU6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZywgc3RvcmFnZTogYW55LCByZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgY29uZmlnOiBDb25maWcpOiB2b2lkID0+IHtcbiAgY29uc3QgdGFyYmFsbFVybFJlZGlyZWN0ID0gXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKTtcbiAgc3RvcmFnZVxuICAgIC5oYXNMb2NhbFRhcmJhbGwocGFja2FnZU5hbWUsIGZpbGVuYW1lKVxuICAgIC50aGVuKChoYXNMb2NhbFRhcmJhbGwpID0+IHtcbiAgICAgIGlmIChoYXNMb2NhbFRhcmJhbGwpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHsgcGFja2FnZU5hbWUsIGZpbGVuYW1lIH07XG4gICAgICAgIGNvbnN0IHRhcmJhbGxVcmwgPSB0eXBlb2YgdGFyYmFsbFVybFJlZGlyZWN0ID09PSAnZnVuY3Rpb24nID8gdGFyYmFsbFVybFJlZGlyZWN0KGNvbnRleHQpIDogXy50ZW1wbGF0ZSh0YXJiYWxsVXJsUmVkaXJlY3QpKGNvbnRleHQpO1xuICAgICAgICByZXMucmVkaXJlY3QodGFyYmFsbFVybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICByZXMubG9jYWxzLnJlcG9ydF9lcnJvcihlcnIpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IElBdXRoLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IGNhbiA9IGFsbG93KGF1dGgpO1xuICAvLyBUT0RPOiBhbm9ueW1vdXMgdXNlcj9cbiAgcm91dGUuZ2V0KCcvOnBhY2thZ2UvOnZlcnNpb24/JywgY2FuKCdhY2Nlc3MnKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgZ2V0UGFja2FnZU1ldGFDYWxsYmFjayA9IGZ1bmN0aW9uIChlcnIsIG1ldGFkYXRhOiBQYWNrYWdlKTogdm9pZCB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICBtZXRhZGF0YSA9IGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzKG1ldGFkYXRhLCByZXEsIGNvbmZpZy51cmxfcHJlZml4KTtcblxuICAgICAgbGV0IHF1ZXJ5VmVyc2lvbiA9IHJlcS5wYXJhbXMudmVyc2lvbjtcbiAgICAgIGlmIChfLmlzTmlsKHF1ZXJ5VmVyc2lvbikpIHtcbiAgICAgICAgcmV0dXJuIG5leHQobWV0YWRhdGEpO1xuICAgICAgfVxuXG4gICAgICBsZXQgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICBpZiAoXy5pc05pbCh2ZXJzaW9uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzTmlsKG1ldGFkYXRhW0RJU1RfVEFHU10pID09PSBmYWxzZSkge1xuICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdW3F1ZXJ5VmVyc2lvbl0pID09PSBmYWxzZSkge1xuICAgICAgICAgIHF1ZXJ5VmVyc2lvbiA9IG1ldGFkYXRhW0RJU1RfVEFHU11bcXVlcnlWZXJzaW9uXTtcbiAgICAgICAgICB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtZXRhZGF0YSwgcXVlcnlWZXJzaW9uKTtcbiAgICAgICAgICBpZiAoXy5pc05pbCh2ZXJzaW9uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KHZlcnNpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKGAke0FQSV9FUlJPUi5WRVJTSU9OX05PVF9FWElTVH06ICR7cmVxLnBhcmFtcy52ZXJzaW9ufWApKTtcbiAgICB9O1xuICAgIGNvbnN0IGFiYnJldmlhdGVkID0gcmVxLmdldCgnQWNjZXB0JykgPT09IEFCQlJFVklBVEVEX0hFQURFUjtcbiAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgbmFtZTogcmVxLnBhcmFtcy5wYWNrYWdlLFxuICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICByZXEsXG4gICAgICBhYmJyZXZpYXRlZCxcbiAgICAgIGNhbGxiYWNrOiBnZXRQYWNrYWdlTWV0YUNhbGxiYWNrLFxuICAgIH0pO1xuICB9KTtcblxuICByb3V0ZS5nZXQoJy86c2NvcGVkUGFja2FnZS8tLzpzY29wZS86ZmlsZW5hbWUnLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQpOiB2b2lkIHtcbiAgICBjb25zdCB7IHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgIGlmIChfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvd25sb2FkU3RyZWFtKHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZGlyZWN0T3JEb3dubG9hZFN0cmVhbShzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMsIGNvbmZpZyk7XG4gICAgfVxuICB9KTtcblxuICByb3V0ZS5nZXQoJy86cGFja2FnZS8tLzpmaWxlbmFtZScsIGNhbignYWNjZXNzJyksIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCk6IHZvaWQge1xuICAgIGlmIChfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvd25sb2FkU3RyZWFtKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLnBhcmFtcy5maWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWRpcmVjdE9yRG93bmxvYWRTdHJlYW0ocmVxLnBhcmFtcy5wYWNrYWdlLCByZXEucGFyYW1zLmZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcywgY29uZmlnKTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxNQUFNQSxrQkFBa0IsR0FBRywwRUFBM0I7O0FBQ0EsTUFBTUMsY0FBYyxHQUFHLENBQUNDLFdBQUQsRUFBc0JDLFFBQXRCLEVBQXdDQyxPQUF4QyxFQUFzREMsR0FBdEQsRUFBMkVDLEdBQTNFLEtBQTBHO0VBQy9ILE1BQU1DLE1BQU0sR0FBR0gsT0FBTyxDQUFDSSxVQUFSLENBQW1CTixXQUFuQixFQUFnQ0MsUUFBaEMsQ0FBZjtFQUVBSSxNQUFNLENBQUNFLEVBQVAsQ0FBVSxnQkFBVixFQUE0QixVQUFVQyxPQUFWLEVBQXlCO0lBQ25ESixHQUFHLENBQUNLLE1BQUosQ0FBVyxnQkFBWCxFQUE2QkQsT0FBN0I7RUFDRCxDQUZEO0VBSUFILE1BQU0sQ0FBQ0UsRUFBUCxDQUFVLE9BQVYsRUFBbUIsVUFBVUcsR0FBVixFQUFxQjtJQUN0QyxPQUFPTixHQUFHLENBQUNPLE1BQUosQ0FBV0MsWUFBWCxDQUF3QkYsR0FBeEIsQ0FBUDtFQUNELENB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
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsInJvdXRlIiwiYXV0aCIsImNhbiIsImFsbG93IiwibmV4dCIsImFiYnJldmlhdGVkIiwiZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZSIsImdldFBhY2thZ2VNZXRhQ2FsbGJhY2siLCJtZXRhZGF0YSIsImNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIiwidXJsX3ByZWZpeCIsInF1ZXJ5VmVyc2lvbiIsInBhcmFtcyIsInZlcnNpb24iLCJpc05pbCIsInNldEhlYWRlciIsIkpTT04iLCJnZXRWZXJzaW9uIiwiRElTVF9UQUdTIiwiRXJyb3JDb2RlIiwiZ2V0Tm90Rm91bmQiLCJBUElfRVJST1IiLCJWRVJTSU9OX05PVF9FWElTVCIsImdldFBhY2thZ2UiLCJuYW1lIiwicGFja2FnZSIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJzY29wZWRQYWNrYWdlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBESVNUX1RBR1MsIEhFQURFUlMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yQ29kZSwgY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMsIGdldFZlcnNpb24gfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3N0cmluZyc7XG5pbXBvcnQgeyBhbGxvdyB9IGZyb20gJy4uLy4uL21pZGRsZXdhcmUnO1xuXG5jb25zdCBkb3dubG9hZFN0cmVhbSA9IChwYWNrYWdlTmFtZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBzdG9yYWdlOiBhbnksIHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCA9PiB7XG4gIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuZ2V0VGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuXG4gIHN0cmVhbS5vbignY29udGVudC1sZW5ndGgnLCBmdW5jdGlvbiAoY29udGVudCk6IHZvaWQge1xuICAgIHJlcy5oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgY29udGVudCk7XG4gIH0pO1xuXG4gIHN0cmVhbS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKTogdm9pZCB7XG4gICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gIH0pO1xuXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuT0NURVRfU1RSRUFNKTtcbiAgc3RyZWFtLnBpcGUocmVzKTtcbn07XG5cbmNvbnN0IHJlZGlyZWN0T3JEb3dubG9hZFN0cmVhbSA9IChwYWNrYWdlTmFtZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBzdG9yYWdlOiBhbnksIHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBjb25maWc6IENvbmZpZyk6IHZvaWQgPT4ge1xuICBjb25zdCB0YXJiYWxsVXJsUmVkaXJlY3QgPSBfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpO1xuICBzdG9yYWdlXG4gICAgLmhhc0xvY2FsVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpXG4gICAgLnRoZW4oKGhhc0xvY2FsVGFyYmFsbCkgPT4ge1xuICAgICAgaWYgKGhhc0xvY2FsVGFyYmFsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0geyBwYWNrYWdlTmFtZSwgZmlsZW5hbWUgfTtcbiAgICAgICAgY29uc3QgdGFyYmFsbFVybCA9IHR5cGVvZiB0YXJiYWxsVXJsUmVkaXJlY3QgPT09ICdmdW5jdGlvbicgPyB0YXJiYWxsVXJsUmVkaXJlY3QoY29udGV4dCkgOiBfLnRlbXBsYXRlKHRhcmJhbGxVcmxSZWRpcmVjdCkoY29udGV4dCk7XG4gICAgICAgIHJlcy5yZWRpcmVjdCh0YXJiYWxsVXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogSUF1dGgsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciwgY29uZmlnOiBDb25maWcpOiB2b2lkIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCk7XG4gIC8vIFRPRE86IGFub255bW91cyB1c2VyP1xuICByb3V0ZS5nZXQoJy86cGFja2FnZS86dmVyc2lvbj8nLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBhYmJyZXZpYXRlZCA9IGdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUocmVxLmdldCgnQWNjZXB0JykpID09PSAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nO1xuICAgIGNvbnN0IGdldFBhY2thZ2VNZXRhQ2FsbGJhY2sgPSBmdW5jdGlvbiAoZXJyLCBtZXRhZGF0YTogUGFja2FnZSk6IHZvaWQge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgfVxuICAgICAgbWV0YWRhdGEgPSBjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyhtZXRhZGF0YSwgcmVxLCBjb25maWcudXJsX3ByZWZpeCk7XG5cbiAgICAgIGxldCBxdWVyeVZlcnNpb24gPSByZXEucGFyYW1zLnZlcnNpb247XG4gICAgICBpZiAoXy5pc05pbChxdWVyeVZlcnNpb24pKSB7XG4gICAgICAgIGlmIChhYmJyZXZpYXRlZCkge1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsICdhcHBsaWNhdGlvbi92bmQubnBtLmluc3RhbGwtdjEranNvbicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuSlNPTik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dChtZXRhZGF0YSk7XG4gICAgICB9XG5cbiAgICAgIGxldCB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtZXRhZGF0YSwgcXVlcnlWZXJzaW9uKTtcbiAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCBIRUFERVJTLkpTT04pO1xuICAgICAgICByZXR1cm4gbmV4dCh2ZXJzaW9uKTtcbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNOaWwobWV0YWRhdGFbRElTVF9UQUdTXSkgPT09IGZhbHNlKSB7XG4gICAgICAgIGlmIChfLmlzTmlsKG1ldGFkYXRhW0RJU1RfVEFHU11bcXVlcnlWZXJzaW9uXSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcXVlcnlWZXJzaW9uID0gbWV0YWRhdGFbRElTVF9UQUdTXVtxdWVyeVZlcnNpb25dO1xuICAgICAgICAgIHZlcnNpb24gPSBnZXRWZXJzaW9uKG1ldGFkYXRhLCBxdWVyeVZlcnNpb24pO1xuICAgICAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KHZlcnNpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKGAke0FQSV9FUlJPUi5WRVJTSU9OX05PVF9FWElTVH06ICR7cmVxLnBhcmFtcy52ZXJzaW9ufWApKTtcbiAgICB9O1xuXG4gICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgIG5hbWU6IHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgcmVxLFxuICAgICAgYWJicmV2aWF0ZWQsXG4gICAgICBjYWxsYmFjazogZ2V0UGFja2FnZU1ldGFDYWxsYmFjayxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcm91dGUuZ2V0KCcvOnNjb3BlZFBhY2thZ2UvLS86c2NvcGUvOmZpbGVuYW1lJywgY2FuKCdhY2Nlc3MnKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgY29uc3QgeyBzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSB9ID0gcmVxLnBhcmFtcztcbiAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb3dubG9hZFN0cmVhbShzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWRpcmVjdE9yRG93bmxvYWRTdHJlYW0oc2NvcGVkUGFja2FnZSwgZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzLCBjb25maWcpO1xuICAgIH1cbiAgfSk7XG5cbiAgcm91dGUuZ2V0KCcvOnBhY2thZ2UvLS86ZmlsZW5hbWUnLCBjYW4oJ2FjY2VzcycpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQpOiB2b2lkIHtcbiAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb3dubG9hZFN0cmVhbShyZXEucGFyYW1zLnBhY2thZ2UsIHJlcS5wYXJhbXMuZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLnBhcmFtcy5maWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMsIGNvbmZpZyk7XG4gICAgfVxuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQUtBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLENBQUNDLFdBQUQsRUFBc0JDLFFBQXRCLEVB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
@@ -3,10 +3,49 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getByQualityPriorityValue = getByQualityPriorityValue;
6
7
  exports.spliceURL = spliceURL;
7
8
 
8
9
  // @flow
9
10
  function spliceURL(...args) {
10
11
  return Array.from(args).reduce((lastResult, current) => lastResult + current).replace(/([^:])(\/)+(.)/g, `$1/$3`);
11
12
  }
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzcGxpY2VVUkwiLCJhcmdzIiwiQXJyYXkiLCJmcm9tIiwicmVkdWNlIiwibGFzdFJlc3VsdCIsImN1cnJlbnQiLCJyZXBsYWNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N0cmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuXG5leHBvcnQgZnVuY3Rpb24gc3BsaWNlVVJMKC4uLmFyZ3M6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIEFycmF5LmZyb20oYXJncylcbiAgICAucmVkdWNlKChsYXN0UmVzdWx0LCBjdXJyZW50KSA9PiBsYXN0UmVzdWx0ICsgY3VycmVudClcbiAgICAucmVwbGFjZSgvKFteOl0pKFxcLykrKC4pL2csIGAkMS8kM2ApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFFTyxTQUFTQSxTQUFULENBQW1CLEdBQUdDLElBQXRCLEVBQThDO0VBQ25ELE9BQU9DLEtBQUssQ0FBQ0MsSUFBTixDQUFXRixJQUFYLEVBQ0pHLE1BREksQ0FDRyxDQUFDQyxVQUFELEVBQWFDLE9BQWIsS0FBeUJELFVBQVUsR0FBR0MsT0FEekMsRUFFSkMsT0FGSSxDQUVJLGlCQUZKLEVBRXdCLE9BRnhCLENBQVA7QUFHRCJ9
13
+ /**
14
+ * Quality values, or q-values and q-factors, are used to describe the order
15
+ * of priority of values in a comma-separated list.
16
+ * It is a special syntax allowed in some HTTP headers and in HTML.
17
+ * https://developer.mozilla.org/en-US/docs/Glossary/Quality_values
18
+ * @param headerValue
19
+ */
20
+
21
+
22
+ function getByQualityPriorityValue(headerValue) {
23
+ if (typeof headerValue !== 'string') {
24
+ return '';
25
+ }
26
+
27
+ const split = headerValue.split(',');
28
+
29
+ if (split.length <= 1) {
30
+ const qList = split[0].split(';');
31
+ return qList[0];
32
+ }
33
+
34
+ let [header] = split.reduce((acc, item) => {
35
+ const qList = item.split(';');
36
+
37
+ if (qList.length > 1) {
38
+ const [accept, q] = qList;
39
+ const [, query] = q.split('=');
40
+ acc.push([accept.trim(), query ? query : 0]);
41
+ } else {
42
+ acc.push([qList[0], 0]);
43
+ }
44
+
45
+ return acc;
46
+ }, []).sort(function (a, b) {
47
+ return b[1] - a[1];
48
+ });
49
+ return header[0];
50
+ }
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzcGxpY2VVUkwiLCJhcmdzIiwiQXJyYXkiLCJmcm9tIiwicmVkdWNlIiwibGFzdFJlc3VsdCIsImN1cnJlbnQiLCJyZXBsYWNlIiwiZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZSIsImhlYWRlclZhbHVlIiwic3BsaXQiLCJsZW5ndGgiLCJxTGlzdCIsImhlYWRlciIsImFjYyIsIml0ZW0iLCJhY2NlcHQiLCJxIiwicXVlcnkiLCJwdXNoIiwidHJpbSIsInNvcnQiLCJhIiwiYiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zdHJpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZVVSTCguLi5hcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiBBcnJheS5mcm9tKGFyZ3MpXG4gICAgLnJlZHVjZSgobGFzdFJlc3VsdCwgY3VycmVudCkgPT4gbGFzdFJlc3VsdCArIGN1cnJlbnQpXG4gICAgLnJlcGxhY2UoLyhbXjpdKShcXC8pKyguKS9nLCBgJDEvJDNgKTtcbn1cblxuLyoqXG4gKiBRdWFsaXR5IHZhbHVlcywgb3IgcS12YWx1ZXMgYW5kIHEtZmFjdG9ycywgYXJlIHVzZWQgdG8gZGVzY3JpYmUgdGhlIG9yZGVyXG4gKiBvZiBwcmlvcml0eSBvZiB2YWx1ZXMgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbiAqIEl0IGlzIGEgc3BlY2lhbCBzeW50YXggYWxsb3dlZCBpbiBzb21lIEhUVFAgaGVhZGVycyBhbmQgaW4gSFRNTC5cbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvR2xvc3NhcnkvUXVhbGl0eV92YWx1ZXNcbiAqIEBwYXJhbSBoZWFkZXJWYWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZShoZWFkZXJWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgaGVhZGVyVmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3Qgc3BsaXQgPSBoZWFkZXJWYWx1ZS5zcGxpdCgnLCcpO1xuXG4gIGlmIChzcGxpdC5sZW5ndGggPD0gMSkge1xuICAgIGNvbnN0IHFMaXN0ID0gc3BsaXRbMF0uc3BsaXQoJzsnKTtcbiAgICByZXR1cm4gcUxpc3RbMF07XG4gIH1cblxuICBsZXQgW2hlYWRlcl0gPSBzcGxpdFxuICAgIC5yZWR1Y2UoKGFjYywgaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBxTGlzdCA9IGl0ZW0uc3BsaXQoJzsnKTtcbiAgICAgIGlmIChxTGlzdC5sZW5ndGggPiAxKSB7XG4gICAgICAgIGNvbnN0IFthY2NlcHQsIHFdID0gcUxpc3Q7XG4gICAgICAgIGNvbnN0IFssIHF1ZXJ5XSA9IHEuc3BsaXQoJz0nKTtcbiAgICAgICAgYWNjLnB1c2goW2FjY2VwdC50cmltKCksIHF1ZXJ5ID8gcXVlcnkgOiAwXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2MucHVzaChbcUxpc3RbMF0sIDBdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgYW55KVxuICAgIC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gYlsxXSAtIGFbMV07XG4gICAgfSk7XG4gIHJldHVybiBoZWFkZXJbMF07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFFTyxTQUFTQSxTQUFULENBQW1CLEdBQUdDLElBQXRCLEVBQThDO0VBQ25ELE9BQU9DLEtBQUssQ0FBQ0MsSUFBTixDQUFXRixJQUFYLEVBQ0pHLE1BREksQ0FDRyxDQUFDQyxVQUFELEVBQWFDLE9BQWIsS0FBeUJELFVBQVUsR0FBR0MsT0FEekMsRUFFSkMsT0FGSSxDQUVJLGlCQUZKLEVBRXdCLE9BRnhCLENBQVA7QUFHRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxTQUFTQyx5QkFBVCxDQUFtQ0MsV0FBbkMsRUFBbUY7RUFDeEYsSUFBSSxPQUFPQSxXQUFQLEtBQXVCLFFBQTNCLEVBQXFDO0lBQ25DLE9BQU8sRUFBUDtFQUNEOztFQUVELE1BQU1DLEtBQUssR0FBR0QsV0FBVyxDQUFDQyxLQUFaLENBQWtCLEdBQWxCLENBQWQ7O0VBRUEsSUFBSUEsS0FBSyxDQUFDQyxNQUFOLElBQWdCLENBQXBCLEVBQXVCO0lBQ3JCLE1BQU1DLEtBQUssR0FBR0YsS0FBSyxDQUFDLENBQUQsQ0FBTCxDQUFTQSxLQUFULENBQWUsR0FBZixDQUFkO0lBQ0EsT0FBT0UsS0FBSyxDQUFDLENBQUQsQ0FBWjtFQUNEOztFQUVELElBQUksQ0FBQ0MsTUFBRCxJQUFXSCxLQUFLLENBQ2pCTixNQURZLENBQ0wsQ0FBQ1UsR0FBRCxFQUFNQyxJQUFOLEtBQXVCO0lBQzdCLE1BQU1ILEtBQUssR0FBR0csSUFBSSxDQUFDTCxLQUFMLENBQVcsR0FBWCxDQUFkOztJQUNBLElBQUlFLEtBQUssQ0FBQ0QsTUFBTixHQUFlLENBQW5CLEVBQXNCO01BQ3BCLE1BQU0sQ0FBQ0ssTUFBRCxFQUFTQyxDQUFULElBQWNMLEtBQXBCO01BQ0EsTUFBTSxHQUFHTSxLQUFILElBQVlELENBQUMsQ0FBQ1AsS0FBRixDQUFRLEdBQVIsQ0FBbEI7TUFDQUksR0FBRyxDQUFDSyxJQUFKLENBQVMsQ0FBQ0gsTUFBTSxDQUFDSSxJQUFQLEVBQUQsRUFBZ0JGLEtBQUssR0FBR0EsS0FBSCxHQUFXLENBQWhDLENBQVQ7SUFDRCxDQUpELE1BSU87TUFDTEosR0FBRyxDQUFDSyxJQUFKLENBQVMsQ0FBQ1AsS0FBSyxDQUFDLENBQUQsQ0FBTixFQUFXLENBQVgsQ0FBVDtJQUNEOztJQUNELE9BQU9FLEdBQVA7RUFDRCxDQVhZLEVBV1YsRUFYVSxFQVlaTyxJQVpZLENBWVAsVUFBVUMsQ0FBVixFQUFhQyxDQUFiLEVBQWdCO0lBQ3BCLE9BQU9BLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBT0QsQ0FBQyxDQUFDLENBQUQsQ0FBZjtFQUNELENBZFksQ0FBZjtFQWVBLE9BQU9ULE1BQU0sQ0FBQyxDQUFELENBQWI7QUFDRCJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verdaccio",
3
- "version": "5.15.1",
3
+ "version": "5.15.2",
4
4
  "description": "A lightweight private npm proxy registry",
5
5
  "author": {
6
6
  "name": "Verdaccio Maintainers",