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