diff --git a/.babelrc b/.babelrc
index 3a9f24e750..64761adc35 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,12 +1,6 @@
{
"presets": [
- [
- "env",
- {
- "targets": { "node": "7.9.0", "electron": "1.7.8" },
- "useBuiltIns": true
- }
- ],
+ ["env", { "targets": { "node": "8.2.1", "electron": "1.8.4" }, "useBuiltIns": true }],
"stage-0",
"react"
],
diff --git a/.circleci/bash_env.sh b/.circleci/bash_env.sh
new file mode 100644
index 0000000000..3c052eb798
--- /dev/null
+++ b/.circleci/bash_env.sh
@@ -0,0 +1,2 @@
+# nvm
+source ~/.nvm/nvm.sh
diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000000..cc686ec917
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,38 @@
+version: 2
+jobs:
+ build:
+ working_directory: ~/tidepool-org/chrome-uploader
+ parallelism: 1
+ # CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
+ # If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
+ environment:
+ BASH_ENV: ".circleci/bash_env.sh"
+ macos:
+ xcode: '9.0'
+ steps:
+ - checkout
+ - run: echo 'export PATH=${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin' >> $BASH_ENV
+ - restore_cache:
+ key: dependency-cache-{{ checksum "package.json" }}
+ - run:
+ name: Install nvm and node
+ command: |
+ set +e
+ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
+ source ~/.nvm/nvm.sh
+ nvm install v8.2.1
+ nvm alias default v8.2.1
+ - run: node -v
+ - run: curl -o- -L https://yarnpkg.com/install.sh | bash
+ - run: yarn config set cache-folder ~/.cache/yarn
+ - run: yarn --frozen-lockfile
+ - save_cache:
+ key: dependency-cache-{{ checksum "package.json" }}
+ paths:
+ - ~/.cache/yarn
+ - ./node_modules
+ # Test
+ - run: yarn lint
+ - run: yarn test
+ # Package
+ - run: yarn package
diff --git a/.nvmrc b/.nvmrc
index 4bc5d61816..2b0aa21219 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-7.9.0
+8.2.1
diff --git a/README.md b/README.md
index b400074a37..8447f048e7 100644
--- a/README.md
+++ b/README.md
@@ -22,14 +22,14 @@ This README is focused on just the details of getting the uploader running local
## How to set it up
1. Clone this repository.
-1. Make sure you have node v7.x installed. If you are managing node installations with [`nvm`](https://github.com/creationix/nvm 'GitHub: nvm'), which we **highly recommend**, you can just do `nvm use` when navigating to this repository to switch to the correct version of node. (In this repository, the correct version of node will always be the version of node packaged by the version of Electron that we are using and specified in the `.nvmrc` file.)
-1. Check that you are also using npm v4.x, which should come with any node v7.x by default, but if not, run `npm install -g npm@4` to get the latest v4.x version.
+1. Make sure you have node v8.x installed. If you are managing node installations with [`nvm`](https://github.com/creationix/nvm 'GitHub: nvm'), which we **highly recommend**, you can just do `nvm use` when navigating to this repository to switch to the correct version of node. (In this repository, the correct version of node will always be the version of node packaged by the version of Electron that we are using and specified in the `.nvmrc` file.)
1. Run `npm install` or, preferably, `yarn`
1. Set the config for the environment you want to target (see [Config](#config) below)
1. Run the following command:
```bash
$ npm run dev
```
+or
```bash
$ yarn dev
```
diff --git a/app/actions/async.js b/app/actions/async.js
index e83fd8e93c..5e2dddff98 100644
--- a/app/actions/async.js
+++ b/app/actions/async.js
@@ -234,6 +234,7 @@ export function doDeviceUpload(driverId, opts = {}, utc) {
targetId: uploadTargetUser,
timezone: targetTimezones[uploadTargetUser],
progress: actionUtils.makeProgressFn(dispatch),
+ dialogDisplay: actionUtils.makeDisplayModal(dispatch),
version: version
});
const { uploadsByUser } = getState();
diff --git a/app/actions/sync.js b/app/actions/sync.js
index 6c684558af..b6915c9132 100644
--- a/app/actions/sync.js
+++ b/app/actions/sync.js
@@ -463,6 +463,16 @@ export function uploadFailure(err, errProps, device) {
};
}
+export function uploadCancelled(utc) {
+ return {
+ type: actionTypes.UPLOAD_CANCELLED,
+ payload: { utc },
+ meta: {
+ source: actionSources[actionTypes.UPLOAD_CANCELLED]
+ }
+ };
+}
+
export function deviceDetectRequest() {
return {
type: actionTypes.DEVICE_DETECT_REQUEST,
@@ -766,3 +776,25 @@ export function driverUpdateShellOpts(opts) {
meta: {source: actionSources[actionTypes.DRIVER_INSTALL_SHELL_OPTS] }
};
}
+
+export function deviceTimeIncorrect(callback, cfg, times) {
+ return {
+ type: actionTypes.DEVICE_TIME_INCORRECT,
+ payload: { callback, cfg, times },
+ meta: { source: actionSources[actionTypes.DEVICE_TIME_INCORRECT] }
+ };
+}
+
+export function dismissedDeviceTimePromp() {
+ return {
+ type: actionTypes.DISMISS_DEVICE_TIME_PROMPT,
+ meta: { source: actionSources[actionTypes.DISMISS_DEVICE_TIME_PROMPT] }
+ };
+}
+
+export function timezoneBlur() {
+ return {
+ type: actionTypes.TIMEZONE_BLUR,
+ meta: { source: actionSources[actionTypes.TIMEZONE_BLUR] }
+ };
+}
\ No newline at end of file
diff --git a/app/actions/utils.js b/app/actions/utils.js
index 26073f8f93..d03d276964 100644
--- a/app/actions/utils.js
+++ b/app/actions/utils.js
@@ -50,11 +50,20 @@ export function makeProgressFn(dispatch) {
};
}
+export function makeDisplayModal(dispatch) {
+ return (cb, cfg, times) => {
+ dispatch(syncActions.deviceTimeIncorrect(cb, cfg, times));
+ };
+}
+
export function makeUploadCb(dispatch, getState, errCode, utc) {
return (err, recs) => {
const { devices, uploadsByUser, uploadTargetDevice, uploadTargetUser, version } = getState();
const targetDevice = devices[uploadTargetDevice];
if (err) {
+ if(err === 'deviceTimePromptClose'){
+ return dispatch(syncActions.uploadCancelled(getUtc(utc)));
+ }
// the drivers sometimes just pass a string arg as err, instead of an actual error :/
if (typeof err === 'string') {
err = new Error(err);
diff --git a/app/components/DeviceTimeModal.js b/app/components/DeviceTimeModal.js
new file mode 100644
index 0000000000..77854d71a5
--- /dev/null
+++ b/app/components/DeviceTimeModal.js
@@ -0,0 +1,201 @@
+/*
+* == BSD2 LICENSE ==
+* Copyright (c) 2014-2016, Tidepool Project
+*
+* This program is free software; you can redistribute it and/or modify it under
+* the terms of the associated License, which is identical to the BSD 2-Clause
+* License as published by the Open Source Initiative at opensource.org.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+* FOR A PARTICULAR PURPOSE. See the License for more details.
+*
+* You should have received a copy of the License along with this program; if
+* not, you can obtain one from Tidepool Project at tidepool.org.
+* == BSD2 LICENSE ==
+*/
+
+import _ from 'lodash';
+import React, { Component } from 'react';
+import { connect } from 'react-redux';
+import { bindActionCreators } from 'redux';
+import sundial from 'sundial';
+
+import { sync as syncActions } from '../actions/';
+
+import styles from '../../styles/components/DeviceTimeModal.module.less';
+
+export class DeviceTimeModal extends Component {
+ determineDeviceType = () => {
+ const { showingDeviceTimePrompt } = this.props;
+ const { deviceTags } = showingDeviceTimePrompt.cfg;
+ if(_.indexOf(deviceTags, 'insulin-pump') !== -1){
+ return 'insulin-pump';
+ }
+ if(_.indexOf(deviceTags, 'cgm') !== -1){
+ return 'cgm';
+ }
+ if(_.indexOf(deviceTags, 'bgm') !== -1){
+ return 'bgm';
+ }
+ return 'unknown';
+ }
+
+ isAnimas = () => {
+ const { showingDeviceTimePrompt } = this.props;
+ const {deviceInfo} = showingDeviceTimePrompt.cfg;
+ return deviceInfo && deviceInfo.driverId && deviceInfo.driverId === 'Animas';
+ }
+
+ handleContinue = () => {
+ const { sync, showingDeviceTimePrompt } = this.props;
+ showingDeviceTimePrompt.callback(null);
+ sync.dismissedDeviceTimePromp();
+ }
+
+ handleCancel = () => {
+ const { sync, showingDeviceTimePrompt } = this.props;
+ showingDeviceTimePrompt.callback('deviceTimePromptClose');
+ sync.dismissedDeviceTimePromp();
+ }
+
+ getActions = () => {
+ const buttons = [];
+ if ( !this.isAnimas() ) {
+ buttons.push(
+
+ Upload anyway
+ ,
+ );
+ }
+ buttons.push(
+
+ Cancel this upload
+
+ );
+
+ return buttons;
+ }
+
+ getMessage = () => {
+ const type = this.determineDeviceType();
+ let message;
+ switch (type) {
+ case 'insulin-pump':
+ message = (
+
+
+ Is your pump time set correctly? If not:
+
+
1. Cancel the current upload
+
2. Check the time on your device
+
3. Check the time zone in the Uploader
+
+
+ );
+ break;
+ case 'cgm':
+ message = (
+
+
+ Is your CGM time set correctly? If not:
+
+
1. Cancel the current upload
+
2. Check the time on your device
+
3. Check the time zone in the Uploader
+
+
+ );
+ break;
+ case 'bgm':
+ message = (
+
+
+ Is your meter time set correctly? If not:
+
+
1. Cancel the current upload
+
2. Check the time on your device
+
3. Check the time zone in the Uploader
+
+
+ );
+ break;
+ default:
+ break;
+ }
+ return message;
+ }
+
+ getTitle = () => {
+ const type = this.determineDeviceType();
+ let title;
+ switch (type) {
+ case 'insulin-pump':
+ title = 'Your pump doesn\'t appear to be in';
+ break;
+ case 'cgm':
+ title = 'Your CGM doesn\'t appear to be in';
+ break;
+ case 'bgm':
+ title = 'Your meter doesn\'t appear to be in';
+ break;
+ default:
+ break;
+ }
+ return title;
+ }
+
+ render() {
+ const { showingDeviceTimePrompt } = this.props;
+
+ if(!showingDeviceTimePrompt){
+ return null;
+ }
+
+ const { showingDeviceTimePrompt: { cfg: { timezone }, times: { serverTime, deviceTime } } } = this.props;
+
+ const title = this.getTitle();
+ const message = this.getMessage();
+ const actions = this.getActions();
+
+ return (
+
+
+
+
{title}
+
{`${timezone}:`}
+
+
+
+
+
{timezone}:
+
{sundial.formatInTimezone(serverTime, timezone, 'h:mm a')}
+
+
+
Device time:
+
{sundial.formatInTimezone(deviceTime, timezone, 'h:mm a')}
+
+
+
+ {message}
+
+ {actions}
+
+
+
+ );
+ }
+};
+
+export default connect(
+ (state, ownProps) => {
+ return {
+ showingDeviceTimePrompt: state.showingDeviceTimePrompt
+ };
+ },
+ (dispatch) => {
+ return {
+ sync: bindActionCreators(syncActions, dispatch)
+ };
+ }
+)(DeviceTimeModal);
diff --git a/app/components/TimezoneDropdown.js b/app/components/TimezoneDropdown.js
index b34ca2b6d7..26d7b9a8bf 100644
--- a/app/components/TimezoneDropdown.js
+++ b/app/components/TimezoneDropdown.js
@@ -25,6 +25,16 @@ var cx = require('classnames');
var styles = require('../../styles/components/TimezoneDropdown.module.less');
class TimezoneDropdown extends React.Component {
+ constructor(props) {
+ super(props);
+
+ this.timezoneSelect = null;
+
+ this.setTimezoneSelect = element => {
+ this.timezoneSelect = element;
+ };
+ }
+
static propTypes = {
onTimezoneChange: PropTypes.func.isRequired,
selectorLabel: PropTypes.string.isRequired,
@@ -37,7 +47,9 @@ class TimezoneDropdown extends React.Component {
dismissUpdateProfileError: PropTypes.func.isRequired,
isClinicAccount: PropTypes.bool,
userDropdownShowing: PropTypes.bool,
- isUploadInProgress: PropTypes.bool.isRequired
+ isUploadInProgress: PropTypes.bool.isRequired,
+ onBlur: PropTypes.func.isRequired,
+ isTimezoneFocused: PropTypes.bool.isRequired
};
componentWillReceiveProps(nextProps) {
@@ -64,6 +76,12 @@ class TimezoneDropdown extends React.Component {
clearInterval(this.updateSuggestedInterval);
}
+ componentDidUpdate() {
+ if (this.timezoneSelect && this.props.isTimezoneFocused) {
+ this.timezoneSelect.focus();
+ }
+ }
+
buildTzSelector = () => {
function sortByOffset(timezones) {
return _.sortBy(timezones, function(tz) {
@@ -80,12 +98,14 @@ class TimezoneDropdown extends React.Component {
return (
+ disabled={this.props.isUploadInProgress}
+ ref={this.setTimezoneSelect} />
);
};
diff --git a/app/components/Upload.js b/app/components/Upload.js
index 801f433441..208202f3e6 100644
--- a/app/components/Upload.js
+++ b/app/components/Upload.js
@@ -258,16 +258,13 @@ export default class Upload extends Component {
}
let binary_link = null;
- if(_.isArray(data.pages)) {
+ if(_.isArray(data.pages || data.aapPackets)) {
+ /*
+ we currently support binary blobs for Medtronic (.pages) and
+ Libre (.aapPackets)
+ */
let filenameBinary = 'binary-blob.json';
- let blob = { settings:data.settings, pages:data.pages };
- if(_.isArray(data.cbg_pages)) {
- blob.cbg_pages = data.cbg_pages;
- }
- if(_.isArray(data.isig_pages)) {
- blob.isig_pages = data.isig_pages;
- }
- let jsonDataBinary = JSON.stringify(blob, undefined, 4);
+ let jsonDataBinary = JSON.stringify(data, undefined, 4);
let blobBinary = new Blob([jsonDataBinary], {type: 'text/json'});
let dataHrefBinary = URL.createObjectURL(blobBinary);
binary_link = (
diff --git a/app/constants/actionSources.js b/app/constants/actionSources.js
index 85319d09e5..f178ef8e11 100644
--- a/app/constants/actionSources.js
+++ b/app/constants/actionSources.js
@@ -51,6 +51,7 @@ export const TOGGLE_ERROR_DETAILS = USER;
export const DISMISS_UPDATE_PROFILE_ERROR = USER;
export const DISMISS_CREATE_CUSTODIAL_ACCOUNT_ERROR = USER;
export const SET_ALL_USERS = UNDER_THE_HOOD;
+export const TIMEZONE_BLUR = UNDER_THE_HOOD;
/*
* Asyncronous action types
@@ -77,6 +78,7 @@ export const UPLOAD_PROGRESS = USER_VISIBLE;
export const UPLOAD_SUCCESS = USER_VISIBLE;
export const UPLOAD_FAILURE = USER_VISIBLE;
export const UPLOAD_ABORTED = USER_VISIBLE;
+export const UPLOAD_CANCELLED = USER_VISIBLE;
export const CARELINK_FETCH_REQUEST = USER;
export const CARELINK_FETCH_SUCCESS = USER_VISIBLE;
@@ -90,6 +92,9 @@ export const DEVICE_DETECT_REQUEST = UNDER_THE_HOOD;
export const DEVICE_DETECT_FAILURE = USER_VISIBLE;
export const DEVICE_DETECT_SUCCESS = UNDER_THE_HOOD;
+export const DEVICE_TIME_INCORRECT = USER_VISIBLE;
+export const DISMISS_DEVICE_TIME_PROMPT = USER_VISIBLE;
+
export const READ_FILE_REQUEST = USER;
export const READ_FILE_SUCCESS = USER_VISIBLE;
export const READ_FILE_FAILURE = USER_VISIBLE;
diff --git a/app/constants/actionTypes.js b/app/constants/actionTypes.js
index 6a9b97373a..2a28f9e33b 100644
--- a/app/constants/actionTypes.js
+++ b/app/constants/actionTypes.js
@@ -47,6 +47,7 @@ export const TOGGLE_ERROR_DETAILS = 'TOGGLE_ERROR_DETAILS';
export const DISMISS_UPDATE_PROFILE_ERROR = 'DISMISS_UPDATE_PROFILE_ERROR';
export const DISMISS_CREATE_CUSTODIAL_ACCOUNT_ERROR = 'DISMISS_CREATE_CUSTODIAL_ACCOUNT_ERROR';
export const SET_ALL_USERS = 'SET_ALL_USERS';
+export const TIMEZONE_BLUR = 'TIMEZONE_BLUR';
/*
* Asyncronous action types
@@ -72,6 +73,7 @@ export const UPLOAD_PROGRESS = 'UPLOAD_PROGRESS';
export const UPLOAD_SUCCESS = 'UPLOAD_SUCCESS';
export const UPLOAD_FAILURE = 'UPLOAD_FAILURE';
export const UPLOAD_ABORTED = 'UPLOAD_ABORTED';
+export const UPLOAD_CANCELLED = 'UPLOAD_CANCELLED';
export const CARELINK_FETCH_REQUEST = 'CARELINK_FETCH_REQUEST';
export const CARELINK_FETCH_SUCCESS = 'CARELINK_FETCH_SUCCESS';
@@ -127,3 +129,6 @@ export const DRIVER_UPDATE_NOT_AVAILABLE = 'DRIVER_UPDATE_NOT_AVAILABLE';
export const DISMISS_DRIVER_UPDATE_AVAILABLE = 'DISMISS_DRIVER_UPDATE_AVAILABLE';
export const DRIVER_INSTALL = 'DRIVER_INSTALL';
export const DRIVER_INSTALL_SHELL_OPTS = 'DRIVER_INSTALL_SHELL_OPTS';
+
+export const DEVICE_TIME_INCORRECT = 'DEVICE_TIME_INCORRECT';
+export const DISMISS_DEVICE_TIME_PROMPT = 'DISMISS_DEVICE_TIME_PROMPT';
diff --git a/app/containers/App.js b/app/containers/App.js
index ff60fb1d63..4473107694 100644
--- a/app/containers/App.js
+++ b/app/containers/App.js
@@ -57,6 +57,7 @@ import Footer from '../components/Footer';
import Header from '../components/Header';
import UpdateModal from '../components/UpdateModal';
import UpdateDriverModal from '../components/UpdateDriverModal';
+import DeviceTimeModal from '../components/DeviceTimeModal';
import styles from '../../styles/components/App.module.less';
@@ -153,6 +154,7 @@ export class App extends Component {
{this.renderVersionCheck()}
+
);
}
diff --git a/app/containers/MainPage.js b/app/containers/MainPage.js
index db48b199ed..27b373e11b 100644
--- a/app/containers/MainPage.js
+++ b/app/containers/MainPage.js
@@ -69,7 +69,9 @@ export class MainPage extends Component {
targetTimezone={this.props.selectedTimezone}
updateProfileErrorDismissed={this.props.updateProfileErrorDismissed}
updateProfileErrorMessage={this.props.updateProfileErrorMessage}
- userDropdownShowing={this.props.showingUserSelectionDropdown} />
+ userDropdownShowing={this.props.showingUserSelectionDropdown}
+ onBlur={this.props.sync.timezoneBlur}
+ isTimezoneFocused={this.props.isTimezoneFocused} />
);
}
@@ -228,6 +230,7 @@ export default connect(
allUsers: state.allUsers,
blipUrls: state.blipUrls,
isClinicAccount: isClinicAccount(state),
+ isTimezoneFocused: state.isTimezoneFocused,
page: state.page,
selectedTimezone: getSelectedTimezone(state),
showingUserSelectionDropdown: shouldShowUserSelectionDropdown(state),
diff --git a/app/main.development.js b/app/main.development.js
index ef4c2a8307..e625d65c1b 100755
--- a/app/main.development.js
+++ b/app/main.development.js
@@ -4,7 +4,7 @@ import { app, BrowserWindow, Menu, shell, ipcMain, crashReporter } from 'electro
import os from 'os';
import open from 'open';
import { autoUpdater } from 'electron-updater';
-import * as chromeFinder from 'chrome-launcher/chrome-finder';
+import * as chromeFinder from 'chrome-launcher/dist/chrome-finder';
import { sync as syncActions } from './actions';
import debugMode from '../app/utils/debugMode';
import Rollbar from 'rollbar/src/server/rollbar';
diff --git a/app/package.json b/app/package.json
index 2172118cb4..8f0d09814e 100755
--- a/app/package.json
+++ b/app/package.json
@@ -1,7 +1,7 @@
{
"name": "tidepool-uploader",
"productName": "tidepool-uploader",
- "version": "2.2.5-600series-qa.22",
+ "version": "2.5.9-600series-qa.23",
"description": "Tidepool Project Universal Uploader",
"main": "./main.js",
"author": {
@@ -10,9 +10,9 @@
},
"license": "BSD-2-Clause",
"dependencies": {
- "drivelist": "5.1.8",
- "keytar": "4.0.4",
- "node-hid": "0.5.7",
+ "drivelist": "6.1.7",
+ "keytar": "4.2.1",
+ "node-hid": "0.7.2",
"serialport": "5.0.0",
"usb": "1.3.1"
},
diff --git a/app/reducers/devices.js b/app/reducers/devices.js
index 78785d925c..cc883881af 100644
--- a/app/reducers/devices.js
+++ b/app/reducers/devices.js
@@ -113,7 +113,7 @@ const devices = {
enabled: {mac: true, win: true}
},
onetouchultramini: {
- instructions: 'Plug in meter with cable',
+ instructions: 'Plug in meter with cable and make sure the meter is switched off',
name: 'OneTouch UltraMini',
key: 'onetouchultramini',
showDriverLink: {mac: true, win: true},
@@ -121,7 +121,7 @@ const devices = {
enabled: {mac: true, win: true}
},
onetouchultra2: {
- instructions: 'Plug in meter with cable',
+ instructions: 'Plug in meter with cable and make sure the meter is switched off',
name: 'OneTouch Ultra 2',
key: 'onetouchultra2',
showDriverLink: {mac: true, win: true},
diff --git a/app/reducers/misc.js b/app/reducers/misc.js
index e9e72a55f9..b8403a192f 100644
--- a/app/reducers/misc.js
+++ b/app/reducers/misc.js
@@ -146,6 +146,7 @@ function uploading(state = false, action) {
case actionTypes.READ_FILE_FAILURE:
case actionTypes.UPLOAD_FAILURE:
case actionTypes.UPLOAD_SUCCESS:
+ case actionTypes.UPLOAD_CANCELLED:
return false;
default:
return state;
@@ -272,3 +273,26 @@ export function driverUpdateComplete(state = null, action) {
return state;
}
}
+
+export function showingDeviceTimePrompt(state = null, action) {
+ switch (action.type) {
+ case actionTypes.DEVICE_TIME_INCORRECT:
+ return { callback: action.payload.callback, cfg: action.payload.cfg, times: action.payload.times };
+ case actionTypes.DISMISS_DEVICE_TIME_PROMPT:
+ return false;
+ default:
+ return state;
+ }
+}
+
+export function isTimezoneFocused(state = false, action) {
+ switch (action.type) {
+ case actionTypes.UPLOAD_CANCELLED:
+ return true;
+ case actionTypes.TIMEZONE_BLUR:
+ case actionTypes.UPLOAD_REQUEST:
+ return false;
+ default:
+ return state;
+ }
+}
diff --git a/app/reducers/uploads.js b/app/reducers/uploads.js
index b0ca7e7e2e..9dd3060b9c 100644
--- a/app/reducers/uploads.js
+++ b/app/reducers/uploads.js
@@ -39,6 +39,7 @@ export function uploadProgress(state = null, action) {
};
case actionTypes.UPLOAD_FAILURE:
case actionTypes.UPLOAD_SUCCESS:
+ case actionTypes.UPLOAD_CANCELLED:
return null;
case actionTypes.UPLOAD_PROGRESS:
return Object.assign({}, state, action.payload);
@@ -285,6 +286,46 @@ export function uploadsByUser(state = {}, action) {
{[userId]: {[deviceKey]: {showErrorDetails: {$set: isVisible}}}}
);
}
+ case actionTypes.UPLOAD_CANCELLED: {
+ const { utc } = action.payload;
+ let uploadTargetUser, uploadTargetDevice;
+ _.forOwn(state, (uploads, userId) => {
+ _.forOwn(uploads, (upload, deviceKey) => {
+ if (upload.uploading === true) {
+ uploadTargetUser = userId;
+ uploadTargetDevice = deviceKey;
+ }
+ });
+ });
+ if (uploadTargetUser && uploadTargetDevice) {
+ let newState = state;
+ let devicesForCurrentUser = _.get(state, [uploadTargetUser], {});
+ _.forOwn(devicesForCurrentUser, (upload, key) => {
+ newState = update(
+ newState,
+ {[uploadTargetUser]: {[key]: {$apply: (upload) => {
+ if (key === uploadTargetDevice) {
+ return update(
+ upload,
+ {
+ completed: {$set: true},
+ failed: {$set: false},
+ history: {[0]: {
+ finish: {$set: utc}
+ }},
+ uploading: {$set: false}
+ }
+ );
+ }
+ else {
+ return _.omit(upload, 'disabled');
+ }
+ }}}}
+ );
+ });
+ return newState;
+ }
+ }
case actionTypes.UPLOAD_FAILURE: {
const err = action.payload;
let uploadTargetUser, uploadTargetDevice;
diff --git a/app/yarn.lock b/app/yarn.lock
index 39f7dd0cf8..d4efd135c6 100644
--- a/app/yarn.lock
+++ b/app/yarn.lock
@@ -68,7 +68,7 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
-bindings@1.3.0, bindings@^1.2.1, bindings@^1.3.0:
+bindings@1.3.0, bindings@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7"
@@ -147,12 +147,24 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
-debug@^2.2.0, debug@^2.6.0, debug@^2.6.6:
+debug@^2.2.0, debug@^2.6.6:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
ms "2.0.0"
+debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ dependencies:
+ mimic-response "^1.0.0"
+
deep-extend@~0.4.0:
version "0.4.2"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
@@ -165,19 +177,20 @@ delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-detect-libc@^1.0.2:
+detect-libc@^1.0.2, detect-libc@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-drivelist@5.1.8:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-5.1.8.tgz#76f0d5f747e36544b5fa77ff914ff9a97877b01f"
+drivelist@6.1.7:
+ version "6.1.7"
+ resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-6.1.7.tgz#fb4fb498886896cf11b17510dd5a71ac19793449"
dependencies:
- bindings "^1.2.1"
- debug "^2.6.0"
- js-yaml "^3.4.1"
- lodash "^4.16.4"
- nan "^2.6.2"
+ bindings "^1.3.0"
+ debug "^3.1.0"
+ fast-plist "^0.1.2"
+ js-yaml "^3.11.0"
+ nan "^2.10.0"
+ prebuild-install "^2.5.1"
ecc-jsbn@~0.1.1:
version "0.1.1"
@@ -211,6 +224,10 @@ extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+fast-plist@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/fast-plist/-/fast-plist-0.1.2.tgz#a45aff345196006d406ca6cdcd05f69051ef35b8"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -351,9 +368,9 @@ isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-js-yaml@^3.4.1:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
+js-yaml@^3.11.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -389,15 +406,12 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-keytar@4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/keytar/-/keytar-4.0.4.tgz#59a306f448a1c6a309cd68cb29129095a8c8b1db"
+keytar@4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/keytar/-/keytar-4.2.1.tgz#8a06a6577fdf6373e0aa6b112277e63dec77fd12"
dependencies:
- nan "2.5.1"
-
-lodash@^4.16.4:
- version "4.17.4"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+ nan "2.8.0"
+ prebuild-install "^2.4.1"
mime-db@~1.30.0:
version "1.30.0"
@@ -409,6 +423,10 @@ mime-types@^2.1.12, mime-types@~2.1.7:
dependencies:
mime-db "~1.30.0"
+mimic-response@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e"
+
minimatch@^3.0.0, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@@ -433,23 +451,29 @@ ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-nan@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
-
-nan@^2.6.2, nan@^2.8.0:
+nan@2.8.0, nan@^2.6.2, nan@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
+nan@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
+
node-abi@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.1.2.tgz#4da6caceb6685fcd31e7dd1994ef6bb7d0a9c0b2"
dependencies:
semver "^5.4.1"
-node-hid@0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-0.5.7.tgz#5c87c33e4bcb9db64decf21ba3c7b9d014eac123"
+node-abi@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.3.0.tgz#f3d554d6ac72a9ee16f0f4dc9548db7c08de4986"
+ dependencies:
+ semver "^5.4.1"
+
+node-hid@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-0.7.2.tgz#15025cdea2e9756aca2de7266529996d40e52c56"
dependencies:
bindings "^1.3.0"
nan "^2.6.2"
@@ -551,6 +575,26 @@ prebuild-install@^2.2.2:
tunnel-agent "^0.6.0"
xtend "4.0.1"
+prebuild-install@^2.4.1, prebuild-install@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.1.tgz#0f234140a73760813657c413cdccdda58296b1da"
+ dependencies:
+ detect-libc "^1.0.3"
+ expand-template "^1.0.2"
+ github-from-package "0.0.0"
+ minimist "^1.2.0"
+ mkdirp "^0.5.1"
+ node-abi "^2.2.0"
+ noop-logger "^0.1.1"
+ npmlog "^4.0.1"
+ os-homedir "^1.0.1"
+ pump "^2.0.1"
+ rc "^1.1.6"
+ simple-get "^2.7.0"
+ tar-fs "^1.13.0"
+ tunnel-agent "^0.6.0"
+ which-pm-runs "^1.0.0"
+
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
@@ -566,6 +610,13 @@ pump@^1.0.0, pump@^1.0.1:
end-of-stream "^1.1.0"
once "^1.3.1"
+pump@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
@@ -656,6 +707,10 @@ signal-exit@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+simple-concat@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
+
simple-get@^1.4.2:
version "1.4.3"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb"
@@ -664,6 +719,14 @@ simple-get@^1.4.2:
unzip-response "^1.0.0"
xtend "^4.0.0"
+simple-get@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.7.0.tgz#ad37f926d08129237ff08c4f2edfd6f10e0380b5"
+ dependencies:
+ decompress-response "^3.3.0"
+ once "^1.3.1"
+ simple-concat "^1.0.0"
+
sntp@1.x.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
@@ -802,6 +865,10 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
+which-pm-runs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
+
wide-align@^1.1.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
diff --git a/appveyor.yml b/appveyor.yml
index 578be5d702..1d85eaf1e1 100755
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -3,7 +3,7 @@ image: Visual Studio 2017
environment:
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: -t7z
matrix:
- - nodejs_version: 7.9.0
+ - nodejs_version: 8.2.1
cache:
- "%LOCALAPPDATA%\\Yarn"
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 916234dea7..0000000000
--- a/circle.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-machine:
- environment:
- PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
-
-dependencies:
- pre:
- - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
- - nvm install 7.9.0
- - nvm use 7.9.0
- - curl -o- -L https://yarnpkg.com/install.sh | bash
- - yarn config set cache-folder ~/.cache/yarn
- override:
- - yarn --frozen-lockfile
- cache_directories:
- - ~/.cache/yarn
-
-test:
- override:
- - yarn lint
- - yarn test
- post:
-# - yarn package-dev
-# - zip -r -X development.zip release
-# - rm -rf release
- - yarn package
-# - zip -r -X production.zip release
-
-#general:
-# artifacts:
-# - "development.zip"
-# - "production.zip"
diff --git a/docs/checklists/abbottFreeStyleLibre.md b/docs/checklists/abbottFreeStyleLibre.md
index 65da87d8a8..cb047aed8b 100644
--- a/docs/checklists/abbottFreeStyleLibre.md
+++ b/docs/checklists/abbottFreeStyleLibre.md
@@ -85,6 +85,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[x]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[x]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
@@ -122,6 +123,7 @@ Choose one of the following:
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[x]` ketone out-of-range values
- `[x]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
- internal glucose unit is always mg/dL for this device, independent of display unit
diff --git a/docs/checklists/abbottFreeStyleLite.md b/docs/checklists/abbottFreeStyleLite.md
index a914609003..0fd1cf5317 100644
--- a/docs/checklists/abbottFreeStyleLite.md
+++ b/docs/checklists/abbottFreeStyleLite.md
@@ -21,6 +21,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
### No Tidepool Data Model Yet
diff --git a/docs/checklists/abbottPrecisionXtra.md b/docs/checklists/abbottPrecisionXtra.md
index 800c9b01e6..cc72df6b98 100644
--- a/docs/checklists/abbottPrecisionXtra.md
+++ b/docs/checklists/abbottPrecisionXtra.md
@@ -21,6 +21,7 @@
- `[x]` units of blood ketone values (read from device, not hard-coded)
- `[x]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
### No Tidepool Data Model Yet
diff --git a/docs/checklists/animasPingAndVibe.md b/docs/checklists/animasPingAndVibe.md
index 2b2579031d..cef6204204 100644
--- a/docs/checklists/animasPingAndVibe.md
+++ b/docs/checklists/animasPingAndVibe.md
@@ -240,6 +240,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[ ]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[ ]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklists/bayerContourNext.md b/docs/checklists/bayerContourNext.md
index e1b2fd3e3a..a04936cf4b 100644
--- a/docs/checklists/bayerContourNext.md
+++ b/docs/checklists/bayerContourNext.md
@@ -26,6 +26,7 @@ Supported devices:
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
### No Tidepool Data Model Yet
diff --git a/docs/checklists/dexcom.md b/docs/checklists/dexcom.md
index 894e7e8f6c..6032177ca9 100644
--- a/docs/checklists/dexcom.md
+++ b/docs/checklists/dexcom.md
@@ -95,6 +95,7 @@ We are including the following in the payload for Dexcom settings:
- `[x]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[x]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklists/insuletOmniPod.md b/docs/checklists/insuletOmniPod.md
index f0b6427589..923c837dcb 100644
--- a/docs/checklists/insuletOmniPod.md
+++ b/docs/checklists/insuletOmniPod.md
@@ -221,6 +221,7 @@ The OmniPod represents programmed and actual delivered bolus amounts in terms of
- `[x]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[x]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklists/medtronic.md b/docs/checklists/medtronic.md
index dd4bed7fb7..f0cb52dd88 100644
--- a/docs/checklists/medtronic.md
+++ b/docs/checklists/medtronic.md
@@ -224,6 +224,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[ ]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[x]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[x]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklists/oneTouchUltra2.md b/docs/checklists/oneTouchUltra2.md
index b8bbd1c3a5..4bd606e832 100644
--- a/docs/checklists/oneTouchUltra2.md
+++ b/docs/checklists/oneTouchUltra2.md
@@ -19,6 +19,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
### No Tidepool Data Model Yet
diff --git a/docs/checklists/oneTouchUltraMini.md b/docs/checklists/oneTouchUltraMini.md
index 037cb49dfd..b28c53671a 100644
--- a/docs/checklists/oneTouchUltraMini.md
+++ b/docs/checklists/oneTouchUltraMini.md
@@ -19,6 +19,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
#### Notes:
- according to user manual, <20 mg/dL is LO and >600 mg/dL is HI
diff --git a/docs/checklists/oneTouchVerio.md b/docs/checklists/oneTouchVerio.md
index d73e2ae3a5..0c7ea1e1e1 100644
--- a/docs/checklists/oneTouchVerio.md
+++ b/docs/checklists/oneTouchVerio.md
@@ -21,6 +21,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
## Notes
- Display units of smbg values are available in data protocol, but always reported in mg/dL
diff --git a/docs/checklists/oneTouchVerioIQ.md b/docs/checklists/oneTouchVerioIQ.md
index bb9028df48..2e58474e58 100644
--- a/docs/checklists/oneTouchVerioIQ.md
+++ b/docs/checklists/oneTouchVerioIQ.md
@@ -21,6 +21,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
## Notes
- Units of smbg values are available in data protocol, but always reported in mg/dL
diff --git a/docs/checklists/tandem.md b/docs/checklists/tandem.md
index 3f944d9401..4f96917b83 100644
--- a/docs/checklists/tandem.md
+++ b/docs/checklists/tandem.md
@@ -230,6 +230,7 @@ No Tidepool data model yet:
- `[x]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[x]` date & time settings changes
+ - `[x]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
##### Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklisttemplates/BGMChecklist.md b/docs/checklisttemplates/BGMChecklist.md
index ef60fd0f1b..31d6dea130 100644
--- a/docs/checklisttemplates/BGMChecklist.md
+++ b/docs/checklisttemplates/BGMChecklist.md
@@ -19,6 +19,7 @@
- `[ ]` units of blood ketone values (read from device, not hard-coded)
- `[ ]` ketone out-of-range values
- `[ ]` ketone out-of-range value thresholds
+- `[ ]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
### No Tidepool Data Model Yet
diff --git a/docs/checklisttemplates/CGMChecklist.md b/docs/checklisttemplates/CGMChecklist.md
index aede368eef..ce02fcef25 100644
--- a/docs/checklisttemplates/CGMChecklist.md
+++ b/docs/checklisttemplates/CGMChecklist.md
@@ -81,6 +81,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[ ]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[ ]` date & time settings changes
+ - `[ ]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/docs/checklisttemplates/PumpChecklist.md b/docs/checklisttemplates/PumpChecklist.md
index 11bb4bf75c..173e713461 100644
--- a/docs/checklisttemplates/PumpChecklist.md
+++ b/docs/checklisttemplates/PumpChecklist.md
@@ -87,7 +87,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[ ]` other alarm types (details to be provided in `payload` object)
- `[ ]` prime events
- `[ ]` prime target = tubing
- - `[ ]` prime target = cannula
+ - `[ ]` prime target = cannula
- `[ ]` prime targets not differentiated
- `[ ]` prime volume in units of insulin
- `[ ]` reservoir change (or reservoir rewind)
@@ -213,6 +213,7 @@ Device-specific? (Add any device-specific notes/additions here.)
- `[ ]` internal timestamp or persistent log index (across device communication sessions) to order all pump events (regardless of type), independent of device display time OR
- `[ ]` ephemeral log index (does not persist across device communication sessions) to order all pump events (regardless of type), independent of device display time
- `[ ]` date & time settings changes
+ - `[ ]` use `common.checkDeviceTime(currentDeviceTime, timezone, cb)` to check against server time
Device-specific? (Add any device-specific notes/additions here.)
diff --git a/lib/commonFunctions.js b/lib/commonFunctions.js
index 032d4b397d..4b19fd7ace 100644
--- a/lib/commonFunctions.js
+++ b/lib/commonFunctions.js
@@ -121,7 +121,8 @@ exports.finalScheduledBasal = function(currBasal, settings, source) {
return currBasal;
};
-exports.checkDeviceTime = function (currentDeviceTime, timezone, cb) {
+exports.checkDeviceTime = function (currentDeviceTime, cfg, cb) {
+ var { timezone, dialogDisplay } = cfg;
api.getTime(function (err, result) {
if (err) {
return cb(err);
@@ -136,8 +137,8 @@ exports.checkDeviceTime = function (currentDeviceTime, timezone, cb) {
var FIFTEEN_MINUTES = 15 * 60 * 1000;
if ( Math.abs(serverTime.valueOf()-deviceTime.valueOf()) > FIFTEEN_MINUTES ) {
- // TODO: pop up a message
- console.log('Difference larger than 15 minutes');
+ dialogDisplay(cb, cfg, {serverTime, deviceTime});
+ return;
}
} else {
debug('Current device time not provided by driver.');
diff --git a/lib/core/device.js b/lib/core/device.js
index dd5c0e46be..00de396f08 100644
--- a/lib/core/device.js
+++ b/lib/core/device.js
@@ -275,6 +275,7 @@ device._createDriverConfig = function(driverId, options) {
version: options.version,
builder: builder,
progress: options.progress,
+ dialogDisplay: options.dialogDisplay,
silent: Boolean(options.silent)
};
}
@@ -294,6 +295,7 @@ device._createDriverConfig = function(driverId, options) {
version: options.version,
builder: builder,
progress: options.progress,
+ dialogDisplay: options.dialogDisplay,
silent: Boolean(options.silent)
};
};
diff --git a/lib/driverManager.js b/lib/driverManager.js
index c2615a805a..e634af0e74 100644
--- a/lib/driverManager.js
+++ b/lib/driverManager.js
@@ -73,7 +73,6 @@ module.exports = function (driverObjects, configs) {
async.waterfall([
drvr.setup.bind(drvr, deviceInfo, noop),
drvr.connect.bind(drvr, noop),
- drvr.getConfigInfo.bind(drvr, noop),
drvr.disconnect.bind(drvr, noop)
], function(err, result) {
result = result || {};
diff --git a/lib/drivers/abbott/abbottFreeStyleLibre.js b/lib/drivers/abbott/abbottFreeStyleLibre.js
index 77fc5973f6..5f1c9a3f2c 100644
--- a/lib/drivers/abbott/abbottFreeStyleLibre.js
+++ b/lib/drivers/abbott/abbottFreeStyleLibre.js
@@ -19,6 +19,7 @@ import { clone, assign, forEach, forEachRight, map } from 'lodash';
import async from 'async';
import sundial from 'sundial';
import crypto from 'crypto';
+import common from '../../commonFunctions';
import FreeStyleLibreProtocol from './freeStyleLibreProtocol';
import FreeStyleLibreData from './freeStyleLibreData';
@@ -37,6 +38,7 @@ const debug = isBrowser ? require('bows')('FreeStyleLibreDriver') : console.log;
export default function (config) {
const cfg = clone(config);
+ cfg.deviceTags = ['bgm', 'cgm'];
const hidDevice = config.deviceComms;
const protocol = new FreeStyleLibreProtocol(cfg);
const dataParser = new FreeStyleLibreData(cfg);
@@ -71,6 +73,16 @@ export default function (config) {
progress(0);
const getterFunctions = [
+ (callback) => {
+ // First, check device time
+ protocol.getReaderTime((result) => {
+ common.checkDeviceTime(
+ sundial.formatDeviceTime(result.readerTime),
+ cfg,
+ callback,
+ );
+ });
+ },
(callback) => { protocol.getSerialNumber(callback); },
(callback) => { protocol.getFirmwareVersion(callback); },
(callback) => { protocol.getDBRecordNumber(callback); },
@@ -218,7 +230,7 @@ export default function (config) {
progress(0);
const sessionInfo = {
- deviceTags: ['bgm', 'cgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Abbott'],
deviceModel: DEVICE_MODEL_NAME,
deviceSerialNumber: data.deviceInfo.serialNumber,
diff --git a/lib/drivers/abbott/abbottFreeStyleLite.js b/lib/drivers/abbott/abbottFreeStyleLite.js
index d137423e09..10e9d1ae96 100644
--- a/lib/drivers/abbott/abbottFreeStyleLite.js
+++ b/lib/drivers/abbott/abbottFreeStyleLite.js
@@ -20,6 +20,7 @@ var async = require('async');
var sundial = require('sundial');
var struct = require('../../struct.js')();
var annotate = require('../../eventAnnotations');
+var common = require('../../commonFunctions');
var TZOUtil = require('../../TimezoneOffsetUtil');
@@ -33,6 +34,7 @@ module.exports = function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
var STX = 0x02;
var ETX = 0x03;
@@ -382,6 +384,16 @@ module.exports = function (config) {
return dataToPost;
};
+ var disconnect = function(progress, data, cb) {
+ cfg.deviceComms.clearPacketHandler();
+ cfg.deviceComms.clearErrorHandler();
+ cfg.deviceComms.disconnect(function() {
+ progress(100);
+ data.cleanup = true;
+ cb(null, data);
+ });
+ };
+
return {
// using the default detect for this driver
// detect: function(cb) {
@@ -444,7 +456,16 @@ module.exports = function (config) {
data.id = data.model + ' ' + data.serialNumber;
data.logEntries = result.logEntries;
data.numEntries = result.numEntries;
- cb(null, data);
+
+ common.checkDeviceTime(data.deviceTime, cfg, function (checkErr) {
+ if (checkErr) {
+ disconnect(progress, data, function() {
+ cb(checkErr, null);
+ });
+ } else {
+ cb(null, data);
+ }
+ });
});
},
@@ -464,7 +485,7 @@ module.exports = function (config) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Abbott'],
deviceModel: data.model,
deviceSerialNumber: data.serialNumber,
@@ -494,11 +515,7 @@ module.exports = function (config) {
},
cleanup: function (progress, data, cb) {
- cfg.deviceComms.clearPacketHandler();
- cfg.deviceComms.clearErrorHandler();
- cfg.deviceComms.disconnect(function() {
- progress(100);
- data.cleanup = true;
+ disconnect(progress, data, function() {
cb(null, data);
});
},
diff --git a/lib/drivers/abbott/abbottPrecisionXtra.js b/lib/drivers/abbott/abbottPrecisionXtra.js
index cc561eb478..a4c7c2eff4 100644
--- a/lib/drivers/abbott/abbottPrecisionXtra.js
+++ b/lib/drivers/abbott/abbottPrecisionXtra.js
@@ -20,6 +20,7 @@ var async = require('async');
var sundial = require('sundial');
var struct = require('../../struct.js')();
var annotate = require('../../eventAnnotations');
+var common = require('../../commonFunctions');
var TZOUtil = require('../../TimezoneOffsetUtil');
@@ -30,6 +31,7 @@ module.exports = function (config) {
// initialized with current date and no date & time settings changes
// means we'll just apply the timezone across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
var STX = 0x02;
var ETX = 0x03;
@@ -515,7 +517,9 @@ module.exports = function (config) {
_.assign(data, _.pick(result, 'logEntries', 'numEntries', 'serialNumber', 'softwareVersion', 'deviceTime'));
data.model = 'AbbFreePrecXtra';
data.id = data.model + ' ' + data.serialNumber;
- cb(null, data);
+ common.checkDeviceTime(data.deviceTime, cfg, function(checkErr) {
+ cb(checkErr, data);
+ });
});
},
@@ -534,7 +538,7 @@ module.exports = function (config) {
uploadData: function (progress, data, cb) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Abbott'],
deviceModel: 'Precision Xtra',
deviceSerialNumber: data.serialNumber,
diff --git a/lib/drivers/abbott/freeStyleLibreData.js b/lib/drivers/abbott/freeStyleLibreData.js
index 1a1a34e097..b8208d79bf 100644
--- a/lib/drivers/abbott/freeStyleLibreData.js
+++ b/lib/drivers/abbott/freeStyleLibreData.js
@@ -38,6 +38,7 @@ import {
GLUCOSE_LO,
CRC16_TABLE,
} from './freeStyleLibreConstants';
+import FreeStyleLibreProtocol from './freeStyleLibreProtocol';
const struct = structJs();
@@ -51,6 +52,7 @@ const FORMAT = {
RECORD_HEADER: 'sbbin',
HISTORICAL_DATA: 'ssss',
TIME_CHANGE: 'insss', // despite the specs, user time offset is a signed value, same as in header
+ USER_TIME_CHANGE: 'nssss',
};
export const FORMAT_LENGTH = _.mapValues(FORMAT, format => struct.structlen(format));
@@ -85,7 +87,6 @@ export default class FreeStyleLibreData {
this.postRecords = [];
this.dbRecordNumberNextWrap = {};
- this.numResultRecords = 0;
// calculate next DB record number wrap, so record numbers can be recovered on truncated DBs
const nextWrap = Math.ceil(dbRecordNumber / 0x10000) * 0x10000;
@@ -94,9 +95,6 @@ export default class FreeStyleLibreData {
this.dbRecordNumberNextWrap[DB_TABLE_ID.HISTORICAL_DATA] = nextWrap;
this.dbRecordNumberNextWrap[DB_TABLE_ID.EVENT] = nextWrap;
- // start with newest record number and search backwards when processing the DB records
- this.oldestResultRecordNumber = dbRecordNumber;
-
// sort AAP packets by their OP code
const aapPacketsByOpCode = {};
aapPackets.forEach((aapPacket) => {
@@ -121,19 +119,6 @@ export default class FreeStyleLibreData {
}
});
- // the oldest record number in the result DB is used as limit how far back the history records
- // are processed but in case the result record DB does not contain any data, process at least
- // the last 5000 records
- // this number is lower than the maximal size of the result DB, so we will not process further
- // back than any potentially truncated time change records
- const oldestValidRecordNumber =
- Math.max(0, this.oldestResultRecordNumber - Math.max(0, 5000 - this.numResultRecords));
-
- // use only records that are newer than the oldestValidRecordNumber
- // older records cannot be properly timestamped due to potentially truncated time change records
- this.records =
- this.records.filter(elem => elem.headerFields.recordNumber >= oldestValidRecordNumber);
-
if (this.records.length === 0) {
debug(
'processAapPackets: no valid database records found in',
@@ -248,7 +233,9 @@ export default class FreeStyleLibreData {
}
buildTimeChangeRecords() {
- this.records.filter(elem => elem.headerFields.recordType === DB_RECORD_TYPE.TIME_CHANGE_RESULT)
+ this.records.filter(elem =>
+ (elem.headerFields.recordType === DB_RECORD_TYPE.TIME_CHANGE_RESULT)
+ || (elem.headerFields.recordType === DB_RECORD_TYPE.USER_TIME_CHANGE))
.forEach((record) => {
const oldDateTime = this.getDateTime(
record.timeChangeFields.oldReaderTime,
@@ -264,7 +251,14 @@ export default class FreeStyleLibreData {
.with_deviceTime(sundial.formatDeviceTime(record.jsDate))
.set('index', record.headerFields.recordNumber)
.set('jsDate', record.jsDate);
- this.postRecords.push(timeChange);
+
+ // check if this time change is a duplicate of the previous one from a different DB
+ const previousRecord = this.postRecords[this.postRecords.length - 1];
+ if (!(previousRecord
+ && previousRecord.subType === 'timeChange'
+ && _.isEqual(previousRecord.change, timeChange.change))) {
+ this.postRecords.push(timeChange);
+ }
});
}
@@ -334,14 +328,15 @@ export default class FreeStyleLibreData {
}
handleCompressedDatabase(aapPacket) {
- let decompressedBuffer = Buffer.alloc(1);
+ let decompressedBuffer = Buffer.alloc(0);
let compressedOffset = 0;
- // copy table ID
- decompressedBuffer[0] = aapPacket.data[compressedOffset];
+ // get table ID
+ const tableId = aapPacket.data[compressedOffset];
compressedOffset += 1;
- while (compressedOffset < aapPacket.dataLength) {
+ const CRC32_LENGTH = 4;
+ while (compressedOffset < aapPacket.dataLength - CRC32_LENGTH) {
const blockType = aapPacket.data[compressedOffset];
compressedOffset += 1;
@@ -361,17 +356,24 @@ export default class FreeStyleLibreData {
compressedOffset += blockLength;
} else if (blockType === COMPRESSION_TYPE.ZERO_COMPRESSED) {
decompressedBuffer = Buffer.concat([decompressedBuffer, Buffer.alloc(blockLength)]);
- compressedOffset += blockLength;
} else {
debug('handleCompressedDatabase: failed to decompress!');
- return;
+ throw new Error('Failed to decompress.');
}
}
+ // validate CRC32 of uncompressed data
+ const readCrc32 = aapPacket.data.readUInt32LE(compressedOffset);
+ const calcCrc32 = FreeStyleLibreProtocol.calcCrc32(decompressedBuffer);
+ if (readCrc32 !== calcCrc32) {
+ debug('handleCompressedDatabase: invalid CRC32!');
+ return;
+ }
+
// build decompressed AAP packet to process
const decompressedAapPacket = {
packetLength: (aapPacket.packetLength - aapPacket.dataLength) + decompressedBuffer.length,
- data: decompressedBuffer,
+ data: Buffer.concat([Buffer.from([tableId]), decompressedBuffer]),
dataLength: decompressedBuffer.length,
opCode: OP_CODE.GET_DATABASE,
};
@@ -430,13 +432,6 @@ export default class FreeStyleLibreData {
headerFields.recordNumber =
this.dbRecordNumberNextWrap[databaseTableId] - (0x10000 - headerFields.recordNumber);
- // find the lowest record number in the results database
- if (databaseTableId === DB_TABLE_ID.GLUCOSE_RESULT) {
- this.numResultRecords += 1;
- this.oldestResultRecordNumber =
- Math.min(this.oldestResultRecordNumber, headerFields.recordNumber);
- }
-
const dateTime = this.getDateTime(headerFields.readerTime, headerFields.userTimeOffset);
if (headerFields.recordType === DB_RECORD_TYPE.TIME_CHANGE_RESULT) {
@@ -453,6 +448,20 @@ export default class FreeStyleLibreData {
this.records.push({ headerFields, timeChangeFields, jsDate: dateTime });
}
}
+ } else if (headerFields.recordType === DB_RECORD_TYPE.USER_TIME_CHANGE) {
+ const timeChangeFields = struct.unpack(
+ aapPacket.data, RECORD_OFFSET, FORMAT.USER_TIME_CHANGE,
+ ['oldUserTimeOffset', 'unused1', 'unused2', 'unused3', 'CRC16'],
+ );
+
+ if (this.checkCrc16(aapPacket.data.slice(
+ RECORD_HEADER_OFFSET,
+ RECORD_OFFSET + (FORMAT_LENGTH.USER_TIME_CHANGE - 2),
+ ), timeChangeFields.CRC16)) {
+ // reader time does not change on user time change events, so use current value
+ timeChangeFields.oldReaderTime = headerFields.readerTime;
+ this.records.push({ headerFields, timeChangeFields, jsDate: dateTime });
+ }
} else if (headerFields.recordType === DB_RECORD_TYPE.HISTORICAL_DATA) {
const historyFields = struct.unpack(
aapPacket.data, RECORD_OFFSET, FORMAT.HISTORICAL_DATA,
@@ -512,8 +521,13 @@ export default class FreeStyleLibreData {
wrapFields.CRC16,
)) {
const DB_RECORD_NUMBER_OFFSET = 0;
- this.dbRecordNumberNextWrap[databaseTableId] =
+ const nextDbRecordNumber =
aapPacket.data.readUInt32LE(RECORD_OFFSET + DB_RECORD_NUMBER_OFFSET);
+ // contrary to the specs nextDbRecordNumber is not always a multiple of 0x10000, but in fact
+ // just the record number that will be assigned to the next db record
+ // so we round it up to the next multiple of 0x10000 here
+ this.dbRecordNumberNextWrap[databaseTableId] =
+ Math.ceil(nextDbRecordNumber / 0x10000) * 0x10000;
}
}
}
diff --git a/lib/drivers/abbott/freeStyleLibreProtocol.js b/lib/drivers/abbott/freeStyleLibreProtocol.js
index c19decf5b6..950231433d 100644
--- a/lib/drivers/abbott/freeStyleLibreProtocol.js
+++ b/lib/drivers/abbott/freeStyleLibreProtocol.js
@@ -132,6 +132,7 @@
*/
import async from 'async';
+import sundial from 'sundial';
import structJs from '../../struct';
import { DEVICE_MODEL_NAME, OP_CODE, COMMAND, CRC32_TABLE } from './freeStyleLibreConstants';
@@ -670,6 +671,31 @@ export default class FreeStyleLibreProtocol {
}, cb);
}
+ getReaderTime(cb) {
+ this.requestTextResponse('$rdt?', (data) => {
+ const arr = data.split(',').map(Number);
+ arr[0] += 2000; // only two digits provided for year
+ arr[1] -= 1; // month starts at 0 in JS format
+
+ /*
+ arr[6] indicates if valid (1) or uncertain (0)
+ arr[7] contains offset (in seconds) between factory time and user time (but not on Pro)
+ */
+ let dateTime = Date.UTC(...arr.slice(0, -2));
+
+ if (arr.length === 8) {
+ dateTime += (arr[7] * sundial.SEC_TO_MSEC);
+ }
+
+ if (arr[6] === 0) {
+ debug('Reader time not valid');
+ cb(null);
+ } else {
+ cb({ readerTime: new Date(dateTime) });
+ }
+ }, cb);
+ }
+
initCommunication(cb) {
const initFunctions = [
(callback) => { this.sendCommand(COMMAND.INIT_REQUEST_1, null, '', callback); },
diff --git a/lib/drivers/animas/animasDriver.js b/lib/drivers/animas/animasDriver.js
index f5be9ee8b6..6e642a6878 100644
--- a/lib/drivers/animas/animasDriver.js
+++ b/lib/drivers/animas/animasDriver.js
@@ -36,6 +36,7 @@ var verbose = debugMode.isDebug;
module.exports = function (config) {
var cfg = _.clone(config);
+ cfg.deviceTags = ['insulin-pump'];
var serialDevice = config.deviceComms;
var animasDeviceId = null;
var simulator = null;
@@ -2105,23 +2106,28 @@ module.exports = function (config) {
};
async.series({
+ suspendResumeRecords: function(callback){
+ readAllRecords(requestSuspendResume(), 10, function(err, data) {
+ // the device has to be suspended just before uploading,
+ // so the most recent suspend event is the closest what we
+ // have to a current device time :/
+ common.checkDeviceTime(data[0].suspendDeviceTime, cfg, function(err) {
+ return callback(err, data);
+ });
+ });
+ },
bolusRecords : function(callback){
- readAllRecords(requestBolus(), 10, function(err, data) {
+ readAllRecords(requestBolus(), 20, function(err, data) {
return callback(err,data);
});
},
basalRecords: function(callback){
- readAllRecords(requestBasal(), 20, function(err, data) {
+ readAllRecords(requestBasal(), 30, function(err, data) {
return callback(err,data);
});
},
primeRewindRecords: function(callback){
- readAllRecords(requestPrimeRewind(), 30, function(err, data) {
- return callback(err,data);
- });
- },
- suspendResumeRecords: function(callback){
- readAllRecords(requestSuspendResume(), 40, function(err, data) {
+ readAllRecords(requestPrimeRewind(), 40, function(err, data) {
return callback(err,data);
});
},
@@ -2341,7 +2347,7 @@ module.exports = function (config) {
progress(0);
var sessionInfo = {
- deviceTags: ['insulin-pump'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Animas'],
deviceModel: data.settings.modelNumber,
deviceSerialNumber: data.settings.serialNumber,
diff --git a/lib/drivers/bayer/bayerContourNext.js b/lib/drivers/bayer/bayerContourNext.js
index e5ecb05ab1..84fd3b3ad3 100644
--- a/lib/drivers/bayer/bayerContourNext.js
+++ b/lib/drivers/bayer/bayerContourNext.js
@@ -24,6 +24,7 @@ var sundial = require('sundial');
var crcCalculator = require('../../crc.js');
var struct = require('../../struct.js')();
var annotate = require('../../eventAnnotations');
+var common = require('../../commonFunctions');
var TZOUtil = require('../../TimezoneOffsetUtil');
@@ -41,6 +42,7 @@ module.exports = function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
/* end */
@@ -166,10 +168,13 @@ module.exports = function (config) {
}
}
+ var jsDate = sundial.parseFromFormat(pString[13], 'YYYYMMDDhhmmss');
+
var devInfo = {
model: pInfo[0],
serialNumber: sNum[1],
- nrecs: pString[6]
+ nrecs: pString[6],
+ deviceTime: sundial.formatDeviceTime(jsDate)
};
if(threshold){
@@ -212,10 +217,13 @@ module.exports = function (config) {
*/
function decodeMessage (message) {
+ console.log('Message:', common.bytes2hex(message));
+
if (!(message[0] === ASCII_CONTROL.STX &&
message[message.length-2] === ASCII_CONTROL.CR &&
message[message.length-1] === ASCII_CONTROL.LF ) &&
- message[0] !== ASCII_CONTROL.EOT ) {
+ message[0] !== ASCII_CONTROL.EOT &&
+ message[0] !== ASCII_CONTROL.ENQ ) {
throw(new Error('Meter not ready. Please retry.'));
}
@@ -302,11 +310,16 @@ module.exports = function (config) {
error = true;
return whilstCb(err, null);
} else {
+ debug('Retrying..');
retry++;
cmd = buildNakPacket();
return whilstCb(null);
}
} else {
+ if (record.messageType === ASCII_CONTROL.ENQ) {
+ debug('ENQ received, sending ACK..');
+ return whilstCb(null);
+ }
var recordType = (record.messageType === ASCII_CONTROL.STX) ?
struct.extractByte(record.frame, 0) : record.messageType;
@@ -350,7 +363,8 @@ module.exports = function (config) {
break;
case 'P':
case 'L':
- return whilstCb(null);
+ case ASCII_CONTROL.EOT:
+ return whilstCb(null);
break;
}
}
@@ -524,17 +538,14 @@ module.exports = function (config) {
getConfigInfo: function (progress, data, cb) {
debug('in getConfigInfo', data);
-
- getOneRecord({}, function (err, result) {
+ getOneRecord(data, function (err, result) {
progress(100);
-
- if(!err){
- data.connect = true;
- _.assign(data, result);
-
- cb(null, data);
+ if (!err) {
+ data.connect = true;
+ _.assign(data, result);
+ return cb(null, data);
} else {
- return cb(err,result);
+ return cb(err,result);
}
});
},
@@ -571,10 +582,22 @@ module.exports = function (config) {
data.bgmReadings = [];
} else {
debug('fetchData', dataRecords);
- data.bgmReadings = dataRecords;
+ // we have to read all the data before we can check the device time,
+ // as in data transfer mode the meter will send everything it has
+ common.checkDeviceTime(data.deviceTime, cfg, function(err2) {
+ if (err2) {
+ cfg.deviceComms.removeListeners();
+ hidDevice.send(buildAckPacket(), function(err, result) {
+ progress(100);
+ return cb(err2, data);
+ });
+ } else {
+ data.fetchData = true;
+ data.bgmReadings = dataRecords;
+ cb(err, data);
+ }
+ });
}
- data.fetchData = true;
- cb(err, data);
}
);
},
@@ -616,7 +639,7 @@ module.exports = function (config) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Bayer'],
deviceModel: model,
deviceSerialNumber: data.serialNumber,
@@ -648,7 +671,7 @@ module.exports = function (config) {
// Due to an upstream bug in HIDAPI on Windoze, we have to send a command
// to the device to ensure that the listeners are removed before we disconnect
// For more details, see https://github.com/node-hid/node-hid/issues/61
- hidDevice.send(buildPacket([ASCII_CONTROL.EOT],1), function(err, result) {
+ hidDevice.send(buildAckPacket(), function(err, result) {
progress(100);
cb(null, data);
});
diff --git a/lib/drivers/dexcom/dexcomDriver.js b/lib/drivers/dexcom/dexcomDriver.js
index d10d0d209e..817ee0a417 100644
--- a/lib/drivers/dexcom/dexcomDriver.js
+++ b/lib/drivers/dexcom/dexcomDriver.js
@@ -27,6 +27,7 @@ var struct = require('../../struct.js')();
var mungeUserSettings = require('./userSettingsChanges');
var TZOUtil = require('../../TimezoneOffsetUtil');
var errorText = require('../../../app/constants/errors');
+var common = require('../../commonFunctions');
var debug = require('bows')('DexcomDriver');
@@ -39,6 +40,7 @@ module.exports = function (config) {
if (config.silent) {
// debug = _.noop;
}
+ cfg.deviceTags = ['cgm'];
var SYNC_BYTE = 0x01;
@@ -223,6 +225,17 @@ module.exports = function (config) {
};
};
+ var readSignedInt = function (cmd) {
+ return {
+ packet: buildPacket(
+ cmd, 0, null
+ ),
+ parser: function (packet) {
+ return struct.extractSignedInt(packet.payload, 0);
+ }
+ };
+ };
+
var readPartitionInfo = function() {
return {
packet: buildPacket(
@@ -711,6 +724,36 @@ module.exports = function (config) {
});
};
+ var getDisplayTimeOffset = function(obj, cb) {
+ debug('getting display time offset');
+ var cmd = readSignedInt(CMDS.READ_DISPLAY_TIME_OFFSET.value);
+ dexcomCommandResponse(cmd, function(err, result) {
+ if (err) {
+ debug('Failure trying to get display time offset.');
+ debug(err);
+ debug(result);
+ cb(null, null);
+ } else {
+ cb(null, result);
+ }
+ });
+ };
+
+ var getSystemTime = function(obj, cb) {
+ debug('getting system time');
+ var cmd = readSignedInt(CMDS.READ_SYSTEM_TIME.value);
+ dexcomCommandResponse(cmd, function(err, result) {
+ if (err) {
+ debug('Failure trying to get system time.');
+ debug(err);
+ debug(result);
+ cb(null, null);
+ } else {
+ cb(null, result);
+ }
+ });
+ };
+
var downloadDataPages = function (recordType, progress, callback) {
var cmd = readDataPageRange(recordType);
dexcomCommandResponse(cmd, function (err, pagerange) {
@@ -970,9 +1013,25 @@ module.exports = function (config) {
dexcomDeviceId = getDeviceId(data);
cfg.builder.setDefaults({ deviceId: dexcomDeviceId });
data.id = dexcomDeviceId;
- progress(100);
- data.getConfigInfo = true;
- cb(null, data);
+
+ getDisplayTimeOffset(true, function(displayErr, displayTimeOffsetObj) {
+ if (displayErr) {
+ cb(displayErr, displayTimeOffsetObj);
+ } else {
+ getSystemTime(true, function(systemErr, systemTimeObj) {
+ if (systemErr) {
+ cb(systemErr, systemTimeObj);
+ } else {
+ var displayTime = new Date(BASE_DATE_DEVICE + 1000 * (systemTimeObj.parsed_payload + displayTimeOffsetObj.parsed_payload));
+ common.checkDeviceTime(displayTime, cfg, function(err) {
+ progress(100);
+ data.getConfigInfo = true;
+ cb(err, data);
+ });
+ }
+ });
+ }
+ });
});
},
@@ -1035,7 +1094,7 @@ module.exports = function (config) {
debug('STEP: uploadData');
progress(0);
var sessionInfo = {
- deviceTags: ['cgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Dexcom'],
deviceModel: data.model,
deviceSerialNumber: data.serialNumber,
diff --git a/lib/drivers/insulet/insuletDriver.js b/lib/drivers/insulet/insuletDriver.js
index 063f645cab..d7e2c34a49 100644
--- a/lib/drivers/insulet/insuletDriver.js
+++ b/lib/drivers/insulet/insuletDriver.js
@@ -23,6 +23,7 @@ var sundial = require('sundial');
var struct = require('../../struct.js')();
var annotate = require('../../eventAnnotations');
var common = require('./common');
+var commonFunctions = require('../../commonFunctions');
var logic = require('./objectBuildingLogic');
var insuletSimulatorMaker = require('./insuletSimulator');
@@ -38,6 +39,8 @@ module.exports = function (config) {
var BG_UNITS = 'mg/dL';
+ cfg.deviceTags = ['insulin-pump', 'bgm'];
+
// all insulin unit readings are in .01 unit increments, so we divide by 100.0 to get units
// (multiplying by 0.01 tends to cause floating point issues)
var toUnits = function (x) {
@@ -1546,8 +1549,10 @@ module.exports = function (config) {
offset += data.logDescriptions.packetlen;
data.independent_offset = offset;
- progress(100);
- return cb(null, data);
+ commonFunctions.checkDeviceTime(data.logDescriptions.deviceTime, cfg, function(err) {
+ progress(100);
+ return cb(err, data);
+ });
},
fetchData: function (progress, data, cb) {
@@ -1667,7 +1672,7 @@ module.exports = function (config) {
simulator.finalBasal();
var sessionInfo = {
- deviceTags: ['insulin-pump', 'bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Insulet', 'Abbott'],
deviceModel: data.ibf_version.productid,
deviceSerialNumber: String(data.eeprom_settings.REMOTE_ID),
diff --git a/lib/drivers/medtronic/cli/README.md b/lib/drivers/medtronic/cli/README.md
new file mode 100644
index 0000000000..767376734d
--- /dev/null
+++ b/lib/drivers/medtronic/cli/README.md
@@ -0,0 +1,29 @@
+# Blob Loader
+
+The `blob_loader.js` script directly uploads a JSON blob file to the targeted environment.
+
+This script requires Node v7.9.0.
+
+To execute:
+
+1. In the top-level directory of the repository:
+ 1. Ensure the latest Node modules are installed via `yarn`. For example:
+ ```
+ yarn install
+ ```
+ 1. Source the appropriate environment configuration file from the `config` directory. For example:
+ ```
+ source config/staging.sh
+ ```
+1. Change the current directory to `lib/drivers/medtronic/cli`. For example:
+ ```
+ cd lib/drivers/medtronic/cli
+ ```
+1. Execute the `blob_loader.js` script via `node` given the following template:
+ ```
+ node -r babel-register ./blob_loader.js -f '' -u '' -p '' -t ''
+ ```
+ Replace `` with the absolute or relative path to the JSON blob file, `` and `` with the username and password for a previously created DSA on the targeted environment, and `` with a valid IANA time zone name for the upload. For example:
+ ```
+ node -r babel-register ./blob_loader.js -f 'my_medtronic_blob.json' -u 'my@email.com' -p 'my_password' -t 'US/Pacific'
+ ```
diff --git a/lib/drivers/medtronic/cli/blob_loader.js b/lib/drivers/medtronic/cli/blob_loader.js
index cb2a62877b..a59f80ac66 100755
--- a/lib/drivers/medtronic/cli/blob_loader.js
+++ b/lib/drivers/medtronic/cli/blob_loader.js
@@ -31,7 +31,7 @@ function loadFile(filePath, tz, userid) {
var cfg = { 'Medtronic': { filename: filePath,
fileData: json,
timezone: tz,
- version : pkg.name+' '+pkg.version,
+ version: pkg.version,
groupId: userid,
builder: builder,
api: api,
diff --git a/lib/drivers/medtronic/medtronicDriver.js b/lib/drivers/medtronic/medtronicDriver.js
index b204b1a8eb..5378d6c2c0 100644
--- a/lib/drivers/medtronic/medtronicDriver.js
+++ b/lib/drivers/medtronic/medtronicDriver.js
@@ -43,6 +43,8 @@ module.exports = function (config) {
var waitingOnPacket = false;
var rawPacket = [];
+ cfg.deviceTags = ['insulin-pump'];
+
// Metronic's Bayer Contour Next Link implementation uses polynomial 0x9b for its CRC
crcCalculator.crc8_init(0x9b);
@@ -1228,7 +1230,9 @@ module.exports = function (config) {
data.cbg = _.pick(results.current_cbg_page, ['currentPage','glucosePage', 'isigPage']);
data.batteryStatus = _.pick(results.battery_status, ['status','voltage']);
console.timeEnd('getConfigInfo elapsed');
- return cb(null, data);
+ common.checkDeviceTime(settings.currentDeviceTime, cfg, function(err) {
+ return cb(err, data);
+ });
} else {
return cb(err,results);
}
@@ -1602,7 +1606,7 @@ module.exports = function (config) {
var sessionInfo = {
delta: cfg.delta,
- deviceTags: ['insulin-pump'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Medtronic'],
deviceModel: data.settings.modelNumber,
deviceSerialNumber: serial,
diff --git a/lib/drivers/medtronic/processData.js b/lib/drivers/medtronic/processData.js
index c975226cd3..6b4118f54c 100644
--- a/lib/drivers/medtronic/processData.js
+++ b/lib/drivers/medtronic/processData.js
@@ -734,7 +734,7 @@ function buildSettings(records) {
var SIZES = {
CARB_RATIO :27,
- INSULIN_SENSITIVITY: 16,
+ INSULIN_SENSITIVITY: 17,
BG_TARGET : 25
};
@@ -747,21 +747,20 @@ function buildSettings(records) {
carb : encoded & 0x01 ? 'grams' : 'exchanges'
};
};
-
oldSettings.units = getUnits(record.body[0]);
oldSettings.carbRatio = getCarbRatios(record.body, oldSettings.units.carb);
var index = SIZES.CARB_RATIO;
oldSettings.insulinSensitivity = getInsulinSensitivities(struct.extractBytes(record.body, index, SIZES.INSULIN_SENSITIVITY), oldSettings.units.bg);
index += SIZES.INSULIN_SENSITIVITY;
- oldSettings.bgTarget = getBGTargets(struct.extractBytes(record.body, index, SIZES.BG_TARGET), oldSettings.units.bg);
- index += SIZES.BG_TARGET;
+ oldSettings.bgTarget = getBGTargets(struct.extractBytes(record.body, index - 1, SIZES.BG_TARGET), oldSettings.units.bg);
+ index += SIZES.BG_TARGET - 1;
newSettings.units = getUnits(record.body[index]);
newSettings.carbRatio = getCarbRatios(struct.extractBytes(record.body, index, SIZES.CARB_RATIO), newSettings.units.carb);
index += SIZES.CARB_RATIO;
newSettings.insulinSensitivity = getInsulinSensitivities(struct.extractBytes(record.body, index,SIZES.INSULIN_SENSITIVITY), newSettings.units.bg);
index += SIZES.INSULIN_SENSITIVITY;
- newSettings.bgTarget = getBGTargets(struct.extractBytes(record.body, index,SIZES.BG_TARGET), newSettings.units.bg);
+ newSettings.bgTarget = getBGTargets(struct.extractBytes(record.body, index - 1, SIZES.BG_TARGET), newSettings.units.bg);
return { old: oldSettings, new: newSettings};
};
diff --git a/lib/drivers/onetouch/oneTouchUltra2.js b/lib/drivers/onetouch/oneTouchUltra2.js
index eb9a50561a..c1cd786392 100644
--- a/lib/drivers/onetouch/oneTouchUltra2.js
+++ b/lib/drivers/onetouch/oneTouchUltra2.js
@@ -33,6 +33,7 @@ var sundial = require('sundial');
var struct = require('../../struct.js')();
var TZOUtil = require('../../TimezoneOffsetUtil');
var annotate = require('../../eventAnnotations');
+var common = require('../../commonFunctions');
var isBrowser = typeof window !== 'undefined';
var debug = isBrowser ? require('bows')('Ultra2Driver') : debug;
@@ -44,6 +45,7 @@ module.exports = function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
//BYTE START DEFINITION HEX
var DM = '\x11\x0d';
@@ -151,7 +153,7 @@ module.exports = function (config) {
}
var error = null;
if(pkt.packet_len === 1 && pkt.bytes[0] === 0) {
- error = new Error('Meter not plugged into cable');
+ error = new Error('The meter is not plugged into the cable or the meter is not switched off.');
}
callback(error, pkt);
});
@@ -303,10 +305,29 @@ module.exports = function (config) {
},
getConfigInfo: function (progress, data, cb) {
- // we don't do too much here
debug('in getConfigInfo', data);
- progress(100);
- cb(null, data);
+
+ otu2CommandResponse(DMDateTime, progress, function(err, result){
+ if (err) {
+ debug('Failure trying to talk to device.');
+ debug(err);
+ debug(result);
+ cb(err, null);
+ } else {
+
+ var str = String.fromCharCode.apply(null, result.bytes);
+
+ var pattern = /F "(\w+)","(\d{2}\/\d{2}\/\d{2})","(\d{2}:\d{2}:\d{2}) " (\w+)/;
+ var toMatch = pattern.exec(str);
+
+ var currentDeviceTime = sundial.formatDeviceTime(buildDateTime(toMatch[2], toMatch[3]));
+ debug('Device date/time:', currentDeviceTime);
+ common.checkDeviceTime(currentDeviceTime, cfg, function(err) {
+ progress(100);
+ return cb(err, data);
+ });
+ }
+ });
},
fetchData: function (progress, data, callback) {
@@ -339,7 +360,7 @@ module.exports = function (config) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['LifeScan'],
deviceModel: 'OneTouch Ultra 2',
deviceSerialNumber: data.serialNumber,
diff --git a/lib/drivers/onetouch/oneTouchUltraMini.js b/lib/drivers/onetouch/oneTouchUltraMini.js
index f37d26e132..af096b82df 100644
--- a/lib/drivers/onetouch/oneTouchUltraMini.js
+++ b/lib/drivers/onetouch/oneTouchUltraMini.js
@@ -23,6 +23,7 @@ var struct = require('../../struct.js')();
var TZOUtil = require('../../TimezoneOffsetUtil');
var annotate = require('../../eventAnnotations');
var debugMode = require('../../../app/utils/debugMode');
+var common = require('../../commonFunctions');
var isBrowser = typeof window !== 'undefined';
var debug = isBrowser ? require('bows')('OTMiniDriver') : debug;
@@ -34,6 +35,7 @@ module.exports = function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
var STX = 0x02;
var ETX = 0x03;
@@ -355,6 +357,15 @@ module.exports = function (config) {
};
};
+ var readRTC = function() {
+ return {
+ packet: buildReadRTC(),
+ parser: function (result) {
+ return struct.unpack(result.payload, 0, '..i', ['timestamp']);
+ }
+ };
+ };
+
var readRecordNumber = function(n) {
return {
packet: buildReadRecordNumber(n),
@@ -412,6 +423,20 @@ module.exports = function (config) {
});
};
+ var getRTC = function (cb) {
+ var cmd = readRTC();
+ oneTouchCommandResponse(cmd, function (err, result) {
+ if (err) {
+ debug('Failure reading RTC.');
+ debug(err);
+ debug(result);
+ cb(err, null);
+ } else {
+ cb(null, result.parsed_payload);
+ }
+ });
+ };
+
var getUnitSettings = function (obj, cb) {
var cmd = readUnitSettings();
oneTouchCommandResponse(cmd, function (err, result) {
@@ -558,11 +583,17 @@ module.exports = function (config) {
if (err2) {
return cb(err2, null);
}
- progress(100);
- data.getConfigInfo = true;
- _.assign(data, obj2);
- debug('getConfigInfo', data);
- cb(null, data);
+
+ getRTC(function(err3, obj3) {
+ var currentDeviceTime = sundial.formatDeviceTime(new Date(obj3.timestamp * 1000));
+ common.checkDeviceTime(currentDeviceTime, cfg, function(err) {
+ progress(100);
+ data.getConfigInfo = true;
+ _.assign(data, obj2);
+ debug('getConfigInfo', data);
+ cb(err, data);
+ });
+ });
});
});
},
@@ -613,7 +644,7 @@ module.exports = function (config) {
uploadData: function (progress, data, cb) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['LifeScan'],
deviceModel: 'OneTouch UltraMini',
deviceSerialNumber: data.serialNumber,
diff --git a/lib/drivers/onetouch/oneTouchVerio.js b/lib/drivers/onetouch/oneTouchVerio.js
index a00b535817..e9e8ad0fbf 100644
--- a/lib/drivers/onetouch/oneTouchVerio.js
+++ b/lib/drivers/onetouch/oneTouchVerio.js
@@ -23,6 +23,7 @@ import sundial from 'sundial';
import TZOUtil from '../../TimezoneOffsetUtil';
import annotate from '../../eventAnnotations';
import crc from '../../crc';
+import common from '../../commonFunctions';
// load usb module only on Linux (OSX and Windows use block device access)
// eslint-disable-next-line import/no-extraneous-dependencies
@@ -283,8 +284,9 @@ class BlockDevice {
return;
}
this.devicePath = null;
+ debug('Drives:', JSON.stringify(drives, null, 4));
drives.forEach((drive) => {
- if (drive.description.endsWith('LifeScan Media') && !drive.system) {
+ if (drive.description && drive.description.endsWith('LifeScan Media') && !drive.system) {
this.devicePath = drive.raw;
}
});
@@ -494,6 +496,21 @@ class OneTouchVerio {
});
}
+ retrieveRTCData(callback) {
+ const linkRequestData = Buffer.alloc(USB_BULK_BLOCKSIZE);
+ const applicationData = Buffer.from([SERVICE_ID, 0x20, 0x02]);
+ this.constructor.buildLinkLayerFrame(applicationData).copy(linkRequestData);
+ this.retrieveData(LBA_NUMBER.GENERAL, linkRequestData, (commandData) => {
+ const timestamp = commandData.readUInt32LE(0);
+ debug('parseRTCResponse:', timestamp);
+ if (timestamp) {
+ callback(this.constructor.getDate(timestamp));
+ } else {
+ callback(null);
+ }
+ });
+ }
+
retrieveRecordCount(callback) {
const linkRequestData = Buffer.alloc(USB_BULK_BLOCKSIZE);
const applicationData = Buffer.from([SERVICE_ID, 0x27, 0x00]);
@@ -591,6 +608,7 @@ export default function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
return {
/* eslint no-param-reassign:
@@ -611,6 +629,7 @@ export default function (config) {
progress(0);
driver.openDevice(data.deviceInfo, (err) => {
if (err) {
+ debug('Cannot open device:', err);
cb(err, null);
return;
}
@@ -645,7 +664,18 @@ export default function (config) {
}
assign(data.deviceInfo, deviceModel);
progress(100);
- cb(null, data);
+
+ driver.retrieveRTCData((rtcTime) => {
+ common.checkDeviceTime(sundial.formatDeviceTime(rtcTime), cfg, (timeErr) => {
+ if (timeErr) {
+ driver.closeDevice(() => {
+ cb(timeErr, data);
+ });
+ } else {
+ cb(null, data);
+ }
+ });
+ });
});
});
},
@@ -695,7 +725,7 @@ export default function (config) {
progress(0);
const sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['LifeScan'],
deviceModel: data.deviceInfo.deviceModel,
deviceSerialNumber: data.deviceInfo.serialNumber,
diff --git a/lib/drivers/onetouch/oneTouchVerioIQ.js b/lib/drivers/onetouch/oneTouchVerioIQ.js
index e54e3597be..00254307a9 100644
--- a/lib/drivers/onetouch/oneTouchVerioIQ.js
+++ b/lib/drivers/onetouch/oneTouchVerioIQ.js
@@ -23,6 +23,7 @@ var struct = require('../../struct.js')();
var TZOUtil = require('../../TimezoneOffsetUtil');
var annotate = require('../../eventAnnotations');
+var common = require('../../commonFunctions');
var isBrowser = typeof window !== 'undefined';
var debug = isBrowser ? require('bows')('VerioIQDriver') : debug;
@@ -34,6 +35,7 @@ module.exports = function (config) {
// With no date & time settings changes available,
// timezone is applied across-the-board
cfg.tzoUtil = new TZOUtil(cfg.timezone, new Date().toISOString(), []);
+ cfg.deviceTags = ['bgm'];
var STX = 0x02;
var ETX = 0x03;
@@ -98,6 +100,11 @@ module.exports = function (config) {
return buildPacket(LINK_CTRL_MASK.NONE, cmd.length, cmd);
};
+ var buildGetRTC = function() {
+ var cmd = [0x04,0x20,0x02];
+ return buildPacket(LINK_CTRL_MASK.NONE, cmd.length, cmd);
+ };
+
var extractPacket = function (bytes) {
var packet = {
bytes: bytes,
@@ -221,6 +228,15 @@ module.exports = function (config) {
};
};
+ var readRTC = function() {
+ return {
+ packet: buildGetRTC(),
+ parser: function (result) {
+ return struct.unpack(result.payload, 0, '..i', ['timestamp']);
+ }
+ };
+ };
+
var readRecordNumber = function(n) {
return {
packet: buildReadRecordNumber(n),
@@ -290,6 +306,19 @@ module.exports = function (config) {
});
};
+ var getRTC = function (cb) {
+ var cmd = readRTC();
+ oneTouchCommandResponse(cmd, function (err, result) {
+ if (err) {
+ debug('Failure reading RTC.');
+ debug(err);
+ cb(err, null);
+ } else {
+ cb(null, result.parsed_payload);
+ }
+ });
+ };
+
var getUnits = function (obj, cb) {
var cmd = readUnits();
oneTouchCommandResponse(cmd, function (err, result) {
@@ -405,13 +434,20 @@ module.exports = function (config) {
getConfigInfo: function (progress, data, cb) {
getRecordCount({}, function(err, obj) {
- progress(100);
+ progress(30);
_.assign(data, obj);
getUnits(obj, function(err, result) {
+ progress(60);
data.getConfigInfo = true;
data.units = result.units; //TODO: return as settings when available in data model
- debug('getConfigInfo', data);
- cb(err, data);
+ getRTC(function(err, result) {
+ var currentDeviceTime = sundial.formatDeviceTime(new Date((result.timestamp * 1000) + EPOCH));
+ common.checkDeviceTime(currentDeviceTime, cfg, function(err) {
+ progress(100);
+ debug('getConfigInfo', data);
+ cb(err, data);
+ });
+ });
});
});
},
@@ -462,7 +498,7 @@ module.exports = function (config) {
uploadData: function (progress, data, cb) {
progress(0);
var sessionInfo = {
- deviceTags: ['bgm'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['LifeScan'],
deviceModel: data.model,
deviceSerialNumber: data.serialNumber,
diff --git a/lib/drivers/tandem/tandemDriver.js b/lib/drivers/tandem/tandemDriver.js
index 938c3ba5b3..3325f8df70 100644
--- a/lib/drivers/tandem/tandemDriver.js
+++ b/lib/drivers/tandem/tandemDriver.js
@@ -26,9 +26,11 @@ var TZOUtil = require('../../TimezoneOffsetUtil');
var annotate = require('../../eventAnnotations');
var debug = require('bows')('TandemDriver');
var debugMode = require('../../../app/utils/debugMode');
+var common = require('../../commonFunctions');
module.exports = function (config) {
var cfg = config;
+ cfg.deviceTags = ['insulin-pump'];
var SYNC_BYTE = 0x55;
@@ -57,8 +59,8 @@ module.exports = function (config) {
value: 81,
name: 'Version Message',
version: 36102,
- format: '16Z16Z20.ii8Zi....8Z50.i',
- fields: ['arm_sw_ver', 'msp_sw_ver', 'pump_sn', 'pump_part_no', 'pump_rev', 'pcba_sn', 'pcba_rev', 'model_no']
+ format: '16Z16Z20.ii8Zi....8Z50.iI',
+ fields: ['arm_sw_ver', 'msp_sw_ver', 'pump_sn', 'pump_part_no', 'pump_rev', 'pcba_sn', 'pcba_rev', 'model_no', 'timestamp']
},
COMMAND_ACK: {
value: 123,
@@ -2040,15 +2042,27 @@ module.exports = function (config) {
data.model_no = result.payload.model_no;
data.pump_sn = result.payload.pump_sn;
data.firmware_version = parseInt(result.payload.arm_sw_ver);
+
data.deviceInfo.deviceId = 'tandem' + data.model_no + data.pump_sn;
cfg.builder.setDefaults({ deviceId: data.deviceInfo.deviceId });
- cb(null, data);
+ // this is required for comparing device time against server time
+ var currentTime = {};
+ addTimestamp(currentTime,result.payload.timestamp);
+
+ common.checkDeviceTime(currentTime.deviceTime, cfg, function(err) {
+ return cb(err, data);
+ });
}
});
};
return {
+ detect: function(deviceInfo, cb){
+ debug('no detect function needed', arguments);
+ cb(null, deviceInfo);
+ },
+
setup: function (deviceInfo, progress, cb) {
debug('in setup!');
progress(100);
@@ -2201,7 +2215,7 @@ module.exports = function (config) {
var sessionInfo = {
delta: {lastEndPosition: data.end_seq} ,
- deviceTags: ['insulin-pump'],
+ deviceTags: cfg.deviceTags,
deviceManufacturers: ['Tandem'],
deviceModel: String(data.model_no),
deviceSerialNumber: String(data.pump_sn),
diff --git a/package.json b/package.json
index b27d831dab..0a161a742e 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "tidepool-uploader",
- "version": "2.2.5-600series-qa.22",
+ "version": "2.5.9-600series-qa.23",
"description": "Tidepool Project Universal Uploader",
"private": true,
"main": "main.js",
@@ -39,40 +39,40 @@
"babyparse": "0.4.6",
"blueimp-md5": "2.10.0",
"bows": "1.7.0",
- "chrome-launcher": "0.8.1",
+ "chrome-launcher": "0.10.2",
"classnames": "2.2.5",
- "commander": "2.11.0",
+ "commander": "2.15.1",
"decompress": "4.2.0",
- "electron-debug": "1.4.0",
+ "electron-debug": "1.5.0",
"electron-is-dev": "0.3.0",
"es6-error": "4.1.1",
"eslint-plugin-lodash": "2.5.0",
"history": "4.7.2",
"iconv-lite": "0.4.19",
- "immutability-helper": "2.5.0",
+ "immutability-helper": "2.6.6",
"is-electron": "2.1.0",
- "lodash": "4.17.4",
- "plist": "2.1.0",
- "prop-types": "15.6.0",
- "react": "16.1.1",
- "react-dom": "16.1.1",
- "react-redux": "5.0.6",
+ "lodash": "4.17.5",
+ "plist": "3.0.1",
+ "prop-types": "15.6.1",
+ "react": "16.2.0",
+ "react-dom": "16.2.0",
+ "react-redux": "5.0.7",
"react-router-dom": "4.2.2",
- "react-router-redux": "5.0.0-alpha.8",
- "react-select": "1.0.0-rc.10",
+ "react-router-redux": "5.0.0-alpha.9",
+ "react-select": "1.2.1",
"redux": "3.7.2",
- "redux-form": "7.1.2",
+ "redux-form": "7.3.0",
"redux-thunk": "2.2.0",
"rollbar": "2.3.9",
"rollbar-sourcemap-webpack-plugin": "2.2.0",
- "semver": "5.4.1",
- "source-map-support": "0.5.0",
+ "semver": "5.5.0",
+ "source-map-support": "0.5.4",
"stack-trace": "0.0.10",
- "sudo-prompt": "8.0.0",
+ "sudo-prompt": "8.2.0",
"sundial": "1.6.0",
- "tidepool-platform-client": "0.36.0",
+ "tidepool-platform-client": "0.37.0",
"util-promisify": "2.1.0",
- "uuid": "3.1.0"
+ "uuid": "3.2.1"
},
"browserslist": "electron 1.6",
"build": {
@@ -164,11 +164,11 @@
},
"devDependencies": {
"babel-core": "6.26.0",
- "babel-eslint": "8.0.2",
- "babel-loader": "7.1.2",
+ "babel-eslint": "8.2.2",
+ "babel-loader": "7.1.4",
"babel-plugin-add-module-exports": "0.2.1",
"babel-plugin-dev-expression": "0.2.1",
- "babel-plugin-module-resolver": "3.0.0",
+ "babel-plugin-module-resolver": "3.1.1",
"babel-plugin-rewire": "1.1.0",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-define": "1.3.0",
@@ -184,63 +184,63 @@
"babel-runtime": "6.26.0",
"babili-webpack-plugin": "0.1.2",
"chai": "4.1.2",
- "concurrently": "3.5.0",
- "cross-env": "5.1.1",
- "css-loader": "0.28.7",
+ "concurrently": "3.5.1",
+ "cross-env": "5.1.4",
+ "css-loader": "0.28.11",
"devtron": "1.4.0",
"difflet": "1.0.1",
- "drivelist": "5.1.8",
- "electron": "1.7.9",
- "electron-builder": "19.49.0",
- "electron-devtools-installer": "2.2.1",
- "electron-mocha": "5.0.0",
- "electron-updater": "2.16.1",
- "enzyme": "3.2.0",
- "eslint": "4.11.0",
+ "drivelist": "6.1.7",
+ "electron": "1.8.4",
+ "electron-builder": "20.8.1",
+ "electron-devtools-installer": "2.2.3",
+ "electron-mocha": "6.0.1",
+ "electron-updater": "2.21.4",
+ "enzyme": "3.3.0",
+ "eslint": "4.19.1",
"eslint-config-airbnb": "16.1.0",
"eslint-formatter-pretty": "1.3.0",
- "eslint-import-resolver-webpack": "0.8.3",
- "eslint-plugin-import": "2.8.0",
- "eslint-plugin-jsx-a11y": "6.0.2",
- "eslint-plugin-lodash": "2.5.0",
- "eslint-plugin-mocha": "4.11.0",
- "eslint-plugin-promise": "3.6.0",
- "eslint-plugin-react": "7.4.0",
- "express": "4.16.2",
+ "eslint-import-resolver-webpack": "0.8.4",
+ "eslint-plugin-import": "2.9.0",
+ "eslint-plugin-jsx-a11y": "6.0.3",
+ "eslint-plugin-lodash": "2.7.0",
+ "eslint-plugin-mocha": "5.0.0",
+ "eslint-plugin-promise": "3.7.0",
+ "eslint-plugin-react": "7.7.0",
+ "express": "4.16.3",
"extract-text-webpack-plugin": "3.0.2",
- "fbjs-scripts": "0.8.1",
- "file-loader": "1.1.5",
- "flux-standard-action": "2.0.0",
+ "fbjs-scripts": "0.8.2",
+ "file-loader": "1.1.11",
+ "flux-standard-action": "2.0.1",
"ftp": "0.3.10",
"git-describe": "4.0.2",
"gitbook-cli": "2.3.2",
- "html-webpack-plugin": "2.30.1",
+ "html-webpack-plugin": "3.1.0",
"json-loader": "0.5.7",
- "less": "2.7.3",
- "less-loader": "4.0.5",
+ "less": "3.0.1",
+ "less-loader": "4.1.0",
"minimist": "1.2.0",
- "mocha": "3.2.0",
- "node-hid": "0.5.7",
- "nodegit": "0.20.3",
+ "mocha": "5.0.5",
+ "node-hid": "0.7.2",
+ "nodegit": "0.21.2",
"object-invariant-test-helper": "0.1.1",
"open": "0.0.5",
- "react-hot-loader": "3.1.3",
- "redux-mock-store": "1.3.0",
+ "react-hot-loader": "4.0.0",
+ "redux-mock-store": "1.5.1",
"salinity": "0.0.8",
"serialport": "5.0.0",
- "shelljs": "0.7.8",
- "sinon": "4.1.2",
- "sinon-chai": "2.14.0",
- "spectron": "3.7.2",
- "style-loader": "0.19.0",
- "url-loader": "0.6.2",
+ "shelljs": "0.8.1",
+ "sinon": "4.4.10",
+ "sinon-chai": "3.0.0",
+ "spectron": "3.8.0",
+ "style-loader": "0.20.3",
+ "url-loader": "1.0.1",
"usb": "1.3.1",
"webpack": "3.8.1",
- "webpack-dev-middleware": "1.12.0",
+ "webpack-dev-middleware": "2.0.6",
"webpack-dev-server": "2.9.4",
- "webpack-hot-middleware": "2.20.0",
- "webpack-merge": "4.1.1",
- "xmlbuilder": "9.0.4"
+ "webpack-hot-middleware": "2.21.2",
+ "webpack-merge": "4.1.2",
+ "xmlbuilder": "9.0.7"
},
"devEngines": {
"node": ">=7.9.x",
diff --git a/styles/components/DeviceTimeModal.module.less b/styles/components/DeviceTimeModal.module.less
new file mode 100644
index 0000000000..181c269709
--- /dev/null
+++ b/styles/components/DeviceTimeModal.module.less
@@ -0,0 +1,87 @@
+@import '../core/variables.less';
+
+.modalWrap {
+ composes: flexRow from '../core/layout.module.less';
+ justify-content: center;
+ position: absolute;
+ top: 0; left: 0;
+ background-color: rgba(0, 0, 0, 0.25);
+ width: 100%;
+ height: 100%;
+}
+
+.modal {
+ composes: boxFlex flexColumn from '../core/layout.module.less';
+ min-width: 400px;
+ background-color: @gray-background;
+ border-radius: 5px;
+ border: solid 1px @gray-light;
+ justify-content: center;
+ align-self: center;
+ align-items: center;
+}
+
+.hr {
+ width: 100%;
+ margin: 15px 0;
+}
+
+.highlight {
+ composes: small bold from '../core/typography.module.less';
+ color: @purple-medium;
+}
+
+.numeral {
+ display: inline-block;
+ margin-right: 5px;
+ font-weight: bold;
+}
+
+.list {
+ padding-left: 15px;
+}
+
+.list > li {
+ text-align: start;
+}
+
+.title {
+ composes: small bold from '../core/typography.module.less';
+ composes: boxFlex from '../core/layout.module.less';
+ width: 100%;
+ padding: 10px 20px;
+}
+
+.text {
+ composes: small from '../core/typography.module.less';
+ width: 100%;
+}
+
+.timeCompare {
+ display:flex;
+ justify-content: space-between;
+ padding: 0 20px;
+}
+
+.body {
+ display:flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding: 0 20px;
+}
+
+.actions {
+ padding: 15px;
+}
+
+.button {
+ composes: btn btnPrimary from '../core/buttons.module.less';
+ margin: 6px;
+ padding: 0 10px;
+}
+
+.buttonSecondary {
+ composes: btn btnSecondary from '../core/buttons.module.less';
+ margin: 6px;
+ padding: 0 10px;
+}
diff --git a/test/app/actions/async.test.js b/test/app/actions/async.test.js
index 50ecfcd4a4..d2afea88c5 100644
--- a/test/app/actions/async.test.js
+++ b/test/app/actions/async.test.js
@@ -1056,6 +1056,88 @@ describe('Asynchronous Actions', () => {
});
});
+ describe('doUpload [device, time check error and dialog dismissed]', () => {
+ it('should dispatch VERSION_CHECK_REQUEST, VERSION_CHECK_SUCCESS, UPLOAD_REQUEST, DEVICE_DETECT_REQUEST, UPLOAD_FAILURE actions', () => {
+ const userId = 'a1b2c3', deviceKey = 'a_pump';
+ const time = '2016-01-01T12:05:00.123Z';
+ const targetDevice = {
+ key: deviceKey,
+ name: 'Acme Insulin Pump',
+ source: {type: 'device', driverId: 'AcmePump'}
+ };
+ const initialState = {
+ devices: {
+ a_pump: targetDevice
+ },
+ os: 'mac',
+ uploadsByUser: {
+ [userId]: {
+ a_cgm: {},
+ a_pump: {history: [{start: time}]}
+ }
+ },
+ targetDevices: {
+ [userId]: ['a_cgm', 'a_pump']
+ },
+ targetTimezones: {
+ [userId]: 'US/Mountain'
+ },
+ uploadTargetDevice: deviceKey,
+ uploadTargetUser: userId,
+ version: '0.100.0',
+ working: {uploading: false}
+ };
+ let err = 'deviceTimePromptClose';
+ __Rewire__('services', {
+ api: {
+ upload: {
+ getVersions: (cb) => cb(null, {uploaderMinimum: '0.99.0'})
+ }
+ },
+ device: {
+ detect: (foo, bar, cb) => cb(null, {}),
+ upload: (foo, bar, cb) => cb(err)
+ }
+ });
+ const expectedActions = [
+ {
+ type: actionTypes.VERSION_CHECK_REQUEST,
+ meta: {source: actionSources[actionTypes.VERSION_CHECK_REQUEST]}
+ },
+ {
+ type: actionTypes.VERSION_CHECK_SUCCESS,
+ meta: {source: actionSources[actionTypes.VERSION_CHECK_SUCCESS]}
+ },
+ {
+ type: actionTypes.UPLOAD_REQUEST,
+ payload: { userId, deviceKey, utc: time },
+ meta: {
+ source: actionSources[actionTypes.UPLOAD_REQUEST],
+ metric: {
+ eventName: 'Upload Attempted',
+ properties: {type: targetDevice.source.type, source: targetDevice.source.driverId}
+ }
+ }
+ },
+ {
+ type: actionTypes.DEVICE_DETECT_REQUEST,
+ meta: {source: actionSources[actionTypes.DEVICE_DETECT_REQUEST]}
+ },
+ {
+ type: actionTypes.UPLOAD_CANCELLED,
+ payload: { utc: time },
+ meta: {
+ source: actionSources[actionTypes.UPLOAD_CANCELLED]
+ }
+ }
+ ];
+ const store = mockStore(initialState);
+ store.dispatch(asyncActions.doUpload(deviceKey, {}, time));
+ const actions = store.getActions();
+ expect(actions).to.deep.equal(expectedActions);
+ });
+ });
+
describe('doUpload [no error]', () => {
it('should dispatch VERSION_CHECK_REQUEST, VERSION_CHECK_SUCCESS, UPLOAD_REQUEST, DEVICE_DETECT_REQUEST, UPLOAD_SUCCESS actions', () => {
const userId = 'a1b2c3', deviceKey = 'a_pump';
diff --git a/test/app/actions/sync.test.js b/test/app/actions/sync.test.js
index 95a15d5a91..22430ce6d6 100644
--- a/test/app/actions/sync.test.js
+++ b/test/app/actions/sync.test.js
@@ -824,6 +824,32 @@ describe('Synchronous Actions', () => {
});
});
+ describe('uploadCancelled', () => {
+ const errProps = {
+ utc: '2016-01-01T12:05:00.123Z',
+ };
+ const device = {
+ source: {type: 'device', driverId: 'AcmePump'}
+ };
+ it('should be an FSA', () => {
+ let action = syncActions.uploadCancelled();
+
+ expect(isFSA(action)).to.be.true;
+ });
+
+ it('should create an action to report an upload cancellation', () => {
+ const expectedAction = {
+ type: actionTypes.UPLOAD_CANCELLED,
+ payload: { utc: errProps.utc },
+ meta: {
+ source: actionSources[actionTypes.UPLOAD_CANCELLED]
+ }
+ };
+ const action = syncActions.uploadCancelled(errProps.utc);
+ expect(action).to.deep.equal(expectedAction);
+ });
+ });
+
describe('deviceDetectRequest', () => {
it('should be an FSA', () => {
let action = syncActions.deviceDetectRequest();
@@ -1303,4 +1329,54 @@ describe('Synchronous Actions', () => {
expect(syncActions.driverUpdateShellOpts(opts)).to.deep.equal(expectedAction);
});
});
+
+ describe('deviceTimeIncorrect', () => {
+ const callback = () => {},
+ cfg = { config: 'value'},
+ times = { time1: 'time' };
+ it('should be an FSA', () => {
+ let action = syncActions.deviceTimeIncorrect(callback, cfg, times);
+ expect(isFSA(action)).to.be.true;
+ });
+
+ it('should create an action to indicate user dismissing device time mismatch modal', () => {
+ const expectedAction = {
+ type: actionTypes.DEVICE_TIME_INCORRECT,
+ payload: { callback, cfg, times },
+ meta: {source: actionSources[actionTypes.DEVICE_TIME_INCORRECT]}
+ };
+ expect(syncActions.deviceTimeIncorrect(callback, cfg, times)).to.deep.equal(expectedAction);
+ });
+ });
+
+ describe('dismissedDeviceTimePromt', () => {
+ it('should be an FSA', () => {
+ let action = syncActions.dismissedDeviceTimePromp();
+ expect(isFSA(action)).to.be.true;
+ });
+
+ it('should create an action to indicate user dismissing device time mismatch modal', () => {
+ const expectedAction = {
+ type: actionTypes.DISMISS_DEVICE_TIME_PROMPT,
+ meta: {source: actionSources[actionTypes.DISMISS_DEVICE_TIME_PROMPT]}
+ };
+ expect(syncActions.dismissedDeviceTimePromp()).to.deep.equal(expectedAction);
+ });
+ });
+
+ describe('timezoneBlur', () => {
+ it('should be an FSA', () => {
+ let action = syncActions.timezoneBlur();
+ expect(isFSA(action)).to.be.true;
+ });
+
+ it('should create an action to indicate blur of timezone selector', () => {
+ const expectedAction = {
+ type: actionTypes.TIMEZONE_BLUR,
+ meta: {source: actionSources[actionTypes.TIMEZONE_BLUR]}
+ };
+ expect(syncActions.timezoneBlur()).to.deep.equal(expectedAction);
+ });
+ });
+
});
diff --git a/test/app/reducers/misc.test.js b/test/app/reducers/misc.test.js
index 9f3dfe5830..cb99cbf01f 100644
--- a/test/app/reducers/misc.test.js
+++ b/test/app/reducers/misc.test.js
@@ -686,4 +686,48 @@ describe('misc reducers', () => {
})).to.be.true;
});
});
+
+ describe('showingDeviceTimePrompt', () => {
+ it('should return the initial state', () => {
+ expect(misc.showingDeviceTimePrompt(undefined, {})).to.be.null;
+ });
+
+ it('should handle DEVICE_TIME_INCORRECT', () => {
+ const payload = { callback: () => { }, cfg: { conf: 'value' }, times: { time1: 'value1' }};
+ expect(misc.showingDeviceTimePrompt(undefined, {
+ type: actionTypes.DEVICE_TIME_INCORRECT,
+ payload
+ })).to.deep.equal(payload);
+ });
+
+ it('should handle DISMISS_DEVICE_TIME_PROMPT', () => {
+ expect(misc.showingDeviceTimePrompt(undefined, {
+ type: actionTypes.DISMISS_DEVICE_TIME_PROMPT,
+ })).to.be.false;
+ });
+ });
+
+ describe('isTimezoneFocused', () => {
+ it('should return the initial state', () => {
+ expect(misc.isTimezoneFocused(undefined, {})).to.be.false;
+ });
+
+ it('should handle UPLOAD_CANCELLED', () => {
+ expect(misc.isTimezoneFocused(undefined, {
+ type: actionTypes.UPLOAD_CANCELLED,
+ })).to.be.true;
+ });
+
+ it('should handle TIMEZONE_BLUR', () => {
+ expect(misc.isTimezoneFocused(undefined, {
+ type: actionTypes.TIMEZONE_BLUR,
+ })).to.be.false;
+ });
+
+ it('should handle UPLOAD_REQUEST', () => {
+ expect(misc.isTimezoneFocused(undefined, {
+ type: actionTypes.UPLOAD_REQUEST,
+ })).to.be.false;
+ });
+ });
});
diff --git a/test/app/reducers/uploads.test.js b/test/app/reducers/uploads.test.js
index 9a3d078b96..d9a9c60062 100644
--- a/test/app/reducers/uploads.test.js
+++ b/test/app/reducers/uploads.test.js
@@ -106,6 +106,16 @@ describe('uploads', () => {
type: actionTypes.UPLOAD_SUCCESS
})).to.be.null;
});
+
+ it('should handle UPLOAD_CANCELLED', () => {
+ const initialState = {
+ percentage: 100,
+ step: steps.start
+ };
+ expect(uploads.uploadProgress(initialState, {
+ type: actionTypes.UPLOAD_CANCELLED
+ })).to.be.null;
+ });
});
describe('uploadsByUser', () => {
@@ -646,6 +656,46 @@ describe('uploads', () => {
expect(initialState.a1b2c3.a_cgm.history[0] === result.a1b2c3.a_cgm.history[0]).to.be.false;
});
+ it('should handle UPLOAD_CANCELLED', () => {
+ const data = [1,2,3,4,5];
+ let initialState = {
+ [userId]: {
+ a_pump: {disabled: true, history: []},
+ [deviceKey]: {
+ history: [{start: time},1,2,3],
+ uploading: true
+ }
+ },
+ d4e5f6: {
+ another_pump: {history: []}
+ }
+ };
+ let result = uploads.uploadsByUser(initialState, {
+ type: actionTypes.UPLOAD_CANCELLED,
+ payload: { utc: time }
+ });
+ expect(result).to.deep.equal({
+ [userId]: {
+ a_pump: {history: []},
+ [deviceKey]: {
+ completed: true,
+ failed: false,
+ history: [{start: time, finish: time}, 1, 2, 3],
+ uploading: false
+ }
+ },
+ d4e5f6: {
+ another_pump: {history: []}
+ }
+ });
+ // tests to be sure not *mutating* state object but rather returning new!
+ expect(initialState === result).to.be.false;
+ expect(initialState.a1b2c3 === result.a1b2c3).to.be.false;
+ expect(initialState.a1b2c3.a_cgm === result.a1b2c3.a_cgm).to.be.false;
+ expect(initialState.a1b2c3.a_cgm.history === result.a1b2c3.a_cgm.history).to.be.false;
+ expect(initialState.a1b2c3.a_cgm.history[0] === result.a1b2c3.a_cgm.history[0]).to.be.false;
+ });
+
it('should handle ADD_TARGET_DEVICE', () => {
let initialState = {
a1b2c3: {
diff --git a/yarn.lock b/yarn.lock
index 80e15427cb..601023f70e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,93 +10,93 @@
version "1.0.1"
resolved "https://registry.yarnpkg.com/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz#3e68778bbf0926adc68159427074505d47555c02"
-"7zip-bin-win@~2.1.1":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/7zip-bin-win/-/7zip-bin-win-2.1.1.tgz#8acfc28bb34e53a9476b46ae85a97418e6035c20"
+"7zip-bin-win@~2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz#0b81c43e911100f3ece2ebac4f414ca95a572d5b"
-"7zip-bin@^2.3.4":
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-2.4.1.tgz#88cf99736d35b104dab1d430c4edd1d51e58aade"
+"7zip-bin@~3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-3.1.0.tgz#70814c6b6d44fef8b74be6fc64d3977a2eff59a5"
optionalDependencies:
"7zip-bin-linux" "~1.3.1"
"7zip-bin-mac" "~1.0.1"
- "7zip-bin-win" "~2.1.1"
+ "7zip-bin-win" "~2.2.0"
"7zip@0.0.6":
version "0.0.6"
resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30"
-"@babel/code-frame@7.0.0-beta.42", "@babel/code-frame@^7.0.0-beta.31":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.42.tgz#a9c83233fa7cd06b39dc77adbb908616ff4f1962"
+"@babel/code-frame@7.0.0-beta.46", "@babel/code-frame@^7.0.0-beta.40":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.46.tgz#e0d002100805daab1461c0fcb32a07e304f3a4f4"
dependencies:
- "@babel/highlight" "7.0.0-beta.42"
+ "@babel/highlight" "7.0.0-beta.46"
-"@babel/generator@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.42.tgz#777bb50f39c94a7e57f73202d833141f8159af33"
+"@babel/generator@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.46.tgz#6f57159bcc28bf8c3ed6b549789355cebfa3faa7"
dependencies:
- "@babel/types" "7.0.0-beta.42"
+ "@babel/types" "7.0.0-beta.46"
jsesc "^2.5.1"
lodash "^4.2.0"
source-map "^0.5.0"
trim-right "^1.0.1"
-"@babel/helper-function-name@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.42.tgz#b38b8f4f85168d1812c543dd700b5d549b0c4658"
+"@babel/helper-function-name@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.46.tgz#d0c4eed2e220e180f91b02e008dcc4594afe1d39"
dependencies:
- "@babel/helper-get-function-arity" "7.0.0-beta.42"
- "@babel/template" "7.0.0-beta.42"
- "@babel/types" "7.0.0-beta.42"
+ "@babel/helper-get-function-arity" "7.0.0-beta.46"
+ "@babel/template" "7.0.0-beta.46"
+ "@babel/types" "7.0.0-beta.46"
-"@babel/helper-get-function-arity@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.42.tgz#ad072e32f912c033053fc80478169aeadc22191e"
+"@babel/helper-get-function-arity@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.46.tgz#7161bfe449b4183dbe25d1fe5579338b7429e5f2"
dependencies:
- "@babel/types" "7.0.0-beta.42"
+ "@babel/types" "7.0.0-beta.46"
-"@babel/helper-split-export-declaration@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.42.tgz#0d0d5254220a9cc4e7e226240306b939dc210ee7"
+"@babel/helper-split-export-declaration@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.46.tgz#6903893c72bb2a3d54ed20b5ff2aa8a28e8d2ea1"
dependencies:
- "@babel/types" "7.0.0-beta.42"
+ "@babel/types" "7.0.0-beta.46"
-"@babel/highlight@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.42.tgz#a502a1c0d6f99b2b0e81d468a1b0c0e81e3f3623"
+"@babel/highlight@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.46.tgz#c553c51e65f572bdedd6eff66fc0bb563016645e"
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^3.0.0"
-"@babel/template@7.0.0-beta.42":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.42.tgz#7186d4e70d44cdec975049ba0a73bdaf5cdee052"
+"@babel/template@7.0.0-beta.46":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.46.tgz#8b23982411d5b5dbfa479437bfe414adb1411bb9"
dependencies:
- "@babel/code-frame" "7.0.0-beta.42"
- "@babel/types" "7.0.0-beta.42"
- babylon "7.0.0-beta.42"
+ "@babel/code-frame" "7.0.0-beta.46"
+ "@babel/types" "7.0.0-beta.46"
+ babylon "7.0.0-beta.46"
lodash "^4.2.0"
-"@babel/traverse@^7.0.0-beta.31":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.42.tgz#f4bf4d1e33d41baf45205e2d0463591d57326285"
+"@babel/traverse@^7.0.0-beta.40":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.46.tgz#29a0c0395b3642f0297e6f8e475bde89f9343755"
dependencies:
- "@babel/code-frame" "7.0.0-beta.42"
- "@babel/generator" "7.0.0-beta.42"
- "@babel/helper-function-name" "7.0.0-beta.42"
- "@babel/helper-split-export-declaration" "7.0.0-beta.42"
- "@babel/types" "7.0.0-beta.42"
- babylon "7.0.0-beta.42"
+ "@babel/code-frame" "7.0.0-beta.46"
+ "@babel/generator" "7.0.0-beta.46"
+ "@babel/helper-function-name" "7.0.0-beta.46"
+ "@babel/helper-split-export-declaration" "7.0.0-beta.46"
+ "@babel/types" "7.0.0-beta.46"
+ babylon "7.0.0-beta.46"
debug "^3.1.0"
globals "^11.1.0"
invariant "^2.2.0"
lodash "^4.2.0"
-"@babel/types@7.0.0-beta.42", "@babel/types@^7.0.0-beta.31":
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.42.tgz#1e2118767684880f6963801b272fd2b3348efacc"
+"@babel/types@7.0.0-beta.46", "@babel/types@^7.0.0-beta.40":
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.46.tgz#eb84399a699af9fcb244440cce78e1acbeb40e0c"
dependencies:
esutils "^2.0.2"
lodash "^4.2.0"
@@ -117,16 +117,16 @@
resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066"
"@types/node@*":
- version "9.6.0"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.0.tgz#d3480ee666df9784b1001a1872a2f6ccefb6c2d7"
+ version "10.0.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.0.3.tgz#1f89840c7aac2406cc43a2ecad98fc02a8e130e4"
-"@types/node@6.0.66":
- version "6.0.66"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.66.tgz#5680b74a6135d33d4c00447e7c3dc691a4601625"
+"@types/node@^8.0.24":
+ version "8.10.11"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.11.tgz#971ea8cb91adbe0b74e3fbd867dec192d5893a5f"
-"@types/node@^7.0.18":
- version "7.0.57"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.57.tgz#eed149b2c75cdbd7b9823c3fd64ecddbdc68ed9c"
+"@types/node@^9.3.0":
+ version "9.6.9"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.9.tgz#1fa47c22fdc357a808535edd522b3d34facfa419"
"@types/rimraf@^0.0.28":
version "0.0.28"
@@ -194,13 +194,13 @@ agentkeepalive@^3.3.0:
dependencies:
humanize-ms "^1.2.1"
-ajv-keywords@^2.0.0, ajv-keywords@^2.1.1:
+ajv-keywords@^2.0.0, ajv-keywords@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
-ajv-keywords@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be"
+ajv-keywords@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
ajv@^4.9.1:
version "4.11.8"
@@ -209,7 +209,7 @@ ajv@^4.9.1:
co "^4.6.0"
json-stable-stringify "^1.0.1"
-ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.3.0, ajv@^5.5.1:
+ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.2.3, ajv@^5.3.0:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
@@ -218,7 +218,7 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.3.0, ajv@^5.5.1:
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
-ajv@^6.0.1:
+ajv@^6.1.0, ajv@^6.1.1:
version "6.4.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.4.0.tgz#d3aff78e9277549771daf0164cff48482b754fc6"
dependencies:
@@ -327,16 +327,65 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-app-package-builder@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/app-package-builder/-/app-package-builder-2.0.0.tgz#f0a6cbd2010e68fc79a44e9844c4a512e33ae55e"
- dependencies:
- bluebird-lst "^1.0.5"
- builder-util "^3.4.4"
- builder-util-runtime "^3.4.0"
- fs-extra-p "^4.5.0"
- int64-buffer "^0.1.10"
- rabin-bindings "~1.7.4"
+app-builder-bin-linux@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.7.2.tgz#a764c8e52ecf1b5b068f32c820c6daf1ffed6a8f"
+
+app-builder-bin-linux@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.8.3.tgz#4bf638a7bd29365e5534d2ba554baf1350fb4a87"
+
+app-builder-bin-linux@1.8.6:
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz#81176bbcb2929958a90f2184afb54df90b7210a3"
+
+app-builder-bin-mac@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.7.2.tgz#c4ee0d950666c97c12a45ac74ec6396be3357644"
+
+app-builder-bin-mac@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.8.3.tgz#8e2c63e9d822fce2eee8db2f9f817d7b68532df7"
+
+app-builder-bin-mac@1.8.6:
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz#20d7233c5cadf00472e7b0ccaf85627b53f90787"
+
+app-builder-bin-win@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.7.2.tgz#7acac890782f4118f09941b343ba06c56452a6f6"
+
+app-builder-bin-win@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.8.3.tgz#3598ec1c523dd197e8bb5dfeab3e2fe70905ae79"
+
+app-builder-bin-win@1.8.6:
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz#d09f78fb1dd5a5f8ea231294828fd5c9ad0358a5"
+
+app-builder-bin@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.7.2.tgz#daf67060a6bad8f5f611a0d2876d9db897a83f06"
+ optionalDependencies:
+ app-builder-bin-linux "1.7.2"
+ app-builder-bin-mac "1.7.2"
+ app-builder-bin-win "1.7.2"
+
+app-builder-bin@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.8.3.tgz#902174b5864521e5068fe1d8ae5566633a5b9c44"
+ optionalDependencies:
+ app-builder-bin-linux "1.8.3"
+ app-builder-bin-mac "1.8.3"
+ app-builder-bin-win "1.8.3"
+
+app-builder-bin@1.8.6:
+ version "1.8.6"
+ resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-1.8.6.tgz#85604ece9c1b63ed0437abe92ddaf41c88c3f2e4"
+ optionalDependencies:
+ app-builder-bin-linux "1.8.6"
+ app-builder-bin-mac "1.8.6"
+ app-builder-bin-win "1.8.6"
aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
@@ -465,13 +514,6 @@ asap@^2.0.0, asap@~2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
-asar-integrity@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/asar-integrity/-/asar-integrity-0.2.3.tgz#b238a68ef1218561b4904db8400c0943fbc62c62"
- dependencies:
- bluebird-lst "^1.0.5"
- fs-extra-p "^4.4.4"
-
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
@@ -555,12 +597,8 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
atob@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d"
-
-atob@~1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
autoprefixer@^6.3.1:
version "6.7.7"
@@ -582,8 +620,8 @@ aws-sign2@~0.7.0:
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
aws4@^1.2.1, aws4@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
axobject-query@^0.1.0:
version "0.1.0"
@@ -591,7 +629,7 @@ axobject-query@^0.1.0:
dependencies:
ast-types-flow "0.0.7"
-babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
@@ -599,7 +637,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
esutils "^2.0.2"
js-tokens "^3.0.2"
-babel-core@6.26.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2:
+babel-core@6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
dependencies:
@@ -623,14 +661,40 @@ babel-core@6.26.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2:
slash "^1.0.0"
source-map "^0.5.6"
-babel-eslint@8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.0.2.tgz#e44fb9a037d749486071d52d65312f5c20aa7530"
+babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.7.2:
+ version "6.26.3"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-generator "^6.26.0"
+ babel-helpers "^6.24.1"
+ babel-messages "^6.23.0"
+ babel-register "^6.26.0"
+ babel-runtime "^6.26.0"
+ babel-template "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ convert-source-map "^1.5.1"
+ debug "^2.6.9"
+ json5 "^0.5.1"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ path-is-absolute "^1.0.1"
+ private "^0.1.8"
+ slash "^1.0.0"
+ source-map "^0.5.7"
+
+babel-eslint@8.2.2:
+ version "8.2.2"
+ resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.2.tgz#1102273354c6f0b29b4ea28a65f97d122296b68b"
dependencies:
- "@babel/code-frame" "^7.0.0-beta.31"
- "@babel/traverse" "^7.0.0-beta.31"
- "@babel/types" "^7.0.0-beta.31"
- babylon "^7.0.0-beta.31"
+ "@babel/code-frame" "^7.0.0-beta.40"
+ "@babel/traverse" "^7.0.0-beta.40"
+ "@babel/types" "^7.0.0-beta.40"
+ babylon "^7.0.0-beta.40"
+ eslint-scope "~3.7.1"
+ eslint-visitor-keys "^1.0.0"
babel-generator@^6.26.0:
version "6.26.1"
@@ -803,9 +867,9 @@ babel-helpers@^6.24.1:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
-babel-loader@7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126"
+babel-loader@7.1.4:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015"
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
@@ -895,9 +959,9 @@ babel-plugin-minify-type-constructors@^0.1.2:
dependencies:
babel-helper-is-void-0 "^0.1.1"
-babel-plugin-module-resolver@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.0.0.tgz#a2fe5b97f7b809a8bbac18beada0a94d45987c63"
+babel-plugin-module-resolver@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz#881cf67e3d4b8400d5eaaefc1be44d2dc1fe404f"
dependencies:
find-babel-config "^1.1.0"
glob "^7.1.2"
@@ -1113,8 +1177,8 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-template "^6.24.1"
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.8.0:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
+ version "6.26.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
dependencies:
babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.26.0"
@@ -1242,16 +1306,16 @@ babel-plugin-transform-inline-consecutive-adds@^0.1.2:
resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.1.2.tgz#5442e9f1c19c78a7899f8a4dee6fd481f61001f5"
babel-plugin-transform-member-expression-literals@^6.8.4:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.0.tgz#ab07ad52a11ff7d2528c71388e8f901a4499c2b2"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.2.tgz#1f397ab961a5c3a401f2a747af06e72004afcb76"
babel-plugin-transform-merge-sibling-variables@^6.8.5:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.0.tgz#140017e305f8eb4f60d2f2db61154fbd71a9fcdd"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.2.tgz#994a9004a79c79f0c91c496e8a2dbc7e9b73f7b4"
babel-plugin-transform-minify-booleans@^6.8.2:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.0.tgz#e36ceaa49aadcae70ec98bd9dbccb660719a667a"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.2.tgz#cf995be067a0303cb526549f03dcd9682419430d"
babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.8.0:
version "6.26.0"
@@ -1261,8 +1325,8 @@ babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object
babel-runtime "^6.26.0"
babel-plugin-transform-property-literals@^6.8.4:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.0.tgz#4ddc12ada888927eacab4daff8a535ebc5de5a61"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.2.tgz#a58d0996cf2adaf224f7ce848ad1cde4cd8cf275"
dependencies:
esutils "^2.0.2"
@@ -1327,20 +1391,20 @@ babel-plugin-transform-regexp-constructors@^0.1.1:
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.1.1.tgz#312ab7487cc88a1c62ee25ea1b6087e89b87799c"
babel-plugin-transform-remove-console@^6.8.4:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.0.tgz#a7b671aab050dd30ef7cf2142b61a7d10efb327f"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.2.tgz#e8a0c27d56c9503ca16e284f6b64dbd4b95d21e9"
babel-plugin-transform-remove-debugger@^6.8.4:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.0.tgz#b465e74b3fbe1970da561fb1331e30aefac3f1fe"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.2.tgz#536c87bdb6200d1460c996dd95d179cf38c24ee1"
babel-plugin-transform-remove-undefined@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.1.2.tgz#e1ebf51110f6b1e0665f28382ef73f95e5023652"
babel-plugin-transform-simplify-comparison-operators@^6.8.4:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.0.tgz#586252fea023cb13f2400a09c0ab178dc0844f0a"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.2.tgz#0c0e9afa732924f03aa982fd63c92d0408bd5656"
babel-plugin-transform-strict-mode@^6.24.1:
version "6.24.1"
@@ -1350,8 +1414,8 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-types "^6.24.1"
babel-plugin-transform-undefined-to-void@^6.8.2:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.0.tgz#eb5db0554caffe9ded0206468ec0c6c3b332b9d2"
+ version "6.9.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.2.tgz#165fde73393276bea02a739658878dcced0b9ebb"
babel-plugin-webpack-loaders@0.9.0:
version "0.9.0"
@@ -1631,9 +1695,9 @@ babili-webpack-plugin@0.1.2:
babel-preset-babili "^0.1.4"
webpack-sources "^1.0.1"
-babylon@7.0.0-beta.42, babylon@^7.0.0-beta.31:
- version "7.0.0-beta.42"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.42.tgz#67cfabcd4f3ec82999d29031ccdea89d0ba99657"
+babylon@7.0.0-beta.46, babylon@^7.0.0-beta.40:
+ version "7.0.0-beta.46"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.46.tgz#b6ddaba81bbb130313932757ff9c195d527088b6"
babylon@^6.18.0, babylon@^6.3.26:
version "6.18.0"
@@ -1659,9 +1723,9 @@ base64-js@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
-base64-js@^1.0.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801"
+base64-js@^1.0.2, base64-js@^1.2.3:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
base@^0.11.1:
version "0.11.2"
@@ -1701,7 +1765,7 @@ binary-extensions@^1.0.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
-bindings@1.3.0, bindings@^1.2.1, bindings@^1.3.0:
+bindings@1.3.0, bindings@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7"
@@ -1730,7 +1794,7 @@ bluebird-lst@^1.0.5:
dependencies:
bluebird "^3.5.1"
-bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0:
+bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0:
version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
@@ -1824,16 +1888,14 @@ braces@^1.8.2:
repeat-element "^1.1.2"
braces@^2.3.0, braces@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb"
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
- define-property "^1.0.0"
extend-shallow "^2.0.1"
fill-range "^4.0.0"
isobject "^3.0.1"
- kind-of "^6.0.2"
repeat-element "^1.1.2"
snapdragon "^0.8.1"
snapdragon-node "^2.0.1"
@@ -1844,13 +1906,13 @@ brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-browser-stdout@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
+browser-stdout@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
@@ -1860,16 +1922,16 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
safe-buffer "^5.0.1"
browserify-cipher@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
evp_bytestokey "^1.0.0"
browserify-des@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c"
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
@@ -1894,12 +1956,6 @@ browserify-sign@^4.0.0:
inherits "^2.0.1"
parse-asn1 "^5.0.0"
-browserify-zlib@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
- dependencies:
- pako "~0.2.0"
-
browserify-zlib@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
@@ -1920,10 +1976,25 @@ browserslist@^2.1.2:
caniuse-lite "^1.0.30000792"
electron-to-chromium "^1.3.30"
+buffer-alloc-unsafe@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-0.1.1.tgz#ffe1f67551dd055737de253337bfe853dfab1a6a"
+
+buffer-alloc@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.1.0.tgz#05514d33bf1656d3540c684f65b1202e90eca303"
+ dependencies:
+ buffer-alloc-unsafe "^0.1.0"
+ buffer-fill "^0.1.0"
+
buffer-crc32@^0.2.1, buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+buffer-fill@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-0.1.1.tgz#76d825c4d6e50e06b7a31eb520c04d08cc235071"
+
buffer-from@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
@@ -1956,74 +2027,89 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
-builder-util-runtime@3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-3.4.0.tgz#34883f50a3bbf6502abc40902926a1a8dfef5d43"
+builder-util-runtime@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.1.0.tgz#7dcd042d555d2f161a5538d7a0ea8c292daa0683"
dependencies:
bluebird-lst "^1.0.5"
debug "^3.1.0"
- fs-extra-p "^4.5.0"
+ fs-extra-p "^4.5.2"
sax "^1.2.4"
-builder-util-runtime@^3.3.1, builder-util-runtime@^3.4.0, builder-util-runtime@^3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-3.5.0.tgz#c78f3c6c06aacf53a544d8c6c0728f69bc176c19"
+builder-util-runtime@4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.2.0.tgz#c56aa18d34390143da031c418c9d3a055fbd3522"
dependencies:
bluebird-lst "^1.0.5"
debug "^3.1.0"
- fs-extra-p "^4.5.0"
+ fs-extra-p "^4.5.2"
sax "^1.2.4"
-builder-util-runtime@~3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-3.1.0.tgz#60ec66d3c49f028655230a09d7767e77ff6f15b8"
+builder-util-runtime@^4.1.0, builder-util-runtime@^4.2.0, builder-util-runtime@^4.2.1, builder-util-runtime@~4.2.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-4.2.1.tgz#0caa358f1331d70680010141ca591952b69b35bc"
dependencies:
bluebird-lst "^1.0.5"
debug "^3.1.0"
- fs-extra-p "^4.4.4"
+ fs-extra-p "^4.6.0"
sax "^1.2.4"
-builder-util@3.4.4:
- version "3.4.4"
- resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-3.4.4.tgz#cab30f37c1ee4fb23d33b20ac71e76e3c8451d28"
+builder-util@5.6.7:
+ version "5.6.7"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.6.7.tgz#662ff2ba4f70416ee0c085126f16af48fbf97900"
+ dependencies:
+ "7zip-bin" "~3.1.0"
+ app-builder-bin "1.7.2"
+ bluebird-lst "^1.0.5"
+ builder-util-runtime "^4.1.0"
+ chalk "^2.3.2"
+ debug "^3.1.0"
+ fs-extra-p "^4.5.2"
+ is-ci "^1.1.0"
+ js-yaml "^3.11.0"
+ lazy-val "^1.0.3"
+ semver "^5.5.0"
+ source-map-support "^0.5.4"
+ stat-mode "^0.2.2"
+ temp-file "^3.1.1"
+
+builder-util@5.7.4:
+ version "5.7.4"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.7.4.tgz#d6e9a56e2865f0d0a504a07ea0f8dc35185b4795"
dependencies:
- "7zip-bin" "^2.3.4"
+ "7zip-bin" "~3.1.0"
+ app-builder-bin "1.8.3"
bluebird-lst "^1.0.5"
- builder-util-runtime "^3.3.1"
- chalk "^2.3.0"
+ builder-util-runtime "^4.2.0"
+ chalk "^2.3.2"
debug "^3.1.0"
- fs-extra-p "^4.4.5"
- ini "^1.3.5"
- is-ci "^1.0.10"
- js-yaml "^3.10.0"
+ fs-extra-p "^4.5.2"
+ is-ci "^1.1.0"
+ js-yaml "^3.11.0"
lazy-val "^1.0.3"
- node-emoji "^1.8.1"
- semver "^5.4.1"
- source-map-support "^0.5.0"
+ semver "^5.5.0"
+ source-map-support "^0.5.4"
stat-mode "^0.2.2"
- temp-file "^3.0.0"
- tunnel-agent "^0.6.0"
+ temp-file "^3.1.1"
-builder-util@^3.4.2, builder-util@^3.4.4:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-3.5.0.tgz#ecef7b7624212f46e990854e81a831e6ff969a2b"
+builder-util@^5.6.7, builder-util@^5.7.0, builder-util@^5.7.4:
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-5.8.0.tgz#7103945f6b1eb4e68696ec718a59656962400f7c"
dependencies:
- "7zip-bin" "^2.3.4"
+ "7zip-bin" "~3.1.0"
+ app-builder-bin "1.8.6"
bluebird-lst "^1.0.5"
- builder-util-runtime "^3.5.0"
- chalk "^2.3.0"
+ builder-util-runtime "^4.2.1"
+ chalk "^2.4.1"
debug "^3.1.0"
- fs-extra-p "^4.5.0"
- ini "^1.3.5"
- is-ci "^1.0.10"
- js-yaml "^3.10.0"
+ fs-extra-p "^4.6.0"
+ is-ci "^1.1.0"
+ js-yaml "^3.11.0"
lazy-val "^1.0.3"
- node-emoji "^1.8.1"
- semver "^5.4.1"
- source-map-support "^0.5.0"
+ semver "^5.5.0"
+ source-map-support "^0.5.5"
stat-mode "^0.2.2"
- temp-file "^3.0.0"
- tunnel-agent "^0.6.0"
+ temp-file "^3.1.2"
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
version "1.1.1"
@@ -2167,12 +2253,12 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000820"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000820.tgz#7c20e25cea1768b261b724f82e3a6a253aaa1468"
+ version "1.0.30000833"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000833.tgz#2bd7be72a401658d2cbcb8f4d7600deebeb1c676"
caniuse-lite@^1.0.30000792:
- version "1.0.30000820"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000820.tgz#6e36ee75187a2c83d26d6504a1af47cc580324d2"
+ version "1.0.30000833"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000833.tgz#98e84fcdb4399c6fa0b0fd41490d3217ac7802b4"
capture-stack-trace@^1.0.0:
version "1.0.0"
@@ -2231,9 +2317,9 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.2, chalk@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
@@ -2309,13 +2395,13 @@ chownr@^1.0.1, chownr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
-chrome-launcher@0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.8.1.tgz#e275b738376d294b3228dc32caf3ed7ee0405e57"
+chrome-launcher@0.10.2:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.10.2.tgz#f7d860ddec627b6f01015736b5ae1e33b3d165b1"
dependencies:
"@types/core-js" "^0.9.41"
"@types/mkdirp" "^0.3.29"
- "@types/node" "6.0.66"
+ "@types/node" "^9.3.0"
"@types/rimraf" "^0.0.28"
is-wsl "^1.1.0"
lighthouse-logger "^1.0.0"
@@ -2397,8 +2483,8 @@ cliui@^3.2.0:
wrap-ansi "^2.0.0"
cliui@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc"
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
dependencies:
string-width "^2.1.1"
strip-ansi "^4.0.0"
@@ -2413,8 +2499,8 @@ clone@^1.0.0, clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
clone@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
cmd-shim@~2.0.2:
version "2.0.2"
@@ -2489,8 +2575,8 @@ colors@0.5.x:
resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
colors@^1.1.2:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.3.tgz#1b152a9c4f6c9f74bc4bb96233ad0b7983b79744"
colors@~1.1.2:
version "1.1.2"
@@ -2519,7 +2605,7 @@ commander@2.11.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
-commander@2.15.x, commander@^2.11.0, commander@^2.9.0, commander@~2.15.0:
+commander@2.15.1, commander@2.15.x, commander@^2.11.0, commander@^2.14.1, commander@^2.9.0, commander@~2.15.0:
version "2.15.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
@@ -2527,12 +2613,6 @@ commander@2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d"
-commander@2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
- dependencies:
- graceful-readlink ">= 1.0.0"
-
commander@~2.8.1:
version "2.8.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
@@ -2603,9 +2683,9 @@ concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-concurrently@3.5.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.0.tgz#8cf1b7707a6916a78a4ff5b77bb04dec54b379b2"
+concurrently@3.5.1:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.1.tgz#ee8b60018bbe86b02df13e5249453c6ececd2521"
dependencies:
chalk "0.5.1"
commander "2.6.0"
@@ -2624,8 +2704,8 @@ config-chain@~1.1.10, config-chain@~1.1.11:
proto-list "~1.2.1"
configstore@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90"
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
dependencies:
dot-prop "^4.1.0"
graceful-fs "^4.1.2"
@@ -2668,7 +2748,7 @@ content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
-convert-source-map@^1.5.0:
+convert-source-map@^1.5.0, convert-source-map@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
@@ -2704,8 +2784,8 @@ core-js@^1.0.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
- version "2.5.3"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.5.tgz#b14dde936c640c0579a6b50cabcc132dd6127e3b"
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -2723,8 +2803,8 @@ crc@^3.4.4:
resolved "https://registry.yarnpkg.com/crc/-/crc-3.5.0.tgz#98b8ba7d489665ba3979f59b21381374101a1964"
create-ecdh@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.1.tgz#44223dfed533193ba5ba54e0df5709b89acf1f82"
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -2736,17 +2816,18 @@ create-error-class@^3.0.0:
capture-stack-trace "^1.0.0"
create-hash@^1.1.0, create-hash@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
- ripemd160 "^2.0.0"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
sha.js "^2.4.0"
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
dependencies:
cipher-base "^1.0.3"
create-hash "^1.1.0"
@@ -2755,9 +2836,9 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-env@5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.1.tgz#b6d8ab97f304c0f71dae7277b75fe424c08dfa74"
+cross-env@5.1.4:
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.4.tgz#f61c14291f7cc653bb86457002ea80a04699d022"
dependencies:
cross-spawn "^5.1.0"
is-windows "^1.0.0"
@@ -2810,22 +2891,22 @@ css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-css-loader@0.28.7:
- version "0.28.7"
- resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b"
+css-loader@0.28.11:
+ version "0.28.11"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7"
dependencies:
- babel-code-frame "^6.11.0"
+ babel-code-frame "^6.26.0"
css-selector-tokenizer "^0.7.0"
- cssnano ">=2.6.1 <4"
+ cssnano "^3.10.0"
icss-utils "^2.1.0"
loader-utils "^1.0.2"
lodash.camelcase "^4.3.0"
- object-assign "^4.0.1"
+ object-assign "^4.1.1"
postcss "^5.0.6"
- postcss-modules-extract-imports "^1.0.0"
- postcss-modules-local-by-default "^1.0.1"
- postcss-modules-scope "^1.0.0"
- postcss-modules-values "^1.1.0"
+ postcss-modules-extract-imports "^1.2.0"
+ postcss-modules-local-by-default "^1.2.0"
+ postcss-modules-scope "^1.1.0"
+ postcss-modules-values "^1.3.0"
postcss-value-parser "^3.3.0"
source-list-map "^2.0.0"
@@ -2861,19 +2942,19 @@ css-what@2.1:
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
css@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc"
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/css/-/css-2.2.3.tgz#f861f4ba61e79bedc962aa548e5780fd95cbc6be"
dependencies:
inherits "^2.0.1"
source-map "^0.1.38"
- source-map-resolve "^0.3.0"
+ source-map-resolve "^0.5.1"
urix "^0.1.0"
cssesc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
-"cssnano@>=2.6.1 <4":
+cssnano@^3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
dependencies:
@@ -2955,19 +3036,13 @@ dateformat@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
-debug@2, debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
+debug@2, debug@2.6.9, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
ms "2.0.0"
-debug@2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
- dependencies:
- ms "0.7.1"
-
-debug@3.1.0, debug@^3.0.0, debug@^3.0.1, debug@^3.1.0:
+debug@3.1.0, debug@^3.0.0, debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
@@ -3061,9 +3136,9 @@ deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
-deep-extend@~0.4.0:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+deep-extend@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f"
deep-is@0.1.x, deep-is@~0.1.3:
version "0.1.3"
@@ -3200,21 +3275,13 @@ dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3:
asap "^2.0.0"
wrappy "1"
-diff@1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
-
-diff@3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
-
-diff@^3.1.0:
+diff@3.5.0, diff@^3.1.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
diffie-hellman@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -3232,17 +3299,18 @@ discontinuous-range@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
-dmg-builder@2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-2.1.8.tgz#80455063144a4e7446d55acae6e01bafc4137f7d"
+dmg-builder@4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-4.1.3.tgz#d336cf398fd331b2dedd7efae4b51b9bfe00aa1c"
dependencies:
bluebird-lst "^1.0.5"
- builder-util "^3.4.2"
- debug "^3.1.0"
- fs-extra-p "^4.4.4"
+ builder-util "^5.7.0"
+ electron-builder-lib "~20.6.2"
+ fs-extra-p "^4.5.2"
iconv-lite "^0.4.19"
- js-yaml "^3.10.0"
+ js-yaml "^3.11.0"
parse-color "^1.0.0"
+ sanitize-filename "^1.6.1"
dns-equal@^1.0.0:
version "1.0.0"
@@ -3268,7 +3336,7 @@ doctrine@1.5.0:
esutils "^2.0.2"
isarray "^1.0.0"
-doctrine@^2.0.0:
+doctrine@^2.0.2, doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
dependencies:
@@ -3345,19 +3413,20 @@ dotenv-expand@^4.0.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
-dotenv@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
+dotenv@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef"
-drivelist@5.1.8:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-5.1.8.tgz#76f0d5f747e36544b5fa77ff914ff9a97877b01f"
+drivelist@6.1.7:
+ version "6.1.7"
+ resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-6.1.7.tgz#fb4fb498886896cf11b17510dd5a71ac19793449"
dependencies:
- bindings "^1.2.1"
- debug "^2.6.0"
- js-yaml "^3.4.1"
- lodash "^4.16.4"
- nan "^2.6.2"
+ bindings "^1.3.0"
+ debug "^3.1.0"
+ fast-plist "^0.1.2"
+ js-yaml "^3.11.0"
+ nan "^2.10.0"
+ prebuild-install "^2.5.1"
duplexer2@0.0.2:
version "0.0.2"
@@ -3392,76 +3461,104 @@ ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-ejs@^2.5.7, ejs@~2.5.6:
- version "2.5.8"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.8.tgz#2ab6954619f225e6193b7ac5f7c39c48fefe4380"
+ejs@^2.5.7, ejs@^2.5.8, ejs@~2.5.6:
+ version "2.5.9"
+ resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5"
+
+electron-builder-lib@20.8.1:
+ version "20.8.1"
+ resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.8.1.tgz#633167c55f183951b031b59261a923968c098073"
+ dependencies:
+ "7zip-bin" "~3.1.0"
+ app-builder-bin "1.8.3"
+ async-exit-hook "^2.0.1"
+ bluebird-lst "^1.0.5"
+ builder-util "5.7.4"
+ builder-util-runtime "4.2.0"
+ chromium-pickle-js "^0.2.0"
+ debug "^3.1.0"
+ ejs "^2.5.8"
+ electron-osx-sign "0.4.10"
+ electron-publish "20.8.1"
+ fs-extra-p "^4.5.2"
+ hosted-git-info "^2.6.0"
+ is-ci "^1.1.0"
+ isbinaryfile "^3.0.2"
+ js-yaml "^3.11.0"
+ lazy-val "^1.0.3"
+ minimatch "^3.0.4"
+ normalize-package-data "^2.4.0"
+ plist "^3.0.1"
+ read-config-file "3.0.0"
+ sanitize-filename "^1.6.1"
+ semver "^5.5.0"
+ temp-file "^3.1.1"
-electron-builder-lib@19.49.0:
- version "19.49.0"
- resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-19.49.0.tgz#352e334dfcbb4073bb5e78e28a32acb723789895"
+electron-builder-lib@~20.6.2:
+ version "20.6.2"
+ resolved "https://registry.yarnpkg.com/electron-builder-lib/-/electron-builder-lib-20.6.2.tgz#34f38b6172c05f90d34b6b5ed2f2b6922e731a39"
dependencies:
- "7zip-bin" "^2.3.4"
- app-package-builder "2.0.0"
- asar-integrity "0.2.3"
+ "7zip-bin" "~3.1.0"
+ app-builder-bin "1.7.2"
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.5"
- builder-util "3.4.4"
- builder-util-runtime "3.4.0"
+ builder-util "5.6.7"
+ builder-util-runtime "4.1.0"
chromium-pickle-js "^0.2.0"
debug "^3.1.0"
- dmg-builder "2.1.8"
ejs "^2.5.7"
- electron-osx-sign "0.4.7"
- electron-publish "19.49.0"
- fs-extra-p "^4.5.0"
- hosted-git-info "^2.5.0"
- is-ci "^1.0.10"
+ electron-osx-sign "0.4.10"
+ electron-publish "20.6.1"
+ fs-extra-p "^4.5.2"
+ hosted-git-info "^2.6.0"
+ is-ci "^1.1.0"
isbinaryfile "^3.0.2"
- js-yaml "^3.10.0"
+ js-yaml "^3.11.0"
lazy-val "^1.0.3"
minimatch "^3.0.4"
normalize-package-data "^2.4.0"
plist "^2.1.0"
- read-config-file "1.2.1"
+ read-config-file "3.0.0"
sanitize-filename "^1.6.1"
- semver "^5.4.1"
- temp-file "^3.0.0"
+ semver "^5.5.0"
+ temp-file "^3.1.1"
-electron-builder@19.49.0:
- version "19.49.0"
- resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-19.49.0.tgz#f7a2754353ffd5dfe26e0cbe5dfe92d89e5cea0c"
+electron-builder@20.8.1:
+ version "20.8.1"
+ resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.8.1.tgz#3d19607a7f7d3ee7f3e110a6fc66c720ed1d2cc0"
dependencies:
bluebird-lst "^1.0.5"
- builder-util "3.4.4"
- builder-util-runtime "3.4.0"
- chalk "^2.3.0"
- electron-builder-lib "19.49.0"
+ builder-util "5.7.4"
+ builder-util-runtime "4.2.0"
+ chalk "^2.3.2"
+ dmg-builder "4.1.3"
+ electron-builder-lib "20.8.1"
electron-download-tf "4.3.4"
- fs-extra-p "^4.5.0"
- is-ci "^1.0.10"
+ fs-extra-p "^4.5.2"
+ is-ci "^1.1.0"
lazy-val "^1.0.3"
- read-config-file "1.2.1"
+ read-config-file "3.0.0"
sanitize-filename "^1.6.1"
- update-notifier "^2.3.0"
- yargs "^10.0.3"
+ update-notifier "^2.4.0"
+ yargs "^11.0.0"
-electron-chromedriver@~1.7.1:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-1.7.1.tgz#008c97976007aa4eb18491ee095e94d17ee47610"
+electron-chromedriver@~1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz#901714133cf6f6093d365e1f44a52d99624d8241"
dependencies:
electron-download "^4.1.0"
extract-zip "^1.6.5"
-electron-debug@1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/electron-debug/-/electron-debug-1.4.0.tgz#bec7005522220a9d0622153352e1bbff0f37af2e"
+electron-debug@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/electron-debug/-/electron-debug-1.5.0.tgz#d88c02146efb7fc5ae1b21eac56fbe4987eae50c"
dependencies:
electron-is-dev "^0.3.0"
electron-localshortcut "^3.0.0"
-electron-devtools-installer@2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.1.tgz#0beb73ccbf65cbc4d09e706cebda638f839b8c55"
+electron-devtools-installer@2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.3.tgz#58b9a4ec507377bc46e091cd43714188e0c369be"
dependencies:
"7zip" "0.0.6"
cross-unzip "0.0.2"
@@ -3527,19 +3624,19 @@ electron-localshortcut@^3.0.0:
keyboardevent-from-electron-accelerator "^1.1.0"
keyboardevents-areequal "^0.2.1"
-electron-mocha@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-5.0.0.tgz#415b86166a6bf80125fc4106ecc2545669c284ac"
+electron-mocha@6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-6.0.1.tgz#3bab0fa6e48b106791a6b0564359007741de2c32"
dependencies:
- commander "^2.11.0"
+ commander "^2.14.1"
electron-window "^0.8.0"
- fs-extra "^4.0.2"
- mocha "^4.0.1"
+ fs-extra "^5.0.0"
+ mocha "^5.0.1"
which "^1.3.0"
-electron-osx-sign@0.4.7:
- version "0.4.7"
- resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.4.7.tgz#1d75647a82748eacd48bea70616ec83ffade3ee5"
+electron-osx-sign@0.4.10:
+ version "0.4.10"
+ resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.4.10.tgz#be4f3b89b2a75a1dc5f1e7249081ab2929ca3a26"
dependencies:
bluebird "^3.5.0"
compare-version "^0.1.2"
@@ -3548,34 +3645,47 @@ electron-osx-sign@0.4.7:
minimist "^1.2.0"
plist "^2.1.0"
-electron-publish@19.49.0:
- version "19.49.0"
- resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-19.49.0.tgz#ca75482f7767683f14428d47344f34e9bf78c2d4"
+electron-publish@20.6.1:
+ version "20.6.1"
+ resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.6.1.tgz#1bc8497fc9370f8e39c9212ce0b5857ef1d666fd"
dependencies:
bluebird-lst "^1.0.5"
- builder-util "^3.4.4"
- builder-util-runtime "^3.4.0"
- chalk "^2.3.0"
- fs-extra-p "^4.5.0"
- mime "^2.0.3"
+ builder-util "^5.6.7"
+ builder-util-runtime "^4.1.0"
+ chalk "^2.3.2"
+ fs-extra-p "^4.5.2"
+ lazy-val "^1.0.3"
+ mime "^2.2.0"
+
+electron-publish@20.8.1:
+ version "20.8.1"
+ resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.8.1.tgz#ec5730efbda88c6566a47395d433d7b122782675"
+ dependencies:
+ bluebird-lst "^1.0.5"
+ builder-util "^5.7.4"
+ builder-util-runtime "^4.2.0"
+ chalk "^2.3.2"
+ fs-extra-p "^4.5.2"
+ lazy-val "^1.0.3"
+ mime "^2.2.0"
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30:
- version "1.3.40"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz#1fbd6d97befd72b8a6f921dc38d22413d2f6fddf"
+ version "1.3.45"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz#458ac1b1c5c760ce8811a16d2bfbd97ec30bafb8"
-electron-updater@2.16.1:
- version "2.16.1"
- resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-2.16.1.tgz#29e85589ec31ae817ca05bcaf10358bd66119188"
+electron-updater@2.21.4:
+ version "2.21.4"
+ resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-2.21.4.tgz#56326defc8072e78e339cc656838ac78e708f50c"
dependencies:
bluebird-lst "^1.0.5"
- builder-util-runtime "~3.1.0"
+ builder-util-runtime "~4.2.0"
electron-is-dev "^0.3.0"
- fs-extra-p "^4.4.4"
- js-yaml "^3.10.0"
- lazy-val "^1.0.2"
+ fs-extra-p "^4.5.2"
+ js-yaml "^3.11.0"
+ lazy-val "^1.0.3"
lodash.isequal "^4.5.0"
- semver "^5.4.1"
- source-map-support "^0.5.0"
+ semver "^5.5.0"
+ source-map-support "^0.5.4"
electron-window@^0.8.0:
version "0.8.1"
@@ -3583,11 +3693,11 @@ electron-window@^0.8.0:
dependencies:
is-electron-renderer "^2.0.0"
-electron@1.7.9:
- version "1.7.9"
- resolved "https://registry.yarnpkg.com/electron/-/electron-1.7.9.tgz#add54e9f8f83ed02f6519ec10135f698b19336cf"
+electron@1.8.4:
+ version "1.8.4"
+ resolved "https://registry.yarnpkg.com/electron/-/electron-1.8.4.tgz#cca8d0e6889f238f55b414ad224f03e03b226a38"
dependencies:
- "@types/node" "^7.0.18"
+ "@types/node" "^8.0.24"
electron-download "^3.0.1"
extract-zip "^1.0.3"
@@ -3611,7 +3721,7 @@ emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-encodeurl@~1.0.1, encodeurl@~1.0.2:
+encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@@ -3661,17 +3771,22 @@ env-paths@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-1.0.0.tgz#4168133b42bb05c38a35b1ae4397c8298ab369e0"
-enzyme@3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.2.0.tgz#998bdcda0fc71b8764a0017f7cc692c943f54a7a"
+enzyme@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.3.0.tgz#0971abd167f2d4bf3f5bd508229e1c4b6dc50479"
dependencies:
cheerio "^1.0.0-rc.2"
function.prototype.name "^1.0.3"
has "^1.0.1"
+ is-boolean-object "^1.0.0"
+ is-callable "^1.1.3"
+ is-number-object "^1.0.3"
+ is-string "^1.0.4"
is-subset "^0.1.1"
lodash "^4.17.4"
+ object-inspect "^1.5.0"
object-is "^1.0.1"
- object.assign "^4.0.4"
+ object.assign "^4.1.0"
object.entries "^1.0.4"
object.values "^1.0.4"
raf "^3.4.0"
@@ -3724,14 +3839,14 @@ es-to-primitive@^1.1.1:
is-symbol "^1.0.1"
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
- version "0.10.41"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.41.tgz#bab3e982d750f0112f0cb9e6abed72c59eb33eb2"
+ version "0.10.42"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d"
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.1"
next-tick "1"
-es6-error@4.1.1, es6-error@^4.0.0:
+es6-error@4.1.1, es6-error@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
@@ -3836,9 +3951,9 @@ eslint-import-resolver-node@^0.3.1:
debug "^2.6.9"
resolve "^1.5.0"
-eslint-import-resolver-webpack@0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.8.3.tgz#ad61e28df378a474459d953f246fd43f92675385"
+eslint-import-resolver-webpack@0.8.4:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.8.4.tgz#0f7cd74bc9d7fc1773e8d5fc25baf864b2f87a42"
dependencies:
array-find "^1.0.0"
debug "^2.6.8"
@@ -3848,20 +3963,20 @@ eslint-import-resolver-webpack@0.8.3:
interpret "^1.0.0"
is-absolute "^0.2.3"
lodash.get "^3.7.0"
- node-libs-browser "^1.0.0"
+ node-libs-browser "^1.0.0 || ^2.0.0"
resolve "^1.2.0"
semver "^5.3.0"
eslint-module-utils@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746"
dependencies:
debug "^2.6.8"
pkg-dir "^1.0.0"
-eslint-plugin-import@2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894"
+eslint-plugin-import@2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz#26002efbfca5989b7288ac047508bd24f217b169"
dependencies:
builtin-modules "^1.1.1"
contains-path "^0.1.0"
@@ -3870,13 +3985,13 @@ eslint-plugin-import@2.8.0:
eslint-import-resolver-node "^0.3.1"
eslint-module-utils "^2.1.1"
has "^1.0.1"
- lodash.cond "^4.3.0"
+ lodash "^4.17.4"
minimatch "^3.0.3"
read-pkg-up "^2.0.0"
-eslint-plugin-jsx-a11y@6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz#659277a758b036c305a7e4a13057c301cd3be73f"
+eslint-plugin-jsx-a11y@6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz#54583d1ae442483162e040e13cc31865465100e5"
dependencies:
aria-query "^0.7.0"
array-includes "^3.0.3"
@@ -3884,7 +3999,7 @@ eslint-plugin-jsx-a11y@6.0.2:
axobject-query "^0.1.0"
damerau-levenshtein "^1.0.0"
emoji-regex "^6.1.0"
- jsx-ast-utils "^1.4.0"
+ jsx-ast-utils "^2.0.0"
eslint-plugin-lodash@2.5.0:
version "2.5.0"
@@ -3892,56 +4007,60 @@ eslint-plugin-lodash@2.5.0:
dependencies:
lodash "~4.17.0"
-eslint-plugin-mocha@4.11.0:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.11.0.tgz#91193a2f55e20a5e35974054a0089d30198ee578"
+eslint-plugin-mocha@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-5.0.0.tgz#43946a7ecaf39039eb3ee20635ebd4cc19baf6dd"
dependencies:
- ramda "^0.24.1"
+ ramda "^0.25.0"
-eslint-plugin-promise@3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz#54b7658c8f454813dc2a870aff8152ec4969ba75"
+eslint-plugin-promise@3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.7.0.tgz#f4bde5c2c77cdd69557a8f69a24d1ad3cfc9e67e"
-eslint-plugin-react@7.4.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.4.0.tgz#300a95861b9729c087d362dd64abcc351a74364a"
+eslint-plugin-react@7.7.0:
+ version "7.7.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz#f606c719dbd8a1a2b3d25c16299813878cca0160"
dependencies:
- doctrine "^2.0.0"
+ doctrine "^2.0.2"
has "^1.0.1"
- jsx-ast-utils "^2.0.0"
- prop-types "^15.5.10"
+ jsx-ast-utils "^2.0.1"
+ prop-types "^15.6.0"
eslint-restricted-globals@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7"
-eslint-scope@^3.7.1:
+eslint-scope@^3.7.1, eslint-scope@~3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint@4.11.0:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.11.0.tgz#39a8c82bc0a3783adf5a39fa27fdd9d36fac9a34"
+eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+
+eslint@4.19.1:
+ version "4.19.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
dependencies:
ajv "^5.3.0"
babel-code-frame "^6.22.0"
chalk "^2.1.0"
concat-stream "^1.6.0"
cross-spawn "^5.1.0"
- debug "^3.0.1"
- doctrine "^2.0.0"
+ debug "^3.1.0"
+ doctrine "^2.1.0"
eslint-scope "^3.7.1"
- espree "^3.5.2"
+ eslint-visitor-keys "^1.0.0"
+ espree "^3.5.4"
esquery "^1.0.0"
- estraverse "^4.2.0"
esutils "^2.0.2"
file-entry-cache "^2.0.0"
functional-red-black-tree "^1.0.1"
glob "^7.1.2"
- globals "^9.17.0"
+ globals "^11.0.1"
ignore "^3.3.3"
imurmurhash "^0.1.4"
inquirer "^3.0.6"
@@ -3957,14 +4076,15 @@ eslint@4.11.0:
path-is-inside "^1.0.2"
pluralize "^7.0.0"
progress "^2.0.0"
+ regexpp "^1.0.1"
require-uncached "^1.0.3"
semver "^5.3.0"
strip-ansi "^4.0.0"
strip-json-comments "~2.0.1"
- table "^4.0.1"
+ table "4.0.2"
text-table "~0.2.0"
-espree@^3.5.2:
+espree@^3.5.4:
version "3.5.4"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
dependencies:
@@ -3980,8 +4100,8 @@ esprima@^4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
esquery@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
dependencies:
estraverse "^4.0.0"
@@ -3991,7 +4111,7 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -4010,9 +4130,9 @@ event-emitter@~0.3.5:
d "1"
es5-ext "~0.10.14"
-eventemitter3@1.x.x:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+eventemitter3@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
events@^1.0.0:
version "1.1.1"
@@ -4071,42 +4191,7 @@ expand-template@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.1.0.tgz#e09efba977bf98f9ee0ed25abd0c692e02aec3fc"
-express@4.16.2:
- version "4.16.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
- dependencies:
- accepts "~1.3.4"
- array-flatten "1.1.1"
- body-parser "1.18.2"
- content-disposition "0.5.2"
- content-type "~1.0.4"
- cookie "0.3.1"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "~1.1.1"
- encodeurl "~1.0.1"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.1.0"
- fresh "0.5.2"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "~2.3.0"
- parseurl "~1.3.2"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.2"
- qs "6.5.1"
- range-parser "~1.2.0"
- safe-buffer "5.1.1"
- send "0.16.1"
- serve-static "1.13.1"
- setprototypeof "1.1.0"
- statuses "~1.3.1"
- type-is "~1.6.15"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-express@^4.13.3:
+express@4.16.3, express@^4.13.3:
version "4.16.3"
resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53"
dependencies:
@@ -4167,8 +4252,8 @@ extend@~3.0.0, extend@~3.0.1:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
external-editor@^2.0.4:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
dependencies:
chardet "^0.4.0"
iconv-lite "^0.4.17"
@@ -4235,10 +4320,14 @@ fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-fast-levenshtein@~2.0.4:
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+fast-plist@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/fast-plist/-/fast-plist-0.1.2.tgz#a45aff345196006d406ca6cdcd05f69051ef35b8"
+
fastparse@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
@@ -4255,9 +4344,9 @@ faye-websocket@~0.11.0:
dependencies:
websocket-driver ">=0.5.1"
-fbjs-scripts@0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.1.tgz#c1c6efbecb7f008478468976b783880c2f669765"
+fbjs-scripts@0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-0.8.2.tgz#d2ce902ec3c8bf7cea5d0daf8692661a90710f25"
dependencies:
babel-core "^6.7.2"
babel-preset-fbjs "^2.1.2"
@@ -4299,12 +4388,12 @@ file-entry-cache@^2.0.0:
flat-cache "^1.2.1"
object-assign "^4.0.1"
-file-loader@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa"
+file-loader@1.1.11:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8"
dependencies:
loader-utils "^1.0.2"
- schema-utils "^0.3.0"
+ schema-utils "^0.4.5"
file-type@^3.8.0:
version "3.9.0"
@@ -4341,18 +4430,6 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
-finalhandler@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.1"
- escape-html "~1.0.3"
- on-finished "~2.3.0"
- parseurl "~1.3.2"
- statuses "~1.3.1"
- unpipe "~1.0.0"
-
finalhandler@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
@@ -4423,12 +4500,18 @@ flush-write-stream@^1.0.0:
inherits "^2.0.1"
readable-stream "^2.0.4"
-flux-standard-action@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/flux-standard-action/-/flux-standard-action-2.0.0.tgz#f22deb61033eabe86ec27bf204d6d46e973c52c9"
+flux-standard-action@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flux-standard-action/-/flux-standard-action-2.0.1.tgz#9e2947f5904edd48f9fab7516ddb8dea6f612075"
dependencies:
lodash "^4.0.0"
+follow-redirects@^1.0.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.4.1.tgz#d8120f4518190f55aac65bb6fc7b85fcd666d6aa"
+ dependencies:
+ debug "^3.1.0"
+
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -4485,12 +4568,6 @@ formatio@1.1.1:
dependencies:
samsam "~1.1"
-formatio@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/formatio/-/formatio-1.2.0.tgz#f3b2167d9068c4698a8d51f4f760a39a54d818eb"
- dependencies:
- samsam "1.x"
-
formidable@1.0.14:
version "1.0.14"
resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.14.tgz#2b3f4c411cbb5fdd695c44843e2a23514a43231a"
@@ -4523,12 +4600,16 @@ from2@^2.1.0:
inherits "^2.0.1"
readable-stream "^2.0.0"
-fs-extra-p@^4.4.4, fs-extra-p@^4.4.5, fs-extra-p@^4.5.0:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.5.2.tgz#0a22aba489284d17f375d5dc5139aa777fe2df51"
+fs-constants@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
+
+fs-extra-p@^4.5.0, fs-extra-p@^4.5.2, fs-extra-p@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-4.6.0.tgz#c7b7117f0dcf8a99c9b2ed589067c960abcf3ef9"
dependencies:
bluebird-lst "^1.0.5"
- fs-extra "^5.0.0"
+ fs-extra "^6.0.0"
fs-extra@3.0.1:
version "3.0.1"
@@ -4555,7 +4636,7 @@ fs-extra@^2.0.0:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
-fs-extra@^4.0.1, fs-extra@^4.0.2:
+fs-extra@^4.0.1:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
dependencies:
@@ -4571,9 +4652,17 @@ fs-extra@^5.0.0:
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@~0.26.2:
- version "0.26.7"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9"
+fs-extra@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.0.tgz#0f0afb290bb3deb87978da816fcd3c7797f3a817"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@~0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.27.0.tgz#66d4c25d1d2c6a8dafed7718cfcffe930f13b2c0"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
@@ -4581,6 +4670,12 @@ fs-extra@~0.26.2:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
+fs-minipass@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
+ dependencies:
+ minipass "^2.2.1"
+
fs-vacuum@~1.2.10, fs-vacuum@~1.2.9:
version "1.2.10"
resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36"
@@ -4603,11 +4698,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
fsevents@^1.0.0, fsevents@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.3.tgz#08292982e7059f6674c93d8b829c1e8604979ac0"
dependencies:
- nan "^2.3.0"
- node-pre-gyp "^0.6.39"
+ nan "^2.9.2"
+ node-pre-gyp "^0.9.0"
fstream-ignore@^1.0.0, fstream-ignore@^1.0.5:
version "1.0.5"
@@ -4809,17 +4904,6 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob@7.0.5:
- version "7.0.5"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95"
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.2"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1, glob@~7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -4855,11 +4939,11 @@ global@^4.3.0:
min-document "^2.19.0"
process "~0.5.1"
-globals@^11.1.0:
- version "11.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.4.0.tgz#b85c793349561c16076a3c13549238a27945f1bc"
+globals@^11.0.1, globals@^11.1.0:
+ version "11.5.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642"
-globals@^9.17.0, globals@^9.18.0:
+globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
@@ -4926,10 +5010,6 @@ growl@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f"
-growl@1.9.2:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
-
gulp-util@^3.0.4:
version "3.0.8"
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
@@ -5069,12 +5149,6 @@ has@^1.0.1:
dependencies:
function-bind "^1.0.2"
-hash-base@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
- dependencies:
- inherits "^2.0.1"
-
hash-base@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
@@ -5141,7 +5215,7 @@ hoek@4.x.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
-hoist-non-react-statics@^2.2.1, hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.3.1:
+hoist-non-react-statics@^2.3.0, hoist-non-react-statics@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40"
@@ -5156,7 +5230,7 @@ home-path@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f"
-hosted-git-info@^2.1.4, hosted-git-info@^2.1.5, hosted-git-info@^2.4.2, hosted-git-info@^2.5.0:
+hosted-git-info@^2.1.4, hosted-git-info@^2.1.5, hosted-git-info@^2.4.2, hosted-git-info@^2.6.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
@@ -5186,28 +5260,28 @@ html-entities@^1.2.0:
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
html-minifier@^3.2.3:
- version "3.5.12"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.12.tgz#6bfad4d0327f5b8d2b62f5854654ac3703b9b031"
+ version "3.5.15"
+ resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.15.tgz#f869848d4543cbfd84f26d5514a2a87cbf9a05e0"
dependencies:
camel-case "3.0.x"
clean-css "4.1.x"
commander "2.15.x"
he "1.1.x"
- ncname "1.0.x"
param-case "2.1.x"
relateurl "0.2.x"
uglify-js "3.3.x"
-html-webpack-plugin@2.30.1:
- version "2.30.1"
- resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5"
+html-webpack-plugin@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.1.0.tgz#6e02baaedb1e906310917f03239c793a75af2885"
dependencies:
- bluebird "^3.4.7"
html-minifier "^3.2.3"
loader-utils "^0.2.16"
lodash "^4.17.3"
pretty-error "^2.0.2"
+ tapable "^1.0.0"
toposort "^1.0.0"
+ util.promisify "1.0.0"
htmlparser2@^3.9.1:
version "3.9.2"
@@ -5237,7 +5311,7 @@ http-deceiver@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
-http-errors@1.6.2, http-errors@~1.6.2:
+http-errors@1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
dependencies:
@@ -5246,9 +5320,18 @@ http-errors@1.6.2, http-errors@~1.6.2:
setprototypeof "1.0.3"
statuses ">= 1.3.1 < 2"
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
http-parser-js@>=0.4.0:
- version "0.4.11"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.11.tgz#5b720849c650903c27e521633d94696ee95f3529"
+ version "0.4.12"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.12.tgz#b9cfbf4a2cf26f0fc34b10ca1489a27771e3474f"
http-proxy-agent@^2.0.0:
version "2.1.0"
@@ -5267,11 +5350,12 @@ http-proxy-middleware@~0.17.4:
micromatch "^2.3.11"
http-proxy@^1.16.2:
- version "1.16.2"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a"
dependencies:
- eventemitter3 "1.x.x"
- requires-port "1.x.x"
+ eventemitter3 "^3.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
http-signature@~1.1.0:
version "1.1.1"
@@ -5289,17 +5373,13 @@ http-signature@~1.2.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
-https-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
-
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
https-proxy-agent@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.0.tgz#7fbba856be8cd677986f42ebd3664f6317257887"
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0"
dependencies:
agent-base "^4.1.0"
debug "^3.1.0"
@@ -5314,10 +5394,16 @@ humanize-plus@^1.8.1:
version "1.8.2"
resolved "https://registry.yarnpkg.com/humanize-plus/-/humanize-plus-1.8.2.tgz#a65b34459ad6367adbb3707a82a3c9f916167030"
-iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.19, iconv-lite@~0.4.13:
+iconv-lite@0.4.19:
version "0.4.19"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+iconv-lite@^0.4.17, iconv-lite@^0.4.19, iconv-lite@^0.4.4, iconv-lite@~0.4.13:
+ version "0.4.21"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798"
+ dependencies:
+ safer-buffer "^2.1.0"
+
icss-replace-symbols@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
@@ -5336,17 +5422,23 @@ iferr@^0.1.5, iferr@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ignore-walk@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ dependencies:
+ minimatch "^3.0.4"
+
ignore@^3.3.3:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b"
image-size@~0.5.0:
version "0.5.5"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
-immutability-helper@2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.5.0.tgz#01ea7204334997c645bdfa7eb22e8b84c970946e"
+immutability-helper@2.6.6:
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/immutability-helper/-/immutability-helper-2.6.6.tgz#9b384c240d65257133c155086e16f678ca563b05"
dependencies:
invariant "^2.2.0"
@@ -5394,7 +5486,7 @@ inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-ini@^1.3.4, ini@^1.3.5, ini@~1.3.0, ini@~1.3.4:
+ini@^1.3.4, ini@~1.3.0, ini@~1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
@@ -5443,10 +5535,6 @@ inquirer@^3.0.6, inquirer@~3.3.0:
strip-ansi "^4.0.0"
through "^2.3.6"
-int64-buffer@^0.1.10:
- version "0.1.10"
- resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-0.1.10.tgz#277b228a87d95ad777d07c13832022406a473423"
-
internal-ip@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c"
@@ -5457,7 +5545,7 @@ interpret@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
-invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2:
+invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.3:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies:
@@ -5512,6 +5600,10 @@ is-binary-path@^1.0.0:
dependencies:
binary-extensions "^1.0.0"
+is-boolean-object@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz#98f8b28030684219a95f375cfbd88ce3405dff93"
+
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
@@ -5526,7 +5618,7 @@ is-callable@^1.1.1, is-callable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
-is-ci@^1.0.10:
+is-ci@^1.0.10, is-ci@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
dependencies:
@@ -5663,6 +5755,10 @@ is-npm@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+is-number-object@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799"
+
is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -5759,6 +5855,10 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+is-string@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz#cc3a9b69857d621e963725a24caeec873b826e64"
+
is-subset@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
@@ -5848,7 +5948,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-js-yaml@^3.10.0, js-yaml@^3.4.1, js-yaml@^3.9.1:
+js-yaml@^3.10.0, js-yaml@^3.11.0, js-yaml@^3.9.1:
version "3.11.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
dependencies:
@@ -5883,8 +5983,8 @@ json-loader@0.5.7, json-loader@^0.5.4:
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz#50183cd1b2d25275de069e9e71b467ac9eab973a"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
json-schema-traverse@^0.3.0:
version "0.3.1"
@@ -5908,7 +6008,7 @@ json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-json3@3.3.2, json3@^3.3.2:
+json3@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@@ -5955,11 +6055,7 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-jsx-ast-utils@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
-
-jsx-ast-utils@^2.0.0:
+jsx-ast-utils@^2.0.0, jsx-ast-utils@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f"
dependencies:
@@ -6021,7 +6117,7 @@ lazy-property@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147"
-lazy-val@^1.0.2, lazy-val@^1.0.3:
+lazy-val@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.3.tgz#bb97b200ef00801d94c317e29dc6ed39e31c5edc"
@@ -6037,22 +6133,22 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
-less-loader@4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-4.0.5.tgz#ae155a7406cac6acd293d785587fcff0f478c4dd"
+less-loader@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-4.1.0.tgz#2c1352c5b09a4f84101490274fd51674de41363e"
dependencies:
clone "^2.1.1"
loader-utils "^1.1.0"
- pify "^2.3.0"
+ pify "^3.0.0"
-less@2.7.3:
- version "2.7.3"
- resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b"
+less@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/less/-/less-3.0.1.tgz#ba2fea24a5632ccb8c84230d6043c0bf91855e37"
optionalDependencies:
errno "^0.1.1"
graceful-fs "^4.1.2"
image-size "~0.5.0"
- mime "^1.2.11"
+ mime "^1.4.1"
mkdirp "^0.5.0"
promise "^7.1.1"
request "2.81.0"
@@ -6119,28 +6215,19 @@ locate-path@^2.0.0:
path-exists "^3.0.0"
lockfile@~1.0.1, lockfile@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79"
-
-lodash-es@^4.17.3, lodash-es@^4.2.0, lodash-es@^4.2.1:
- version "4.17.7"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.7.tgz#db240a3252c3dd8360201ac9feef91ac977ea856"
-
-lodash._baseassign@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609"
dependencies:
- lodash._basecopy "^3.0.0"
- lodash.keys "^3.0.0"
+ signal-exit "^3.0.2"
+
+lodash-es@^4.17.5, lodash-es@^4.2.1:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05"
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-lodash._basecreate@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
-
lodash._baseget@^3.0.0:
version "3.7.2"
resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4"
@@ -6202,18 +6289,6 @@ lodash.clonedeep@~4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
-lodash.cond@^4.3.0:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
-
-lodash.create@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
- dependencies:
- lodash._baseassign "^3.0.0"
- lodash._basecreate "^3.0.0"
- lodash._isiterateecall "^3.0.0"
-
lodash.escape@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
@@ -6316,10 +6391,6 @@ lodash.templatesettings@^3.0.0:
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
-lodash.toarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
-
lodash.union@~4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
@@ -6340,11 +6411,15 @@ lodash@4.17.4:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.4, lodash@^4.16.6, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0, lodash@~4.17.0, lodash@~4.17.4:
+lodash@4.17.5:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
-log-symbols@^2.0.0:
+lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1, lodash@^4.8.0, lodash@~4.17.0, lodash@~4.17.4:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+
+log-symbols@^2.0.0, log-symbols@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
dependencies:
@@ -6354,6 +6429,13 @@ loglevel@^1.4.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"
+loglevelnext@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2"
+ dependencies:
+ es6-symbol "^3.1.1"
+ object.assign "^4.1.0"
+
lolex@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.1.0.tgz#5dbbbc850395e7523c74b3586f7fbd2626d25b1b"
@@ -6372,7 +6454,7 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3
dependencies:
js-tokens "^3.0.0"
-loud-rejection@^1.0.0:
+loud-rejection@^1.0.0, loud-rejection@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
dependencies:
@@ -6582,13 +6664,13 @@ mime@1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
-mime@^1.2.11, mime@^1.3.4, mime@^1.4.1, mime@^1.5.0:
+mime@^1.4.1, mime@^1.5.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
-mime@^2.0.3:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.0.tgz#161e541965551d3b549fa1114391e3a3d55b923b"
+mime@^2.0.3, mime@^2.1.0, mime@^2.2.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369"
mimic-fn@^1.0.0:
version "1.2.0"
@@ -6605,14 +6687,14 @@ min-document@^2.19.0:
dom-walk "^0.1.0"
minimalistic-assert@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
-minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2, minimatch@~3.0.3:
+minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2, minimatch@~3.0.3:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
dependencies:
@@ -6630,6 +6712,19 @@ minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+minipass@^2.2.1, minipass@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.4.tgz#03c824d84551ec38a8d1bb5bc350a5a30a354a40"
+ dependencies:
+ safe-buffer "^5.1.1"
+ yallist "^3.0.0"
+
+minizlib@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
+ dependencies:
+ minipass "^2.2.1"
+
mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e"
@@ -6679,34 +6774,34 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi
dependencies:
minimist "0.0.8"
-mocha@3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3"
+mocha@5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.5.tgz#e228e3386b9387a4710007a641f127b00be44b52"
dependencies:
- browser-stdout "1.3.0"
- commander "2.9.0"
- debug "2.2.0"
- diff "1.4.0"
+ browser-stdout "1.3.1"
+ commander "2.11.0"
+ debug "3.1.0"
+ diff "3.5.0"
escape-string-regexp "1.0.5"
- glob "7.0.5"
- growl "1.9.2"
- json3 "3.3.2"
- lodash.create "3.1.1"
+ glob "7.1.2"
+ growl "1.10.3"
+ he "1.1.1"
mkdirp "0.5.1"
- supports-color "3.1.2"
+ supports-color "4.4.0"
-mocha@^4.0.1:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794"
+mocha@^5.0.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.1.1.tgz#b774c75609dac05eb48f4d9ba1d827b97fde8a7b"
dependencies:
- browser-stdout "1.3.0"
+ browser-stdout "1.3.1"
commander "2.11.0"
debug "3.1.0"
- diff "3.3.1"
+ diff "3.5.0"
escape-string-regexp "1.0.5"
glob "7.1.2"
growl "1.10.3"
he "1.1.1"
+ minimatch "3.0.4"
mkdirp "0.5.1"
supports-color "4.4.0"
@@ -6717,8 +6812,8 @@ moment-timezone@0.4.1:
moment ">= 2.6.0"
"moment@>= 2.6.0":
- version "2.21.0"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.21.0.tgz#2a114b51d2a6ec9e6d83cf803f838a878d8a023a"
+ version "2.22.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
move-concurrently@^1.0.1, move-concurrently@~1.0.1:
version "1.0.1"
@@ -6731,10 +6826,6 @@ move-concurrently@^1.0.1, move-concurrently@~1.0.1:
rimraf "^2.5.4"
run-queue "^1.0.3"
-ms@0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -6764,7 +6855,7 @@ mute-stream@0.0.7, mute-stream@~0.0.4:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
-nan@^2.2.0, nan@^2.3.0, nan@^2.6.2, nan@^2.8.0:
+nan@^2.10.0, nan@^2.6.2, nan@^2.8.0, nan@^2.9.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
@@ -6789,12 +6880,6 @@ natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-ncname@1.0.x:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
- dependencies:
- xml-char-classes "^1.0.0"
-
nearley@^2.7.10:
version "2.13.0"
resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.13.0.tgz#6e7b0f4e68bfc3e74c99eaef2eda39e513143439"
@@ -6804,21 +6889,29 @@ nearley@^2.7.10:
randexp "0.4.6"
semver "^5.4.1"
+needle@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
+ dependencies:
+ debug "^2.1.2"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
neo-async@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.0.tgz#76b1c823130cca26acfbaccc8fbaf0a2fa33b18f"
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee"
next-tick@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
nise@^1.2.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.2.tgz#fd6fd8dc040dfb3c0a45252feb6ff21832309b14"
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/nise/-/nise-1.3.3.tgz#c17a850066a8a1dfeb37f921da02441afc4a82ba"
dependencies:
"@sinonjs/formatio" "^2.0.0"
just-extend "^1.1.27"
@@ -6833,17 +6926,11 @@ no-case@^2.2.0:
lower-case "^1.1.1"
node-abi@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.3.0.tgz#f3d554d6ac72a9ee16f0f4dc9548db7c08de4986"
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.4.0.tgz#3c27515cb842f5bbc132a31254f9f1e1c55c7b83"
dependencies:
semver "^5.4.1"
-node-emoji@^1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826"
- dependencies:
- lodash.toarray "^4.4.0"
-
node-fetch-npm@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7"
@@ -6863,7 +6950,7 @@ node-forge@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
-node-gyp@^3.5.0, node-gyp@~3.6.0, node-gyp@~3.6.2:
+node-gyp@^3.6.2, node-gyp@~3.6.0, node-gyp@~3.6.2:
version "3.6.2"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
dependencies:
@@ -6881,43 +6968,15 @@ node-gyp@^3.5.0, node-gyp@~3.6.0, node-gyp@~3.6.2:
tar "^2.0.0"
which "1"
-node-hid@0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-0.5.7.tgz#5c87c33e4bcb9db64decf21ba3c7b9d014eac123"
+node-hid@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-0.7.2.tgz#15025cdea2e9756aca2de7266529996d40e52c56"
dependencies:
bindings "^1.3.0"
nan "^2.6.2"
prebuild-install "^2.2.2"
-node-libs-browser@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-1.1.1.tgz#2a38243abedd7dffcd07a97c9aca5668975a6fea"
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.1.4"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^1.0.0"
- https-browserify "0.0.1"
- os-browserify "^0.2.0"
- path-browserify "0.0.0"
- process "^0.11.0"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.0.5"
- stream-browserify "^2.0.1"
- stream-http "^2.3.1"
- string_decoder "^0.10.25"
- timers-browserify "^1.4.2"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.10.3"
- vm-browserify "0.0.4"
-
-node-libs-browser@^2.0.0:
+"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df"
dependencies:
@@ -6945,7 +7004,7 @@ node-libs-browser@^2.0.0:
util "^0.10.3"
vm-browserify "0.0.4"
-node-pre-gyp@^0.6.30, node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.39, node-pre-gyp@~0.6.32:
+node-pre-gyp@^0.6.30, node-pre-gyp@^0.6.36, node-pre-gyp@~0.6.39:
version "0.6.39"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
dependencies:
@@ -6961,6 +7020,21 @@ node-pre-gyp@^0.6.30, node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.39, node-pre-gyp@~
tar "^2.2.1"
tar-pack "^3.4.0"
+node-pre-gyp@^0.9.0:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz#f11c07516dd92f87199dbc7e1838eab7cd56c9e0"
+ dependencies:
+ detect-libc "^1.0.2"
+ mkdirp "^0.5.1"
+ needle "^2.2.0"
+ nopt "^4.0.1"
+ npm-packlist "^1.1.6"
+ npmlog "^4.0.2"
+ rc "^1.1.7"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^4"
+
node-uuid@~1.4.7:
version "1.4.8"
resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907"
@@ -6971,15 +7045,15 @@ nodegit-promise@~4.0.0:
dependencies:
asap "~2.0.3"
-nodegit@0.20.3:
- version "0.20.3"
- resolved "https://registry.yarnpkg.com/nodegit/-/nodegit-0.20.3.tgz#a44172db08c833cdcb1ab9bbc2c832ce05898815"
+nodegit@0.21.2:
+ version "0.21.2"
+ resolved "https://registry.yarnpkg.com/nodegit/-/nodegit-0.21.2.tgz#957c69a07a0afdeb21d1c69e9d3ad0a72e87acaa"
dependencies:
- fs-extra "~0.26.2"
+ fs-extra "~0.27.0"
lodash "^4.13.1"
- nan "^2.2.0"
- node-gyp "^3.5.0"
- node-pre-gyp "~0.6.32"
+ nan "^2.9.2"
+ node-gyp "^3.6.2"
+ node-pre-gyp "~0.6.39"
promisify-node "~0.3.0"
nomnom@~1.6.2:
@@ -7047,6 +7121,10 @@ normalize-url@^1.4.0:
query-string "^4.1.0"
sort-keys "^1.0.0"
+npm-bundled@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
+
npm-cache-filename@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11"
@@ -7085,12 +7163,12 @@ npm-install-package@~2.1.0:
validate-npm-package-name "^3.0.0"
"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0":
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.0.0.tgz#8cce04b49d3f9faec3f56b0fe5f4391aeb9d2fac"
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1"
dependencies:
- hosted-git-info "^2.5.0"
- osenv "^0.1.4"
- semver "^5.4.1"
+ hosted-git-info "^2.6.0"
+ osenv "^0.1.5"
+ semver "^5.5.0"
validate-npm-package-name "^3.0.0"
npm-package-arg@~4.1.0:
@@ -7100,6 +7178,13 @@ npm-package-arg@~4.1.0:
hosted-git-info "^2.1.4"
semver "4 || 5"
+npm-packlist@^1.1.6:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+
npm-pick-manifest@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8"
@@ -7398,6 +7483,10 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
+object-inspect@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
+
object-invariant-test-helper@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/object-invariant-test-helper/-/object-invariant-test-helper-0.1.1.tgz#4bfbd68f3790ff4570a5e77f8e830613111af008"
@@ -7420,7 +7509,7 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"
-object.assign@^4.0.4:
+object.assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
dependencies:
@@ -7531,10 +7620,6 @@ original@>=0.0.5:
dependencies:
url-parse "1.0.x"
-os-browserify@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
-
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
@@ -7561,7 +7646,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-osenv@0, osenv@^0.1.4, osenv@~0.1.3, osenv@~0.1.4:
+osenv@0, osenv@^0.1.4, osenv@^0.1.5, osenv@~0.1.3, osenv@~0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
dependencies:
@@ -7627,10 +7712,6 @@ pacote@~2.7.38:
unique-filename "^1.1.0"
which "^1.2.12"
-pako@~0.2.0:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
-
pako@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
@@ -7650,8 +7731,8 @@ param-case@2.1.x:
no-case "^2.2.0"
parse-asn1@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -7757,8 +7838,8 @@ pathval@^1.0.0:
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
pbkdf2@^3.0.3:
- version "3.0.14"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade"
+ version "3.0.16"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c"
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -7814,7 +7895,15 @@ pkg-up@^2.0.0:
dependencies:
find-up "^2.1.0"
-plist@2.1.0, plist@^2.1.0:
+plist@3.0.1, plist@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
+ dependencies:
+ base64-js "^1.2.3"
+ xmlbuilder "^9.0.7"
+ xmldom "0.1.x"
+
+plist@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/plist/-/plist-2.1.0.tgz#57ccdb7a0821df21831217a3cad54e3e146a1025"
dependencies:
@@ -7966,27 +8055,27 @@ postcss-minify-selectors@^2.0.4:
postcss "^5.0.14"
postcss-selector-parser "^2.0.0"
-postcss-modules-extract-imports@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
+postcss-modules-extract-imports@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85"
dependencies:
postcss "^6.0.1"
-postcss-modules-local-by-default@^1.0.1:
+postcss-modules-local-by-default@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
dependencies:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-scope@^1.0.0:
+postcss-modules-scope@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
dependencies:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-values@^1.1.0:
+postcss-modules-values@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
dependencies:
@@ -8083,16 +8172,16 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
supports-color "^3.2.3"
postcss@^6.0.1:
- version "6.0.21"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.21.tgz#8265662694eddf9e9a5960db6da33c39e4cd069d"
+ version "6.0.22"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3"
dependencies:
- chalk "^2.3.2"
+ chalk "^2.4.1"
source-map "^0.6.1"
- supports-color "^5.3.0"
+ supports-color "^5.4.0"
-prebuild-install@^2.2.2, prebuild-install@^2.3.0:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.1.tgz#0f234140a73760813657c413cdccdda58296b1da"
+prebuild-install@^2.2.2, prebuild-install@^2.5.1:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.5.3.tgz#9f65f242782d370296353710e9bc843490c19f69"
dependencies:
detect-libc "^1.0.3"
expand-template "^1.0.2"
@@ -8136,7 +8225,7 @@ pretty-error@^2.0.2:
renderkid "^2.0.1"
utila "~0.4"
-private@^0.1.6, private@^0.1.7:
+private@^0.1.6, private@^0.1.7, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -8148,7 +8237,7 @@ process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
-process@^0.11.0, process@^0.11.10, process@~0.11.0:
+process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
@@ -8200,15 +8289,7 @@ promzard@^0.3.0:
dependencies:
read "1"
-prop-types@15.6.0:
- version "15.6.0"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856"
- dependencies:
- fbjs "^0.8.16"
- loose-envify "^1.3.1"
- object-assign "^4.1.1"
-
-prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0:
+prop-types@15.6.1, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1:
version "15.6.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
dependencies:
@@ -8226,7 +8307,7 @@ protoduck@^4.0.0:
dependencies:
genfun "^4.0.1"
-proxy-addr@~2.0.2, proxy-addr@~2.0.3:
+proxy-addr@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341"
dependencies:
@@ -8242,8 +8323,8 @@ pseudomap@^1.0.1, pseudomap@^1.0.2:
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
public-encrypt@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994"
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
@@ -8328,17 +8409,9 @@ querystringify@0.0.x:
version "0.0.4"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
-querystringify@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
-
-rabin-bindings@~1.7.4:
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/rabin-bindings/-/rabin-bindings-1.7.4.tgz#174581d3b9a3c1b09ece75dc21f1b4ae0dd79974"
- dependencies:
- bindings "^1.3.0"
- nan "^2.8.0"
- prebuild-install "^2.3.0"
+querystringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755"
raf@^3.4.0:
version "3.4.0"
@@ -8350,9 +8423,9 @@ railroad-diagrams@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
-ramda@^0.24.1:
- version "0.24.1"
- resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857"
+ramda@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9"
randexp@0.4.6:
version "0.4.6"
@@ -8395,10 +8468,10 @@ raw-body@2.3.2:
unpipe "1.0.0"
rc@^1.0.1, rc@^1.1.2, rc@^1.1.6, rc@^1.1.7, rc@^1.2.1:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092"
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.7.tgz#8a10ca30d588d00464360372b890d06dacd02297"
dependencies:
- deep-extend "~0.4.0"
+ deep-extend "^0.5.1"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
@@ -8407,30 +8480,26 @@ react-deep-force-update@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c"
-react-deep-force-update@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz#8ea4263cd6455a050b37445b3f08fd839d86e909"
-
-react-dom@16.1.1:
- version "16.1.1"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.1.1.tgz#b2e331b6d752faf1a2d31399969399a41d8d45f8"
+react-dom@16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
object-assign "^4.1.1"
prop-types "^15.6.0"
-react-hot-loader@3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-3.1.3.tgz#6f92877326958c7cb0134b512474517869126082"
+react-hot-loader@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.0.0.tgz#3452fa9bc0d0ba9dfc5b0ccfa25101ca8dbd2de2"
dependencies:
+ fast-levenshtein "^2.0.6"
global "^4.3.0"
- react-deep-force-update "^2.1.1"
- react-proxy "^3.0.0-alpha.0"
- redbox-react "^1.3.6"
- source-map "^0.6.1"
+ hoist-non-react-statics "^2.5.0"
+ prop-types "^15.6.0"
+ shallowequal "^1.0.2"
-react-input-autosize@^2.0.1:
+react-input-autosize@^2.1.2:
version "2.2.1"
resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8"
dependencies:
@@ -8443,22 +8512,16 @@ react-proxy@^1.1.7:
lodash "^4.6.1"
react-deep-force-update "^1.0.0"
-react-proxy@^3.0.0-alpha.0:
- version "3.0.0-alpha.1"
- resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07"
- dependencies:
- lodash "^4.6.1"
-
-react-redux@5.0.6:
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.6.tgz#23ed3a4f986359d68b5212eaaa681e60d6574946"
+react-redux@5.0.7:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8"
dependencies:
- hoist-non-react-statics "^2.2.1"
+ hoist-non-react-statics "^2.5.0"
invariant "^2.0.0"
- lodash "^4.2.0"
- lodash-es "^4.2.0"
+ lodash "^4.17.5"
+ lodash-es "^4.17.5"
loose-envify "^1.1.0"
- prop-types "^15.5.10"
+ prop-types "^15.6.0"
react-router-dom@4.2.2:
version "4.2.2"
@@ -8471,9 +8534,9 @@ react-router-dom@4.2.2:
react-router "^4.2.0"
warning "^3.0.0"
-react-router-redux@5.0.0-alpha.8:
- version "5.0.0-alpha.8"
- resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.8.tgz#5242c705730b2ac862aff7a8e90f870d0cf45e12"
+react-router-redux@5.0.0-alpha.9:
+ version "5.0.0-alpha.9"
+ resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.9.tgz#825431516e0e6f1fd93b8807f6bd595e23ec3d10"
dependencies:
history "^4.7.2"
prop-types "^15.6.0"
@@ -8491,13 +8554,13 @@ react-router@^4.2.0:
prop-types "^15.5.4"
warning "^3.0.0"
-react-select@1.0.0-rc.10:
- version "1.0.0-rc.10"
- resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.0.0-rc.10.tgz#f137346250f9255c979fbfa21860899928772350"
+react-select@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-1.2.1.tgz#a2fe58a569eb14dcaa6543816260b97e538120d1"
dependencies:
classnames "^2.2.4"
prop-types "^15.5.8"
- react-input-autosize "^2.0.1"
+ react-input-autosize "^2.1.2"
react-transform-catch-errors@^1.0.2:
version "1.0.2"
@@ -8510,9 +8573,9 @@ react-transform-hmr@^1.0.3:
global "^4.3.0"
react-proxy "^1.1.7"
-react@16.1.1:
- version "16.1.1"
- resolved "https://registry.yarnpkg.com/react/-/react-16.1.1.tgz#d5c4ef795507e3012282dd51261ff9c0e824fe1f"
+react@16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
@@ -8525,19 +8588,19 @@ read-cmd-shim@~1.0.1:
dependencies:
graceful-fs "^4.1.2"
-read-config-file@1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-1.2.1.tgz#f889ea5c13372319433f5df09d7a9742c72d0b25"
+read-config-file@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.0.0.tgz#771def5184a7f76abaf6b2c82f20cb983775b8ea"
dependencies:
- ajv "^5.5.1"
- ajv-keywords "^2.1.1"
+ ajv "^6.1.1"
+ ajv-keywords "^3.1.0"
bluebird-lst "^1.0.5"
- dotenv "^4.0.0"
+ dotenv "^5.0.0"
dotenv-expand "^4.0.1"
- fs-extra-p "^4.4.4"
+ fs-extra-p "^4.5.0"
js-yaml "^3.10.0"
json5 "^0.5.1"
- lazy-val "^1.0.2"
+ lazy-val "^1.0.3"
read-installed@~4.0.3:
version "4.0.3"
@@ -8610,15 +8673,15 @@ read@1, read@~1.0.1, read@~1.0.7:
mute-stream "~0.0.4"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@~2.3.2:
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d"
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
- string_decoder "~1.0.3"
+ string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@1.0:
@@ -8702,9 +8765,9 @@ rechoir@^0.6.2:
dependencies:
resolve "^1.1.6"
-redbox-react@^1.2.2, redbox-react@^1.3.6:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.5.0.tgz#04dab11557d26651bf3562a67c22ace56c5d3967"
+redbox-react@^1.2.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1"
dependencies:
error-stack-parser "^1.3.6"
object-assign "^4.0.1"
@@ -8736,22 +8799,24 @@ reduce-function-call@^1.0.1:
dependencies:
balanced-match "^0.4.2"
-redux-form@7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-7.1.2.tgz#6b0f25c57fd8130a05ce00f6435fe1b051f402af"
+redux-form@7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-7.3.0.tgz#b92ef1639c86a6009b0821aacfc80ad8b5ac8c05"
dependencies:
deep-equal "^1.0.1"
- es6-error "^4.0.0"
- hoist-non-react-statics "^2.3.1"
- invariant "^2.2.2"
+ es6-error "^4.1.1"
+ hoist-non-react-statics "^2.5.0"
+ invariant "^2.2.3"
is-promise "^2.1.0"
- lodash "^4.17.3"
- lodash-es "^4.17.3"
- prop-types "^15.5.9"
+ lodash "^4.17.5"
+ lodash-es "^4.17.5"
+ prop-types "^15.6.1"
-redux-mock-store@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.3.0.tgz#6edfef0d2332f20576381069d6d889a6d0a4451c"
+redux-mock-store@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.1.tgz#fca4335392e66605420b5559fe02fc5b8bb6d63c"
+ dependencies:
+ lodash.isplainobject "^4.0.6"
redux-thunk@2.2.0:
version "2.2.0"
@@ -8799,6 +8864,10 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
+regexpp@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
+
regexpu-core@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b"
@@ -9002,7 +9071,7 @@ require-uncached@^1.0.3:
caller-path "^0.1.0"
resolve-from "^1.0.0"
-requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0:
+requires-port@1.0.x, requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@@ -9028,13 +9097,13 @@ resolve-pathname@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
-resolve-url@^0.2.1, resolve-url@~0.2.1:
+resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
resolve@^1.1.6, resolve@^1.2.0, resolve@^1.4.0, resolve@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c"
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
dependencies:
path-parse "^1.0.5"
@@ -9076,10 +9145,10 @@ rimraf@~2.5.4:
glob "^7.0.5"
ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
dependencies:
- hash-base "^2.0.0"
+ hash-base "^3.0.0"
inherits "^2.0.1"
rollbar-sourcemap-webpack-plugin@2.2.0:
@@ -9143,16 +9212,24 @@ rx@2.3.24:
version "2.3.24"
resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7"
-safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
dependencies:
ret "~0.1.10"
+safer-buffer@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+
salinity@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/salinity/-/salinity-0.0.8.tgz#5d3c1842121f54d929cb872c6a70643189df62dc"
@@ -9161,7 +9238,7 @@ salinity@0.0.8:
sinon "1.12.2"
sinon-chai "2.7.0"
-samsam@1.3.0, samsam@1.x:
+samsam@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50"
@@ -9185,6 +9262,13 @@ schema-utils@^0.3.0:
dependencies:
ajv "^5.0.0"
+schema-utils@^0.4.3, schema-utils@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e"
+ dependencies:
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+
seek-bzip@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
@@ -9207,7 +9291,7 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
-"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1:
+"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", semver@5.5.0, "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
@@ -9215,10 +9299,6 @@ semver@5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-semver@5.4.1:
- version "5.4.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
-
semver@^4.1.0:
version "4.3.6"
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
@@ -9227,24 +9307,6 @@ semver@~5.1.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19"
-send@0.16.1:
- version "0.16.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3"
- dependencies:
- debug "2.6.9"
- depd "~1.1.1"
- destroy "~1.0.4"
- encodeurl "~1.0.1"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.6.2"
- mime "1.4.1"
- ms "2.0.0"
- on-finished "~2.3.0"
- range-parser "~1.2.0"
- statuses "~1.3.1"
-
send@0.16.2:
version "0.16.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
@@ -9287,15 +9349,6 @@ serve-index@^1.7.2:
mime-types "~2.1.17"
parseurl "~1.3.2"
-serve-static@1.13.1:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719"
- dependencies:
- encodeurl "~1.0.1"
- escape-html "~1.0.3"
- parseurl "~1.3.2"
- send "0.16.1"
-
serve-static@1.13.2:
version "1.13.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
@@ -9357,6 +9410,10 @@ sha@~2.0.1:
graceful-fs "^4.1.2"
readable-stream "^2.0.2"
+shallowequal@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.0.2.tgz#1561dbdefb8c01408100319085764da3fcf83f8f"
+
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@@ -9367,9 +9424,9 @@ shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-shelljs@0.7.8:
- version "0.7.8"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
+shelljs@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.1.tgz#729e038c413a2254c4078b95ed46e0397154a9f1"
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
@@ -9384,8 +9441,8 @@ simple-concat@^1.0.0:
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
simple-get@^2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.7.0.tgz#ad37f926d08129237ff08c4f2edfd6f10e0380b5"
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d"
dependencies:
decompress-response "^3.3.0"
once "^1.3.1"
@@ -9397,14 +9454,14 @@ single-line-log@^1.1.2:
dependencies:
string-width "^1.0.1"
-sinon-chai@2.14.0:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-2.14.0.tgz#da7dd4cc83cd6a260b67cca0f7a9fdae26a1205d"
-
sinon-chai@2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-2.7.0.tgz#493df3a3d758933fdd3678d011a4f738d5e72540"
+sinon-chai@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.0.0.tgz#d5cbd70fa71031edd96b528e0eed4038fcc99f29"
+
sinon@1.12.2:
version "1.12.2"
resolved "https://registry.yarnpkg.com/sinon/-/sinon-1.12.2.tgz#dd893d1f93bfa652ae7c2a08c6eaa42898452c94"
@@ -9413,17 +9470,17 @@ sinon@1.12.2:
lolex "1.1.0"
util ">=0.10.3 <1"
-sinon@4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/sinon/-/sinon-4.1.2.tgz#65610521d926fb53742dd84cd599f0b89a82f440"
+sinon@4.4.10:
+ version "4.4.10"
+ resolved "https://registry.yarnpkg.com/sinon/-/sinon-4.4.10.tgz#592ba39256cd5aecd35c883e1da2759b75d90e02"
dependencies:
+ "@sinonjs/formatio" "^2.0.0"
diff "^3.1.0"
- formatio "1.2.0"
lodash.get "^4.4.2"
lolex "^2.2.0"
nise "^1.2.0"
- supports-color "^4.4.0"
- type-detect "^4.0.0"
+ supports-color "^5.1.0"
+ type-detect "^4.0.5"
slash@^1.0.0:
version "1.0.0"
@@ -9535,16 +9592,7 @@ source-list-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
-source-map-resolve@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761"
- dependencies:
- atob "~1.1.0"
- resolve-url "~0.2.1"
- source-map-url "~0.3.0"
- urix "~0.1.0"
-
-source-map-resolve@^0.5.0:
+source-map-resolve@^0.5.0, source-map-resolve@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
dependencies:
@@ -9554,9 +9602,9 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
-source-map-support@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab"
+source-map-support@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.4.tgz#54456efa89caa9270af7cd624cc2f123e51fbae8"
dependencies:
source-map "^0.6.0"
@@ -9566,20 +9614,17 @@ source-map-support@^0.4.15:
dependencies:
source-map "^0.5.6"
-source-map-support@^0.5.0:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.4.tgz#54456efa89caa9270af7cd624cc2f123e51fbae8"
+source-map-support@^0.5.4, source-map-support@^0.5.5:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.5.tgz#0d4af9e00493e855402e8ec36ebed2d266fceb90"
dependencies:
+ buffer-from "^1.0.0"
source-map "^0.6.0"
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-source-map-url@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
-
source-map@0.5.6:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
@@ -9661,12 +9706,12 @@ spdy@^3.4.1:
select-hose "^2.0.0"
spdy-transport "^2.0.18"
-spectron@3.7.2:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/spectron/-/spectron-3.7.2.tgz#86f41306a9b70ed6ee1500f7f7d3adc389afb446"
+spectron@3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/spectron/-/spectron-3.8.0.tgz#122c3562fd7e92b7cdf6f94094aa495b150dfa51"
dependencies:
dev-null "^0.1.1"
- electron-chromedriver "~1.7.1"
+ electron-chromedriver "~1.8.0"
request "^2.81.0"
split "^1.0.0"
webdriverio "^4.8.0"
@@ -9736,14 +9781,14 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
-"statuses@>= 1.3.1 < 2", statuses@~1.4.0:
+"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+
+statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-statuses@~1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-
stream-browserify@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
@@ -9758,7 +9803,7 @@ stream-each@^1.1.0:
end-of-stream "^1.1.0"
stream-shift "^1.0.0"
-stream-http@^2.3.1, stream-http@^2.7.2:
+stream-http@^2.7.2:
version "2.8.1"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.1.tgz#d0441be1a457a73a733a8a7b53570bebd9ef66a4"
dependencies:
@@ -9798,21 +9843,15 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
-string_decoder@^0.10.25, string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.0.tgz#384f322ee8a848e500effde99901bba849c5d403"
+string_decoder@^1.0.0, string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
dependencies:
safe-buffer "~5.1.0"
-string_decoder@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
- dependencies:
- safe-buffer "~5.1.0"
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
stringstream@~0.0.4, stringstream@~0.0.5:
version "0.0.5"
@@ -9866,16 +9905,16 @@ strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-style-loader@0.19.0:
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.0.tgz#7258e788f0fee6a42d710eaf7d6c2412a4c50759"
+style-loader@0.20.3:
+ version "0.20.3"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.3.tgz#ebef06b89dec491bcb1fdb3452e913a6fd1c10c4"
dependencies:
- loader-utils "^1.0.2"
- schema-utils "^0.3.0"
+ loader-utils "^1.1.0"
+ schema-utils "^0.4.5"
-sudo-prompt@8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.0.0.tgz#a7b4a1ca6cbcca0e705b90a89dfc81d11034cba9"
+sudo-prompt@8.2.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.0.tgz#bcd4aaacdb367b77b4bffcce1c658c2b1dd327f3"
sumchecker@^1.2.0:
version "1.3.1"
@@ -9912,12 +9951,6 @@ superagent@1.2.0:
readable-stream "1.0.27-1"
reduce-component "1.0.1"
-supports-color@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
- dependencies:
- has-flag "^1.0.0"
-
supports-color@4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
@@ -9938,15 +9971,15 @@ supports-color@^3.2.3:
dependencies:
has-flag "^1.0.0"
-supports-color@^4.2.1, supports-color@^4.4.0:
+supports-color@^4.2.1:
version "4.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
dependencies:
has-flag "^2.0.0"
-supports-color@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
+supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
dependencies:
has-flag "^3.0.0"
@@ -9972,12 +10005,12 @@ symbol-observable@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
-table@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
+table@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
dependencies:
- ajv "^6.0.1"
- ajv-keywords "^3.0.0"
+ ajv "^5.2.3"
+ ajv-keywords "^2.1.0"
chalk "^2.1.0"
lodash "^4.17.4"
slice-ansi "1.0.0"
@@ -9991,9 +10024,13 @@ tapable@^0.2.3, tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
+tapable@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2"
+
tar-fs@^1.13.0, tar-fs@^1.15.3:
- version "1.16.0"
- resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896"
+ version "1.16.2"
+ resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.2.tgz#17e5239747e399f7e77344f5f53365f04af53577"
dependencies:
chownr "^1.0.1"
mkdirp "^0.5.1"
@@ -10014,12 +10051,15 @@ tar-pack@^3.4.0:
uid-number "^0.0.6"
tar-stream@^1.1.2, tar-stream@^1.5.0, tar-stream@^1.5.2, tar-stream@^1.5.4:
- version "1.5.5"
- resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.0.tgz#a50efaa7b17760b82c27b3cae4a301a8254a5715"
dependencies:
bl "^1.0.0"
+ buffer-alloc "^1.1.0"
end-of-stream "^1.0.0"
+ fs-constants "^1.0.0"
readable-stream "^2.0.0"
+ to-buffer "^1.1.0"
xtend "^4.0.0"
tar@^2.0.0, tar@^2.2.1, tar@~2.2.1:
@@ -10030,13 +10070,25 @@ tar@^2.0.0, tar@^2.2.1, tar@~2.2.1:
fstream "^1.0.2"
inherits "2"
-temp-file@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.1.tgz#8823649aa4e8a6e419eb71b601a2e4d472b0f24f"
+tar@^4:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462"
+ dependencies:
+ chownr "^1.0.1"
+ fs-minipass "^1.2.5"
+ minipass "^2.2.4"
+ minizlib "^1.1.0"
+ mkdirp "^0.5.0"
+ safe-buffer "^5.1.2"
+ yallist "^3.0.2"
+
+temp-file@^3.1.1, temp-file@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.1.2.tgz#54ba4084097558e8ff2ad1e4bd84841ef2804043"
dependencies:
async-exit-hook "^2.0.1"
bluebird-lst "^1.0.5"
- fs-extra-p "^4.5.0"
+ fs-extra-p "^4.6.0"
lazy-val "^1.0.3"
term-size@^1.2.0:
@@ -10079,9 +10131,9 @@ thunky@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.2.tgz#a862e018e3fb1ea2ec3fce5d55605cf57f247371"
-tidepool-platform-client@0.36.0:
- version "0.36.0"
- resolved "https://registry.yarnpkg.com/tidepool-platform-client/-/tidepool-platform-client-0.36.0.tgz#d81c5e88fb73327784cf3164358b05c90e5cb37e"
+tidepool-platform-client@0.37.0:
+ version "0.37.0"
+ resolved "https://registry.yarnpkg.com/tidepool-platform-client/-/tidepool-platform-client-0.37.0.tgz#b50cdc39075188e58b61864f7630197bd74371c6"
dependencies:
async "0.9.0"
lodash "3.3.1"
@@ -10100,15 +10152,9 @@ timed-out@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
-timers-browserify@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
- dependencies:
- process "~0.11.0"
-
timers-browserify@^2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.6.tgz#241e76927d9ca05f4d959819022f5b3664b64bae"
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
dependencies:
setimmediate "^1.0.4"
@@ -10128,6 +10174,10 @@ to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+to-buffer@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80"
+
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
@@ -10159,8 +10209,8 @@ to-regex@^3.0.1, to-regex@^3.0.2:
safe-regex "^1.1.0"
toposort@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec"
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
tough-cookie@~2.3.0, tough-cookie@~2.3.3:
version "2.3.4"
@@ -10222,7 +10272,7 @@ type-detect@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
-type-detect@^4.0.0:
+type-detect@^4.0.0, type-detect@^4.0.5:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
@@ -10242,8 +10292,8 @@ ua-parser-js@^0.7.9:
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
uglify-js@3.3.x:
- version "3.3.16"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.16.tgz#23ba13efa27aa00885be7417819e8a9787f94028"
+ version "3.3.23"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.23.tgz#48ea43e638364d18be292a6fdc2b5b7c35f239ab"
dependencies:
commander "~2.15.0"
source-map "~0.6.1"
@@ -10353,12 +10403,12 @@ unzip-response@^2.0.1:
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
upath@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d"
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.5.tgz#02cab9ecebe95bbec6d5fc2566325725ab6d1a73"
-update-notifier@^2.3.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.4.0.tgz#f9b4c700fbfd4ec12c811587258777d563d8c866"
+update-notifier@^2.4.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
dependencies:
boxen "^1.2.1"
chalk "^2.0.1"
@@ -10394,17 +10444,21 @@ uri-js@^3.0.2:
dependencies:
punycode "^2.1.0"
-urix@^0.1.0, urix@~0.1.0:
+urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-url-loader@0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7"
+url-join@^2.0.2:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728"
+
+url-loader@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.0.1.tgz#61bc53f1f184d7343da2728a1289ef8722ea45ee"
dependencies:
- loader-utils "^1.0.2"
- mime "^1.4.1"
- schema-utils "^0.3.0"
+ loader-utils "^1.1.0"
+ mime "^2.0.3"
+ schema-utils "^0.4.3"
url-parse-lax@^1.0.0:
version "1.0.0"
@@ -10420,11 +10474,11 @@ url-parse@1.0.x:
requires-port "1.0.x"
url-parse@^1.1.8:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986"
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75"
dependencies:
- querystringify "~1.0.0"
- requires-port "~1.0.0"
+ querystringify "^2.0.0"
+ requires-port "^1.0.0"
url@^0.11.0, url@~0.11.0:
version "0.11.0"
@@ -10470,6 +10524,13 @@ util-promisify@2.1.0:
dependencies:
object.getownpropertydescriptors "^2.0.3"
+util.promisify@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ dependencies:
+ define-properties "^1.1.2"
+ object.getownpropertydescriptors "^2.0.3"
+
util@0.10.3, "util@>=0.10.3 <1", util@^0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
@@ -10496,14 +10557,14 @@ uuid@3.1.0, uuid@~3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
+uuid@3.2.1, uuid@^3.0.0, uuid@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+
uuid@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-uuid@^3.0.0, uuid@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
-
validate-npm-package-license@^3.0.1, validate-npm-package-license@~3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
@@ -10532,8 +10593,8 @@ vary@~1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
vendors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
verror@1.10.0, verror@^1.6.1:
version "1.10.0"
@@ -10564,8 +10625,8 @@ warning@^3.0.0:
loose-envify "^1.0.0"
watchpack@^1.4.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.5.0.tgz#231e783af830a22f8966f65c4c4bacc814072eed"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
dependencies:
chokidar "^2.0.2"
graceful-fs "^4.1.2"
@@ -10613,15 +10674,17 @@ webdriverio@^4.8.0:
wdio-dot-reporter "~0.0.8"
wgxpath "~1.0.0"
-webpack-dev-middleware@1.12.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709"
+webpack-dev-middleware@2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz#a51692801e8310844ef3e3790e1eacfe52326fd4"
dependencies:
+ loud-rejection "^1.6.0"
memory-fs "~0.4.1"
- mime "^1.3.4"
+ mime "^2.1.0"
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
- time-stamp "^2.0.0"
+ url-join "^2.0.2"
+ webpack-log "^1.0.1"
webpack-dev-middleware@^1.11.0:
version "1.12.2"
@@ -10665,20 +10728,29 @@ webpack-dev-server@2.9.4:
webpack-dev-middleware "^1.11.0"
yargs "^6.6.0"
-webpack-hot-middleware@2.20.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.20.0.tgz#cb896d837758b6408fe0afeeafdc0e5316b15319"
+webpack-hot-middleware@2.21.2:
+ version "2.21.2"
+ resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.21.2.tgz#2e2aa65563b8b32546b67e53b5a9667dcd80f327"
dependencies:
ansi-html "0.0.7"
html-entities "^1.2.0"
querystring "^0.2.0"
strip-ansi "^3.0.0"
-webpack-merge@4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.1.tgz#f1197a0a973e69c6fbeeb6d658219aa8c0c13555"
+webpack-log@^1.0.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d"
dependencies:
- lodash "^4.17.4"
+ chalk "^2.1.0"
+ log-symbols "^2.1.0"
+ loglevelnext "^1.0.1"
+ uuid "^3.1.0"
+
+webpack-merge@4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.2.tgz#5d372dddd3e1e5f8874f5bf5a8e929db09feb216"
+ dependencies:
+ lodash "^4.17.5"
webpack-sources@^1.0.1:
version "1.1.0"
@@ -10730,8 +10802,8 @@ wgxpath@~1.0.0:
resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690"
whatwg-fetch@>=0.10.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
whet.extend@~0.9.9:
version "0.9.9"
@@ -10841,17 +10913,13 @@ xdg-basedir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
-xml-char-classes@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-
xmlbuilder@8.2.2:
version "8.2.2"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-8.2.2.tgz#69248673410b4ba42e1a6136551d2922335aa773"
-xmlbuilder@9.0.4:
- version "9.0.4"
- resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f"
+xmlbuilder@9.0.7, xmlbuilder@^9.0.7:
+ version "9.0.7"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
xmldom@0.1.x:
version "0.1.27"
@@ -10883,6 +10951,10 @@ yallist@^2.0.0, yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+yallist@^3.0.0, yallist@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
+
yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
@@ -10895,15 +10967,15 @@ yargs-parser@^7.0.0:
dependencies:
camelcase "^4.1.0"
-yargs-parser@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
+yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
dependencies:
camelcase "^4.1.0"
-yargs@^10.0.3:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5"
+yargs@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b"
dependencies:
cliui "^4.0.0"
decamelize "^1.1.1"
@@ -10916,7 +10988,7 @@ yargs@^10.0.3:
string-width "^2.0.0"
which-module "^2.0.0"
y18n "^3.2.1"
- yargs-parser "^8.1.0"
+ yargs-parser "^9.0.2"
yargs@^6.6.0:
version "6.6.0"