UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

43 lines 1.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findOrWriteAppJsonFileComponent = void 0; const alwayscli_1 = require("@alwaysai/alwayscli"); const paths_1 = require("../../paths"); const app_1 = require("../../core/app"); const util_1 = require("../../util"); const config_file_exists_and_is_valid_1 = require("../../util/config-file-exists-and-is-valid"); const general_1 = require("../general"); const WRITE_MESSAGE = `Write ${paths_1.APP_JSON_FILE_NAME}`; const FOUND_MESSAGE = `Found ${paths_1.APP_JSON_FILE_NAME}`; async function findOrWriteAppJsonFileComponent(props) { const { yes } = props; const appJsonFile = (0, app_1.AppJsonFile)(); if (!appJsonFile.exists()) { const confirmed = yes || (await (0, general_1.confirmWriteFilePromptComponent)({ fileName: paths_1.APP_JSON_FILE_NAME, description: 'Configuration file' })); if (!confirmed) { throw new alwayscli_1.CliTerseError((0, util_1.UnableToProceedWithoutMessage)(paths_1.APP_JSON_FILE_NAME)); } try { appJsonFile.remove(); appJsonFile.initialize(); (0, util_1.Spinner)(WRITE_MESSAGE).succeed(); } catch (exception) { (0, util_1.Spinner)(WRITE_MESSAGE).fail(); throw exception; } } else if (await (0, config_file_exists_and_is_valid_1.checkConfigFileExistsAndValid)(appJsonFile)) { (0, util_1.Spinner)(FOUND_MESSAGE).succeed(); } // if it exists but doesn't pass the checkConfigFileExistsAndValid, then it's syntax error. else { throw new alwayscli_1.CliTerseError((0, util_1.UnableToProceedWithoutMessage)(paths_1.APP_JSON_FILE_NAME)); } } exports.findOrWriteAppJsonFileComponent = findOrWriteAppJsonFileComponent; //# sourceMappingURL=find-or-write-app-json-file-component.js.map