UNPKG

@eightshone/sshman

Version:
67 lines 3.06 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { existsSync } from "fs"; import yoctoSpinner from "yocto-spinner"; import createFileIfNotExists from "../../utils/createFileIfNotExist.js"; import { CONFIG_DIR, DEFAULT_CONFIG, VERSION } from "../../utils/consts.js"; import loadFile from "../../utils/loadFile.js"; import compareVersions from "../../utils/compareVersions.js"; import migrate from "./migrate.js"; import isSameVersion from "./isSameVersion.js"; import showUpdateMessage from "./showUpdateMessage.js"; function init() { return __awaiter(this, arguments, void 0, function* (options = { silent: false }) { const { silent } = options; const configFile = `${CONFIG_DIR}/config.json`; const logsFile = `${CONFIG_DIR}/logs.json`; let spinner; if (!silent) { spinner = yoctoSpinner({ text: "Checking config files…" }).start(); } // check for app config files if (!existsSync(configFile) || !existsSync(logsFile)) { if (!silent) { spinner.text = "Creating config files…"; } yield createFileIfNotExists(configFile, JSON.stringify(DEFAULT_CONFIG)); yield createFileIfNotExists(logsFile, "[]"); if (!silent) { spinner.text = "Config files created!"; } } // todo: add config files validations // load config and logs if (!silent) { spinner.text = "Loading config files…"; } let configObj = yield loadFile(`${CONFIG_DIR}/config.json`), logsObj = yield loadFile(`${CONFIG_DIR}/logs.json`); if (!silent) { spinner.text = "Config files loaded!"; } if (!silent) { spinner.text = "Checking config compatibility…"; } if (!configObj.version || (!!configObj.version && compareVersions(VERSION, configObj.version) === 1)) { [configObj, logsObj] = yield migrate(configObj, logsObj, spinner); } const [isUptodate, manager] = yield isSameVersion(); if (!silent) { spinner === null || spinner === void 0 ? void 0 : spinner.success("App started!"); } showUpdateMessage(isUptodate, manager, true); return { config: configObj, logs: logsObj, }; }); } export default init; //# sourceMappingURL=init.js.map