UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

55 lines (41 loc) 1.53 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _chalk = _interopRequireDefault(require("chalk")); var _ = require("../"); var _errors = require("../errors"); var _navyrc = _interopRequireDefault(require("../util/navyrc")); async function _default(service, opts) { const navy = (0, _.getNavy)(opts.navy); const cwd = process.cwd(); const navyRc = await (0, _navyrc.default)(cwd); if (navyRc && !navyRc.services) { throw new _errors.NavyError(`No valid .navyrc file was found in "${cwd}"`); } if (navyRc && navyRc.services.length > 1 && !service) { throw new _errors.NavyError('Multiple service mappings are defined in .navyrc, you need to explicitly specify what service to develop'); } if (navyRc && !service) { service = navyRc.services[0]; } const state = (await navy.getState()) || {}; if (!state || !state.services || !state.services[service] || !state.services[service]._develop) { return console.log(_chalk.default.dim(`Nothing to do, ${service} is not in development`)); } await navy.saveState({ ...state, services: { ...state.services, [service]: { ...(state.services || {})[service], _develop: undefined } } }); await navy.kill([service]); await navy.relaunch({ noDeps: true }); console.log(`${service} is no longer in development`); } module.exports = exports.default;