mirror of
https://github.com/balena-io/etcher.git
synced 2025-07-21 02:06:33 +00:00
commit
83c5ba04cd
@ -166,7 +166,7 @@ Run the following command in `Terminal.app`, replacing `N` by the corresponding
|
|||||||
disk number, which you can find by running `diskutil list`:
|
disk number, which you can find by running `diskutil list`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
diskutil eraseDisk free UNTITLED /dev/diskN
|
diskutil eraseDisk FAT32 UNTITLED MBRFormat /dev/diskN
|
||||||
```
|
```
|
||||||
|
|
||||||
### GNU/Linux
|
### GNU/Linux
|
||||||
|
@ -18,7 +18,6 @@ import * as _ from 'lodash';
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import * as uuidV4 from 'uuid/v4';
|
import * as uuidV4 from 'uuid/v4';
|
||||||
|
|
||||||
import * as messages from '../../../../shared/messages';
|
|
||||||
import * as flashState from '../../models/flash-state';
|
import * as flashState from '../../models/flash-state';
|
||||||
import * as selectionState from '../../models/selection-state';
|
import * as selectionState from '../../models/selection-state';
|
||||||
import { store } from '../../models/store';
|
import { store } from '../../models/store';
|
||||||
@ -67,18 +66,12 @@ const formattedErrors = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function FinishPage({ goToMain }: { goToMain: () => void }) {
|
function FinishPage({ goToMain }: { goToMain: () => void }) {
|
||||||
// @ts-ignore
|
|
||||||
const results = flashState.getFlashResults().results || {};
|
const results = flashState.getFlashResults().results || {};
|
||||||
const progressMessage = messages.progress;
|
|
||||||
return (
|
return (
|
||||||
<div className="page-finish row around-xs">
|
<div className="page-finish row around-xs">
|
||||||
<div className="col-xs">
|
<div className="col-xs">
|
||||||
<div className="box center">
|
<div className="box center">
|
||||||
<FlashResults
|
<FlashResults results={results} errors={formattedErrors()} />
|
||||||
results={results}
|
|
||||||
message={progressMessage}
|
|
||||||
errors={formattedErrors}
|
|
||||||
></FlashResults>
|
|
||||||
|
|
||||||
<FlashAnother
|
<FlashAnother
|
||||||
onClick={(options: any) => restart(options, goToMain)}
|
onClick={(options: any) => restart(options, goToMain)}
|
||||||
|
@ -16,36 +16,48 @@
|
|||||||
|
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
|
import { Txt } from 'rendition';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { left, position, space, top } from 'styled-system';
|
import { left, position, space, top } from 'styled-system';
|
||||||
|
|
||||||
|
import { progress } from '../../../../shared/messages';
|
||||||
|
import { bytesToMegabytes } from '../../../../shared/units';
|
||||||
import { Underline } from '../../styled-components';
|
import { Underline } from '../../styled-components';
|
||||||
|
|
||||||
const Div: any = styled.div<any>`
|
const Div = styled.div<any>`
|
||||||
${position}
|
${position}
|
||||||
${top}
|
${top}
|
||||||
${left}
|
${left}
|
||||||
${space}
|
${space}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export const FlashResults: any = ({
|
export function FlashResults({
|
||||||
errors,
|
errors,
|
||||||
results,
|
results,
|
||||||
message,
|
|
||||||
}: {
|
}: {
|
||||||
errors: () => string;
|
errors: string;
|
||||||
results: any;
|
results: {
|
||||||
message: any;
|
averageFlashingSpeed: number;
|
||||||
}) => {
|
devices: { failed: number; successful: number };
|
||||||
|
};
|
||||||
|
}) {
|
||||||
|
const averageSpeed = _.round(
|
||||||
|
bytesToMegabytes(results.averageFlashingSpeed),
|
||||||
|
1,
|
||||||
|
);
|
||||||
return (
|
return (
|
||||||
<Div position="absolute" left="153px" top="66px">
|
<Div position="absolute" left="153px" top="66px">
|
||||||
<div className="inline-flex title">
|
<div className="inline-flex title">
|
||||||
<span className="tick tick--success space-right-medium"></span>
|
<span className="tick tick--success space-right-medium"></span>
|
||||||
<h3>Flash Complete!</h3>
|
<h3>Flash Complete!</h3>
|
||||||
</div>
|
</div>
|
||||||
<Div className="results" mt="11px" mr="0" mb="0" ml="40px">
|
<Div className="results" mr="0" mb="0" ml="40px">
|
||||||
<Underline tooltip={errors()}>
|
|
||||||
{_.map(results.devices, (quantity, type) => {
|
{_.map(results.devices, (quantity, type) => {
|
||||||
return quantity ? (
|
return quantity ? (
|
||||||
|
<Underline
|
||||||
|
tooltip={type === 'failed' ? errors : undefined}
|
||||||
|
key={type}
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
key={type}
|
key={type}
|
||||||
className={`target-status-line target-status-${type}`}
|
className={`target-status-line target-status-${type}`}
|
||||||
@ -53,13 +65,23 @@ export const FlashResults: any = ({
|
|||||||
<span className="target-status-dot"></span>
|
<span className="target-status-dot"></span>
|
||||||
<span className="target-status-quantity">{quantity}</span>
|
<span className="target-status-quantity">{quantity}</span>
|
||||||
<span className="target-status-message">
|
<span className="target-status-message">
|
||||||
{message[type](quantity)}
|
{progress[type](quantity)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
</Underline>
|
||||||
) : null;
|
) : null;
|
||||||
})}
|
})}
|
||||||
</Underline>
|
<Txt
|
||||||
|
color="#787c7f"
|
||||||
|
fontSize="10px"
|
||||||
|
style={{
|
||||||
|
fontWeight: 500,
|
||||||
|
textAlign: 'center',
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Writing speed: {averageSpeed} MB/s
|
||||||
|
</Txt>
|
||||||
</Div>
|
</Div>
|
||||||
</Div>
|
</Div>
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
@ -220,10 +220,9 @@ export class ImageSelector extends React.Component<
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const source = new sdk.sourceDestination.File(
|
const source = new sdk.sourceDestination.File({
|
||||||
imagePath,
|
path: imagePath,
|
||||||
sdk.sourceDestination.File.OpenFlags.Read,
|
});
|
||||||
);
|
|
||||||
try {
|
try {
|
||||||
const innerSource = await source.getInnerSource();
|
const innerSource = await source.getInnerSource();
|
||||||
const metadata = (await innerSource.getMetadata()) as sdk.sourceDestination.Metadata & {
|
const metadata = (await innerSource.getMetadata()) as sdk.sourceDestination.Metadata & {
|
||||||
|
@ -137,7 +137,6 @@ export const SettingsModal: any = styled(
|
|||||||
setting,
|
setting,
|
||||||
value,
|
value,
|
||||||
dangerous,
|
dangerous,
|
||||||
// @ts-ignore
|
|
||||||
applicationSessionUuid: store.getState().toJS().applicationSessionUuid,
|
applicationSessionUuid: store.getState().toJS().applicationSessionUuid,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -87,7 +87,6 @@ export function setProgressState(
|
|||||||
|
|
||||||
return null;
|
return null;
|
||||||
}),
|
}),
|
||||||
|
|
||||||
totalSpeed: _.attempt(() => {
|
totalSpeed: _.attempt(() => {
|
||||||
if (_.isFinite(state.totalSpeed)) {
|
if (_.isFinite(state.totalSpeed)) {
|
||||||
return _.round(bytesToMegabytes(state.totalSpeed), PRECISION);
|
return _.round(bytesToMegabytes(state.totalSpeed), PRECISION);
|
||||||
|
@ -71,8 +71,10 @@ const DEFAULT_STATE = Immutable.fromJS({
|
|||||||
failed: 0,
|
failed: 0,
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
speed: null,
|
speed: null,
|
||||||
|
averageSpeed: null,
|
||||||
totalSpeed: null,
|
totalSpeed: null,
|
||||||
},
|
},
|
||||||
|
lastAverageFlashingSpeed: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -263,7 +265,11 @@ function storeReducer(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return state.set('flashState', Immutable.fromJS(action.data));
|
let ret = state.set('flashState', Immutable.fromJS(action.data));
|
||||||
|
if (action.data.flashing) {
|
||||||
|
ret = ret.set('lastAverageFlashingSpeed', action.data.averageSpeed);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
case Actions.RESET_FLASH_STATE: {
|
case Actions.RESET_FLASH_STATE: {
|
||||||
@ -326,9 +332,19 @@ function storeReducer(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (action.data.results) {
|
||||||
|
action.data.results.averageFlashingSpeed = state.get(
|
||||||
|
'lastAverageFlashingSpeed',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return state
|
return state
|
||||||
.set('isFlashing', false)
|
.set('isFlashing', false)
|
||||||
.set('flashResults', Immutable.fromJS(action.data))
|
.set('flashResults', Immutable.fromJS(action.data))
|
||||||
|
.set(
|
||||||
|
'lastAverageFlashingSpeed',
|
||||||
|
DEFAULT_STATE.get('lastAverageFlashingSpeed'),
|
||||||
|
)
|
||||||
.set('flashState', DEFAULT_STATE.get('flashState'));
|
.set('flashState', DEFAULT_STATE.get('flashState'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ function includeSystemDrives() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const adapters: sdk.scanner.adapters.Adapter[] = [
|
const adapters: sdk.scanner.adapters.Adapter[] = [
|
||||||
new sdk.scanner.adapters.BlockDeviceAdapter(includeSystemDrives),
|
new sdk.scanner.adapters.BlockDeviceAdapter({ includeSystemDrives }),
|
||||||
];
|
];
|
||||||
|
|
||||||
// Can't use permissions.isElevated() here as it returns a promise and we need to set
|
// Can't use permissions.isElevated() here as it returns a promise and we need to set
|
||||||
|
@ -185,7 +185,6 @@ export function performWrite(
|
|||||||
cancelled = true;
|
cancelled = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
// @ts-ignore
|
|
||||||
ipc.server.on('state', onProgress);
|
ipc.server.on('state', onProgress);
|
||||||
|
|
||||||
ipc.server.on('ready', (_data, socket) => {
|
ipc.server.on('ready', (_data, socket) => {
|
||||||
|
@ -46,7 +46,6 @@ function getDrivesTitle() {
|
|||||||
const drives = selectionState.getSelectedDrives();
|
const drives = selectionState.getSelectedDrives();
|
||||||
|
|
||||||
if (drives.length === 1) {
|
if (drives.length === 1) {
|
||||||
// @ts-ignore
|
|
||||||
return drives[0].description || 'Untitled Device';
|
return drives[0].description || 'Untitled Device';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,6 @@ img[disabled] {
|
|||||||
.target-status-line {
|
.target-status-line {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
margin-bottom: 9px;
|
|
||||||
|
|
||||||
> .target-status-dot {
|
> .target-status-dot {
|
||||||
width: 12px;
|
width: 12px;
|
||||||
|
@ -6347,8 +6347,7 @@ img[disabled] {
|
|||||||
|
|
||||||
.target-status-line {
|
.target-status-line {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: baseline;
|
align-items: baseline; }
|
||||||
margin-bottom: 9px; }
|
|
||||||
.target-status-line > .target-status-dot {
|
.target-status-line > .target-status-dot {
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
|
@ -97,24 +97,22 @@ async function writeAndValidate(
|
|||||||
): Promise<WriteResult> {
|
): Promise<WriteResult> {
|
||||||
let innerSource: sdk.sourceDestination.SourceDestination = await source.getInnerSource();
|
let innerSource: sdk.sourceDestination.SourceDestination = await source.getInnerSource();
|
||||||
if (trim && (await innerSource.canRead())) {
|
if (trim && (await innerSource.canRead())) {
|
||||||
// @ts-ignore FIXME: ts thinks that SparseReadStream can't be assigned to SparseReadable (which it implements)
|
innerSource = new sdk.sourceDestination.ConfiguredSource({
|
||||||
innerSource = new sdk.sourceDestination.ConfiguredSource(
|
source: innerSource,
|
||||||
innerSource,
|
shouldTrimPartitions: trim,
|
||||||
trim,
|
createStreamFromDisk: true,
|
||||||
// Create stream from file-disk (not source stream)
|
});
|
||||||
true,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
const {
|
const {
|
||||||
failures,
|
failures,
|
||||||
bytesWritten,
|
bytesWritten,
|
||||||
} = await sdk.multiWrite.pipeSourceToDestinations(
|
} = await sdk.multiWrite.pipeSourceToDestinations(
|
||||||
innerSource,
|
innerSource,
|
||||||
// @ts-ignore FIXME: ts thinks that BlockWriteStream can't be assigned to WritableStream (which it implements)
|
|
||||||
destinations,
|
destinations,
|
||||||
onFail,
|
onFail,
|
||||||
onProgress,
|
onProgress,
|
||||||
verify,
|
verify,
|
||||||
|
32,
|
||||||
);
|
);
|
||||||
const result: WriteResult = {
|
const result: WriteResult = {
|
||||||
bytesWritten,
|
bytesWritten,
|
||||||
@ -125,8 +123,9 @@ async function writeAndValidate(
|
|||||||
errors: [],
|
errors: [],
|
||||||
};
|
};
|
||||||
for (const [destination, error] of failures) {
|
for (const [destination, error] of failures) {
|
||||||
(error as Error & { device: string }).device = destination.drive.device;
|
const err = error as Error & { device: string };
|
||||||
result.errors.push(error);
|
err.device = (destination as sdk.sourceDestination.BlockDevice).device;
|
||||||
|
result.errors.push(err);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -218,18 +217,18 @@ ipc.connectTo(IPC_SERVER_ID, () => {
|
|||||||
log(`Validate on success: ${options.validateWriteOnSuccess}`);
|
log(`Validate on success: ${options.validateWriteOnSuccess}`);
|
||||||
log(`Trim: ${options.trim}`);
|
log(`Trim: ${options.trim}`);
|
||||||
const dests = _.map(options.destinations, destination => {
|
const dests = _.map(options.destinations, destination => {
|
||||||
return new sdk.sourceDestination.BlockDevice(
|
return new sdk.sourceDestination.BlockDevice({
|
||||||
destination,
|
drive: destination,
|
||||||
options.unmountOnSuccess,
|
unmountOnSuccess: options.unmountOnSuccess,
|
||||||
);
|
write: true,
|
||||||
|
direct: true,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
const source = new sdk.sourceDestination.File({
|
||||||
|
path: options.imagePath,
|
||||||
});
|
});
|
||||||
const source = new sdk.sourceDestination.File(
|
|
||||||
options.imagePath,
|
|
||||||
sdk.sourceDestination.File.OpenFlags.Read,
|
|
||||||
);
|
|
||||||
try {
|
try {
|
||||||
const results = await writeAndValidate(
|
const results = await writeAndValidate(
|
||||||
// @ts-ignore FIXME: ts thinks that SparseWriteStream can't be assigned to SparseWritable (which it implements)
|
|
||||||
source,
|
source,
|
||||||
dests,
|
dests,
|
||||||
options.validateWriteOnSuccess,
|
options.validateWriteOnSuccess,
|
||||||
|
@ -14,7 +14,9 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export const progress = {
|
import { Dictionary } from 'lodash';
|
||||||
|
|
||||||
|
export const progress: Dictionary<(quantity: number) => string> = {
|
||||||
successful: (quantity: number) => {
|
successful: (quantity: number) => {
|
||||||
const plural = quantity === 1 ? '' : 's';
|
const plural = quantity === 1 ? '' : 's';
|
||||||
return `Successful device${plural}`;
|
return `Successful device${plural}`;
|
||||||
|
191
npm-shrinkwrap.json
generated
191
npm-shrinkwrap.json
generated
@ -343,6 +343,19 @@
|
|||||||
"fastq": "^1.6.0"
|
"fastq": "^1.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@ronomon/direct-io": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ronomon/direct-io/-/direct-io-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-NkKB32bjq7RfMdAMiWayphMlVWzsfPiKelK+btXLqggv1vDVgv2xELqeo0z4uYLLt86fVReLPxQj7qpg0zWvow==",
|
||||||
|
"requires": {
|
||||||
|
"@ronomon/queue": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@ronomon/queue": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ronomon/queue/-/queue-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-STcqSvk+c7ArMrZgYxhM92p6O6F7t0SUbGr+zm8s9fJple5EdJAMwP3dXqgdXeF95xWhBpha5kjEqNAIdI0r4w=="
|
||||||
|
},
|
||||||
"@samverschueren/stream-to-observable": {
|
"@samverschueren/stream-to-observable": {
|
||||||
"version": "0.3.0",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
|
||||||
@ -416,9 +429,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/bluebird": {
|
"@types/bluebird": {
|
||||||
"version": "3.5.29",
|
"version": "3.5.30",
|
||||||
"resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.29.tgz",
|
"resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.30.tgz",
|
||||||
"integrity": "sha512-kmVtnxTuUuhCET669irqQmPAez4KFnFVKvpleVRyfC3g+SHD1hIkFZcWLim9BVcwUBLO59o8VZE4yGCmTif8Yw==",
|
"integrity": "sha512-8LhzvcjIoqoi1TghEkRMkbbmM+jhHnBokPGkJWjclMK+Ks0MxEBow3/p2/iFTZ+OIbJHQDSfpgdZEb+af3gfVw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/caseless": {
|
"@types/caseless": {
|
||||||
@ -1840,17 +1853,28 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bl": {
|
"bl": {
|
||||||
"version": "3.0.0",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/bl/-/bl-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz",
|
||||||
"integrity": "sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==",
|
"integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"readable-stream": "^3.0.1"
|
"buffer": "^5.5.0",
|
||||||
|
"inherits": "^2.0.4",
|
||||||
|
"readable-stream": "^3.4.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"buffer": {
|
||||||
|
"version": "5.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz",
|
||||||
|
"integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==",
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "^1.0.2",
|
||||||
|
"ieee754": "^1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "3.5.0",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||||
"integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==",
|
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"inherits": "^2.0.3",
|
"inherits": "^2.0.3",
|
||||||
"string_decoder": "^1.1.1",
|
"string_decoder": "^1.1.1",
|
||||||
@ -1869,9 +1893,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"blockmap": {
|
"blockmap": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/blockmap/-/blockmap-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/blockmap/-/blockmap-4.0.1.tgz",
|
||||||
"integrity": "sha512-ykHgcaMZ3cPFEWku4Xz7+s7AsdfUE1x6dR7ZmaKIipu77eyq+XnBCI06Ez0VWpQfmLV/9Bsl9Qw+7cvNCNFWJA==",
|
"integrity": "sha512-ktam+finx4xUQQNbKRBD6VXiULFCb814/N50QBWyD2e6nrWc3QvuMISDLKnSnK64pTnQUMA9dRWpyGFK9ZIchw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^3.1.0",
|
"debug": "^3.1.0",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
@ -1883,9 +1907,9 @@
|
|||||||
"integrity": "sha1-E/kwNaTtPG0pUwgkkkWg7XZ7NeI="
|
"integrity": "sha1-E/kwNaTtPG0pUwgkkkWg7XZ7NeI="
|
||||||
},
|
},
|
||||||
"bluebird": {
|
"bluebird": {
|
||||||
"version": "3.7.1",
|
"version": "3.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
|
||||||
"integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg=="
|
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
|
||||||
},
|
},
|
||||||
"bluebird-lst": {
|
"bluebird-lst": {
|
||||||
"version": "1.0.9",
|
"version": "1.0.9",
|
||||||
@ -5402,13 +5426,13 @@
|
|||||||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
|
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
|
||||||
},
|
},
|
||||||
"etcher-sdk": {
|
"etcher-sdk": {
|
||||||
"version": "2.0.17",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/etcher-sdk/-/etcher-sdk-2.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/etcher-sdk/-/etcher-sdk-3.0.1.tgz",
|
||||||
"integrity": "sha512-9RgYlugEFLFo+nMuXeBNPT9ODg89CmEsjjJW597MKx4WNIZWoCQXQJR1qw2uu3ZT5JuqPq82xz1/9PaiW2mSng==",
|
"integrity": "sha512-Jd30W0OfKNwbQZ4NdsNLCItyPYNP3hIugJrG/V5uzBtpL4R+gldMrUopkJ1L0x59d9NwWavQ/CqM6gxrv3tVlw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "^6.0.112",
|
"@ronomon/direct-io": "^3.0.1",
|
||||||
"axios": "^0.18.0",
|
"axios": "^0.18.0",
|
||||||
"blockmap": "^4.0.0",
|
"blockmap": "^4.0.1",
|
||||||
"bluebird": "^3.5.1",
|
"bluebird": "^3.5.1",
|
||||||
"crc": "^3.8.0",
|
"crc": "^3.8.0",
|
||||||
"debug": "^3.1.0",
|
"debug": "^3.1.0",
|
||||||
@ -5416,26 +5440,19 @@
|
|||||||
"file-disk": "^6.0.1",
|
"file-disk": "^6.0.1",
|
||||||
"file-type": "^8.0.0",
|
"file-type": "^8.0.0",
|
||||||
"lodash": "^4.17.10",
|
"lodash": "^4.17.10",
|
||||||
"lzma-native": "^4.0.5",
|
"lzma-native": "^6.0.0",
|
||||||
"mountutils": "^1.3.18",
|
"mountutils": "^1.3.18",
|
||||||
"node-raspberrypi-usbboot": "^0.2.4",
|
"node-raspberrypi-usbboot": "^0.2.4",
|
||||||
"outdent": "^0.7.0",
|
"outdent": "^0.7.0",
|
||||||
"partitioninfo": "^5.3.4",
|
"partitioninfo": "^5.3.4",
|
||||||
"readable-stream": "^2.3.6",
|
|
||||||
"resin-image-fs": "^5.0.8",
|
"resin-image-fs": "^5.0.8",
|
||||||
|
"rwmutex": "^1.0.0",
|
||||||
"speedometer": "^1.0.0",
|
"speedometer": "^1.0.0",
|
||||||
"udif": "^0.15.7",
|
"udif": "^0.17.0",
|
||||||
"unbzip2-stream": "github:balena-io-modules/unbzip2-stream#942fc218013c14adab01cf693b0500cf6ac83193",
|
"unbzip2-stream": "github:balena-io-modules/unbzip2-stream#942fc218013c14adab01cf693b0500cf6ac83193",
|
||||||
"unzip-stream": "^0.3.0",
|
"unzip-stream": "^0.3.0",
|
||||||
"xxhash": "^0.3.0",
|
"xxhash": "^0.3.0",
|
||||||
"yauzl": "^2.9.2"
|
"yauzl": "^2.9.2"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@types/node": {
|
|
||||||
"version": "6.14.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.9.tgz",
|
|
||||||
"integrity": "sha512-leP/gxHunuazPdZaCvsCefPQxinqUDsCxCR5xaDUrY2MkYxQRFZZwU5e7GojyYsGB7QVtCi7iVEl/hoFXQYc+w=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"event-emitter": {
|
"event-emitter": {
|
||||||
@ -8375,14 +8392,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lzma-native": {
|
"lzma-native": {
|
||||||
"version": "4.0.6",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-4.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-6.0.0.tgz",
|
||||||
"integrity": "sha512-1kiSs/KAcAuh9vyyd00ATXZFfrg6W8UCBqH1RKlWg/tBP5aQez6HYOY+SihmsZfpy0RVDioW5SLI76dZ3Mq5Rw==",
|
"integrity": "sha512-rf5f4opPymsPHotgY2d0cUP3kbVxERSxWDGEbi2gnbnxuWGokFrBaQ02Oe9pssIwsgp0r0PnbSNg7VPY3AYe7w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"nan": "^2.14.0",
|
"node-addon-api": "^1.6.0",
|
||||||
"node-pre-gyp": "^0.11.0",
|
"node-pre-gyp": "^0.11.0",
|
||||||
"readable-stream": "^2.3.5",
|
"readable-stream": "^2.3.5",
|
||||||
"rimraf": "^2.6.1"
|
"rimraf": "^2.7.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"make-dir": {
|
"make-dir": {
|
||||||
@ -8698,9 +8715,9 @@
|
|||||||
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
|
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
|
||||||
},
|
},
|
||||||
"mimic-response": {
|
"mimic-response": {
|
||||||
"version": "2.0.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
|
||||||
"integrity": "sha512-8ilDoEapqA4uQ3TwS0jakGONKXVJqpy+RpM+3b7pLdOjghCrEiGp9SRkFbUHAmZW9vdnrENWHjaweIoTIJExSQ=="
|
"integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
|
||||||
},
|
},
|
||||||
"minify": {
|
"minify": {
|
||||||
"version": "4.1.3",
|
"version": "4.1.3",
|
||||||
@ -8847,6 +8864,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mkdirp-classic": {
|
||||||
|
"version": "0.5.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.2.tgz",
|
||||||
|
"integrity": "sha512-ejdnDQcR75gwknmMw/tx02AuRs8jCtqFoFqDZMjiNxsu85sRIJVXDKHuLYvUUPRBUtV2FpSZa9bL1BUa3BdR2g=="
|
||||||
|
},
|
||||||
"mocha": {
|
"mocha": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.0.1.tgz",
|
||||||
@ -9272,14 +9294,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"napi-build-utils": {
|
"napi-build-utils": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||||
"integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA=="
|
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
|
||||||
},
|
},
|
||||||
"needle": {
|
"needle": {
|
||||||
"version": "2.3.2",
|
"version": "2.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz",
|
||||||
"integrity": "sha512-DUzITvPVDUy6vczKKYTnWc/pBZ0EnjMJnQ3y+Jo5zfKFimJs7S3HFCxCRZYB9FUZcrzUQr3WsmvZgddMEIZv6w==",
|
"integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^3.2.6",
|
"debug": "^3.2.6",
|
||||||
"iconv-lite": "^0.4.4",
|
"iconv-lite": "^0.4.4",
|
||||||
@ -9326,13 +9348,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node-abi": {
|
"node-abi": {
|
||||||
"version": "2.14.0",
|
"version": "2.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.14.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.15.0.tgz",
|
||||||
"integrity": "sha512-y54KGgEOHnRHlGQi7E5UiryRkH8bmksmQLj/9iLAjoje743YS+KaKB/sDYXgqtT0J16JT3c3AYJZNI98aU/kYg==",
|
"integrity": "sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"semver": "^5.4.1"
|
"semver": "^5.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node-addon-api": {
|
||||||
|
"version": "1.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz",
|
||||||
|
"integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ=="
|
||||||
|
},
|
||||||
"node-environment-flags": {
|
"node-environment-flags": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
|
||||||
@ -9553,9 +9580,9 @@
|
|||||||
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
|
"integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
|
||||||
},
|
},
|
||||||
"nopt": {
|
"nopt": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
|
||||||
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
|
"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"abbrev": "1",
|
"abbrev": "1",
|
||||||
"osenv": "^0.1.4"
|
"osenv": "^0.1.4"
|
||||||
@ -9908,9 +9935,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outdent": {
|
"outdent": {
|
||||||
"version": "0.7.0",
|
"version": "0.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/outdent/-/outdent-0.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/outdent/-/outdent-0.7.1.tgz",
|
||||||
"integrity": "sha512-Ue462G+UIFoyQmOzapGIKWS3d/9NHeD/018WGEDZIhN2/VaQpVXbofMcZX0socv1fw4/tmEn7Vd3McOdPZfKzQ=="
|
"integrity": "sha512-VjIzdUHunL74DdhcwMDt5FhNDQ8NYmTkuW0B+usIV2afS9aWT/1c9z1TsnFW349TP3nxmYeUl7Z++XpJRByvgg=="
|
||||||
},
|
},
|
||||||
"p-cancelable": {
|
"p-cancelable": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
@ -11122,9 +11149,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resin-image-fs": {
|
"resin-image-fs": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.9",
|
||||||
"resolved": "https://registry.npmjs.org/resin-image-fs/-/resin-image-fs-5.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/resin-image-fs/-/resin-image-fs-5.0.9.tgz",
|
||||||
"integrity": "sha512-m3DPKAdErmgxMkOhGP9NOyqZor0DADkuDKb38XSjlhxj5lJMEtLi7AuZauyl4ysINc4u+ljMDW9IqGNpXhFcXw==",
|
"integrity": "sha512-fBCJjF6GeqRveum3cJCBf9E0AtIA7qtVccXU6bmoyEEixA0AxWDqp/nJ5+PjIL26/bpaX95vo7Mscyr8Q1UNfQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bluebird": "^3.5.1",
|
"bluebird": "^3.5.1",
|
||||||
"ext2fs": "^1.0.28",
|
"ext2fs": "^1.0.28",
|
||||||
@ -11382,6 +11409,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
||||||
"integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
|
"integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
|
||||||
},
|
},
|
||||||
|
"rwmutex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/rwmutex/-/rwmutex-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-/dHqaoe3f0SecteF+eonTL4UDe0=",
|
||||||
|
"requires": {
|
||||||
|
"debug": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rx-lite": {
|
"rx-lite": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
||||||
@ -12727,22 +12762,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tar-fs": {
|
"tar-fs": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.1.tgz",
|
||||||
"integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==",
|
"integrity": "sha512-6tzWDMeroL87uF/+lin46k+Q+46rAJ0SyPGz7OW7wTgblI273hsBqk2C1j0/xNadNLKDTUL9BukSjB7cwgmlPA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"chownr": "^1.1.1",
|
"chownr": "^1.1.1",
|
||||||
"mkdirp": "^0.5.1",
|
"mkdirp-classic": "^0.5.2",
|
||||||
"pump": "^3.0.0",
|
"pump": "^3.0.0",
|
||||||
"tar-stream": "^2.0.0"
|
"tar-stream": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tar-stream": {
|
"tar-stream": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz",
|
||||||
"integrity": "sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==",
|
"integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bl": "^3.0.0",
|
"bl": "^4.0.1",
|
||||||
"end-of-stream": "^1.4.1",
|
"end-of-stream": "^1.4.1",
|
||||||
"fs-constants": "^1.0.0",
|
"fs-constants": "^1.0.0",
|
||||||
"inherits": "^2.0.3",
|
"inherits": "^2.0.3",
|
||||||
@ -12750,9 +12785,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"readable-stream": {
|
"readable-stream": {
|
||||||
"version": "3.5.0",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||||
"integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==",
|
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"inherits": "^2.0.3",
|
"inherits": "^2.0.3",
|
||||||
"string_decoder": "^1.1.1",
|
"string_decoder": "^1.1.1",
|
||||||
@ -13263,14 +13298,26 @@
|
|||||||
"integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
|
"integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw=="
|
||||||
},
|
},
|
||||||
"udif": {
|
"udif": {
|
||||||
"version": "0.15.7",
|
"version": "0.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/udif/-/udif-0.15.7.tgz",
|
"resolved": "https://registry.npmjs.org/udif/-/udif-0.17.0.tgz",
|
||||||
"integrity": "sha512-rLzT/RZs6aD13oKHcuU4XiKeJXWX0ZiL6GgTpXt21XWM4jSxOjZHurRwaPkXYmFpTqt+VSht06oUd5mx1KjpyA==",
|
"integrity": "sha512-59bQzrlk/MjbEg3Sv+jrCGOc44V4whyXE2ZlI5O3GWMECUpnM4Wfb5CUc20AV2Plbw8Owq6SaBJRbkkK1DSMPw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"apple-data-compression": "^0.4.0",
|
"apple-data-compression": "^0.4.0",
|
||||||
"plist": "^3.0.1",
|
"plist": "^3.0.1",
|
||||||
"readable-stream": "^2.3.6",
|
"readable-stream": "^3.3.0",
|
||||||
"seek-bzip": "^1.0.5"
|
"seek-bzip": "^1.0.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
|
@ -55,13 +55,13 @@
|
|||||||
"@fortawesome/free-solid-svg-icons": "^5.11.2",
|
"@fortawesome/free-solid-svg-icons": "^5.11.2",
|
||||||
"@fortawesome/react-fontawesome": "^0.1.7",
|
"@fortawesome/react-fontawesome": "^0.1.7",
|
||||||
"bindings": "^1.3.0",
|
"bindings": "^1.3.0",
|
||||||
"bluebird": "^3.5.3",
|
"bluebird": "^3.7.2",
|
||||||
"bootstrap-sass": "^3.3.6",
|
"bootstrap-sass": "^3.3.6",
|
||||||
"color": "^2.0.1",
|
"color": "^2.0.1",
|
||||||
"d3": "^4.13.0",
|
"d3": "^4.13.0",
|
||||||
"debug": "^3.1.0",
|
"debug": "^3.1.0",
|
||||||
"electron-updater": "4.0.6",
|
"electron-updater": "4.0.6",
|
||||||
"etcher-sdk": "^2.0.17",
|
"etcher-sdk": "^3.0.1",
|
||||||
"flexboxgrid": "^6.3.0",
|
"flexboxgrid": "^6.3.0",
|
||||||
"immutable": "^3.8.1",
|
"immutable": "^3.8.1",
|
||||||
"inactivity-timer": "^1.0.0",
|
"inactivity-timer": "^1.0.0",
|
||||||
@ -88,6 +88,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/bindings": "^1.3.0",
|
"@types/bindings": "^1.3.0",
|
||||||
|
"@types/bluebird": "^3.5.30",
|
||||||
"@types/chai": "^4.2.7",
|
"@types/chai": "^4.2.7",
|
||||||
"@types/mime-types": "^2.1.0",
|
"@types/mime-types": "^2.1.0",
|
||||||
"@types/mocha": "^5.2.7",
|
"@types/mocha": "^5.2.7",
|
||||||
|
@ -36,6 +36,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -51,6 +52,7 @@ describe('Model: flashState', function() {
|
|||||||
failed: 0,
|
failed: 0,
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
speed: null,
|
speed: null,
|
||||||
|
averageSpeed: null,
|
||||||
totalSpeed: null,
|
totalSpeed: null,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -106,6 +108,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -126,6 +129,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 0,
|
percentage: 0,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -146,6 +150,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 101,
|
percentage: 101,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 1,
|
totalSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -166,6 +171,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: -1,
|
percentage: -1,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 1,
|
totalSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -186,6 +192,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 0,
|
eta: 0,
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -207,6 +214,7 @@ describe('Model: flashState', function() {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
eta: '15',
|
eta: '15',
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -227,6 +235,7 @@ describe('Model: flashState', function() {
|
|||||||
type: 'flashing',
|
type: 'flashing',
|
||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 1,
|
totalSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -247,6 +256,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 1,
|
totalSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -268,6 +278,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 1,
|
speed: 1,
|
||||||
|
averageSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
active: 0,
|
active: 0,
|
||||||
@ -287,6 +298,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -306,6 +318,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50.253559459485,
|
percentage: 50.253559459485,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 1,
|
totalSpeed: 1,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -330,6 +343,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 0,
|
percentage: 0,
|
||||||
eta: 0,
|
eta: 0,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -350,6 +364,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 0,
|
percentage: 0,
|
||||||
eta: 0,
|
eta: 0,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -386,6 +401,7 @@ describe('Model: flashState', function() {
|
|||||||
failed: 0,
|
failed: 0,
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
speed: null,
|
speed: null,
|
||||||
|
averageSpeed: null,
|
||||||
totalSpeed: null,
|
totalSpeed: null,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -399,6 +415,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -417,6 +434,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -522,6 +540,7 @@ describe('Model: flashState', function() {
|
|||||||
percentage: 50,
|
percentage: 50,
|
||||||
eta: 15,
|
eta: 15,
|
||||||
speed: 100000000000,
|
speed: 100000000000,
|
||||||
|
averageSpeed: 100000000000,
|
||||||
totalSpeed: 200000000000,
|
totalSpeed: 200000000000,
|
||||||
bytes: 0,
|
bytes: 0,
|
||||||
position: 0,
|
position: 0,
|
||||||
@ -535,6 +554,7 @@ describe('Model: flashState', function() {
|
|||||||
failed: 0,
|
failed: 0,
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
speed: 0,
|
speed: 0,
|
||||||
|
averageSpeed: 0,
|
||||||
totalSpeed: 0,
|
totalSpeed: 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -550,6 +570,7 @@ describe('Model: flashState', function() {
|
|||||||
failed: 0,
|
failed: 0,
|
||||||
percentage: 0,
|
percentage: 0,
|
||||||
speed: null,
|
speed: null,
|
||||||
|
averageSpeed: null,
|
||||||
totalSpeed: null,
|
totalSpeed: null,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user