From 3598c6f4ac68456130968cf3b01229867958f067 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Sat, 13 Sep 2025 22:10:07 -0500 Subject: [PATCH] updates --- src/api.js | 75 ++++++++++++++++++++++-------------------------------- 1 file changed, 30 insertions(+), 45 deletions(-) diff --git a/src/api.js b/src/api.js index 59aaa34..460a9dc 100644 --- a/src/api.js +++ b/src/api.js @@ -95,35 +95,22 @@ const getBucketFiles = async (folderName) => { return true; } if (!oldItems.find((key) => key === item.key)) { - // mark tar + sidecars old oldItems.push(item.key); oldItems.push(item.key + ".sha256"); oldItems.push(item.key + ".sig"); - // windows companion (_setup.exe) + sidecars if (parts[3] === "windows") { const setup_key = item.key.substring(0, item.key.length - ext.length) + "_setup.exe"; - const setup_item = ret.find((i) => i.key == setup_key); + + const setup_item = ret.find((item) => item.key == setup_key); if (setup_item) { oldItems.push(setup_key); oldItems.push(setup_key + ".sha256"); oldItems.push(setup_key + ".sig"); } } - - // darwin companion (.dmg) + sidecars <-- NEW - if (parts[3] === "darwin") { - const dmg_key = - item.key.substring(0, item.key.length - ext.length) + ".dmg"; - const dmg_item = ret.find((i) => i.key == dmg_key); - if (dmg_item) { - oldItems.push(dmg_key); - oldItems.push(dmg_key + ".sha256"); - oldItems.push(dmg_key + ".sig"); - } - } } return false; } @@ -132,21 +119,17 @@ const getBucketFiles = async (folderName) => { const totalCount = filteredItems.length * 3; const setup_items = []; - const dmg_items = []; // <-- NEW + const dmg_items = []; let setup_offset = 0; - for (let i = 0; i < totalCount && i < filteredItems.length; i += 3) { const parts = filteredItems[i].name.split("_"); - - // add tar sidecars let item = ret.filter( - (it) => it.name === filteredItems[i].name + ".sha256", + (item) => item.name === filteredItems[i].name + ".sha256", ); filteredItems.splice(i + 1, 0, ...item); - item = ret.filter((it) => it.name === filteredItems[i].name + ".sig"); + item = ret.filter((item) => item.name === filteredItems[i].name + ".sig"); filteredItems.splice(i + 2, 0, ...item); - // windows companion block (setup.exe + sidecars) if (parts[3] === "windows") { const setup_key = filteredItems[i].key.substring( @@ -154,10 +137,14 @@ const getBucketFiles = async (folderName) => { filteredItems[i].key.length - ext.length, ) + "_setup.exe"; - const setup_item = ret.find((it) => it.key == setup_key); + const setup_item = ret.find((item) => item.key == setup_key); if (setup_item) { - const setup_item2 = ret.find((it) => it.key == setup_key + ".sha256"); - const setup_item3 = ret.find((it) => it.key == setup_key + ".sig"); + const setup_item2 = ret.find( + (item) => item.key == setup_key + ".sha256", + ); + const setup_item3 = ret.find( + (item) => item.key == setup_key + ".sig", + ); setup_items.push([ { idx: i + 3 + setup_offset }, setup_item, @@ -167,31 +154,29 @@ const getBucketFiles = async (folderName) => { setup_offset += 3; } } + } - // darwin companion block (.dmg + sidecars) <-- NEW (mirrors setup flow) - if (parts[3] === "darwin") { - const dmg_key = - filteredItems[i].key.substring( - 0, - filteredItems[i].key.length - ext.length, - ) + ".dmg"; + if (parts[3] === "darwin") { + const dmg_key = + filteredItems[i].key.substring( + 0, + filteredItems[i].key.length - ext.length, + ) + ".dmg"; - const dmg_item = ret.find((it) => it.key == dmg_key); - if (dmg_item) { - const dmg_item2 = ret.find((it) => it.key == dmg_key + ".sha256"); - const dmg_item3 = ret.find((it) => it.key == dmg_key + ".sig"); - dmg_items.push([ - { idx: i + 3 + setup_offset }, - dmg_item, - dmg_item2, - dmg_item3, - ]); - setup_offset += 3; - } + const dmg_item = ret.find((item) => item.key == dmg_key); + if (dmg_item) { + const dmg_item2 = ret.find((item) => item.key == dmg_key + ".sha256"); + const dmg_item3 = ret.find((item) => item.key == dmg_key + ".sig"); + dmg_items.push([ + { idx: i + 3 + setup_offset }, + dmg_item, + dmg_item2, + dmg_item3, + ]); + setup_offset += 3; } } - // Insert darwin DMG blocks first, then Windows setup blocks (order doesn't matter across platforms) if (dmg_items.length > 0) { dmg_items.forEach((items) => { filteredItems.splice(items[0].idx, 0, items[1]);