verdaccio
Version:
A lightweight private npm proxy registry
60 lines (58 loc) • 6.96 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MIN_NODE_VERSION = void 0;
exports.getListListenAddresses = getListListenAddresses;
exports.isVersionValid = isVersionValid;
exports.resolveConfigPath = void 0;
var _path = _interopRequireDefault(require("path"));
var _semver = _interopRequireDefault(require("semver"));
var _constants = require("../constants");
var _utils = require("../utils");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const logger = require('../logger');
const resolveConfigPath = function (storageLocation, file) {
return _path.default.resolve(_path.default.dirname(storageLocation), file);
};
exports.resolveConfigPath = resolveConfigPath;
const MIN_NODE_VERSION = exports.MIN_NODE_VERSION = '18';
function isVersionValid(version) {
return _semver.default.satisfies(version, `>=${MIN_NODE_VERSION}`);
}
/**
* Retrieve all addresses defined in the config file.
* Verdaccio is able to listen multiple ports
* @param {String} argListen
* @param {String} configListen
* eg:
* listen:
- localhost:5555
- localhost:5557
@return {Array}
*/
function getListListenAddresses(argListen, configListen) {
// command line || config file || default
let addresses;
if (argListen) {
addresses = [argListen];
} else if (Array.isArray(configListen)) {
addresses = configListen;
process.emitWarning('multiple addresses will be deprecated in the next major, only use one');
} else if (configListen) {
addresses = [configListen];
} else {
addresses = [_constants.DEFAULT_PORT];
}
addresses = addresses.map(function (addr) {
const parsedAddr = (0, _utils.parseAddress)(addr);
if (!parsedAddr) {
logger.logger.warn({
addr: addr
}, 'invalid address - @{addr}, we expect a port (e.g. "4873"),' + ' host:port (e.g. "localhost:4873") or full url' + ' (e.g. "http://localhost:4873/")');
}
return parsedAddr;
}).filter(Boolean);
return addresses;
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGF0aCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3NlbXZlciIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJsb2dnZXIiLCJyZXNvbHZlQ29uZmlnUGF0aCIsInN0b3JhZ2VMb2NhdGlvbiIsImZpbGUiLCJwYXRoIiwicmVzb2x2ZSIsImRpcm5hbWUiLCJleHBvcnRzIiwiTUlOX05PREVfVkVSU0lPTiIsImlzVmVyc2lvblZhbGlkIiwidmVyc2lvbiIsInNlbXZlciIsInNhdGlzZmllcyIsImdldExpc3RMaXN0ZW5BZGRyZXNzZXMiLCJhcmdMaXN0ZW4iLCJjb25maWdMaXN0ZW4iLCJhZGRyZXNzZXMiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9jZXNzIiwiZW1pdFdhcm5pbmciLCJERUZBVUxUX1BPUlQiLCJtYXAiLCJhZGRyIiwicGFyc2VkQWRkciIsInBhcnNlQWRkcmVzcyIsIndhcm4iLCJmaWx0ZXIiLCJCb29sZWFuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGkvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5cbmltcG9ydCB7IERFRkFVTFRfUE9SVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBwYXJzZUFkZHJlc3MgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGxvZ2dlciA9IHJlcXVpcmUoJy4uL2xvZ2dlcicpO1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZUNvbmZpZ1BhdGggPSBmdW5jdGlvbiAoc3RvcmFnZUxvY2F0aW9uOiBzdHJpbmcsIGZpbGU6IHN0cmluZykge1xuICByZXR1cm4gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShzdG9yYWdlTG9jYXRpb24pLCBmaWxlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBNSU5fTk9ERV9WRVJTSU9OID0gJzE4JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVyc2lvblZhbGlkKHZlcnNpb24pIHtcbiAgcmV0dXJuIHNlbXZlci5zYXRpc2ZpZXModmVyc2lvbiwgYD49JHtNSU5fTk9ERV9WRVJTSU9OfWApO1xufVxuXG4vKipcbiAqIFJldHJpZXZlIGFsbCBhZGRyZXNzZXMgZGVmaW5lZCBpbiB0aGUgY29uZmlnIGZpbGUuXG4gKiBWZXJkYWNjaW8gaXMgYWJsZSB0byBsaXN0ZW4gbXVsdGlwbGUgcG9ydHNcbiAqIEBwYXJhbSB7U3RyaW5nfSBhcmdMaXN0ZW5cbiAqIEBwYXJhbSB7U3RyaW5nfSBjb25maWdMaXN0ZW5cbiAqIGVnOlxuICogIGxpc3RlbjpcbiAtIGxvY2FsaG9zdDo1NTU1XG4gLSBsb2NhbGhvc3Q6NTU1N1xuIEByZXR1cm4ge0FycmF5fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlzdExpc3RlbkFkZHJlc3NlcyhhcmdMaXN0ZW46IHN0cmluZyB8IHZvaWQsIGNvbmZpZ0xpc3RlbjogYW55KTogYW55IHtcbiAgLy8gY29tbWFuZCBsaW5lIHx8IGNvbmZpZyBmaWxlIHx8IGRlZmF1bHRcbiAgbGV0IGFkZHJlc3NlcztcbiAgaWYgKGFyZ0xpc3Rlbikge1xuICAgIGFkZHJlc3NlcyA9IFthcmdMaXN0ZW5dO1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnTGlzdGVuKSkge1xuICAgIGFkZHJlc3NlcyA9IGNvbmZpZ0xpc3RlbjtcbiAgICBwcm9jZXNzLmVtaXRXYXJuaW5nKCdtdWx0aXBsZSBhZGRyZXNzZXMgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBuZXh0IG1ham9yLCBvbmx5IHVzZSBvbmUnKTtcbiAgfSBlbHNlIGlmIChjb25maWdMaXN0ZW4pIHtcbiAgICBhZGRyZXNzZXMgPSBbY29uZmlnTGlzdGVuXTtcbiAgfSBlbHNlIHtcbiAgICBhZGRyZXNzZXMgPSBbREVGQVVMVF9QT1JUXTtcbiAgfVxuICBhZGRyZXNzZXMgPSBhZGRyZXNzZXNcbiAgICAubWFwKGZ1bmN0aW9uIChhZGRyKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IHBhcnNlZEFkZHIgPSBwYXJzZUFkZHJlc3MoYWRkcik7XG5cbiAgICAgIGlmICghcGFyc2VkQWRkcikge1xuICAgICAgICBsb2dnZXIubG9nZ2VyLndhcm4oXG4gICAgICAgICAgeyBhZGRyOiBhZGRyIH0sXG4gICAgICAgICAgJ2ludmFsaWQgYWRkcmVzcyAtIEB7YWRkcn0sIHdlIGV4cGVjdCBhIHBvcnQgKGUuZy4gXCI0ODczXCIpLCcgK1xuICAgICAgICAgICAgJyBob3N0OnBvcnQgKGUuZy4gXCJsb2NhbGhvc3Q6NDg3M1wiKSBvciBmdWxsIHVybCcgK1xuICAgICAgICAgICAgJyAoZS5nLiBcImh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9cIiknXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXJzZWRBZGRyO1xuICAgIH0pXG4gICAgLmZpbHRlcihCb29sZWFuKTtcblxuICByZXR1cm4gYWRkcmVzc2VzO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFBd0MsU0FBQUQsdUJBQUFLLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFeEMsTUFBTUcsTUFBTSxHQUFHUCxPQUFPLENBQUMsV0FBVyxDQUFDO0FBRTVCLE1BQU1RLGlCQUFpQixHQUFHLFNBQUFBLENBQVVDLGVBQXVCLEVBQUVDLElBQVksRUFBRTtFQUNoRixPQUFPQyxhQUFJLENBQUNDLE9BQU8sQ0FBQ0QsYUFBSSxDQUFDRSxPQUFPLENBQUNKLGVBQWUsQ0FBQyxFQUFFQyxJQUFJLENBQUM7QUFDMUQsQ0FBQztBQUFDSSxPQUFBLENBQUFOLGlCQUFBLEdBQUFBLGlCQUFBO0FBRUssTUFBTU8sZ0JBQWdCLEdBQUFELE9BQUEsQ0FBQUMsZ0JBQUEsR0FBRyxJQUFJO0FBRTdCLFNBQVNDLGNBQWNBLENBQUNDLE9BQU8sRUFBRTtFQUN0QyxPQUFPQyxlQUFNLENBQUNDLFNBQVMsQ0FBQ0YsT0FBTyxFQUFFLEtBQUtGLGdCQUFnQixFQUFFLENBQUM7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNLLHNCQUFzQkEsQ0FBQ0MsU0FBd0IsRUFBRUMsWUFBaUIsRUFBTztFQUN2RjtFQUNBLElBQUlDLFNBQVM7RUFDYixJQUFJRixTQUFTLEVBQUU7SUFDYkUsU0FBUyxHQUFHLENBQUNGLFNBQVMsQ0FBQztFQUN6QixDQUFDLE1BQU0sSUFBSUcsS0FBSyxDQUFDQyxPQUFPLENBQUNILFlBQVksQ0FBQyxFQUFFO0lBQ3RDQyxTQUFTLEdBQUdELFlBQVk7SUFDeEJJLE9BQU8sQ0FBQ0MsV0FBVyxDQUFDLHVFQUF1RSxDQUFDO0VBQzlGLENBQUMsTUFBTSxJQUFJTCxZQUFZLEVBQUU7SUFDdkJDLFNBQVMsR0FBRyxDQUFDRCxZQUFZLENBQUM7RUFDNUIsQ0FBQyxNQUFNO0lBQ0xDLFNBQVMsR0FBRyxDQUFDSyx1QkFBWSxDQUFDO0VBQzVCO0VBQ0FMLFNBQVMsR0FBR0EsU0FBUyxDQUNsQk0sR0FBRyxDQUFDLFVBQVVDLElBQUksRUFBVTtJQUMzQixNQUFNQyxVQUFVLEdBQUcsSUFBQUMsbUJBQVksRUFBQ0YsSUFBSSxDQUFDO0lBRXJDLElBQUksQ0FBQ0MsVUFBVSxFQUFFO01BQ2Z4QixNQUFNLENBQUNBLE1BQU0sQ0FBQzBCLElBQUksQ0FDaEI7UUFBRUgsSUFBSSxFQUFFQTtNQUFLLENBQUMsRUFDZCw0REFBNEQsR0FDMUQsZ0RBQWdELEdBQ2hELGtDQUNKLENBQUM7SUFDSDtJQUVBLE9BQU9DLFVBQVU7RUFDbkIsQ0FBQyxDQUFDLENBQ0RHLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDO0VBRWxCLE9BQU9aLFNBQVM7QUFDbEIiLCJpZ25vcmVMaXN0IjpbXX0=
;