drivelist
List all connected drives in your computer, in all major operating systems.
Notice that this module does not require admin privileges to get the drives in any supported operating system.
Supports:
- Windows.
- GNU/Linux distributions that include util-linux and udev.
- Mac OS X.
When the user executes drivelist.list()
, the module checks the operating
system of the client and executes the corresponding drive scanning script.
Examples (the output will vary depending on your machine):
const drivelist = require('drivelist');
const drives = await drivelist.list();
console.log(drives);
Mac OS X:
[
{
device: '/dev/disk0',
displayName: '/dev/disk0',
description: 'GUID_partition_scheme',
size: 68719476736,
mountpoints: [
{
path: '/'
}
],
raw: '/dev/rdisk0',
protected: false,
system: true
},
{
device: '/dev/disk1',
displayName: '/dev/disk1',
description: 'Apple_HFS Macintosh HD',
size: 68719476736,
mountpoints: [],
raw: '/dev/rdisk0',
protected: false,
system: true
}
]
GNU/Linux
[
{
device: '/dev/sda',
displayName: '/dev/sda',
description: 'WDC WD10JPVX-75J',
size: 68719476736,
mountpoints: [
{
path: '/'
}
],
raw: '/dev/sda',
protected: false,
system: true
},
{
device: '/dev/sdb',
displayName: '/dev/sdb',
description: 'DataTraveler 2.0',
size: 7823458304,
mountpoints: [
{
path: '/media/UNTITLED'
}
],
raw: '/dev/sdb',
protected: true,
system: false
}
]
Windows
[
{
device: '\\\\.\\PHYSICALDRIVE0',
displayName: 'C:',
description: 'WDC WD10JPVX-75JC3T0',
size: 68719476736,
mountpoints: [
{
path: 'C:'
}
],
raw: '\\\\.\\PHYSICALDRIVE0',
protected: false,
system: true
},
{
device: '\\\\.\\PHYSICALDRIVE1',
displayName: 'D:, F:',
description: 'Generic STORAGE DEVICE USB Device',
size: 7823458304,
mountpoints: [
{
path: 'D:'
},
{
path: 'F:'
}
],
raw: '\\\\.\\PHYSICALDRIVE1',
protected: true,
system: false
},
{
device: '\\\\.\\PHYSICALDRIVE2',
displayName: '\\\\.\\PHYSICALDRIVE2',
description: 'Silicon-Power2G',
size: 2014314496,
mountpoints: [],
raw: '\\\\.\\PHYSICALDRIVE2',
protected: false,
system: false
}
]
Installation
Install drivelist
by running:
$ npm install --save drivelist
Documentation
drivelist~list()
Kind: inner method of drivelist
Summary: List available drives
Example
const drivelist = require('drivelist');
const drives = await drivelist.list();
drives.forEach((drive) => {
console.log(drive);
});
Tests
Run the test suite by doing:
$ npm test
Contribute
We're looking forward to support more operating systems. Please raise an issue or even better, send a PR to increase support!
- Issue Tracker: github.com/balena-io-modules/drivelist/issues
- Source Code: github.com/balena-io-modules/drivelist
Before submitting a PR, please make sure that you include tests, and that the linter runs without any warning:
$ npm run lint
Support
If you're having any problem, please raise an issue on GitHub.
License
The project is licensed under the Apache 2.0 license.