Browse Source

feat(android): fix overflow issues and match iOS default renders (#472)

fixes #466 #194

* feat(android): fix overflow issues and match iOS default render error and loading behaviour

* Use babel preset typescript through react-native instead of ts-jest

* Update yarn.lock

* Update README.md
Thibault Malbranche 5 years ago
parent
commit
319a86e236
No account linked to committer's email address
10 changed files with 73 additions and 138 deletions
  1. 2
    1
      .eslintignore
  2. 7
    8
      README.md
  3. 10
    12
      babel.config.js
  4. 0
    6
      jest.config.js
  5. 0
    1
      package.json
  6. 9
    11
      src/WebView.android.tsx
  7. 2
    20
      src/WebView.ios.tsx
  8. 5
    3
      src/WebView.styles.ts
  9. 29
    1
      src/WebViewShared.tsx
  10. 9
    75
      yarn.lock

+ 2
- 1
.eslintignore View File

@@ -1 +1,2 @@
1
-lib/
1
+lib/
2
+babel.config.js

+ 7
- 8
README.md View File

@@ -1,9 +1,11 @@
1 1
 # React Native WebView - a Modern, Cross-Platform WebView for React Native
2
-[![star this repo](http://githubbadges.com/star.svg?user=react-native-community&repo=react-native-webview&style=flat)](https://github.com/react-native-community/react-native-webview) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) [![Known Vulnerabilities](https://snyk.io/test/github/react-native-community/react-native-webview/badge.svg?style=flat-square)](https://snyk.io/test/github/react-native-community/react-native-webview) 
2
+
3
+[![star this repo](http://githubbadges.com/star.svg?user=react-native-community&repo=react-native-webview&style=flat)](https://github.com/react-native-community/react-native-webview) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) [![Known Vulnerabilities](https://snyk.io/test/github/react-native-community/react-native-webview/badge.svg?style=flat-square)](https://snyk.io/test/github/react-native-community/react-native-webview)
3 4
 
4 5
 **React Native WebView** is a modern, well-supported, and cross-platform WebView for React Native. It is intended to be a replacement for the built-in WebView (which will be [removed from core](https://github.com/react-native-community/discussions-and-proposals/pull/3)).
5 6
 
6 7
 ## Core Maintainers - Sponsoring companies
8
+
7 9
 _This project is maintained for free by these people using both their free time and their company work time._
8 10
 
9 11
 - [Thibault Malbranche](https://github.com/Titozzz) ([Twitter @titozzz](https://twitter.com/titozzz)) from [Brigad](https://brigad.co/about)
@@ -43,17 +45,15 @@ This project follows [semantic versioning](https://semver.org/). We do not hesit
43 45
 Import the `WebView` component from `react-native-webview` and use it like so:
44 46
 
45 47
 ```jsx
46
-import React, { Component } from "react";
47
-import { StyleSheet, Text, View } from "react-native";
48
-import { WebView } from "react-native-webview";
48
+import React, { Component } from 'react';
49
+import { StyleSheet, Text, View } from 'react-native';
50
+import { WebView } from 'react-native-webview';
49 51
 
50 52
 // ...
51 53
 class MyWebComponent extends Component {
52 54
   render() {
53 55
     return (
54
-      <WebView
55
-        source={{ uri: "https://facebook.github.io/react-native/" }}
56
-      />
56
+      <WebView source={{ uri: 'https://facebook.github.io/react-native/' }} />
57 57
     );
58 58
   }
59 59
 }
@@ -64,7 +64,6 @@ For more, read the [API Reference](./docs/Reference.md) and [Guide](./docs/Guide
64 64
 ## Common issues
65 65
 
66 66
 - If you're getting `Invariant Violation: Native component for "RNCWKWebView does not exist"` it likely means you forgot to run `react-native link` or there was some error with the linking process
67
-- There's a [problem](https://stackoverflow.com/questions/52872045/rendering-webview-on-android-device-overlaps-previous-siblings-from-same-parent) on some Android devices where the webview could overlap previous siblings from same parent. To fix this, wrap the WebView in a View with style `overflow: hidden`.
68 67
 
69 68
 ## Contributing
70 69
 

+ 10
- 12
babel.config.js View File

@@ -1,12 +1,10 @@
1
-module.exports = function (api) {
2
-    api && api.cache(false);
3
-    return {
4
-      env: {
5
-        test: {
6
-          presets: [
7
-            "module:metro-react-native-babel-preset"
8
-          ],
9
-        }
10
-      }
11
-    };
12
-  }
1
+module.exports = function(api) {
2
+  api && api.cache(false);
3
+  return {
4
+    env: {
5
+      test: {
6
+        presets: ['module:metro-react-native-babel-preset'],
7
+      },
8
+    },
9
+  };
10
+};

+ 0
- 6
jest.config.js View File

@@ -164,12 +164,6 @@ module.exports = {
164 164
   // timers: "real",
165 165
 
166 166
   // A map from regular expressions to paths to transformers
167
-  transform: {
168
-    '^.+\\.ts(x)?$': 'ts-jest',
169
-    '^.+\\.js$': 'babel-jest',
170
-    '^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$':
171
-      '<rootDir>/node_modules/react-native/jest/assetFileTransformer.js',
172
-  },
173 167
 
174 168
   // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
175 169
   // transformIgnorePatterns: [

+ 0
- 1
package.json View File

@@ -50,7 +50,6 @@
50 50
     "react": "16.8.3",
51 51
     "react-native": "0.59.1",
52 52
     "semantic-release": "15.10.3",
53
-    "ts-jest": "24.0.0",
54 53
     "typescript": "3.3.3333"
55 54
   },
56 55
   "repository": {

+ 9
- 11
src/WebView.android.tsx View File

@@ -1,7 +1,6 @@
1 1
 import React from 'react';
2 2
 
3 3
 import {
4
-  ActivityIndicator,
5 4
   Image,
6 5
   requireNativeComponent,
7 6
   UIManager as NotTypedUIManager,
@@ -17,6 +16,8 @@ import {
17 16
   defaultOriginWhitelist,
18 17
   createOnShouldStartLoadWithRequest,
19 18
   getViewManagerConfig,
19
+  defaultRenderError,
20
+  defaultRenderLoading,
20 21
 } from './WebViewShared';
21 22
 import {
22 23
   WebViewErrorEvent,
@@ -38,12 +39,6 @@ const RNCWebView = requireNativeComponent(
38 39
 ) as typeof NativeWebViewAndroid;
39 40
 const { resolveAssetSource } = Image;
40 41
 
41
-const defaultRenderLoading = () => (
42
-  <View style={styles.loadingView}>
43
-    <ActivityIndicator style={styles.loadingProgressBar} />
44
-  </View>
45
-);
46
-
47 42
 /**
48 43
  * Renders a native WebView.
49 44
  */
@@ -228,6 +223,7 @@ class WebView extends React.Component<AndroidWebViewProps, State> {
228 223
       nativeConfig = {},
229 224
       ...otherProps
230 225
     } = this.props;
226
+
231 227
     let otherView = null;
232 228
 
233 229
     if (this.state.viewState === 'LOADING') {
@@ -235,16 +231,18 @@ class WebView extends React.Component<AndroidWebViewProps, State> {
235 231
     } else if (this.state.viewState === 'ERROR') {
236 232
       const errorEvent = this.state.lastErrorEvent;
237 233
       invariant(errorEvent != null, 'lastErrorEvent expected to be non-null');
238
-      otherView
239
-        = renderError
240
-        && renderError(errorEvent.domain, errorEvent.code, errorEvent.description);
234
+      otherView = (renderError || defaultRenderError)(
235
+        errorEvent.domain,
236
+        errorEvent.code,
237
+        errorEvent.description,
238
+      );
241 239
     } else if (this.state.viewState !== 'IDLE') {
242 240
       console.error(
243 241
         `RNCWebView invalid state encountered: ${this.state.viewState}`,
244 242
       );
245 243
     }
246 244
 
247
-    const webViewStyles = [styles.container, style];
245
+    const webViewStyles = [styles.container, styles.webView, style];
248 246
     if (
249 247
       this.state.viewState === 'LOADING'
250 248
       || this.state.viewState === 'ERROR'

+ 2
- 20
src/WebView.ios.tsx View File

@@ -1,7 +1,5 @@
1 1
 import React from 'react';
2 2
 import {
3
-  ActivityIndicator,
4
-  Text,
5 3
   UIManager as NotTypedUIManager,
6 4
   View,
7 5
   requireNativeComponent,
@@ -16,6 +14,8 @@ import {
16 14
   defaultOriginWhitelist,
17 15
   createOnShouldStartLoadWithRequest,
18 16
   getViewManagerConfig,
17
+  defaultRenderError,
18
+  defaultRenderLoading,
19 19
 } from './WebViewShared';
20 20
 import {
21 21
   WebViewErrorEvent,
@@ -60,24 +60,6 @@ const RNCWKWebView: typeof NativeWebViewIOS = requireNativeComponent(
60 60
   'RNCWKWebView',
61 61
 );
62 62
 
63
-const defaultRenderLoading = () => (
64
-  <View style={styles.loadingView}>
65
-    <ActivityIndicator />
66
-  </View>
67
-);
68
-const defaultRenderError = (
69
-  errorDomain: string | undefined,
70
-  errorCode: number,
71
-  errorDesc: string,
72
-) => (
73
-  <View style={styles.errorContainer}>
74
-    <Text style={styles.errorTextTitle}>Error loading page</Text>
75
-    <Text style={styles.errorText}>{`Domain: ${errorDomain}`}</Text>
76
-    <Text style={styles.errorText}>{`Error Code: ${errorCode}`}</Text>
77
-    <Text style={styles.errorText}>{`Description: ${errorDesc}`}</Text>
78
-  </View>
79
-);
80
-
81 63
 class WebView extends React.Component<IOSWebViewProps, State> {
82 64
   static defaultProps = {
83 65
     useWebKit: true,

+ 5
- 3
src/WebView.styles.ts View File

@@ -11,26 +11,28 @@ interface Styles {
11 11
   loadingProgressBar: ViewStyle;
12 12
 }
13 13
 
14
-const BGWASH = 'rgba(255,255,255,0.8)';
15
-
16 14
 const styles = StyleSheet.create<Styles>({
17 15
   container: {
18 16
     flex: 1,
17
+    overflow: 'hidden',
18
+    backgroundColor: 'white',
19 19
   },
20 20
   errorContainer: {
21 21
     flex: 1,
22 22
     justifyContent: 'center',
23 23
     alignItems: 'center',
24
-    backgroundColor: BGWASH,
24
+    backgroundColor: 'white',
25 25
   },
26 26
   hidden: {
27 27
     height: 0,
28 28
     flex: 0, // disable 'flex:1' when hiding a View
29
+    display: 'none',
29 30
   },
30 31
   loadingView: {
31 32
     flex: 1,
32 33
     justifyContent: 'center',
33 34
     alignItems: 'center',
35
+    backgroundColor: 'white',
34 36
   },
35 37
   loadingProgressBar: {
36 38
     height: 20,

src/WebViewShared.ts → src/WebViewShared.tsx View File

@@ -1,10 +1,18 @@
1 1
 import escapeStringRegexp from 'escape-string-regexp';
2
-import { Linking, UIManager as NotTypedUIManager } from 'react-native';
2
+import React from 'react';
3
+import {
4
+  Linking,
5
+  UIManager as NotTypedUIManager,
6
+  View,
7
+  ActivityIndicator,
8
+  Text,
9
+} from 'react-native';
3 10
 import {
4 11
   WebViewNavigationEvent,
5 12
   OnShouldStartLoadWithRequest,
6 13
   CustomUIManager,
7 14
 } from './WebViewTypes';
15
+import styles from './WebView.styles';
8 16
 
9 17
 const UIManager = NotTypedUIManager as CustomUIManager;
10 18
 
@@ -66,8 +74,28 @@ const getViewManagerConfig = (
66 74
   return UIManager.getViewManagerConfig(viewManagerName);
67 75
 };
68 76
 
77
+const defaultRenderLoading = () => (
78
+  <View style={styles.loadingView}>
79
+    <ActivityIndicator />
80
+  </View>
81
+);
82
+const defaultRenderError = (
83
+  errorDomain: string | undefined,
84
+  errorCode: number,
85
+  errorDesc: string,
86
+) => (
87
+  <View style={styles.errorContainer}>
88
+    <Text style={styles.errorTextTitle}>Error loading page</Text>
89
+    <Text style={styles.errorText}>{`Domain: ${errorDomain}`}</Text>
90
+    <Text style={styles.errorText}>{`Error Code: ${errorCode}`}</Text>
91
+    <Text style={styles.errorText}>{`Description: ${errorDesc}`}</Text>
92
+  </View>
93
+);
94
+
69 95
 export {
70 96
   defaultOriginWhitelist,
71 97
   createOnShouldStartLoadWithRequest,
72 98
   getViewManagerConfig,
99
+  defaultRenderLoading,
100
+  defaultRenderError,
73 101
 };

+ 9
- 75
yarn.lock View File

@@ -1774,13 +1774,6 @@ browser-resolve@^1.11.3:
1774 1774
   dependencies:
1775 1775
     resolve "1.1.7"
1776 1776
 
1777
-bs-logger@0.x:
1778
-  version "0.2.6"
1779
-  resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
1780
-  integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
1781
-  dependencies:
1782
-    fast-json-stable-stringify "2.x"
1783
-
1784 1777
 bser@^2.0.0:
1785 1778
   version "2.0.0"
1786 1779
   resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -1798,7 +1791,7 @@ buffer-crc32@^0.2.13:
1798 1791
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
1799 1792
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
1800 1793
 
1801
-buffer-from@1.x, buffer-from@^1.0.0:
1794
+buffer-from@^1.0.0:
1802 1795
   version "1.1.1"
1803 1796
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
1804 1797
   integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -2509,7 +2502,7 @@ debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
2509 2502
   dependencies:
2510 2503
     ms "^2.1.1"
2511 2504
 
2512
-debuglog@*, debuglog@^1.0.1:
2505
+debuglog@^1.0.1:
2513 2506
   version "1.0.1"
2514 2507
   resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
2515 2508
   integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
@@ -3300,7 +3293,7 @@ fast-glob@^2.0.2, fast-glob@^2.2.6:
3300 3293
     merge2 "^1.2.3"
3301 3294
     micromatch "^3.1.10"
3302 3295
 
3303
-fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
3296
+fast-json-stable-stringify@^2.0.0:
3304 3297
   version "2.0.0"
3305 3298
   resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
3306 3299
   integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
@@ -4072,7 +4065,7 @@ import-local@^2.0.0:
4072 4065
     pkg-dir "^3.0.0"
4073 4066
     resolve-cwd "^2.0.0"
4074 4067
 
4075
-imurmurhash@*, imurmurhash@^0.1.4:
4068
+imurmurhash@^0.1.4:
4076 4069
   version "0.1.4"
4077 4070
   resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
4078 4071
   integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
@@ -5087,7 +5080,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
5087 5080
   resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
5088 5081
   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
5089 5082
 
5090
-json5@2.x, json5@^2.1.0:
5083
+json5@^2.1.0:
5091 5084
   version "2.1.0"
5092 5085
   resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
5093 5086
   integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
@@ -5313,11 +5306,6 @@ lockfile@^1.0.4:
5313 5306
   dependencies:
5314 5307
     signal-exit "^3.0.2"
5315 5308
 
5316
-lodash._baseindexof@*:
5317
-  version "3.1.0"
5318
-  resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
5319
-  integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
5320
-
5321 5309
 lodash._baseuniq@~4.6.0:
5322 5310
   version "4.6.0"
5323 5311
   resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@@ -5326,33 +5314,11 @@ lodash._baseuniq@~4.6.0:
5326 5314
     lodash._createset "~4.0.0"
5327 5315
     lodash._root "~3.0.0"
5328 5316
 
5329
-lodash._bindcallback@*:
5330
-  version "3.0.1"
5331
-  resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
5332
-  integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
5333
-
5334
-lodash._cacheindexof@*:
5335
-  version "3.0.2"
5336
-  resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
5337
-  integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
5338
-
5339
-lodash._createcache@*:
5340
-  version "3.1.2"
5341
-  resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
5342
-  integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
5343
-  dependencies:
5344
-    lodash._getnative "^3.0.0"
5345
-
5346 5317
 lodash._createset@~4.0.0:
5347 5318
   version "4.0.3"
5348 5319
   resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
5349 5320
   integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
5350 5321
 
5351
-lodash._getnative@*, lodash._getnative@^3.0.0:
5352
-  version "3.9.1"
5353
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
5354
-  integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
5355
-
5356 5322
 lodash._root@~3.0.0:
5357 5323
   version "3.0.1"
5358 5324
   resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
@@ -5403,11 +5369,6 @@ lodash.padstart@^4.1.0:
5403 5369
   resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
5404 5370
   integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=
5405 5371
 
5406
-lodash.restparam@*:
5407
-  version "3.6.1"
5408
-  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
5409
-  integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
5410
-
5411 5372
 lodash.set@^4.3.2:
5412 5373
   version "4.3.2"
5413 5374
   resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
@@ -5505,11 +5466,6 @@ make-dir@^1.0.0, make-dir@^1.3.0:
5505 5466
   dependencies:
5506 5467
     pify "^3.0.0"
5507 5468
 
5508
-make-error@1.x:
5509
-  version "1.3.5"
5510
-  resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
5511
-  integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
5512
-
5513 5469
 "make-fetch-happen@^2.5.0 || 3 || 4", make-fetch-happen@^4.0.1:
5514 5470
   version "4.0.1"
5515 5471
   resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz#141497cb878f243ba93136c83d8aba12c216c083"
@@ -6145,7 +6101,7 @@ mixin-deep@^1.2.0:
6145 6101
     for-in "^1.0.2"
6146 6102
     is-extendable "^1.0.1"
6147 6103
 
6148
-mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
6104
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
6149 6105
   version "0.5.1"
6150 6106
   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
6151 6107
   integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -7662,7 +7618,7 @@ readable-stream@~1.1.10:
7662 7618
     isarray "0.0.1"
7663 7619
     string_decoder "~0.10.x"
7664 7620
 
7665
-readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0:
7621
+readdir-scoped-modules@^1.0.0:
7666 7622
   version "1.0.2"
7667 7623
   resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747"
7668 7624
   integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c=
@@ -7881,7 +7837,7 @@ resolve@1.1.7:
7881 7837
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
7882 7838
   integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
7883 7839
 
7884
-resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
7840
+resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
7885 7841
   version "1.10.0"
7886 7842
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
7887 7843
   integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
@@ -8078,7 +8034,7 @@ semver-regex@^1.0.0:
8078 8034
   resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
8079 8035
   integrity sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=
8080 8036
 
8081
-"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 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@^5.5, semver@^5.5.0, semver@^5.5.1:
8037
+"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 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@^5.5.0, semver@^5.5.1:
8082 8038
   version "5.6.0"
8083 8039
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
8084 8040
   integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
@@ -8859,21 +8815,6 @@ trim-right@^1.0.1:
8859 8815
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
8860 8816
   integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
8861 8817
 
8862
-ts-jest@24.0.0:
8863
-  version "24.0.0"
8864
-  resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6"
8865
-  integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw==
8866
-  dependencies:
8867
-    bs-logger "0.x"
8868
-    buffer-from "1.x"
8869
-    fast-json-stable-stringify "2.x"
8870
-    json5 "2.x"
8871
-    make-error "1.x"
8872
-    mkdirp "0.x"
8873
-    resolve "1.x"
8874
-    semver "^5.5"
8875
-    yargs-parser "10.x"
8876
-
8877 8818
 tslib@^1.8.1, tslib@^1.9.0:
8878 8819
   version "1.9.3"
8879 8820
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -9402,13 +9343,6 @@ yallist@^3.0.0, yallist@^3.0.2:
9402 9343
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
9403 9344
   integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
9404 9345
 
9405
-yargs-parser@10.x:
9406
-  version "10.1.0"
9407
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
9408
-  integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
9409
-  dependencies:
9410
-    camelcase "^4.1.0"
9411
-
9412 9346
 yargs-parser@^11.1.1:
9413 9347
   version "11.1.1"
9414 9348
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"