@veecode-platform/safira-cli
Version:
Generate a microservice project from your spec.
40 lines (39 loc) • 2.27 kB
JavaScript
;
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;