UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

40 lines (39 loc) 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const color_1 = tslib_1.__importDefault(require("@oclif/color")); const constants_1 = require("../../constants"); const safira_upgrade_1 = require("../../safira-globals/safira-upgrade"); const safira_version_1 = require("../../safira-globals/safira-version"); const date_utils_1 = require("../../utils/date-utils"); const safiraColors = tslib_1.__importStar(require("../../colors.json")); const version_utils_1 = require("../../utils/version-utils"); const exclude = new Set(["upgrade", "--version", "autocomplete:script"]); const upgradeHook = async function (opts) { if (exclude.has(opts.id || "")) this.exit(); const todayFormat = new Date().toJSON().split("T")[0]; const today = date_utils_1.DateUtils.parseDate(todayFormat); const file = safira_upgrade_1.SafiraUpgrade.instance.getUpgrade(); const lastUpdateCheck = date_utils_1.DateUtils.parseDate(file.lastUpdateCheck); const latestVersion = await safira_version_1.SafiraVersion.latestVersion(); if (today > lastUpdateCheck) { if (version_utils_1.VersionUtils.compareVersions(safira_version_1.SafiraVersion.version, latestVersion) === -1) { showVersionWarning(safira_version_1.SafiraVersion.version, latestVersion); } safira_upgrade_1.SafiraUpgrade.instance.updateUpgrade({ lastUpdateCheck: todayFormat, lastVersion: latestVersion }); } else if (version_utils_1.VersionUtils.compareVersions(safira_version_1.SafiraVersion.version, file.lastVersion) === -1) { showVersionWarning(safira_version_1.SafiraVersion.version, file.lastVersion); } else { safira_upgrade_1.SafiraUpgrade.instance.updateUpgrade({ lastUpdateCheck: todayFormat, lastVersion: safira_version_1.SafiraVersion.version }); } }; const showVersionWarning = function (currentVersion, latestVersion) { const neonGreen = color_1.default.hex(safiraColors["neon-green"]); console.log(constants_1.asciiSafira); console.log((`${color_1.default.bold.yellow("Warning:")} safira-cli update avaliable to ${neonGreen.bold(latestVersion)} from ${neonGreen.bold(currentVersion)}`)); console.log(""); }; exports.default = upgradeHook;