mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-01-27 22:59:51 -05:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
|
// @flow
|
||
|
|
||
|
import path from 'path';
|
||
|
|
||
|
import {parseAddress} from '../utils';
|
||
|
import {DEFAULT_PORT} from '../constants';
|
||
|
|
||
|
const logger = require('../logger');
|
||
|
|
||
|
export const resolveConfigPath = function(storageLocation: string, file: string) {
|
||
|
return path.resolve(path.dirname(storageLocation), file);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* 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}
|
||
|
*/
|
||
|
export function getListListenAddresses(argListen: string, configListen: mixed) {
|
||
|
// command line || config file || default
|
||
|
let addresses;
|
||
|
if (argListen) {
|
||
|
addresses = [argListen];
|
||
|
} else if (Array.isArray(configListen)) {
|
||
|
addresses = configListen;
|
||
|
} else if (configListen) {
|
||
|
addresses = [configListen];
|
||
|
} else {
|
||
|
addresses = [DEFAULT_PORT];
|
||
|
}
|
||
|
addresses = addresses.map(function(addr) {
|
||
|
const parsedAddr = 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;
|
||
|
}
|