summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@codeispoetry.ru>2017-07-24 12:47:52 +0100
committerAndrej Mihajlov <and@codeispoetry.ru>2017-07-24 12:47:52 +0100
commitb6be7d02c032830625f3ab48f5ee517d72b4d66e (patch)
treee6f072f283c3530a72d78b8bec3d775db9bad95d
parent55869981e0fb60a17890b2a3b9d065e03b7d3da4 (diff)
parente79f5b709adb3b977ca73dcccf08c9f4748d0eb4 (diff)
downloadmullvadvpn-b6be7d02c032830625f3ab48f5ee517d72b4d66e.tar.xz
mullvadvpn-b6be7d02c032830625f3ab48f5ee517d72b4d66e.zip
Merge branch 'routes-flow-annotations'
-rw-r--r--app/routes.js79
-rw-r--r--package.json4
-rw-r--r--yarn.lock185
3 files changed, 181 insertions, 87 deletions
diff --git a/app/routes.js b/app/routes.js
index 5440027c6b..60fb412003 100644
--- a/app/routes.js
+++ b/app/routes.js
@@ -1,3 +1,5 @@
+// @flow
+
import React from 'react';
import { Switch, Route, Redirect } from 'react-router';
import { CSSTransitionGroup } from 'react-transition-group';
@@ -9,55 +11,47 @@ import AccountPage from './containers/AccountPage';
import SelectLocationPage from './containers/SelectLocationPage';
import { getTransitionProps } from './transitions';
-/**
- * Create routes
- *
- * @export
- * @param {function} getState - function to get redux state
- * @param {object} componentProps - extra props to propagate across components
- * @returns {React.element}
- */
-export default function makeRoutes(getState, componentProps) {
+import type { ReduxGetStateFn } from './redux/store';
+import type { Backend } from './lib/backend';
+
+export type SharedRouteProps = {
+ backend: Backend
+};
+
+type CustomRouteProps = {
+ component: ReactClass<*>
+};
+
+export default function makeRoutes(getState: ReduxGetStateFn, componentProps: SharedRouteProps): React.Element<*> {
- /**
- * Merge props and render component
- * @param {React.Component} component - component class
- * @param {...} rest - props
- * @private
- */
- const renderMergedProps = (component, ...rest) => {
+ // Merge props and render component
+ const renderMergedProps = (ComponentClass: ReactClass<*>, ...rest: Array<Object>): React.Element<*> => {
const finalProps = Object.assign({}, componentProps, ...rest);
return (
- React.createElement(component, finalProps)
+ <ComponentClass { ...finalProps } />
);
};
- /**
- * Renders public route
- * Example: <PublicRoute path="/" component={ MyComponent } />
- * @private
- */
- const PublicRoute = ({ component, ...rest }) => {
+ // Renders public route
+ // example: <PublicRoute path="/" component={ MyComponent } />
+ const PublicRoute = ({ component, ...otherProps }: CustomRouteProps) => {
return (
- <Route {...rest} render={ (routeProps) => {
- return renderMergedProps(component, routeProps, ...rest);
+ <Route { ...otherProps } render={ (routeProps) => {
+ return renderMergedProps(component, routeProps, otherProps);
}} />
);
};
- /**
- * Renders protected route that requires authentication, otherwise redirects to /
- * Example: <PrivateRoute path="/protected" component={ MyComponent } />
- * @private
- */
- const PrivateRoute = ({ component, ...rest }) => {
+ // Renders protected route that requires authentication, otherwise redirects to /
+ // example: <PrivateRoute path="/protected" component={ MyComponent } />
+ const PrivateRoute = ({ component, ...otherProps }: CustomRouteProps) => {
return (
- <Route {...rest} render={ (routeProps) => {
+ <Route { ...otherProps } render={ (routeProps) => {
const { account } = getState();
const isLoggedIn = account.status === 'ok';
if(isLoggedIn) {
- return renderMergedProps(component, routeProps, ...rest);
+ return renderMergedProps(component, routeProps, otherProps);
} else {
return (<Redirect to={ '/' } />);
}
@@ -65,32 +59,29 @@ export default function makeRoutes(getState, componentProps) {
);
};
- /**
- * Renders login route that is only available to non-authenticated
- * users. Otherwise this route redirects user to /connect.
- * Example: <LoginRoute path="/login" component={ MyComponent } />
- * @private
- */
- const LoginRoute = ({ component, ...rest }) => {
+ // Renders login route that is only available to non-authenticated
+ // users. Otherwise this route redirects user to /connect.
+ // example: <LoginRoute path="/login" component={ MyComponent } />
+ const LoginRoute = ({ component, ...otherProps }: CustomRouteProps) => {
return (
- <Route {...rest} render={ (routeProps) => {
+ <Route { ...otherProps } render={ (routeProps) => {
const { account } = getState();
const isLoggedIn = account.status === 'ok';
if(isLoggedIn) {
return (<Redirect to={ '/connect' } />);
} else {
- return renderMergedProps(component, routeProps, ...rest);
+ return renderMergedProps(component, routeProps, otherProps);
}
}} />
);
};
// store previous route
- let previousRoute;
+ let previousRoute: ?string;
return (
- <Route render={({location}) => {
+ <Route render={({ location }) => {
const toRoute = location.pathname;
const fromRoute = previousRoute;
const transitionProps = getTransitionProps(fromRoute, toRoute);
diff --git a/package.json b/package.json
index 70f1e313b1..63a7092ffe 100644
--- a/package.json
+++ b/package.json
@@ -56,8 +56,8 @@
"eslint": "^4.1.1",
"eslint-plugin-flowtype": "^2.34.1",
"eslint-plugin-react": "^7.1.0",
- "flow-bin": "^0.49.1",
- "flow-typed": "^2.1.2",
+ "flow-bin": "^0.50.0",
+ "flow-typed": "^2.1.5",
"isomorphic-fetch": "^2.2.1",
"jsdom": "^11.1.0",
"mocha": "^3.2.0",
diff --git a/yarn.lock b/yarn.lock
index b4453ab26c..194d355835 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -131,6 +131,13 @@ after@0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627"
+agent-base@2:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7"
+ dependencies:
+ extend "~3.0.0"
+ semver "~5.0.1"
+
ajv-keywords@^1.0.0:
version "1.5.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
@@ -902,7 +909,7 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
-babel-polyfill@^6.23.0, babel-polyfill@^6.6.1:
+babel-polyfill@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d"
dependencies:
@@ -1751,6 +1758,12 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
+debug@2, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.1, debug@^2.6.6, debug@^2.6.8:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
debug@2.2.0, debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
@@ -1775,16 +1788,16 @@ debug@2.6.4:
dependencies:
ms "0.7.3"
-debug@^2.1.1, debug@^2.1.3, debug@^2.2.0, debug@^2.6.1, debug@^2.6.6, debug@^2.6.8:
- version "2.6.8"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
- dependencies:
- ms "2.0.0"
-
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+decompress-response@^3.2.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-eql@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-2.0.2.tgz#b1bac06e56f0a76777686d50c9feb75c2ed7679a"
@@ -2452,7 +2465,7 @@ express@2.5.x:
mkdirp "0.3.0"
qs "0.4.x"
-extend@~3.0.0:
+extend@3, extend@~3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
@@ -2581,9 +2594,9 @@ flat-cache@^1.2.1:
graceful-fs "^4.1.2"
write "^0.2.1"
-flow-bin@^0.49.1:
- version "0.49.1"
- resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.49.1.tgz#c9e456b3173a7535a4ffaf28956352c63bb8e3e9"
+flow-bin@^0.50.0:
+ version "0.50.0"
+ resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.50.0.tgz#d4cdb2430dee1a3599f0eb6fe551146e3027256a"
flow-remove-types@^1.1.2:
version "1.2.1"
@@ -2592,26 +2605,34 @@ flow-remove-types@^1.1.2:
babylon "^6.15.0"
vlq "^0.2.1"
-flow-typed@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/flow-typed/-/flow-typed-2.1.2.tgz#468f7a8b6bc18689856a1d101713b23bb39f01e4"
+flow-typed@^2.1.5:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/flow-typed/-/flow-typed-2.1.5.tgz#c96912807a286357340042783c9369360f384bbd"
dependencies:
- babel-polyfill "^6.6.1"
+ babel-polyfill "^6.23.0"
colors "^1.1.2"
- fs-extra "^2.0.0"
- github "^0.2.4"
- glob "^7.0.6"
+ fs-extra "^4.0.0"
+ github "^9.2.0"
+ glob "^7.1.2"
+ got "^7.1.0"
md5 "^2.1.0"
mkdirp "^0.5.1"
- request "^2.69.0"
- rimraf "^2.6.0"
+ request "^2.81.0"
+ rimraf "^2.6.1"
semver "^5.1.0"
- table "^3.7.8"
+ table "^4.0.1"
through "^2.3.8"
unzip "^0.1.11"
- which "^1.2.11"
+ which "^1.2.14"
yargs "^4.2.0"
+follow-redirects@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919"
+ dependencies:
+ debug "^2.2.0"
+ stream-consume "^0.1.0"
+
for-in@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2687,13 +2708,21 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
-fs-extra@^2.0.0, fs-extra@^2.1.2:
+fs-extra@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
dependencies:
graceful-fs "^4.1.2"
jsonfile "^2.1.0"
+fs-extra@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.0.tgz#414fb4ca2d2170ba0014159d3a8aec3303418d9e"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^3.0.0"
+ universalify "^0.1.0"
+
fs-readdir-recursive@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560"
@@ -2809,11 +2838,14 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
-github@^0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/github/-/github-0.2.4.tgz#24fa7f0e13fa11b946af91134c51982a91ce538b"
+github@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/github/-/github-9.2.0.tgz#8a886dc40dd63636707dcaf99df3df26c59f16fc"
dependencies:
+ follow-redirects "0.0.7"
+ https-proxy-agent "^1.0.0"
mime "^1.2.11"
+ netrc "^0.1.4"
glob-base@^0.3.0:
version "0.3.0"
@@ -2839,7 +2871,7 @@ glob@7.1.1:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2:
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
@@ -2885,6 +2917,25 @@ got@^6.7.1:
unzip-response "^2.0.1"
url-parse-lax "^1.0.0"
+got@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a"
+ dependencies:
+ decompress-response "^3.2.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-plain-obj "^1.1.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ isurl "^1.0.0-alpha5"
+ lowercase-keys "^1.0.0"
+ p-cancelable "^0.3.0"
+ p-timeout "^1.1.1"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ url-parse-lax "^1.0.0"
+ url-to-options "^1.0.1"
+
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -2957,6 +3008,16 @@ has-flag@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+has-symbol-support-x@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.0.tgz#442d89b1d0ac6cf5ff2f7b916ee539869b93a256"
+
+has-to-string-tag-x@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.0.tgz#49d7bcde85c2409be38ac327e3e119a451657c7b"
+ dependencies:
+ has-symbol-support-x "^1.4.0"
+
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
@@ -3068,6 +3129,14 @@ http-signature@~1.1.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
+https-proxy-agent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6"
+ dependencies:
+ agent-base "2"
+ debug "2"
+ extend "3"
+
ice-cap@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/ice-cap/-/ice-cap-0.0.4.tgz#8a6d31ab4cac8d4b56de4fa946df3352561b6e18"
@@ -3265,6 +3334,10 @@ is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+is-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
@@ -3281,6 +3354,10 @@ is-path-inside@^1.0.0:
dependencies:
path-is-inside "^1.0.1"
+is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+
is-posix-bracket@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
@@ -3366,6 +3443,13 @@ isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+isurl@^1.0.0-alpha5:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
+ dependencies:
+ has-to-string-tag-x "^1.2.0"
+ is-object "^1.0.1"
+
js-tokens@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
@@ -3874,6 +3958,10 @@ mimic-fn@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
+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.2, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
@@ -3974,6 +4062,10 @@ negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
+netrc@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444"
+
node-emoji@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.1.tgz#fd918e412769bf8c448051238233840b2aff16a1"
@@ -4222,6 +4314,10 @@ output-file-sync@^1.1.0:
version "0.0.5"
resolved "https://registry.yarnpkg.com/over/-/over-0.0.5.tgz#f29852e70fd7e25f360e013a8ec44c82aedb5708"
+p-cancelable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -4236,6 +4332,12 @@ p-locate@^2.0.0:
dependencies:
p-limit "^1.1.0"
+p-timeout@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.0.tgz#9820f99434c5817868b4f34809ee5291660d5b6c"
+ dependencies:
+ p-finally "^1.0.0"
+
package-json-versionify@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/package-json-versionify/-/package-json-versionify-1.0.4.tgz#5860587a944873a6b7e6d26e8e51ffb22315bf17"
@@ -4876,7 +4978,7 @@ request@2.78.0:
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
-request@^2.45.0, request@^2.55.0, request@^2.69.0, request@^2.79.0, request@^2.81.0:
+request@^2.45.0, request@^2.55.0, request@^2.79.0, request@^2.81.0:
version "2.81.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
dependencies:
@@ -4960,7 +5062,7 @@ restore-cursor@^2.0.0:
onetime "^2.0.0"
signal-exit "^3.0.2"
-rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1:
+rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
@@ -5014,6 +5116,10 @@ semver-diff@^2.0.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
+semver@~5.0.1:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
+
send@0.15.2:
version "0.15.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.15.2.tgz#f91fab4403bcf87e716f70ceb5db2f578bdc17d6"
@@ -5282,6 +5388,10 @@ stream-combiner@~0.0.4:
dependencies:
duplexer "~0.1.1"
+stream-consume@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f"
+
stream-throttle@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
@@ -5415,17 +5525,6 @@ symbol-observable@^1.0.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
-table@^3.7.8:
- version "3.8.3"
- resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
- dependencies:
- ajv "^4.7.0"
- ajv-keywords "^1.0.0"
- chalk "^1.1.1"
- lodash "^4.0.0"
- slice-ansi "0.0.4"
- string-width "^2.0.0"
-
table@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435"
@@ -5715,6 +5814,10 @@ url-parse-lax@^1.0.0:
dependencies:
prepend-http "^1.0.1"
+url-to-options@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
+
user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
@@ -5862,7 +5965,7 @@ which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
-which@^1.1.1, which@^1.2.11, which@^1.2.8, which@^1.2.9:
+which@^1.1.1, which@^1.2.14, which@^1.2.8, which@^1.2.9:
version "1.2.14"
resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5"
dependencies: