diff --git a/.eslintignore b/.eslintignore
index f1ff06d60..35afa45dd 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1 +1,2 @@
-lib/
\ No newline at end of file
+lib/
+babel.config.js
\ No newline at end of file
diff --git a/README.md b/README.md
index 736edcd85..9cf118e08 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,11 @@
# React Native WebView - a Modern, Cross-Platform WebView for React Native
-[](https://github.com/react-native-community/react-native-webview) [](http://makeapullrequest.com) [](#contributors) [](https://snyk.io/test/github/react-native-community/react-native-webview)
+
+[](https://github.com/react-native-community/react-native-webview) [](http://makeapullrequest.com) [](#contributors) [](https://snyk.io/test/github/react-native-community/react-native-webview)
**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)).
## Core Maintainers - Sponsoring companies
+
_This project is maintained for free by these people using both their free time and their company work time._
- [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
Import the `WebView` component from `react-native-webview` and use it like so:
```jsx
-import React, { Component } from "react";
-import { StyleSheet, Text, View } from "react-native";
-import { WebView } from "react-native-webview";
+import React, { Component } from 'react';
+import { StyleSheet, Text, View } from 'react-native';
+import { WebView } from 'react-native-webview';
// ...
class MyWebComponent extends Component {
render() {
return (
-
+
);
}
}
@@ -64,7 +64,6 @@ For more, read the [API Reference](./docs/Reference.md) and [Guide](./docs/Guide
## Common issues
- 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
-- 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`.
## Contributing
diff --git a/babel.config.js b/babel.config.js
index 71e4dc319..60dc277b2 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -1,12 +1,10 @@
-module.exports = function (api) {
- api && api.cache(false);
- return {
- env: {
- test: {
- presets: [
- "module:metro-react-native-babel-preset"
- ],
- }
- }
- };
- }
+module.exports = function(api) {
+ api && api.cache(false);
+ return {
+ env: {
+ test: {
+ presets: ['module:metro-react-native-babel-preset'],
+ },
+ },
+ };
+};
diff --git a/jest.config.js b/jest.config.js
index 6281efaf1..15bbd8e98 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -164,12 +164,6 @@ module.exports = {
// timers: "real",
// A map from regular expressions to paths to transformers
- transform: {
- '^.+\\.ts(x)?$': 'ts-jest',
- '^.+\\.js$': 'babel-jest',
- '^.+\\.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$':
- '/node_modules/react-native/jest/assetFileTransformer.js',
- },
// An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation
// transformIgnorePatterns: [
diff --git a/package.json b/package.json
index 18460487b..2dbcd4abd 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,6 @@
"react": "16.8.3",
"react-native": "0.59.1",
"semantic-release": "15.10.3",
- "ts-jest": "24.0.0",
"typescript": "3.3.3333"
},
"repository": {
diff --git a/src/WebView.android.tsx b/src/WebView.android.tsx
index 94e25caf6..412bcba37 100644
--- a/src/WebView.android.tsx
+++ b/src/WebView.android.tsx
@@ -1,7 +1,6 @@
import React from 'react';
import {
- ActivityIndicator,
Image,
requireNativeComponent,
UIManager as NotTypedUIManager,
@@ -17,6 +16,8 @@ import {
defaultOriginWhitelist,
createOnShouldStartLoadWithRequest,
getViewManagerConfig,
+ defaultRenderError,
+ defaultRenderLoading,
} from './WebViewShared';
import {
WebViewErrorEvent,
@@ -38,12 +39,6 @@ const RNCWebView = requireNativeComponent(
) as typeof NativeWebViewAndroid;
const { resolveAssetSource } = Image;
-const defaultRenderLoading = () => (
-
-
-
-);
-
/**
* Renders a native WebView.
*/
@@ -228,6 +223,7 @@ class WebView extends React.Component {
nativeConfig = {},
...otherProps
} = this.props;
+
let otherView = null;
if (this.state.viewState === 'LOADING') {
@@ -235,16 +231,18 @@ class WebView extends React.Component {
} else if (this.state.viewState === 'ERROR') {
const errorEvent = this.state.lastErrorEvent;
invariant(errorEvent != null, 'lastErrorEvent expected to be non-null');
- otherView
- = renderError
- && renderError(errorEvent.domain, errorEvent.code, errorEvent.description);
+ otherView = (renderError || defaultRenderError)(
+ errorEvent.domain,
+ errorEvent.code,
+ errorEvent.description,
+ );
} else if (this.state.viewState !== 'IDLE') {
console.error(
`RNCWebView invalid state encountered: ${this.state.viewState}`,
);
}
- const webViewStyles = [styles.container, style];
+ const webViewStyles = [styles.container, styles.webView, style];
if (
this.state.viewState === 'LOADING'
|| this.state.viewState === 'ERROR'
diff --git a/src/WebView.ios.tsx b/src/WebView.ios.tsx
index 77d4868ad..9e3c2becb 100644
--- a/src/WebView.ios.tsx
+++ b/src/WebView.ios.tsx
@@ -1,7 +1,5 @@
import React from 'react';
import {
- ActivityIndicator,
- Text,
UIManager as NotTypedUIManager,
View,
requireNativeComponent,
@@ -16,6 +14,8 @@ import {
defaultOriginWhitelist,
createOnShouldStartLoadWithRequest,
getViewManagerConfig,
+ defaultRenderError,
+ defaultRenderLoading,
} from './WebViewShared';
import {
WebViewErrorEvent,
@@ -60,24 +60,6 @@ const RNCWKWebView: typeof NativeWebViewIOS = requireNativeComponent(
'RNCWKWebView',
);
-const defaultRenderLoading = () => (
-
-
-
-);
-const defaultRenderError = (
- errorDomain: string | undefined,
- errorCode: number,
- errorDesc: string,
-) => (
-
- Error loading page
- {`Domain: ${errorDomain}`}
- {`Error Code: ${errorCode}`}
- {`Description: ${errorDesc}`}
-
-);
-
class WebView extends React.Component {
static defaultProps = {
useWebKit: true,
diff --git a/src/WebView.styles.ts b/src/WebView.styles.ts
index eaa9692ac..2bc2ff91c 100644
--- a/src/WebView.styles.ts
+++ b/src/WebView.styles.ts
@@ -11,26 +11,28 @@ interface Styles {
loadingProgressBar: ViewStyle;
}
-const BGWASH = 'rgba(255,255,255,0.8)';
-
const styles = StyleSheet.create({
container: {
flex: 1,
+ overflow: 'hidden',
+ backgroundColor: 'white',
},
errorContainer: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
- backgroundColor: BGWASH,
+ backgroundColor: 'white',
},
hidden: {
height: 0,
flex: 0, // disable 'flex:1' when hiding a View
+ display: 'none',
},
loadingView: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
+ backgroundColor: 'white',
},
loadingProgressBar: {
height: 20,
diff --git a/src/WebViewShared.ts b/src/WebViewShared.tsx
similarity index 71%
rename from src/WebViewShared.ts
rename to src/WebViewShared.tsx
index 6c240d818..db4d2dc85 100644
--- a/src/WebViewShared.ts
+++ b/src/WebViewShared.tsx
@@ -1,10 +1,18 @@
import escapeStringRegexp from 'escape-string-regexp';
-import { Linking, UIManager as NotTypedUIManager } from 'react-native';
+import React from 'react';
+import {
+ Linking,
+ UIManager as NotTypedUIManager,
+ View,
+ ActivityIndicator,
+ Text,
+} from 'react-native';
import {
WebViewNavigationEvent,
OnShouldStartLoadWithRequest,
CustomUIManager,
} from './WebViewTypes';
+import styles from './WebView.styles';
const UIManager = NotTypedUIManager as CustomUIManager;
@@ -66,8 +74,28 @@ const getViewManagerConfig = (
return UIManager.getViewManagerConfig(viewManagerName);
};
+const defaultRenderLoading = () => (
+
+
+
+);
+const defaultRenderError = (
+ errorDomain: string | undefined,
+ errorCode: number,
+ errorDesc: string,
+) => (
+
+ Error loading page
+ {`Domain: ${errorDomain}`}
+ {`Error Code: ${errorCode}`}
+ {`Description: ${errorDesc}`}
+
+);
+
export {
defaultOriginWhitelist,
createOnShouldStartLoadWithRequest,
getViewManagerConfig,
+ defaultRenderLoading,
+ defaultRenderError,
};
diff --git a/yarn.lock b/yarn.lock
index d5ce49590..92ccb864f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1774,13 +1774,6 @@ browser-resolve@^1.11.3:
dependencies:
resolve "1.1.7"
-bs-logger@0.x:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
- integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
- dependencies:
- fast-json-stable-stringify "2.x"
-
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -1798,7 +1791,7 @@ buffer-crc32@^0.2.13:
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
-buffer-from@1.x, buffer-from@^1.0.0:
+buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
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:
dependencies:
ms "^2.1.1"
-debuglog@*, debuglog@^1.0.1:
+debuglog@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
@@ -3300,7 +3293,7 @@ fast-glob@^2.0.2, fast-glob@^2.2.6:
merge2 "^1.2.3"
micromatch "^3.1.10"
-fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
+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"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
@@ -4072,7 +4065,7 @@ import-local@^2.0.0:
pkg-dir "^3.0.0"
resolve-cwd "^2.0.0"
-imurmurhash@*, imurmurhash@^0.1.4:
+imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
@@ -5087,7 +5080,7 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-json5@2.x, json5@^2.1.0:
+json5@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850"
integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==
@@ -5313,11 +5306,6 @@ lockfile@^1.0.4:
dependencies:
signal-exit "^3.0.2"
-lodash._baseindexof@*:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
- integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
-
lodash._baseuniq@~4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@@ -5326,33 +5314,11 @@ lodash._baseuniq@~4.6.0:
lodash._createset "~4.0.0"
lodash._root "~3.0.0"
-lodash._bindcallback@*:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
- integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
-
-lodash._cacheindexof@*:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
- integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
-
-lodash._createcache@*:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
- integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
- dependencies:
- lodash._getnative "^3.0.0"
-
lodash._createset@~4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
-lodash._getnative@*, lodash._getnative@^3.0.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
- integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
-
lodash._root@~3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
@@ -5403,11 +5369,6 @@ lodash.padstart@^4.1.0:
resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b"
integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=
-lodash.restparam@*:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
- integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
-
lodash.set@^4.3.2:
version "4.3.2"
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:
dependencies:
pify "^3.0.0"
-make-error@1.x:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
- integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
-
"make-fetch-happen@^2.5.0 || 3 || 4", make-fetch-happen@^4.0.1:
version "4.0.1"
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:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -7662,7 +7618,7 @@ readable-stream@~1.1.10:
isarray "0.0.1"
string_decoder "~0.10.x"
-readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0:
+readdir-scoped-modules@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747"
integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c=
@@ -7881,7 +7837,7 @@ resolve@1.1.7:
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=
-resolve@1.x, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
+resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba"
integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==
@@ -8078,7 +8034,7 @@ semver-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
integrity sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=
-"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:
+"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:
version "5.6.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
@@ -8859,21 +8815,6 @@ trim-right@^1.0.1:
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
-ts-jest@24.0.0:
- version "24.0.0"
- resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.0.tgz#3f26bf2ec1fa584863a5a9c29bd8717d549efbf6"
- integrity sha512-o8BO3TkMREpAATaFTrXkovMsCpBl2z4NDBoLJuWZcJJj1ijI49UnvDMfVpj+iogn/Jl8Pbhuei5nc/Ti+frEHw==
- dependencies:
- bs-logger "0.x"
- buffer-from "1.x"
- fast-json-stable-stringify "2.x"
- json5 "2.x"
- make-error "1.x"
- mkdirp "0.x"
- resolve "1.x"
- semver "^5.5"
- yargs-parser "10.x"
-
tslib@^1.8.1, tslib@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
@@ -9402,13 +9343,6 @@ yallist@^3.0.0, yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
-yargs-parser@10.x:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
- integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
- dependencies:
- camelcase "^4.1.0"
-
yargs-parser@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"