alwaysai
Version:
The alwaysAI command-line interface (CLI)
33 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const LogSymbols = require("log-symbols");
const alwayscli_1 = require("@alwaysai/alwayscli");
const app_config_file_1 = require("../../util/app-config-file");
const spin_on_promise_1 = require("../../util/spin-on-promise");
const js_spawner_1 = require("../../spawner/js-spawner");
const app_installer_1 = require("../../app-installer");
const echo_1 = require("../../util/echo");
exports.appUnderscoreInstallCliLeaf = alwayscli_1.createLeaf({
name: '_install',
hidden: true,
description: "Install this application's dependencies",
async action() {
const appConfig = app_config_file_1.appConfigFile.read();
const target = js_spawner_1.JsSpawner();
const appInstaller = app_installer_1.AppInstaller(target);
let hasModels = false;
if (appConfig.models) {
const ids = Object.keys(appConfig.models);
if (ids.length > 0) {
hasModels = true;
await spin_on_promise_1.spinOnPromise(appInstaller.installModels(appConfig.models), `Model${ids.length > 1 ? 's' : ''} ${ids.join(' ')}`);
}
}
if (!hasModels) {
echo_1.echo(`${LogSymbols.warning} Application has no models`);
}
await spin_on_promise_1.spinOnPromise(appInstaller.installVirtualenv(), 'Python virtualenv');
await spin_on_promise_1.spinOnPromise(appInstaller.installPythonDeps(), 'Python dependencies');
},
});
//# sourceMappingURL=_install.js.map