UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

58 lines 2.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InvalidFilePleaseRunAppConfigureMessage = exports.MissingFilePleaseRunAppConfigureMessage = exports.appCheckComponent = void 0; const fs_1 = require("fs"); const alwayscli_1 = require("@alwaysai/alwayscli"); const constants_1 = require("../../constants"); const app_1 = require("../../core/app"); const project_1 = require("../../core/project"); const util_1 = require("../../util"); const log_config_error_messages_1 = require("../../util/log-config-error-messages"); const paths_1 = require("../../paths"); async function appCheckComponent(args = {}) { const { ignoreTargetJsonFile, ignoreAppJsonFile, ignoreProjectJsonFile, ignoreAppPyFile, ignoreDockerfile } = args; const checkFile = async (fileName) => { const file = fileName(); if (!file.exists()) { throw new alwayscli_1.CliTerseError(await (0, log_config_error_messages_1.logConfigFileErrorMessages)(file, MissingFilePleaseRunAppConfigureMessage)); } try { file.read(); } catch (error) { util_1.logger.error((0, util_1.stringifyError)(error)); throw new alwayscli_1.CliTerseError(await (0, log_config_error_messages_1.logConfigFileErrorMessages)(file, InvalidFilePleaseRunAppConfigureMessage)); } }; if (!ignoreAppJsonFile) { await checkFile(app_1.AppJsonFile); } if (!ignoreTargetJsonFile) { await checkFile(app_1.TargetJsonFile); } if (!ignoreProjectJsonFile) { await checkFile(project_1.ProjectJsonFile); } if (!ignoreAppPyFile) { if (!(0, fs_1.existsSync)(paths_1.APP_PY_FILE_NAME)) { const errorMessage = MissingFilePleaseRunAppConfigureMessage(paths_1.APP_PY_FILE_NAME); util_1.logger.error(errorMessage); throw new alwayscli_1.CliTerseError(errorMessage); } } if (!ignoreDockerfile) { if (!(0, fs_1.existsSync)(paths_1.DOCKERFILE)) { throw new alwayscli_1.CliTerseError(MissingFilePleaseRunAppConfigureMessage(paths_1.DOCKERFILE)); } } } exports.appCheckComponent = appCheckComponent; function MissingFilePleaseRunAppConfigureMessage(fileName) { return `Missing file "${fileName}". Please run \`${constants_1.ALWAYSAI_CLI_EXECUTABLE_NAME} app configure\` to set up this directory as an alwaysAI application.`; } exports.MissingFilePleaseRunAppConfigureMessage = MissingFilePleaseRunAppConfigureMessage; function InvalidFilePleaseRunAppConfigureMessage(fileName) { return `The file "${fileName}" does not appear to be properly formatted. Please validate the file or run \`${constants_1.ALWAYSAI_CLI_EXECUTABLE_NAME} app configure\` to set up this directory as an alwaysAI application.`; } exports.InvalidFilePleaseRunAppConfigureMessage = InvalidFilePleaseRunAppConfigureMessage; //# sourceMappingURL=app-check-component.js.map