Commit 875c77f2c3 for handsontable.com

commit 875c77f2c394b7e4ab5bd9369700a5a47143b1aa
Author: Krzysztof Budnik <571316+budnix@users.noreply.github.com>
Date:   Tue May 19 15:51:39 2026 +0200

    Fix setVersion crash when version is already set (idempotent re-run)

diff --git a/scripts/utils/pre-release.mjs b/scripts/utils/pre-release.mjs
index de8993d06e..6644a98825 100644
--- a/scripts/utils/pre-release.mjs
+++ b/scripts/utils/pre-release.mjs
@@ -1,5 +1,6 @@
 import path from 'path';
 import { fileURLToPath } from 'url';
+import { readFileSync } from 'fs';
 import moment from 'moment';
 import replace from 'replace-in-file';
 import inquirer from 'inquirer';
@@ -288,9 +289,14 @@ function validateReplacementStatus(replacementStatus, replacedString) {
     const filePath = infoObj.file.replace('./', '');

     if (!infoObj.hasChanged) {
-      displayErrorMessage(`${filePath} was not modified.`);
-      versionReplaced = false;
-
+      const alreadySet = readFileSync(infoObj.file, 'utf8').includes(replacedString);
+
+      if (alreadySet) {
+        displayConfirmationMessage(`- '${replacedString}' already set in ${path.relative(process.cwd(), filePath)}.`);
+      } else {
+        displayErrorMessage(`${filePath} was not modified.`);
+        versionReplaced = false;
+      }
     } else {
       displayConfirmationMessage(`- Saved '${replacedString}' to ${path.relative(process.cwd(), filePath)}.`);
     }