UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

43 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const logSymbols = require("log-symbols"); const app_config_file_1 = require("../util/app-config-file"); const target_config_file_1 = require("../util/target-config-file"); const js_spawner_1 = require("../spawner/js-spawner"); const app_installer_1 = require("../app-installer"); const spin_on_promise_1 = require("../util/spin-on-promise"); const echo_1 = require("../util/echo"); const check_user_is_logged_in_component_1 = require("./check-user-is-logged-in-component"); const check_for_required_files_component_1 = require("./check-for-required-files-component"); async function appDeployComponent(props) { const { yes } = props; await check_user_is_logged_in_component_1.checkUserIsLoggedInComponent({ yes }); await check_for_required_files_component_1.checkForRequiredFilesComponent({ yes }); const appConfig = app_config_file_1.appConfigFile.read(); const targetSpawner = target_config_file_1.targetConfigFile.readSpawner(); const targetConfig = target_config_file_1.targetConfigFile.read(); const sourceSpawner = js_spawner_1.JsSpawner(); await targetSpawner.mkdirp(); const appInstaller = app_installer_1.AppInstaller(targetSpawner); // Protocol-specific installation steps switch (targetConfig.protocol) { case 'ssh+docker:': { await spin_on_promise_1.spinOnPromise(appInstaller.installSource(sourceSpawner), 'Copy application to 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(), 'Install python virtualenv'); await spin_on_promise_1.spinOnPromise(appInstaller.installPythonDeps(), 'Install python dependencies'); } exports.appDeployComponent = appDeployComponent; //# sourceMappingURL=app-deploy-component.js.map