Skip to content
This repository has been archived by the owner on Jun 6, 2022. It is now read-only.

Commit

Permalink
feat: add support to new libraryfolders.vdf format
Browse files Browse the repository at this point in the history
  • Loading branch information
bigujun authored and doZennn committed Aug 8, 2021
1 parent aba68b4 commit 1fd22a6
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions src/js/Steam.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,18 +79,15 @@ class Steam {
this.getSteamPath().then((steamPath) => {
const parsedLibFolders = VDF.parse(fs.readFileSync(join(steamPath, 'steamapps', 'libraryfolders.vdf'), 'utf-8'));
const games = [];
const libraries = [];

// Add Steam install dir
libraries.push(steamPath);
// Load extra library paths from libraryfolders.vdf
const extraLibraries = Object.entries(parsedLibFolders.LibraryFolders || parsedLibFolders.libraryfolders || {})
.filter(([key]) => !Number.isNaN(parseInt(key, 10)))
.filter(([_, library]) => typeof library === 'string' || library.mounted !== 0)
.map(([_, library]) => typeof library === 'string' ? library : library.path);

// Add library folders from libraryfolders.vdf
Object.keys(parsedLibFolders.LibraryFolders).forEach((key) => {
const library = parsedLibFolders.LibraryFolders[key];
if (!Number.isNaN(parseInt(key, 10))) {
libraries.push(library);
}
});
// Add Steam install dir and extra libraries
const libraries = [steamPath, ...extraLibraries]

log.info(`Found ${libraries.length} Steam libraries`);

Expand Down

0 comments on commit 1fd22a6

Please sign in to comment.