https://github.com/kabeep/node-steam-library
đŽ Get the installation directory and application list of Steam through the Windows registry.
https://github.com/kabeep/node-steam-library
Last synced: 5 months ago
JSON representation
đŽ Get the installation directory and application list of Steam through the Windows registry.
- Host: GitHub
- URL: https://github.com/kabeep/node-steam-library
- Owner: kabeep
- License: mit
- Created: 2024-09-17T06:37:11.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-09T07:08:32.000Z (over 1 year ago)
- Last Synced: 2025-10-24T10:40:34.288Z (9 months ago)
- Language: TypeScript
- Homepage:
- Size: 20.5 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-steam-library
Obtain the installation directory and application list of Steam through the Windows registry.
---
English | [įŽäŊ䏿](README.zh-CN.md)
[](#)
## đ Introduction
> [!IMPORTANT]
> Only Windows supported.
Node module that interacts with the Steam installation on a user's system. This library provides utilities to get Steam
root path, retrieve Steam library information, and list installed apps.
## âī¸ Installation
```bash
npm install @kabeep/node-steam-library --save
```
```bash
yarn add @kabeep/node-steam-library
```
```bash
pnpm add @kabeep/node-steam-library
```
## đ Usage
CommonJS
```javascript
const steamLib = require('@kabeep/node-steam-library');
```
or ESModule
```javascript
import steamLib from '@kabeep/node-steam-library';
```
---
#### Methods: `getRootPath()`
Retrieve the installation path of Steam from the Windows registry.
```javascript
steamLib.getRootPath
.then(console.log)
.catch(console.error);
```
#### Returns: `Promise`
---
#### Methods: `getLibrary()`
Retrieve the Steam library information.
```javascript
steamLib.getLibrary
.then(console.log)
.catch(console.error);
```
#### Returns: `Promise`
**SteamLibraryOption:**
| Property | Type | Description | Example |
|----------|----------|----------------------------|--------------------------------|
| library | `string` | Path to the library folder | `"G:\\path\\to\\SteamLibrary"` |
| id | `string` | Apps ID | `"321"` |
---
#### Methods: `getApps()`
Retrieve all the application information of the Steam library.
```javascript
steamLib.getApps
.then(console.log)
.catch(console.error);
```
#### Returns: `Promise`
**SteamAppOption:**
| Property | Type | Description | Example |
|-------------|----------|-------------------|-----------------------------------------------------------------------------------------------------|
| id | `number` | Apps ID | `321` |
| name | `string` | Apps name | `"Counter-Strike: Global Offensive"` |
| installPath | `string` | Apps install path | `"G:\\path\\to\\SteamLibrary\\Counter-Strike: Global Offensive"` |
| modPath | `string` | Apps mod path | `"G:\\path\\to\\SteamLibrary\\Counter-Strike: Global Offensive\\steamapps\\workshop\\content\\321"` |
| language | `string` | Apps locale | `"english"` |
## â Error Codes
```javascript
steamLib.getApps()
.then(console.log)
.catch((err) => {
// string
console.log(err.code);
});
```
#### EUNKNOWN
> Unknown error that doesn't fall into any specific category
#### EREGISTRY
> An error related to registry operations, such as failure to read from to the Windows registry.
#### ELIBRARY
> An error related to Steam library operations, such as issues with finding or parsing the Steam library folders.
#### EMANIFEST
> An error related to manifest files, such as missing or malformed Steam manifest files.
## đ Related
- [vdf](https://github.com/node-steam/vdf) - Module to convert Valve's KeyValue format to JSON and back.
- [node-winreg](https://github.com/fresc81/node-winreg) - node module that provides access to the Windows Registry
through the REG commandline tool.
## đ¤ Contribution
Contributions via Pull Requests or [Issues](https://github.com/kabeep/node-steam-library/issues) are welcome.
## đ License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.