UNPKG

verdaccio

Version:

A lightweight private npm proxy registry

62 lines (50 loc) 5.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _search = _interopRequireDefault(require("../../../lib/search")); var _constants = require("../../../lib/constants"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @prettier * @flow */ function addSearchWebApi(route, storage, auth) { // Search package route.get('/search/:anything', function (req, res, next) { const results = _search.default.query(req.params.anything); // FUTURE: figure out here the correct type const packages = []; const getPackageInfo = function (i) { storage.getPackage({ name: results[i].ref, uplinksLook: false, callback: (err, entry) => { if (!err && entry) { auth.allow_access({ packageName: entry.name }, req.remote_user, function (err, allowed) { if (err || !allowed) { return; } packages.push(entry.versions[entry[_constants.DIST_TAGS].latest]); }); } if (i >= results.length - 1) { next(packages); } else { getPackageInfo(i + 1); } } }); }; if (results.length) { getPackageInfo(0); } else { next([]); } }); } var _default = addSearchWebApi; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2VuZHBvaW50L3NlYXJjaC50cyJdLCJuYW1lcyI6WyJhZGRTZWFyY2hXZWJBcGkiLCJyb3V0ZSIsInN0b3JhZ2UiLCJhdXRoIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInJlc3VsdHMiLCJTZWFyY2giLCJxdWVyeSIsInBhcmFtcyIsImFueXRoaW5nIiwicGFja2FnZXMiLCJnZXRQYWNrYWdlSW5mbyIsImkiLCJnZXRQYWNrYWdlIiwibmFtZSIsInJlZiIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJlcnIiLCJlbnRyeSIsImFsbG93X2FjY2VzcyIsInBhY2thZ2VOYW1lIiwicmVtb3RlX3VzZXIiLCJhbGxvd2VkIiwicHVzaCIsInZlcnNpb25zIiwiRElTVF9UQUdTIiwibGF0ZXN0IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0E7O0FBQ0E7Ozs7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQWNBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQXdDQyxPQUF4QyxFQUFrRUMsSUFBbEUsRUFBcUY7QUFDbkY7QUFDQUYsRUFBQUEsS0FBSyxDQUFDRyxHQUFOLENBQ0UsbUJBREYsRUFFRSxVQUFVQyxHQUFWLEVBQStCQyxHQUEvQixFQUFxREMsSUFBckQsRUFBbUY7QUFDakYsVUFBTUMsT0FBWSxHQUFHQyxnQkFBT0MsS0FBUCxDQUFhTCxHQUFHLENBQUNNLE1BQUosQ0FBV0MsUUFBeEIsQ0FBckIsQ0FEaUYsQ0FFakY7OztBQUNBLFVBQU1DLFFBQWUsR0FBRyxFQUF4Qjs7QUFFQSxVQUFNQyxjQUFjLEdBQUcsVUFBVUMsQ0FBVixFQUFtQjtBQUN4Q2IsTUFBQUEsT0FBTyxDQUFDYyxVQUFSLENBQW1CO0FBQ2pCQyxRQUFBQSxJQUFJLEVBQUVULE9BQU8sQ0FBQ08sQ0FBRCxDQUFQLENBQVdHLEdBREE7QUFFakJDLFFBQUFBLFdBQVcsRUFBRSxLQUZJO0FBR2pCQyxRQUFBQSxRQUFRLEVBQUUsQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOLEtBQStCO0FBQ3ZDLGNBQUksQ0FBQ0QsR0FBRCxJQUFRQyxLQUFaLEVBQW1CO0FBQ2pCbkIsWUFBQUEsSUFBSSxDQUFDb0IsWUFBTCxDQUNFO0FBQUVDLGNBQUFBLFdBQVcsRUFBRUYsS0FBSyxDQUFDTDtBQUFyQixhQURGLEVBRUVaLEdBQUcsQ0FBQ29CLFdBRk4sRUFHRSxVQUFVSixHQUFWLEVBQWVLLE9BQWYsRUFBOEI7QUFDNUIsa0JBQUlMLEdBQUcsSUFBSSxDQUFDSyxPQUFaLEVBQXFCO0FBQ25CO0FBQ0Q7O0FBRURiLGNBQUFBLFFBQVEsQ0FBQ2MsSUFBVCxDQUFjTCxLQUFLLENBQUNNLFFBQU4sQ0FBZU4sS0FBSyxDQUFDTyxvQkFBRCxDQUFMLENBQWlCQyxNQUFoQyxDQUFkO0FBQ0QsYUFUSDtBQVdEOztBQUVELGNBQUlmLENBQUMsSUFBSVAsT0FBTyxDQUFDdUIsTUFBUixHQUFpQixDQUExQixFQUE2QjtBQUMzQnhCLFlBQUFBLElBQUksQ0FBQ00sUUFBRCxDQUFKO0FBQ0QsV0FGRCxNQUVPO0FBQ0xDLFlBQUFBLGNBQWMsQ0FBQ0MsQ0FBQyxHQUFHLENBQUwsQ0FBZDtBQUNEO0FBQ0Y7QUF2QmdCLE9BQW5CO0FBeUJELEtBMUJEOztBQTRCQSxRQUFJUCxPQUFPLENBQUN1QixNQUFaLEVBQW9CO0FBQ2xCakIsTUFBQUEsY0FBYyxDQUFDLENBQUQsQ0FBZDtBQUNELEtBRkQsTUFFTztBQUNMUCxNQUFBQSxJQUFJLENBQUMsRUFBRCxDQUFKO0FBQ0Q7QUFDRixHQXhDSDtBQTBDRDs7ZUFFY1AsZSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKiBAZmxvd1xuICovXG5cbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IFNlYXJjaCBmcm9tICcuLi8uLi8uLi9saWIvc2VhcmNoJztcbmltcG9ydCB7IERJU1RfVEFHUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgSUF1dGgsXG4gICRSZXNwb25zZUV4dGVuZCxcbiAgJFJlcXVlc3RFeHRlbmQsXG4gICROZXh0RnVuY3Rpb25WZXIsXG4gIElTdG9yYWdlSGFuZGxlclxufSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbmZ1bmN0aW9uIGFkZFNlYXJjaFdlYkFwaShyb3V0ZTogUm91dGVyLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsIGF1dGg6IElBdXRoKTogdm9pZCB7XG4gIC8vIFNlYXJjaCBwYWNrYWdlXG4gIHJvdXRlLmdldChcbiAgICAnL3NlYXJjaC86YW55dGhpbmcnLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgY29uc3QgcmVzdWx0czogYW55ID0gU2VhcmNoLnF1ZXJ5KHJlcS5wYXJhbXMuYW55dGhpbmcpO1xuICAgICAgLy8gRlVUVVJFOiBmaWd1cmUgb3V0IGhlcmUgdGhlIGNvcnJlY3QgdHlwZVxuICAgICAgY29uc3QgcGFja2FnZXM6IGFueVtdID0gW107XG5cbiAgICAgIGNvbnN0IGdldFBhY2thZ2VJbmZvID0gZnVuY3Rpb24gKGkpOiB2b2lkIHtcbiAgICAgICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgICAgICBuYW1lOiByZXN1bHRzW2ldLnJlZixcbiAgICAgICAgICB1cGxpbmtzTG9vazogZmFsc2UsXG4gICAgICAgICAgY2FsbGJhY2s6IChlcnIsIGVudHJ5OiBQYWNrYWdlKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpZiAoIWVyciAmJiBlbnRyeSkge1xuICAgICAgICAgICAgICBhdXRoLmFsbG93X2FjY2VzcyhcbiAgICAgICAgICAgICAgICB7IHBhY2thZ2VOYW1lOiBlbnRyeS5uYW1lIH0sXG4gICAgICAgICAgICAgICAgcmVxLnJlbW90ZV91c2VyLFxuICAgICAgICAgICAgICAgIGZ1bmN0aW9uIChlcnIsIGFsbG93ZWQpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgIGlmIChlcnIgfHwgIWFsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBwYWNrYWdlcy5wdXNoKGVudHJ5LnZlcnNpb25zW2VudHJ5W0RJU1RfVEFHU10ubGF0ZXN0XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaSA+PSByZXN1bHRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgbmV4dChwYWNrYWdlcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBnZXRQYWNrYWdlSW5mbyhpICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZXN1bHRzLmxlbmd0aCkge1xuICAgICAgICBnZXRQYWNrYWdlSW5mbygwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoW10pO1xuICAgICAgfVxuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYWRkU2VhcmNoV2ViQXBpO1xuIl19