fix(GUI): check drive size against uncompressed image size (#582)

We were currently checking if a drive was large enough for an image by checking
the image file size, completely ignoring compression. This results on a small
chance of the uncompressed image not actually fitting in the drive, and
throwing more weird errors later on.

In order to mitigate this, we use the new `.getEstimatedFinalSize()` function
from `etcher-image-stream`, which returns the uncompressed size in the case of
compressed images.

We needed to update the build script for OS X to configure NPM correctly,
otherwise `lzma-native` throws some errors due to an ABI V8 incompatibility
issue.

Fixes: #571
See: https://github.com/addaleax/lzma-native/issues/25
Change-Type: patch
Changelog-Entry: Check if drive is large enough using the final uncompressed size of the image.
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
This commit is contained in:
Juan Cruz Viotti 2016-07-19 23:17:09 -04:00 committed by GitHub
parent ef96ae86a0
commit 1762ea629f
3 changed files with 930 additions and 582 deletions

View File

@ -17,7 +17,7 @@
'use strict';
const _ = require('lodash');
const fs = require('fs');
const imageStream = require('etcher-image-stream');
const electron = require('electron');
module.exports = function($q, SupportedFormatsModel) {
@ -71,17 +71,12 @@ module.exports = function($q, SupportedFormatsModel) {
return resolve();
}
fs.stat(imagePath, (error, stats) => {
if (error) {
return reject(error);
}
imageStream.getEstimatedFinalSize(imagePath).then((estimatedSize) => {
return resolve({
path: imagePath,
size: stats.size
});
size: estimatedSize
});
}).catch(reject);
});
});
};

633
npm-shrinkwrap.json generated
View File

