UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

27 lines (22 loc) 950 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _lodash = require("lodash"); function getPortConfig(serviceName, state) { return state.services[serviceName] ? state.services[serviceName]._ports || {} : {}; } var _default = (config, state) => ({ ...config, services: (0, _lodash.mapValues)(config.services, (service, serviceName) => { const portConfig = getPortConfig(serviceName, state); const hasPortConfig = !!portConfig; const internalPorts = Object.keys(portConfig).filter(internal => !!portConfig[internal]); const inheritedPorts = service.ports ? service.ports.filter(port => internalPorts.indexOf(port) === -1) : []; return { ...service, ports: hasPortConfig ? [...inheritedPorts, ...internalPorts.map(internal => `${portConfig[internal]}:${internal}`)] : service.ports }; }) }); exports.default = _default; module.exports = exports.default;