firebase-tools
Version:
Command-Line Interface for Firebase
31 lines (30 loc) • 1.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExtensionReplacement = getExtensionReplacement;
exports.getDeprecationWarningMessage = getDeprecationWarningMessage;
const replacementsData = require("./replacements.json");
const DECOMMISSION_DATE_STR = "March 31, 2027";
const registry = replacementsData;
function getExtensionReplacement(extensionRef) {
if (!extensionRef) {
return undefined;
}
return registry.replacements?.[extensionRef];
}
function getDeprecationWarningMessage(extensionRef) {
const replacement = getExtensionReplacement(extensionRef);
if (!replacement) {
return undefined;
}
switch (replacement.status) {
case "REPLACEMENT_AVAILABLE":
return (`Extension '${extensionRef}' is deprecated and will be decommissioned on ${DECOMMISSION_DATE_STR}.\n` +
` Recommended replacement: ${replacement.npmPackage}`);
case "CONFIRMED_NO_REPLACEMENT":
return (`Extension '${extensionRef}' is deprecated and will be decommissioned on ${DECOMMISSION_DATE_STR}.\n` +
` Note: No npm package replacement is planned for this extension.`);
case "PENDING_PUBLISHER":
return (`Extension '${extensionRef}' is deprecated and will be decommissioned on ${DECOMMISSION_DATE_STR}.\n` +
` A replacement package has not yet been announced by the publisher.`);
}
}