GSI - Employe Self Service Mobile
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

46 lines
2.0 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchMOTD = void 0;
const clc = require("colorette");
const semver = require("semver");
const apiv2_1 = require("./apiv2");
const configstore_1 = require("./configstore");
const logger_1 = require("./logger");
const api_1 = require("./api");
const utils = require("./utils");
const pkg = require("../package.json");
const ONE_DAY_MS = 1000 * 60 * 60 * 24;
function fetchMOTD() {
let motd = configstore_1.configstore.get("motd");
const motdFetched = configstore_1.configstore.get("motd.fetched") || 0;
if (motd && motdFetched > Date.now() - ONE_DAY_MS) {
if (motd.minVersion && semver.gt(motd.minVersion, pkg.version)) {
console.error(clc.red("Error:"), "CLI is out of date (on", clc.bold(pkg.version), ", need at least", clc.bold(motd.minVersion) + ")\n\nRun", clc.bold("npm install -g firebase-tools"), "to upgrade.");
process.exit(1);
}
if (motd.message && process.stdout.isTTY) {
const lastMessage = configstore_1.configstore.get("motd.lastMessage");
if (lastMessage !== motd.message) {
console.log();
console.log(motd.message);
console.log();
configstore_1.configstore.set("motd.lastMessage", motd.message);
}
}
}
else {
const origin = utils.addSubdomain(api_1.realtimeOrigin, "firebase-public");
const c = new apiv2_1.Client({ urlPrefix: origin, auth: false });
c.get("/cli.json")
.then((res) => {
motd = Object.assign({}, res.body);
configstore_1.configstore.set("motd", motd);
configstore_1.configstore.set("motd.fetched", Date.now());
})
.catch((err) => {
utils.logWarning("Unable to fetch the CLI MOTD and remote config.");
logger_1.logger.debug(`Failed to fetch MOTD ${err}`);
});
}
}
exports.fetchMOTD = fetchMOTD;