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
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;
|