mirror of
https://github.com/balena-io/etcher.git
synced 2025-07-27 13:16:36 +00:00
Eject Windows drives after successful burning
Use the `removedrive` for this task: https://github.com/jviotti/removedrive Fixes: https://github.com/resin-io/herostratus/issues/40
This commit is contained in:
parent
a6ec66d0b3
commit
da279820dc
@ -25,6 +25,12 @@ var imageWrite = require('resin-image-write');
|
|||||||
var Promise = require('bluebird');
|
var Promise = require('bluebird');
|
||||||
var umount = Promise.promisifyAll(require('umount'));
|
var umount = Promise.promisifyAll(require('umount'));
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
|
var os = require('os');
|
||||||
|
var isWindows = os.platform() === 'win32';
|
||||||
|
|
||||||
|
if (isWindows) {
|
||||||
|
var removedrive = Promise.promisifyAll(require('removedrive'));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @summary Get image readable stream
|
* @summary Get image readable stream
|
||||||
@ -86,6 +92,10 @@ exports.writeImage = function(image, drive, onProgress) {
|
|||||||
writer.on('done', resolve);
|
writer.on('done', resolve);
|
||||||
});
|
});
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
|
if (isWindows && drive.mountpoint) {
|
||||||
|
return removedrive.ejectAsync(drive.mountpoint);
|
||||||
|
} else {
|
||||||
return umount.umountAsync(drive.device);
|
return umount.umountAsync(drive.device);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -16,6 +16,9 @@
|
|||||||
},
|
},
|
||||||
"author": "Juan Cruz Viotti <juan@resin.io>",
|
"author": "Juan Cruz Viotti <juan@resin.io>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"optionalDependencies": {
|
||||||
|
"removedrive": "^1.0.0"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"angular": "^1.4.6",
|
"angular": "^1.4.6",
|
||||||
"angular-ui-bootstrap": "^0.14.2",
|
"angular-ui-bootstrap": "^0.14.2",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user