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 drivelistList available drives.
The function will throw an error if you attempt to call it from an unsupported operating system.
erroris a possible error.drivesis an array of objects describing the drives found.
Run the test suite by doing:
$ gulp testWe'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 lintIf you're having any problem, please raise an issue on GitHub.
The project is licensed under the MIT license.