From 87212d397cdccd026d3541219f906ce4e89192b6 Mon Sep 17 00:00:00 2001 From: gbuomprisco Date: Mon, 7 Oct 2024 19:38:39 +0200 Subject: [PATCH] Display severity of current outdated version --- tooling/version/src/index.mjs | 62 +++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/tooling/version/src/index.mjs b/tooling/version/src/index.mjs index fa03a1b2f..deb2033a7 100644 --- a/tooling/version/src/index.mjs +++ b/tooling/version/src/index.mjs @@ -1,4 +1,5 @@ import { execSync } from 'node:child_process'; + import { checkPendingMigrations } from './migrations.mjs'; function runGitCommand(command) { @@ -15,7 +16,8 @@ function checkMakerkitVersion() { if (fetchResult === null) { console.info( - '\x1b[33m%s\x1b[0m', "⚠️ You have not setup 'upstream'. Please set up the upstream remote so you can update your Makerkit version.", + '\x1b[33m%s\x1b[0m', + "⚠️ You have not setup 'upstream'. Please set up the upstream remote so you can update your Makerkit version.", ); return; @@ -33,25 +35,59 @@ function checkMakerkitVersion() { } const count = parseInt(behindCount, 10); + const { severity } = getSeveriyLevel(count); - if (count > 0) { - console.log('\x1b[33m%s\x1b[0m', '⚠️ Your Makerkit version is outdated!'); - + if (severity.critical) { + // error emoji: ❌ + console.log( + '\x1b[31m%s\x1b[0m', + '❌ Your Makerkit version is outdated. Please update to the latest version.', + ); + } else if (severity.warning) { console.log( '\x1b[33m%s\x1b[0m', - `You are ${count} commit(s) behind the latest version.`, + '⚠️ Your Makerkit version is outdated! Best to update to the latest version.', ); - - console.log( - '\x1b[33m%s\x1b[0m', - 'Please consider updating to the latest version for the best experience.', - ); - - console.log('\x1b[36m%s\x1b[0m', 'To update, run: git pull upstream main'); } else { console.log('\x1b[32m%s\x1b[0m', '✅ Your Makerkit version is up to date!'); } + + if (count > 0) { + logInstructions(count); + } +} + +function logInstructions(count) { + console.log( + '\x1b[33m%s\x1b[0m', + `You are ${count} commit(s) behind the latest version.`, + ); + + console.log( + '\x1b[33m%s\x1b[0m', + 'Please consider updating to the latest version for bug fixes and optimizations that your version does not have.', + ); + + console.log('\x1b[36m%s\x1b[0m', 'To update, run: git pull upstream main'); +} + +function getSeveriyLevel(count) { + if (count > 5) { + return { + severity: 'critical', + }; + } + + if (count > 0) { + return { + severity: 'warning', + }; + } + + return { + severity: 'success', + }; } checkMakerkitVersion(); -checkPendingMigrations(); \ No newline at end of file +checkPendingMigrations();