alwaysai
Version:
The alwaysAI command-line interface (CLI)
58 lines • 2.95 kB
JavaScript
;
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