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 operating system supported.
Supports:
- Windows.
- GNU/Linux distributions that include util-linux and udev.
- Mac OS X.
Examples (the output will vary depending on your machine):
var drivelist = require('drivelist');
drivelist.list(function(error, disks) {
if (error) throw error;
console.log(disks);
});
Mac OS X:
[
{
device: '/dev/disk0',
description: 'GUID_partition_scheme',
size: '*750.2 GB'
mountpoint: '/',
system: true
},
{
device: '/dev/disk1',
description: 'Apple_HFS Macintosh HD',
size: '*748.9 GB',
system: true
}
]
GNU/Linux
[
{
device: '/dev/sda',
description: 'WDC WD10JPVX-75J',
size: '931.5G',
mountpoint: '/',
system: true
},
{
device: '/dev/sdb',
description: 'DataTraveler 2.0',
size: '7.3G',
mountpoint: '/media/UNTITLED',
name: '/dev/sdb',
system: false
}
]
Windows
[
{
device: '\\\\.\\PHYSICALDRIVE0',
description: 'WDC WD10JPVX-75JC3T0',
size: '1000 GB'
mountpoint: 'C:',
system: true
},
{
device: '\\\\.\\PHYSICALDRIVE1',
description: 'Generic STORAGE DEVICE USB Device',
size: '15 GB'
mountpoint: 'D:',
system: false
}
]
Install drivelist
by running:
$ npm install --save drivelist
List available drives.
The function will throw an error if you attempt to call it from an unsupported operating system.
error
is a possible error.drives
is an array of objects describing the drives found.
Run the test suite by doing:
$ gulp test
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/resin-io-modules/drivelist/issues
- Source Code: github.com/resin-io-modules/drivelist
Before submitting a PR, please make sure that you include tests, and that coffeelint runs without any warning:
$ gulp lint
If you're having any problem, please raise an issue on GitHub.
The project is licensed under the MIT license.