navy
Version:
Quick and powerful development environments using Docker and Docker Compose
55 lines (41 loc) • 1.53 kB
JavaScript
;
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;