From e4a9a755cffb7f836fa33df42d975987e4602b24 Mon Sep 17 00:00:00 2001 From: Armando Navarro Date: Tue, 7 Jul 2026 15:46:01 -0700 Subject: [PATCH] refactor(schematics): derive the firebase-tools version message from a shared constant The minimum-version check and its error message were separate string literals. They drifted once before (the message read "13.0.0+" while the check required 14.0.0). A single minFirebaseToolsVersion constant, with the message built from it, keeps the two in sync. --- src/schematics/firebaseTools.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/schematics/firebaseTools.ts b/src/schematics/firebaseTools.ts index fdc2a46f1..be6553c8e 100644 --- a/src/schematics/firebaseTools.ts +++ b/src/schematics/firebaseTools.ts @@ -8,6 +8,9 @@ declare global { var firebaseTools: FirebaseTools|undefined; } +// The minimum firebase-tools version the schematics require. +const minFirebaseToolsVersion = '14.0.0'; + export const getFirebaseTools = () => globalThis.firebaseTools ? Promise.resolve(globalThis.firebaseTools) : new Promise((resolve, reject) => { @@ -44,8 +47,8 @@ export const getFirebaseTools = () => globalThis.firebaseTools ? globalThis.firebaseTools = firebaseTools; const version = firebaseTools.cli.version(); console.log(`Using firebase-tools version ${version}`); - if (semverCompare(version, '14.0.0') === -1) { - console.error('firebase-tools version 14.0.0+ is required, please upgrade and run again'); + if (semverCompare(version, minFirebaseToolsVersion) === -1) { + console.error(`firebase-tools version ${minFirebaseToolsVersion}+ is required, please upgrade and run again`); return Promise.reject(); } return firebaseTools;