UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

45 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findOrWriteDockerComposeFileComponent = void 0; const alwayscli_1 = require("@alwaysai/alwayscli"); const general_1 = require("../general"); const paths_1 = require("../../paths"); const util_1 = require("../../util"); const app_1 = require("../../core/app"); const WRITE_MESSAGE = `Write ${paths_1.DOCKER_COMPOSE_FILE}`; const FOUND_MESSAGE = `Found ${paths_1.DOCKER_COMPOSE_FILE}`; async function findOrWriteDockerComposeFileComponent(props) { const { yes, cmd } = props; const spawner = (0, util_1.JsSpawner)(); if (await spawner.exists(paths_1.DOCKER_COMPOSE_FILE)) { (0, util_1.Spinner)(FOUND_MESSAGE).succeed(); return true; } { // !exists const confirmed = yes || (await (0, general_1.confirmWriteFilePromptComponent)({ fileName: paths_1.DOCKER_COMPOSE_FILE })); if (!confirmed) { throw new alwayscli_1.CliTerseError((0, util_1.UnableToProceedWithoutMessage)(paths_1.DOCKER_COMPOSE_FILE)); } const spinner = (0, util_1.Spinner)(WRITE_MESSAGE); try { await (0, app_1.writeDockerComposeFile)({ spawner, cmd }); spinner.succeed(); return false; } catch (exception) { if (exception.code === 'EEXIST') { // Unlikely scenario that the file did not exist but now does spinner.succeed(FOUND_MESSAGE); return true; } spinner.fail(); throw exception; } } } exports.findOrWriteDockerComposeFileComponent = findOrWriteDockerComposeFileComponent; //# sourceMappingURL=find-or-write-docker-compose-file-component.js.map