@ -485,6 +485,11 @@
"from": "buffer-xor@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
},
"bufferpack": {
"version": "0.0.6",
"from": "bufferpack@0.0.6",
"resolved": "https://registry.npmjs.org/bufferpack/-/bufferpack-0.0.6.tgz"
},
"buffers": {
"version": "0.1.1",
"from": "buffers@>=0.1.1 <0.2.0",
@ -1268,9 +1273,9 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz"
},
"etcher-image-stream": {
"version": "2.3.0",
"from": "etcher-image-stream@>=2.3.0 <3.0.0",
"resolved": "https://registry.npmjs.org/etcher-image-stream/-/etcher-image-stream-2.3.0.tgz"
"version": "2.5.2",
"from": "etcher-image-stream@2.5.2",
"resolved": "https://registry.npmjs.org/etcher-image-stream/-/etcher-image-stream-2.5.2.tgz"
},
"etcher-image-write": {
"version": "5.0.3",
@ -1751,6 +1756,18 @@
"from": "gulplog@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz"
},
"gzip-uncompressed-size": {
"version": "1.0.0",
"from": "gzip-uncompressed-size@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.com/gzip-uncompressed-size/-/gzip-uncompressed-size-1.0.0.tgz",
"dependencies": {
"async": {
"version": "2.0.0",
"from": "async@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.0.0.tgz"
}
}
},
"har-validator": {
"version": "1.8.0",
"from": "har-validator@>=1.4.0 <2.0.0",
@ -2403,19 +2420,29 @@
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz"
},
"lzma-native": {
"version": "1.4.1",
"version": "1.5.1",
"from": "lzma-native@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-1.4.1.tgz",
"resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-1.5.1.tgz",
"dependencies": {
"commander": {
"version": "2.9.0",
"from": "commander@>=2.9.0 <3.0.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"
},
"isarray": {
"version": "1.0.0",
"from": "isarray@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
},
"node-pre-gyp": {
"version": "0.6.29",
"from": "node-pre-gyp@0.6.29",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz",
"dependencies": {
"abbrev": {
"version": "1.0.7",
"version": "1.0.9",
"from": "abbrev@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
},
"ansi": {
"version": "0.3.1",
"from": "ansi@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz"
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
},
"ansi-regex": {
"version": "2.0.0",
@ -2427,11 +2454,21 @@
"from": "ansi-styles@>=2.2.1 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
},
"aproba": {
"version": "1.0.4",
"from": "aproba@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz"
},
"are-we-there-yet": {
"version": "1.1.2",
"from": "are-we-there-yet@>=1.1.2 <1.2.0",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz"
},
"asap": {
"version": "2.0.4",
"from": "asap@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz"
},
"asn1": {
"version": "0.2.3",
"from": "asn1@>=0.2.3 <0.3.0",
@ -2453,14 +2490,14 @@
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"
},
"aws4": {
"version": "1.3.2",
"version": "1.4.1",
"from": "aws4@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz"
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz"
},
"balanced-match": {
"version": "0.3.0",
"from": "balanced-match@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz"
"version": "0.4.1",
"from": "balanced-match@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz"
},
"bl": {
"version": "1.1.2",
@ -2485,9 +2522,19 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
},
"brace-expansion": {
"version": "1.1.3",
"version": "1.1.5",
"from": "brace-expansion@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz"
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
},
"buffer-shims": {
"version": "1.0.0",
"from": "buffer-shims@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
},
"builtin-modules": {
"version": "1.1.1",
"from": "builtin-modules@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
},
"caseless": {
"version": "0.11.0",
@ -2499,6 +2546,28 @@
"from": "chalk@>=1.1.1 <2.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
},
"cli": {
"version": "0.6.6",
"from": "cli@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz",
"dependencies": {
"glob": {
"version": "3.2.11",
"from": "glob@>=3.2.1 <3.3.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz"
},
"minimatch": {
"version": "0.3.0",
"from": "minimatch@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz"
}
}
},
"code-point-at": {
"version": "1.0.0",
"from": "code-point-at@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz"
},
"combined-stream": {
"version": "1.0.5",
"from": "combined-stream@>=1.0.5 <1.1.0",
@ -2514,6 +2583,16 @@
"from": "concat-map@0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
},
"console-browserify": {
"version": "1.1.0",
"from": "console-browserify@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz"
},
"console-control-strings": {
"version": "1.1.0",
"from": "console-control-strings@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
},
"core-util-is": {
"version": "1.0.2",
"from": "core-util-is@>=1.0.0 <1.1.0",
@ -2525,9 +2604,9 @@
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"
},
"dashdash": {
"version": "1.13.0",
"from": "dashdash@>=1.10.1 <2.0.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz",
"version": "1.14.0",
"from": "dashdash@>=1.12.0 <2.0.0",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz",
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@ -2536,11 +2615,21 @@
}
}
},
"date-now": {
"version": "0.1.4",
"from": "date-now@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
},
"debug": {
"version": "2.2.0",
"from": "debug@>=2.2.0 <2.3.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
},
"debuglog": {
"version": "1.0.1",
"from": "debuglog@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
},
"deep-extend": {
"version": "0.4.1",
"from": "deep-extend@>=0.4.0 <0.5.0",
@ -2556,16 +2645,68 @@
"from": "delegates@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
},
"dezalgo": {
"version": "1.0.3",
"from": "dezalgo@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz"
},
"diff": {
"version": "1.4.0",
"from": "diff@1.4.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz"
},
"dom-serializer": {
"version": "0.1.0",
"from": "dom-serializer@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
"dependencies": {
"domelementtype": {
"version": "1.1.3",
"from": "domelementtype@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz"
},
"entities": {
"version": "1.1.1",
"from": "entities@>=1.1.1 <1.2.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz"
}
}
},
"domelementtype": {
"version": "1.3.0",
"from": "domelementtype@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz"
},
"domhandler": {
"version": "2.3.0",
"from": "domhandler@>=2.3.0 <2.4.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz"
},
"domutils": {
"version": "1.5.1",
"from": "domutils@>=1.5.0 <1.6.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz"
},
"ecc-jsbn": {
"version": "0.1.1",
"from": "ecc-jsbn@>=0.0.1 <1.0.0",
"from": "ecc-jsbn@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"
},
"entities": {
"version": "1.0.0",
"from": "entities@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz"
},
"escape-string-regexp": {
"version": "1.0.5",
"from": "escape-string-regexp@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
},
"exit": {
"version": "0.1.2",
"from": "exit@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
},
"extend": {
"version": "3.0.0",
"from": "extend@>=3.0.0 <3.1.0",
@ -2586,20 +2727,25 @@
"from": "form-data@>=1.0.0-rc3 <1.1.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz"
},
"fs.realpath": {
"version": "1.0.0",
"from": "fs.realpath@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
},
"fstream": {
"version": "1.0.9",
"version": "1.0.10",
"from": "fstream@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.9.tgz"
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz"
},
"fstream-ignore": {
"version": "1.0.4",
"from": "fstream-ignore@>=1.0.3 <1.1.0",
"resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.4.tgz"
"version": "1.0.5",
"from": "fstream-ignore@>=1.0.5 <1.1.0",
"resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz"
},
"gauge": {
"version": "1.2.7",
"from": "gauge@>=1.2.5 <1.3.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz"
"version": "2.6.0",
"from": "gauge@>=2.6.0 <2.7.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz"
},
"generate-function": {
"version": "2.0.0",
@ -2611,21 +2757,38 @@
"from": "generate-object-property@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
},
"getpass": {
"version": "0.1.6",
"from": "getpass@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz",
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
}
},
"glob": {
"version": "7.0.3",
"version": "7.0.5",
"from": "glob@>=7.0.0 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz"
"resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
},
"graceful-fs": {
"version": "4.1.3",
"version": "4.1.4",
"from": "graceful-fs@>=4.1.2 <5.0.0",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
},
"graceful-readlink": {
"version": "1.0.1",
"from": "graceful-readlink@>=1.0.0",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
},
"growl": {
"version": "1.9.2",
"from": "growl@1.9.2",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz"
},
"har-validator": {
"version": "2.0.6",
"from": "har-validator@>=2.0.6 <2.1.0",
@ -2636,10 +2799,15 @@
"from": "has-ansi@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
},
"has-color": {
"version": "0.1.7",
"from": "has-color@>=0.1.7 <0.2.0",
"resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
},
"has-unicode": {
"version": "2.0.0",
"version": "2.0.1",
"from": "has-unicode@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
},
"hawk": {
"version": "3.1.3",
@ -2651,15 +2819,37 @@
"from": "hoek@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
},
"hosted-git-info": {
"version": "2.1.5",
"from": "hosted-git-info@>=2.1.4 <3.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz"
},
"htmlparser2": {
"version": "3.8.3",
"from": "htmlparser2@>=3.8.0 <3.9.0",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
"dependencies": {
"isarray": {
"version": "0.0.1",
"from": "isarray@0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
"readable-stream": {
"version": "1.1.14",
"from": "readable-stream@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
}
}
},
"http-signature": {
"version": "1.1.1",
"from": "http-signature@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"
},
"inflight": {
"version": "1.0.4",
"version": "1.0.5",
"from": "inflight@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"
},
"inherits": {
"version": "2.0.1",
@ -2671,6 +2861,16 @@
"from": "ini@>=1.3.0 <1.4.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
},
"is-builtin-module": {
"version": "1.0.0",
"from": "is-builtin-module@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
},
"is-my-json-valid": {
"version": "2.13.1",
"from": "is-my-json-valid@>=2.12.4 <3.0.0",
@ -2696,6 +2896,33 @@
"from": "isstream@>=0.1.2 <0.2.0",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
},
"jade": {
"version": "0.26.3",
"from": "jade@0.26.3",
"resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
"dependencies": {
"commander": {
"version": "0.6.1",
"from": "commander@0.6.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz"
},
"mkdirp": {
"version": "0.3.0",
"from": "mkdirp@0.3.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz"
}
}
},
"jju": {
"version": "1.3.0",
"from": "jju@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz"
},
"jmespath": {
"version": "0.15.0",
"from": "jmespath@0.15.0",
"resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz"
},
"jodid25519": {
"version": "1.0.2",
"from": "jodid25519@>=1.0.0 <2.0.0",
@ -2706,6 +2933,11 @@
"from": "jsbn@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
},
"json-parse-helpfulerror": {
"version": "1.0.3",
"from": "json-parse-helpfulerror@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz"
},
"json-schema": {
"version": "0.2.2",
"from": "json-schema@0.2.2",
@ -2722,59 +2954,34 @@
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
},
"jsprim": {
"version": "1.2.2",
"version": "1.3.0",
"from": "jsprim@>=1.2.2 <2.0.0",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz"
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz"
},
"lodash._baseslice": {
"version": "4.0.0",
"from": "lodash._baseslice@>=4.0.0 <4.1.0",
"resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz"
},
"lodash._basetostring": {
"version": "4.12.0",
"from": "lodash._basetostring@>=4.12.0 <4.13.0",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
},
"lodash.pad": {
"version": "4.4.0",
"from": "lodash.pad@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz"
},
"lodash.padend": {
"version": "4.5.0",
"from": "lodash.padend@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz"
},
"lodash.padstart": {
"version": "4.5.0",
"from": "lodash.padstart@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz"
},
"lodash.tostring": {
"version": "4.1.3",
"from": "lodash.tostring@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz"
"lodash": {
"version": "3.5.0",
"from": "lodash@>=3.5.0 <3.6.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz"
},
"lru-cache": {
"version": "4.0.1",
"from": "lru-cache@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz"
"version": "2.7.3",
"from": "lru-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz"
},
"mime-db": {
"version": "1.22.0",
"from": "mime-db@>=1.22.0 <1.23.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz"
"version": "1.23.0",
"from": "mime-db@>=1.23.0 <1.24.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz"
},
"mime-types": {
"version": "2.1.10",
"version": "2.1.11",
"from": "mime-types@>=2.1.7 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz"
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz"
},
"minimatch": {
"version": "3.0.0",
"from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz"
"version": "3.0.2",
"from": "minimatch@>=3.0.2 <4.0.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
},
"minimist": {
"version": "0.0.8",
@ -2791,11 +2998,6 @@
"from": "ms@0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
},
"node-pre-gyp": {
"version": "0.6.28",
"from": "node-pre-gyp@0.6.28",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.28.tgz"
},
"node-uuid": {
"version": "1.4.7",
"from": "node-uuid@>=1.4.7 <1.5.0",
@ -2806,15 +3008,30 @@
"from": "nopt@>=3.0.1 <3.1.0",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"
},
"normalize-package-data": {
"version": "2.3.5",
"from": "normalize-package-data@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz"
},
"npmlog": {
"version": "2.0.3",
"from": "npmlog@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.3.tgz"
"version": "3.1.2",
"from": "npmlog@>=3.1.2 <3.2.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz"
},
"number-is-nan": {
"version": "1.0.0",
"from": "number-is-nan@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
},
"oauth-sign": {
"version": "0.8.1",
"version": "0.8.2",
"from": "oauth-sign@>=0.8.1 <0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz"
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"
},
"object-assign": {
"version": "4.1.0",
"from": "object-assign@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
},
"once": {
"version": "1.3.3",
@ -2837,14 +3054,9 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
},
"process-nextick-args": {
"version": "1.0.6",
"version": "1.0.7",
"from": "process-nextick-args@>=1.0.6 <1.1.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz"
},
"pseudomap": {
"version": "1.0.2",
"from": "pseudomap@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
},
"qs": {
"version": "6.1.0",
@ -2863,10 +3075,32 @@
}
}
},
"read-installed": {
"version": "4.0.3",
"from": "read-installed@>=4.0.3 <5.0.0",
"resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz"
},
"read-package-json": {
"version": "2.0.4",
"from": "read-package-json@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.4.tgz",
"dependencies": {
"glob": {
"version": "6.0.4",
"from": "glob@>=6.0.0 <7.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
}
}
},
"readable-stream": {
"version": "2.1.2",
"from": "readable-stream@2.1.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.2.tgz"
"version": "2.1.4",
"from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz"
},
"readdir-scoped-modules": {
"version": "1.0.2",
"from": "readdir-scoped-modules@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz"
},
"request": {
"version": "2.72.0",
@ -2878,26 +3112,88 @@
"from": "rimraf@>=2.5.0 <2.6.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz"
},
"sax": {
"version": "1.1.5",
"from": "sax@1.1.5",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.1.5.tgz"
},
"semver": {
"version": "5.1.0",
"from": "semver@>=5.1.0 <5.2.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz"
"version": "5.2.0",
"from": "semver@>=5.2.0 <5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz"
},
"set-blocking": {
"version": "2.0.0",
"from": "set-blocking@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
},
"shelljs": {
"version": "0.3.0",
"from": "shelljs@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz"
},
"sigmund": {
"version": "1.0.1",
"from": "sigmund@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
},
"signal-exit": {
"version": "3.0.0",
"from": "signal-exit@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz"
},
"slide": {
"version": "1.1.6",
"from": "slide@>=1.1.3 <1.2.0",
"resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
},
"sntp": {
"version": "1.0.9",
"from": "sntp@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
},
"spdx-correct": {
"version": "1.0.2",
"from": "spdx-correct@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz"
},
"spdx-exceptions": {
"version": "1.0.4",
"from": "spdx-exceptions@>=1.0.4 <2.0.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz"
},
"spdx-expression-parse": {
"version": "1.0.2",
"from": "spdx-expression-parse@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz"
},
"spdx-license-ids": {
"version": "1.2.1",
"from": "spdx-license-ids@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz"
},
"sshpk": {
"version": "1.7.4",
"version": "1.8.3",
"from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz"
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz",
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"from": "assert-plus@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
}
},
"string_decoder": {
"version": "0.10.31",
"from": "string_decoder@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"string-width": {
"version": "1.0.1",
"from": "string-width@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz"
},
"stringstream": {
"version": "0.0.5",
"from": "stringstream@>=0.0.4 <0.1.0",
@ -2905,7 +3201,7 @@
},
"strip-ansi": {
"version": "3.0.1",
"from": "strip-ansi@>=3.0.0 <4.0.0",
"from": "strip-ansi@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
},
"strip-json-comments": {
@ -2924,16 +3220,14 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
},
"tar-pack": {
"version": "3.1.3",
"version": "3.1.4",
"from": "tar-pack@>=3.1.0 <3.2.0",
"resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.3.tgz",
"dependencies": {
"readable-stream": {
"version": "2.0.6",
"from": "readable-stream@>=2.0.4 <2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
}
}
"resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz"
},
"to-iso-string": {
"version": "0.0.2",
"from": "to-iso-string@0.0.2",
"resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz"
},
"tough-cookie": {
"version": "2.2.2",
@ -2941,44 +3235,81 @@
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz"
},
"tunnel-agent": {
"version": "0.4.2",
"version": "0.4.3",
"from": "tunnel-agent@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz"
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"
},
"tweetnacl": {
"version": "0.14.3",
"from": "tweetnacl@>=0.13.0 <1.0.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz"
"version": "0.13.3",
"from": "tweetnacl@>=0.13.0 <0.14.0",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz"
},
"uid-number": {
"version": "0.0.6",
"from": "uid-number@>=0.0.6 <0.1.0",
"resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
},
"underscore": {
"version": "1.8.3",
"from": "underscore@>=1.7.0 <1.9.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"
},
"util-deprecate": {
"version": "1.0.2",
"from": "util-deprecate@>=1.0.1 <1.1.0",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
},
"util-extend": {
"version": "1.0.3",
"from": "util-extend@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz"
},
"validate-npm-package-license": {
"version": "3.0.1",
"from": "validate-npm-package-license@>=3.0.1 <4.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
},
"verror": {
"version": "1.3.6",
"from": "verror@1.3.6",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"
},
"walkdir": {
"version": "0.0.7",
"from": "walkdir@0.0.7",
"resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz"
},
"wide-align": {
"version": "1.1.0",
"from": "wide-align@>=1.1.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
},
"wrappy": {
"version": "1.0.1",
"version": "1.0.2",
"from": "wrappy@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
},
"xml2js": {
"version": "0.4.15",
"from": "xml2js@0.4.15",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.15.tgz"
},
"xmlbuilder": {
"version": "2.6.2",
"from": "xmlbuilder@2.6.2",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.2.tgz"
},
"xtend": {
"version": "4.0.1",
"from": "xtend@>=4.0.0 <4.1.0-0",
"from": "xtend@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
}
},
"yallist": {
"version": "2.0.0",
"from": "yallist@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz"
"readable-stream": {
"version": "2.1.4",
"from": "readable-stream@>=2.0.5 <3.0.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz"
}
}
},
@ -3916,18 +4247,6 @@
}
}
},
"resin-zip-image": {
"version": "1.1.2",
"from": "resin-zip-image@>=1.1.2 <2.0.0",
"resolved": "https://registry.npmjs.org/resin-zip-image/-/resin-zip-image-1.1.2.tgz",
"dependencies": {
"read-chunk": {
"version": "1.0.1",
"from": "read-chunk@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz"
}
}
},
"resolve": {
"version": "1.1.7",
"from": "resolve@>=1.1.4 <2.0.0",
@ -3953,6 +4272,23 @@
"from": "rimraf@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz"
},
"rindle": {
"version": "1.3.0",
"from": "rindle@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/rindle/-/rindle-1.3.0.tgz",
"dependencies": {
"bluebird": {
"version": "2.10.2",
"from": "bluebird@>=2.10.2 <3.0.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz"
},
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.10.1 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
}
}
},
"ripemd160": {
"version": "1.0.1",
"from": "ripemd160@>=1.0.0 <2.0.0",
@ -4304,6 +4640,23 @@
"from": "string_decoder@>=0.10.0 <0.11.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
"string-to-stream": {
"version": "1.1.0",
"from": "string-to-stream@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/string-to-stream/-/string-to-stream-1.1.0.tgz",
"dependencies": {
"isarray": {
"version": "1.0.0",
"from": "isarray@~1.0.0",
"resolved": "http://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
},
"readable-stream": {
"version": "2.1.4",
"from": "readable-stream@^2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz"
}
}
},
"string-width": {
"version": "1.0.1",
"from": "string-width@>=1.0.1 <2.0.0",

View File

@ -64,7 +64,7 @@
"chalk": "^1.1.3",
"drivelist": "^3.2.2",
"electron-is-running-in-asar": "^1.0.0",
"etcher-image-stream": "^2.3.0",
"etcher-image-stream": "^2.5.2",
"etcher-image-write": "^5.0.3",
"etcher-latest-version": "^1.0.0",
"file-tail": "^0.3.0",