Skip to content

Commit 5f55e96

Browse files
committed
switch "Copy Mods" to build from lockfileMods, which includes dependencies
1 parent 170456d commit 5f55e96

File tree

1 file changed

+15
-21
lines changed

1 file changed

+15
-21
lines changed

frontend/src/lib/components/left-bar/Settings.svelte

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import { languages } from '$lib/localization';
1212
import { type PopupSettings, getModalStore, popup } from '$lib/skeletonExtensions';
1313
import { addQueuedModAction, hasPendingProfileChange, queuedMods } from '$lib/store/actionQueue';
14-
import { lockfileMods, manifestMods } from '$lib/store/ficsitCLIStore';
14+
import { lockfileMods } from '$lib/store/ficsitCLIStore';
1515
import { error } from '$lib/store/generalStore';
1616
import {
1717
debug,
@@ -148,7 +148,7 @@
148148
149149
async function copyModList() {
150150
// Generate mod entries
151-
const modList = (await Promise.all(Object.keys($manifestMods).map(async (modReference) => {
151+
const modList = (await Promise.all(Object.keys($lockfileMods).map(async (modReference) => {
152152
let modName = modReference;
153153
if($offline) {
154154
modName = (await OfflineGetMod(modReference)).name;
@@ -159,33 +159,27 @@
159159
}
160160
}
161161
162-
// Only return info if the mod is enabled
163-
if($lockfileMods[modReference]) {
164-
return {
165-
friendlyName: modName,
166-
modReference,
167-
version: $lockfileMods[modReference].version,
168-
};
169-
} else {
170-
return undefined;
171-
}
172-
}))).filter((mod) => mod !== undefined);
162+
return {
163+
friendlyName: modName,
164+
modReference,
165+
version: $lockfileMods[modReference].version,
166+
};
167+
})));
173168
// Sort by Friendly Name
174-
// TODO Once we upgrade to Typescript 5.5 we don't need the non-null assertion operators https://stackoverflow.com/a/78681671
175169
modList.sort((a, b) => {
176-
const x = a!.friendlyName.toLowerCase();
177-
const y = b!.friendlyName.toLowerCase();
170+
const x = a.friendlyName.toLowerCase();
171+
const y = b.friendlyName.toLowerCase();
178172
return x.localeCompare(y);
179173
});
180174
// Get max lengths to use for padding
181-
const maxFriendlyNameLen = Math.max(...modList.map((mod) => mod!.friendlyName.length));
182-
const maxModReferenceLen = Math.max(...modList.map((mod) => mod!.modReference.length));
175+
const maxFriendlyNameLen = Math.max(...modList.map((mod) => mod.friendlyName.length));
176+
const maxModReferenceLen = Math.max(...modList.map((mod) => mod.modReference.length));
183177
// Create header and add all mods to string
184178
let modListString = `${'Mod Name'.padEnd(maxFriendlyNameLen + 1) + 'Mod Reference'.padEnd(maxModReferenceLen + 1)}Version\n`;
185179
modList.forEach((mod) => {
186-
mod!.friendlyName = mod!.friendlyName.padEnd(maxFriendlyNameLen, ' ');
187-
mod!.modReference = mod!.modReference.padEnd(maxModReferenceLen, ' ');
188-
modListString += `${mod!.friendlyName} ${mod!.modReference} ${mod!.version}\n`;
180+
mod.friendlyName = mod.friendlyName.padEnd(maxFriendlyNameLen, ' ');
181+
mod.modReference = mod.modReference.padEnd(maxModReferenceLen, ' ');
182+
modListString += `${mod.friendlyName} ${mod.modReference} ${mod.version}\n`;
189183
});
190184
const markdownCodeblockFence = '```';
191185
navigator.clipboard.writeText(`${markdownCodeblockFence}\n${modListString.trim()}\n${markdownCodeblockFence}`);

0 commit comments

Comments
 (0)