UNPKG

vtex

Version:

The platform for e-commerce apps

40 lines (39 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkForOutdated = void 0; const initTime = process.hrtime(); const ToolbeltConfig_1 = require("../../api/clients/IOClients/apps/ToolbeltConfig"); const ErrorKinds_1 = require("../../api/error/ErrorKinds"); const ErrorReport_1 = require("../../api/error/ErrorReport"); const TelemetryCollector_1 = require("../../lib/telemetry/TelemetryCollector"); const hrTimeToMs_1 = require("../../lib/utils/hrTimeToMs"); const OutdatedCheckerStore_1 = require("./OutdatedCheckerStore"); exports.checkForOutdated = async (store, pkgVersion) => { try { const client = ToolbeltConfig_1.ToolbeltConfig.createClient({}, { retries: 3 }); const { validVersion } = await client.versionValidate(pkgVersion); store.setOutdatedInfo({ versionChecked: pkgVersion, outdated: validVersion === false, }); store.setLastOutdatedCheck(Date.now()); } catch (err) { const telemetryCollector = TelemetryCollector_1.TelemetryCollector.getCollector(); const errorReport = telemetryCollector.registerError(ErrorReport_1.ErrorReport.create({ kind: ErrorKinds_1.ErrorKinds.OUTDATED_CHECK_ERROR, originalError: err, })); console.error('Error checking for outdated', JSON.stringify(errorReport.toObject(), null, 2)); telemetryCollector.flush(); } }; if (require.main === module) { // eslint-disable-next-line prefer-destructuring const storeFilePath = process.argv[2]; const store = new OutdatedCheckerStore_1.OutdatedCheckerStore(storeFilePath); // eslint-disable-next-line prefer-destructuring const pkgVersion = process.argv[3]; exports.checkForOutdated(store, pkgVersion); console.log(`Finished checking for outdated after ${hrTimeToMs_1.hrTimeToMs(process.hrtime(initTime))}`); }