fix: ignore imported versions

This commit is contained in:
DecDuck
2025-11-20 11:25:14 +11:00
parent beb824c8d9
commit d71bf7cb1a
4 changed files with 7 additions and 3 deletions

View File

@ -175,6 +175,9 @@ export default defineNuxtConfig({
}, },
i18n: { i18n: {
bundle: {
optimizeTranslationDirective: false,
},
defaultLocale: "en-us", defaultLocale: "en-us",
strategy: "no_prefix", strategy: "no_prefix",
experimental: { experimental: {

View File

@ -105,7 +105,7 @@ class LibraryManager {
if (!game) return undefined; if (!game) return undefined;
try { try {
const versions = await provider.listVersions(libraryPath); const versions = await provider.listVersions(libraryPath, game.versions.map((v) => v.versionName));
const unimportedVersions = versions.filter( const unimportedVersions = versions.filter(
(e) => (e) =>
game.versions.findIndex((v) => v.versionName == e) == -1 && game.versions.findIndex((v) => v.versionName == e) == -1 &&

View File

@ -24,7 +24,7 @@ export abstract class LibraryProvider<CFG> {
* @param game folder name of the game to list versions for * @param game folder name of the game to list versions for
* @returns list of version folder names * @returns list of version folder names
*/ */
abstract listVersions(game: string): Promise<string[]>; abstract listVersions(game: string, existingPaths?: string[]): Promise<string[]>;
/** /**
* @param game folder name of the game * @param game folder name of the game

View File

@ -54,11 +54,12 @@ export class FilesystemProvider
return folderDirs; return folderDirs;
} }
async listVersions(game: string): Promise<string[]> { async listVersions(game: string, ignoredVersions?: string[]): Promise<string[]> {
const gameDir = path.join(this.config.baseDir, game); const gameDir = path.join(this.config.baseDir, game);
if (!fs.existsSync(gameDir)) throw new GameNotFoundError(); if (!fs.existsSync(gameDir)) throw new GameNotFoundError();
const versionDirs = fs.readdirSync(gameDir); const versionDirs = fs.readdirSync(gameDir);
const validVersionDirs = versionDirs.filter((e) => { const validVersionDirs = versionDirs.filter((e) => {
if(ignoredVersions && ignoredVersions.includes(e)) return false
const fullDir = path.join(this.config.baseDir, game, e); const fullDir = path.join(this.config.baseDir, game, e);
return DROPLET_HANDLER.hasBackendForPath(fullDir); return DROPLET_HANDLER.hasBackendForPath(fullDir);
}); });