1
0
forked from mirrors/0ad

Fix eslint rule 'prefer-const' in modmod

eslint --no-config-lookup --fix --rule '"prefer-const": 1' \
    binaries/data/mods/mod

Ref: #7812
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
This commit is contained in:
Ralph Sennhauser
2025-05-06 13:49:01 +02:00
parent 6aeb09228a
commit 7684e12717
9 changed files with 89 additions and 89 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ function setStringTags(text, tags)
{
let result = text;
for (let tag in tags)
for (const tag in tags)
result = '[' + tag + '="' + tags[tag] + '"]' + result + '[/' + tag + ']';
return result;
+3 -3
View File
@@ -5,7 +5,7 @@
function filesizeToObj(filesize)
{
// We are unlikely to download files measured in units greater than GiB.
let units = [
const units = [
translateWithContext("filesize unit", "B"),
translateWithContext("filesize unit", "KiB"),
translateWithContext("filesize unit", "MiB"),
@@ -195,7 +195,7 @@ function translateObjectKeys(object, keys)
{
if (keys instanceof Array)
{
for (let property in object)
for (const property in object)
{
if (keys.indexOf(property) > -1)
{
@@ -213,7 +213,7 @@ function translateObjectKeys(object, keys)
// An empty value means no context.
else
{
for (let property in object)
for (const property in object)
{
if (property in keys)
{
+2 -2
View File
@@ -31,7 +31,7 @@ async function openTerms(page)
function checkTerms()
{
for (let page in g_Terms)
for (const page in g_Terms)
if (!g_Terms[page].accepted)
return g_Terms[page].instruction || page;
@@ -47,6 +47,6 @@ function getTermsHash(page)
function loadTermsAcceptance()
{
for (let page in g_Terms)
for (const page in g_Terms)
g_Terms[page].accepted = Engine.ConfigDB_GetValue("user", g_Terms[page].config) == getTermsHash(page);
}
+20 -20
View File
@@ -153,9 +153,9 @@ function init(data)
function onTick(closePageCallback)
{
let progressData = Engine.ModIoGetDownloadProgress();
const progressData = Engine.ModIoGetDownloadProgress();
let handler = g_ModIOState[progressData.status];
const handler = g_ModIOState[progressData.status];
if (!handler)
{
warn("Unrecognized progress status: " + progressData.status);
@@ -169,16 +169,16 @@ function onTick(closePageCallback)
function displayMods()
{
let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
let selectedMod = modsAvailableList.list[modsAvailableList.selected];
const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
const selectedMod = modsAvailableList.list[modsAvailableList.selected];
modsAvailableList.selected = -1;
let displayedMods = clone(g_ModsAvailableOnline);
for (let i = 0; i < displayedMods.length; ++i)
displayedMods[i].i = i;
let filterColumns = ["name", "name_id", "summary"];
let filterText = Engine.GetGUIObjectByName("modFilter").caption.toLowerCase();
const filterColumns = ["name", "name_id", "summary"];
const filterText = Engine.GetGUIObjectByName("modFilter").caption.toLowerCase();
if (Engine.GetGUIObjectByName("compatibilityFilter").checked)
displayedMods = displayedMods.filter(mod => !mod.invalid);
displayedMods = displayedMods.filter(mod => filterColumns.some(column => mod[column].toLowerCase().indexOf(filterText) != -1));
@@ -200,7 +200,7 @@ function displayMods()
function clearModList()
{
let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
modsAvailableList.selected = -1;
modsAvailableList.list_name = [];
modsAvailableList.list_name_id = [];
@@ -212,7 +212,7 @@ function clearModList()
function selectedModIndex()
{
let modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
const modsAvailableList = Engine.GetGUIObjectByName("modsAvailableList");
if (modsAvailableList.selected == -1)
return undefined;
@@ -227,9 +227,9 @@ function isSelectedModInvalid(selected)
function showModDescription()
{
let selected = selectedModIndex();
let isSelected = selected !== undefined;
let isInvalid = isSelectedModInvalid(selected);
const selected = selectedModIndex();
const isSelected = selected !== undefined;
const isInvalid = isSelectedModInvalid(selected);
Engine.GetGUIObjectByName("downloadButton").enabled = isSelected && !isInvalid;
Engine.GetGUIObjectByName("modDescription").caption = isSelected && !isInvalid ? g_ModsAvailableOnline[selected].summary : "";
Engine.GetGUIObjectByName("modError").caption = isSelected && isInvalid ? sprintf(translate("Invalid mod: %(error)s"), { "error": g_ModsAvailableOnline[selected].error }) : "";
@@ -270,7 +270,7 @@ async function updateModList(closePageCallback)
async function downloadMod()
{
let selected = selectedModIndex();
const selected = selectedModIndex();
if (isSelectedModInvalid(selected))
return;
@@ -314,10 +314,10 @@ async function progressDialog(dialogCaption, dialogTitle, showProgressBar, butto
{
Engine.GetGUIObjectByName("downloadDialog_title").caption = dialogTitle;
let downloadDialog_caption = Engine.GetGUIObjectByName("downloadDialog_caption");
const downloadDialog_caption = Engine.GetGUIObjectByName("downloadDialog_caption");
downloadDialog_caption.caption = dialogCaption;
let size = downloadDialog_caption.size;
const size = downloadDialog_caption.size;
size.rbottom = showProgressBar ? 40 : 80;
downloadDialog_caption.size = size;
@@ -342,11 +342,11 @@ async function progressDialog(dialogCaption, dialogTitle, showProgressBar, butto
*/
function updateProgressBar(progress, totalSize)
{
let progressPercent = Math.ceil(progress * 100);
const progressPercent = Math.ceil(progress * 100);
Engine.GetGUIObjectByName("downloadDialog_progressBar").progress = progressPercent;
let transferredSize = progress * totalSize;
let transferredSizeObj = filesizeToObj(transferredSize);
const transferredSize = progress * totalSize;
const transferredSizeObj = filesizeToObj(transferredSize);
// Translation: Mod file download indicator. Current size over expected final size, with percentage complete.
Engine.GetGUIObjectByName("downloadDialog_progressText").caption = sprintf(translate("%(current)s / %(total)s (%(percent)s%%)"), {
"current": filesizeToObj(totalSize).unit == transferredSizeObj.unit ? transferredSizeObj.filesize : filesizeToString(transferredSize),
@@ -354,9 +354,9 @@ function updateProgressBar(progress, totalSize)
"percent": progressPercent
});
let elapsedTime = Date.now() - g_RequestStartTime;
let remainingTime = progressPercent ? (100 - progressPercent) * elapsedTime / progressPercent : 0;
let avgSpeed = filesizeToObj(transferredSize / (elapsedTime / 1000));
const elapsedTime = Date.now() - g_RequestStartTime;
const remainingTime = progressPercent ? (100 - progressPercent) * elapsedTime / progressPercent : 0;
const avgSpeed = filesizeToObj(transferredSize / (elapsedTime / 1000));
// Translation: Mod file download status message.
Engine.GetGUIObjectByName("downloadDialog_status").caption = sprintf(translate("Time Elapsed: %(elapsed)s\nEstimated Time Remaining: %(remaining)s\nAverage Speed: %(avgSpeed)s"), {
"elapsed": timeToString(elapsedTime),
+40 -40
View File
@@ -133,7 +133,7 @@ function loadEnabledMods()
function validateMods()
{
for (let folder in g_Mods)
for (const folder in g_Mods)
validateMod(folder, g_Mods[folder], true);
}
@@ -148,7 +148,7 @@ function initGUIFilters()
function initGUIButtons(data)
{
// Either get back to the previous page or quit if there is no previous page
let hasPreviousPage = !data || data.cancelbutton || false;
const hasPreviousPage = !data || data.cancelbutton || false;
Engine.GetGUIObjectByName("cancelButton").hidden = !hasPreviousPage;
Engine.GetGUIObjectByName("quitButton").hidden = hasPreviousPage;
// Turn 'save' off, it will be enabled on any change.
@@ -179,11 +179,11 @@ function displayModLists()
function displayModList(listObjectName, folders, enabled)
{
let listObject = Engine.GetGUIObjectByName(listObjectName);
const listObject = Engine.GetGUIObjectByName(listObjectName);
if (listObjectName == "modsDisabledList")
{
let sortFolder = folder => String(getMod(folder)[listObject.selected_column] || folder);
const sortFolder = folder => String(getMod(folder)[listObject.selected_column] || folder);
folders.sort((folder1, folder2) =>
listObject.selected_column_order *
sortFolder(folder1).localeCompare(sortFolder(folder2)));
@@ -193,7 +193,7 @@ function displayModList(listObjectName, folders, enabled)
if (!enabled && Engine.GetGUIObjectByName("modCompatibleFilter").checked)
folders = folders.filter(folder => g_ModsCompatibility[folder]);
let selected = listObject.selected !== -1 ? listObject.list_name[listObject.selected] : null;
const selected = listObject.selected !== -1 ? listObject.list_name[listObject.selected] : null;
listObject.list_name = folders.map(folder => colorMod(folder, getMod(folder).name || "", enabled));
listObject.list_folder = folders.map(folder => colorMod(folder, folder, enabled));
@@ -219,7 +219,7 @@ function getModColor(folder, enabled)
function colorMod(folder, text, enabled)
{
let color = getModColor(folder, enabled);
const color = getModColor(folder, enabled);
return color ? coloredText(text, color) : text;
}
@@ -230,7 +230,7 @@ function reloadDisabledMods()
function enableMod()
{
let modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList");
const modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList");
let pos = modsDisabledList.selected;
if (pos == -1 || !g_ModsCompatibility[g_ModsDisabledFiltered[pos]])
@@ -252,13 +252,13 @@ function enableMod()
function disableMod()
{
let modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList");
let pos = modsEnabledList.selected;
const modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList");
const pos = modsEnabledList.selected;
if (pos == -1)
return;
// Find true position of disabled mod and remove it
let disabledMod = g_ModsEnabledFiltered[pos];
const disabledMod = g_ModsEnabledFiltered[pos];
for (let i = 0; i < g_ModsEnabled.length; ++i)
if (g_ModsEnabled[i] == disabledMod)
{
@@ -292,10 +292,10 @@ function disableMod()
function filterMod(folder)
{
let mod = getMod(folder);
const mod = getMod(folder);
let negateFilter = Engine.GetGUIObjectByName("negateFilter").checked;
let searchText = Engine.GetGUIObjectByName("modGenericFilter").caption;
const negateFilter = Engine.GetGUIObjectByName("negateFilter").checked;
const searchText = Engine.GetGUIObjectByName("modGenericFilter").caption;
if (searchText &&
folder.indexOf(searchText) == -1 &&
@@ -326,17 +326,17 @@ function moveCurrItem(objectName, up)
if (Engine.GetGUIObjectByName("modGenericFilter").caption)
return;
let obj = Engine.GetGUIObjectByName(objectName);
let idx = obj.selected;
const obj = Engine.GetGUIObjectByName(objectName);
const idx = obj.selected;
if (idx == -1)
return;
let num = obj.list.length;
let idx2 = idx + (up ? -1 : 1);
const num = obj.list.length;
const idx2 = idx + (up ? -1 : 1);
if (idx2 < 0 || idx2 >= num)
return;
let tmp = g_ModsEnabled[idx];
const tmp = g_ModsEnabled[idx];
g_ModsEnabled[idx] = g_ModsEnabled[idx2];
g_ModsEnabled[idx2] = tmp;
@@ -353,7 +353,7 @@ function areDependenciesMet(folder, disabledAction = false)
if (!g_Mods[folder])
return false;
for (let dependency of getMod(folder).dependencies)
for (const dependency of getMod(folder).dependencies)
{
if (!isDependencyMet(dependency))
return false;
@@ -364,7 +364,7 @@ function areDependenciesMet(folder, disabledAction = false)
function recomputeCompatibility(disabledAction = false)
{
for (let mod in g_Mods)
for (const mod in g_Mods)
g_ModsCompatibility[mod] = areDependenciesMet(mod, disabledAction);
}
@@ -373,8 +373,8 @@ function recomputeCompatibility(disabledAction = false)
*/
function isDependencyMet(dependency)
{
let operator = dependency.match(g_RegExpComparisonOperator);
let [name, version] = operator ? dependency.split(operator[0]) : [dependency, undefined];
const operator = dependency.match(g_RegExpComparisonOperator);
const [name, version] = operator ? dependency.split(operator[0]) : [dependency, undefined];
return g_ModsEnabled.some(folder =>
getMod(folder).name == name &&
@@ -388,16 +388,16 @@ function isDependencyMet(dependency)
*/
function versionSatisfied(version1, operator, version2)
{
let versionList1 = version1.split(/[-_]/)[0].split(/\./g);
let versionList2 = version2.split(/[-_]/)[0].split(/\./g);
const versionList1 = version1.split(/[-_]/)[0].split(/\./g);
const versionList2 = version2.split(/[-_]/)[0].split(/\./g);
let eq = operator.indexOf("=") != -1;
let lt = operator.indexOf("<") != -1;
let gt = operator.indexOf(">") != -1;
const eq = operator.indexOf("=") != -1;
const lt = operator.indexOf("<") != -1;
const gt = operator.indexOf(">") != -1;
for (let i = 0; i < Math.min(versionList1.length, versionList2.length); ++i)
{
let diff = +versionList1[i] - +versionList2[i];
const diff = +versionList1[i] - +versionList2[i];
if (gt && diff > 0 || lt && diff < 0)
return true;
@@ -407,7 +407,7 @@ function versionSatisfied(version1, operator, version2)
}
// common prefix matches
let ldiff = versionList1.length - versionList2.length;
const ldiff = versionList1.length - versionList2.length;
if (!ldiff)
return eq;
@@ -420,8 +420,8 @@ function versionSatisfied(version1, operator, version2)
function sortEnabledMods()
{
let dependencies = {};
for (let folder of g_ModsEnabled)
const dependencies = {};
for (const folder of g_ModsEnabled)
dependencies[folder] = getMod(folder).dependencies.map(d => d.split(g_RegExpComparisonOperator)[0]);
g_ModsEnabled.sort((folder1, folder2) =>
@@ -433,13 +433,13 @@ function sortEnabledMods()
function selectedMod(listObjectName)
{
let listObject = Engine.GetGUIObjectByName(listObjectName);
let isPickedDisabledList = listObjectName == "modsDisabledList";
let otherListObject = Engine.GetGUIObjectByName(isPickedDisabledList ?
const listObject = Engine.GetGUIObjectByName(listObjectName);
const isPickedDisabledList = listObjectName == "modsDisabledList";
const otherListObject = Engine.GetGUIObjectByName(isPickedDisabledList ?
"modsEnabledList" : "modsDisabledList");
let toggleModButton = Engine.GetGUIObjectByName("toggleModButton");
let isModSelected = listObject.selected != -1;
const toggleModButton = Engine.GetGUIObjectByName("toggleModButton");
const isModSelected = listObject.selected != -1;
if (isModSelected)
{
otherListObject.selected = -1;
@@ -472,11 +472,11 @@ function selectedMod(listObjectName)
*/
function getSelectedModUrl()
{
let modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList");
let modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList");
const modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList");
const modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList");
let list = modsEnabledList.selected == -1 ? modsDisabledList : modsEnabledList;
let folder = list.list[list.selected];
const list = modsEnabledList.selected == -1 ? modsDisabledList : modsEnabledList;
const folder = list.list[list.selected];
return folder && getMod(folder) && getMod(folder).url || undefined;
}
@@ -73,9 +73,9 @@ function validateMod(folder, modData, notify)
{
let valid = true;
for (let propertyName in g_ModProperties)
for (const propertyName in g_ModProperties)
{
let property = g_ModProperties[propertyName];
const property = g_ModProperties[propertyName];
if (modData[propertyName] === undefined)
{
@@ -107,7 +107,7 @@ function validateMod(folder, modData, notify)
function validateName(folder, modData, notify)
{
let valid = modData.name.match(globalRegExp(g_RegExpName));
const valid = modData.name.match(globalRegExp(g_RegExpName));
if (!valid && notify)
warn("mod name of " + folder + " may only contain alphanumeric characters, but found '" + modData.name + "'!");
@@ -117,7 +117,7 @@ function validateName(folder, modData, notify)
function validateVersion(folder, modData, notify)
{
let valid = modData.version.match(globalRegExp(g_RegExpVersion));
const valid = modData.version.match(globalRegExp(g_RegExpVersion));
if (!valid && notify)
warn("mod version of " + folder + " may only contain numbers and at most 2 periods, but found '" + modData.version + "'!");
@@ -129,7 +129,7 @@ function validateDependencies(folder, modData, notify)
{
let valid = true;
for (let dependency of modData.dependencies)
for (const dependency of modData.dependencies)
{
valid = valid && (
dependency.match(globalRegExp(g_RegExpName)) ||
@@ -144,7 +144,7 @@ function validateDependencies(folder, modData, notify)
function validateLabel(folder, modData, notify)
{
let valid = modData.label.match(g_RegExpLabel);
const valid = modData.label.match(g_RegExpLabel);
if (!valid && notify)
warn("mod label of " + folder + " may not be empty!");
@@ -84,10 +84,10 @@ const g_TestModsInvalid = {
}
};
for (let folder in g_ValidTestMods)
for (const folder in g_ValidTestMods)
if (!validateMod(folder, g_ValidTestMods[folder], false))
throw new Error("Valid mod '" + folder + "' should have passed the test.");
for (let folder in g_TestModsInvalid)
for (const folder in g_TestModsInvalid)
if (validateMod(folder, g_TestModsInvalid[folder], false))
throw new Error("Invalid mod '" + folder + "' should not have passed the test.");
+6 -6
View File
@@ -8,22 +8,22 @@ function init(data)
Engine.GetGUIObjectByName("mbTitleBar").caption = data.title;
// Set subject
let mbTextObj = Engine.GetGUIObjectByName("mbText");
const mbTextObj = Engine.GetGUIObjectByName("mbText");
mbTextObj.caption = data.message;
if (data.font)
mbTextObj.font = data.font;
// Default behaviour
let mbCancelHotkey = Engine.GetGUIObjectByName("mbCancelHotkey");
const mbCancelHotkey = Engine.GetGUIObjectByName("mbCancelHotkey");
// Calculate size
let mbLRDiff = data.width / 2;
let mbUDDiff = data.height / 2;
const mbLRDiff = data.width / 2;
const mbUDDiff = data.height / 2;
Engine.GetGUIObjectByName("mbMain").size = "50%-" + mbLRDiff + " 50%-" + mbUDDiff + " 50%+" + mbLRDiff + " 50%+" + mbUDDiff;
let captions = data.buttonCaptions || [translate("OK")];
const captions = data.buttonCaptions || [translate("OK")];
let mbButton = [];
const mbButton = [];
const closePromise = setButtonCaptionsAndVisibility(mbButton, captions, mbCancelHotkey, "mbButton");
distributeButtonsHorizontally(mbButton, captions);
@@ -41,7 +41,7 @@ function initURLButtons(termsURL, urlButtons)
});
urlButtons.forEach((urlButton, i) => {
let button = Engine.GetGUIObjectByName("button[" + i + "]");
const button = Engine.GetGUIObjectByName("button[" + i + "]");
button.caption = urlButton.caption;
button.hidden = false;
button.tooltip = sprintf(translate("Open %(url)s in the browser."), {
@@ -55,23 +55,23 @@ function initURLButtons(termsURL, urlButtons)
function initLanguageSelection()
{
let languageLabel = Engine.GetGUIObjectByName("languageLabel");
let languageLabelWidth = Engine.GetTextWidth(languageLabel.font, languageLabel.caption);
const languageLabel = Engine.GetGUIObjectByName("languageLabel");
const languageLabelWidth = Engine.GetTextWidth(languageLabel.font, languageLabel.caption);
languageLabel.size = "0 0 " + languageLabelWidth + " 100%";
let languageDropdown = Engine.GetGUIObjectByName("languageDropdown");
const languageDropdown = Engine.GetGUIObjectByName("languageDropdown");
languageDropdown.size = (languageLabelWidth + 10) + " 4 100% 100%";
languageDropdown.list = (() => {
let displayNames = Engine.GetSupportedLocaleDisplayNames();
let baseNames = Engine.GetSupportedLocaleBaseNames();
const displayNames = Engine.GetSupportedLocaleDisplayNames();
const baseNames = Engine.GetSupportedLocaleBaseNames();
// en-US
let list = [displayNames[0]];
const list = [displayNames[0]];
// current locale
let currentLocaleDict = Engine.GetFallbackToAvailableDictLocale(Engine.GetCurrentLocale());
let index = baseNames.indexOf(currentLocaleDict);
const currentLocaleDict = Engine.GetFallbackToAvailableDictLocale(Engine.GetCurrentLocale());
const index = baseNames.indexOf(currentLocaleDict);
if (index == -1)
warn("Language '" + currentLocaleDict + "' is not available");
else if (currentLocaleDict != baseNames[0])