mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-21 04:01:10 +10:00
fix: ignore imported versions
This commit is contained in:
@ -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: {
|
||||||
|
|||||||
@ -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 &&
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user