dongdayu 6 gadus atpakaļ
vecāks
revīzija
331eb77ec6

+ 2
- 4
README.md Parādīt failu

@@ -38,9 +38,7 @@ pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
38 38
 
39 39
 #### 额外配置
40 40
 
41
-**手动配置和非 Pods 管理依赖情况下**需要
42
-- 将 **node_modules/@yyyyu/react-native-geetest-sensebot/ios/SDK** 目录中 **GT3Captcha.framework** **GT3Captcha.bundle** 两个文件添加到主项目中
43
-- 将 **GT3Captcha.framework** 文件所在路径添加到 Build Settings 的 Framework Search Paths 中
41
+**手动配置和非 Pods 管理依赖情况下**需要将 **node_modules/@yyyyu/react-native-geetest-sensebot/ios/SDK/GT3Captcha.framework** 添加到 framework 依赖中
44 42
 
45 43
 ### android
46 44
 
@@ -96,7 +94,7 @@ react-native link @yyyyu/react-native-geetest-sensebot
96 94
     }
97 95
     ```
98 96
 
99
-2. android/app/build.gradle 配置构建工具版本需要 (buildToolsVersion >= 25)
97
+2. android/app/build.gradle 中修改构建工具版本大于 25 (buildToolsVersion >= 25)
100 98
 
101 99
 3. AndroidManifest.xml
102 100
     ```xml

+ 14
- 15
RNGeetestSensebot.podspec Parādīt failu

@@ -1,22 +1,21 @@
1
-require "json"
1
+require 'json'
2 2
 
3 3
 package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4 4
 
5 5
 Pod::Spec.new do |s|
6
-  s.name                = "RNGeetestSensebot"
7
-  s.version             = package["version"]
8
-  s.summary             = "react native for geetest sensebot."
9
-  s.description         = package["description"]
10
-  s.license             = package["license"]
11
-  s.author              = { package["author"] => "g592842897@gmail.com" }
12
-  s.homepage            = package["homepage"]
13
-  s.source              = { :git => package["repository"]["url"], :tag => package["version"] }
6
+  s.name                = 'RNGeetestSensebot'
7
+  s.version             = package['version']
8
+  s.summary             = package['description']
9
+  s.description         = package['description']
10
+  s.license             = package['license']
11
+  s.author              = { package['author'] => 'g592842897@gmail.com' }
12
+  s.homepage            = package['homepage']
13
+  s.source              = { :git => package['repository']['url'], :tag => package['version'] }
14 14
 
15 15
   s.requires_arc        = true
16
-  s.platform            = :ios, "8.0"
17
-  s.source_files        = "ios/RCTGeetestSensebot.{h,m}", "ios/Helper/*.{h,m}"
18
-  s.vendored_frameworks = "ios/SDK/GT3Captcha.framework"
19
-  s.resource            = "ios/SDK/GT3Captcha.bundle"
20
-  s.framework           = "JavaScriptCore", "WebKit"
21
-
16
+  s.platform            = :ios, '8.0'
17
+  s.source_files        = 'ios/RCTGeetestSensebot.{h,m}', 'ios/Helper/*.{h,m}'
18
+  s.vendored_frameworks = 'ios/SDK/GT3Captcha.framework'
19
+  s.resource            = 'ios/SDK/GT3Captcha.bundle'
20
+  s.framework           = 'JavaScriptCore', 'WebKit'
22 21
 end

+ 25
- 12
ios/RCTGeetestSensebot.xcodeproj/project.pbxproj Parādīt failu

@@ -8,6 +8,7 @@
8 8
 
9 9
 /* Begin PBXBuildFile section */
10 10
 		3643C27A20B64B8E00A0B890 /* GSColorHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3643C27920B64B8E00A0B890 /* GSColorHelper.m */; };
11
+		36AF50B120D2408400F82592 /* GT3Captcha.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 36AF50B020D2408400F82592 /* GT3Captcha.bundle */; };
11 12
 		B3E7B58A1CC2AC0600A0062D /* RCTGeetestSensebot.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RCTGeetestSensebot.m */; };
12 13
 /* End PBXBuildFile section */
13 14
 
@@ -28,6 +29,7 @@
28 29
 		134814201AA4EA6300B7C361 /* libRCTGeetestSensebot.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTGeetestSensebot.a; sourceTree = BUILT_PRODUCTS_DIR; };
29 30
 		3643C27820B64B2F00A0B890 /* GSColorHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GSColorHelper.h; sourceTree = "<group>"; };
30 31
 		3643C27920B64B8E00A0B890 /* GSColorHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GSColorHelper.m; sourceTree = "<group>"; };
32
+		36AF50B020D2408400F82592 /* GT3Captcha.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = GT3Captcha.bundle; path = SDK/GT3Captcha.bundle; sourceTree = "<group>"; };
31 33
 		B3E7B5881CC2AC0600A0062D /* RCTGeetestSensebot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTGeetestSensebot.h; sourceTree = "<group>"; };
32 34
 		B3E7B5891CC2AC0600A0062D /* RCTGeetestSensebot.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTGeetestSensebot.m; sourceTree = "<group>"; };
33 35
 /* End PBXFileReference section */
@@ -60,6 +62,14 @@
60 62
 			path = Helper;
61 63
 			sourceTree = "<group>";
62 64
 		};
65
+		36AF50AF20D2407800F82592 /* Resources */ = {
66
+			isa = PBXGroup;
67
+			children = (
68
+				36AF50B020D2408400F82592 /* GT3Captcha.bundle */,
69
+			);
70
+			name = Resources;
71
+			sourceTree = "<group>";
72
+		};
63 73
 		36CD983820B80C0500647AC8 /* Frameworks */ = {
64 74
 			isa = PBXGroup;
65 75
 			children = (
@@ -73,6 +83,7 @@
73 83
 				B3E7B5881CC2AC0600A0062D /* RCTGeetestSensebot.h */,
74 84
 				B3E7B5891CC2AC0600A0062D /* RCTGeetestSensebot.m */,
75 85
 				3643C27620B64ADF00A0B890 /* Helper */,
86
+				36AF50AF20D2407800F82592 /* Resources */,
76 87
 				134814211AA4EA7D00B7C361 /* Products */,
77 88
 				36CD983820B80C0500647AC8 /* Frameworks */,
78 89
 			);
@@ -88,6 +99,7 @@
88 99
 				58B511D71A9E6C8500147676 /* Sources */,
89 100
 				58B511D81A9E6C8500147676 /* Frameworks */,
90 101
 				58B511D91A9E6C8500147676 /* Copy Files */,
102
+				36AF50AD20D2404900F82592 /* Resources */,
91 103
 			);
92 104
 			buildRules = (
93 105
 			);
@@ -129,6 +141,17 @@
129 141
 		};
130 142
 /* End PBXProject section */
131 143
 
144
+/* Begin PBXResourcesBuildPhase section */
145
+		36AF50AD20D2404900F82592 /* Resources */ = {
146
+			isa = PBXResourcesBuildPhase;
147
+			buildActionMask = 2147483647;
148
+			files = (
149
+				36AF50B120D2408400F82592 /* GT3Captcha.bundle in Resources */,
150
+			);
151
+			runOnlyForDeploymentPostprocessing = 0;
152
+		};
153
+/* End PBXResourcesBuildPhase section */
154
+
132 155
 /* Begin PBXSourcesBuildPhase section */
133 156
 		58B511D71A9E6C8500147676 /* Sources */ = {
134 157
 			isa = PBXSourcesBuildPhase;
@@ -230,12 +253,7 @@
230 253
 					"$(inherited)",
231 254
 					"$(PROJECT_DIR)/SDK",
232 255
 				);
233
-				HEADER_SEARCH_PATHS = (
234
-					"$(inherited)",
235
-					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
236
-					"$(SRCROOT)/../../../React/**",
237
-					"$(SRCROOT)/../../react-native/React/**",
238
-				);
256
+				HEADER_SEARCH_PATHS = "$(inherited)";
239 257
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
240 258
 				OTHER_LDFLAGS = "-ObjC";
241 259
 				PRODUCT_NAME = RCTGeetestSensebot;
@@ -250,12 +268,7 @@
250 268
 					"$(inherited)",
251 269
 					"$(PROJECT_DIR)/SDK",
252 270
 				);
253
-				HEADER_SEARCH_PATHS = (
254
-					"$(inherited)",
255
-					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
256
-					"$(SRCROOT)/../../../React/**",
257
-					"$(SRCROOT)/../../react-native/React/**",
258
-				);
271
+				HEADER_SEARCH_PATHS = "$(inherited)";
259 272
 				LIBRARY_SEARCH_PATHS = "$(inherited)";
260 273
 				OTHER_LDFLAGS = "-ObjC";
261 274
 				PRODUCT_NAME = RCTGeetestSensebot;

+ 4
- 2
package.json Parādīt failu

@@ -15,7 +15,6 @@
15 15
   },
16 16
   "main": "index.js",
17 17
   "scripts": {
18
-    "test": "echo \"Error: no test specified\" && exit 1",
19 18
     "postinstall": "node scripts/postinstall"
20 19
   },
21 20
   "rnpm": {
@@ -35,6 +34,9 @@
35 34
   },
36 35
   "standard": {
37 36
     "parser": "babel-eslint",
38
-    "globals": ["fetch", "Request"]
37
+    "globals": [
38
+      "fetch",
39
+      "Request"
40
+    ]
39 41
   }
40 42
 }

+ 15
- 11
scripts/postinstall.js Parādīt failu

@@ -1,18 +1,22 @@
1 1
 const path = require('path')
2 2
 const file = require('./file')
3 3
 
4
-const nodeModuleDir = path.dirname(__filename) + '/../../..'
4
+const postinstall = () => {
5
+  const nodeModuleDir = path.dirname(__filename) + '/../../..'
5 6
 
6
-const modifies = {
7
-  get reactSpec () {
8
-    const avoidDupSign = '# Dependency'
9
-    return [
10
-      nodeModuleDir + '/react-native/React.podspec',
11
-      avoidDupSign + '\n  s.subspec "Dependency" do |ss|\n    ss.source_files         = "React/**/*.h"\n  end\n\n  ',
12
-      's.subspec "Core" do |ss|',
13
-      avoidDupSign
14
-    ]
7
+  const modifies = {
8
+    get reactSpec () {
9
+      const avoidDupSign = '# Dependency'
10
+      return [
11
+        nodeModuleDir + '/react-native/React.podspec',
12
+        avoidDupSign + '\n  s.subspec "Dependency" do |ss|\n    ss.source_files         = "React/**/*.h"\n  end\n\n  ',
13
+        's.subspec "Core" do |ss|',
14
+        avoidDupSign
15
+      ]
16
+    }
15 17
   }
18
+
19
+  file.fileInsert(...modifies.reactSpec)
16 20
 }
17 21
 
18
-file.fileInsert(...modifies.reactSpec)
22
+postinstall()

+ 17
- 3
scripts/postlink.js Parādīt failu

@@ -1,7 +1,21 @@
1 1
 const path = require('path')
2 2
 const file = require('./file')
3 3
 
4
-const projectDir = path.dirname(__filename) + '/../../../..'
4
+const postlink = () => {
5
+  const projectDir = path.dirname(__filename) + '/../../../..'
5 6
 
6
-file.fileReplace(projectDir + '/android/settings.gradle', ':@yyyyu/react-native-geetest-sensebot', ':react-native-geetest-sensebot')
7
-file.fileReplace(projectDir + '/android/app/build.gradle', ':@yyyyu/react-native-geetest-sensebot', ':react-native-geetest-sensebot')
7
+  file.fileReplace(
8
+    projectDir + '/android/settings.gradle',
9
+    ':@yyyyu/react-native-geetest-sensebot',
10
+    ':react-native-geetest-sensebot'
11
+  )
12
+  file.fileReplace(
13
+    projectDir + '/android/app/build.gradle',
14
+    ':@yyyyu/react-native-geetest-sensebot',
15
+    ':react-native-geetest-sensebot'
16
+  )
17
+
18
+  console.log('\nLink finished, hit <Enter> to continue')
19
+}
20
+
21
+postlink()

+ 0
- 3
src/api.js Parādīt failu

@@ -174,7 +174,6 @@ const stopCaptcha = () => {
174 174
   return GeetestSensebot.stopCaptcha()
175 175
 }
176 176
 
177
-
178 177
 /* event handle */
179 178
 const GSEmitter = new NativeEventEmitter(GeetestSensebot)
180 179
 
@@ -199,7 +198,6 @@ const rnGSEventListener = listenEventType => {
199 198
 }
200 199
 /* event handle end */
201 200
 
202
-
203 201
 /* default captcha funcs */
204 202
 const defaultApi1RespHandler = async api1Resp => {
205 203
   /**
@@ -241,7 +239,6 @@ const defaultApi2RespHandler = async api2Resp => {
241 239
 }
242 240
 /* default captcha funcs end */
243 241
 
244
-
245 242
 export class GSError extends Error {
246 243
   constructor ({ errCode, errMsg }) {
247 244
     super(errMsg)

+ 1
- 1
src/lib/validCaptchaParams.js Parādīt failu

@@ -7,7 +7,7 @@ export default params => {
7 7
     typeof params.gt === 'string' &&
8 8
     typeof params.challenge === 'string',
9 9
     'captcha params must be an object have \
10
-    success(Number) gt(String) challenge(String), but get %s',
10
+      success(Number) gt(String) challenge(String), but get %s',
11 11
     JSON.stringify(params)
12 12
   )
13 13
 }

+ 32
- 32
yarn.lock Parādīt failu

@@ -89,8 +89,8 @@ acorn@^3.0.4:
89 89
   resolved "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
90 90
 
91 91
 acorn@^5.5.0:
92
-  version "5.5.3"
93
-  resolved "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9"
92
+  version "5.6.2"
93
+  resolved "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7"
94 94
 
95 95
 ajv-keywords@^2.1.0:
96 96
   version "2.1.1"
@@ -193,8 +193,8 @@ brace-expansion@^1.1.7:
193 193
     concat-map "0.0.1"
194 194
 
195 195
 buffer-from@^1.0.0:
196
-  version "1.0.0"
197
-  resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531"
196
+  version "1.1.0"
197
+  resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
198 198
 
199 199
 builtin-modules@^1.0.0, builtin-modules@^1.1.1:
200 200
   version "1.1.1"
@@ -251,14 +251,14 @@ co@^4.6.0:
251 251
   resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
252 252
 
253 253
 color-convert@^1.9.0:
254
-  version "1.9.1"
255
-  resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
254
+  version "1.9.2"
255
+  resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
256 256
   dependencies:
257
-    color-name "^1.1.1"
257
+    color-name "1.1.1"
258 258
 
259
-color-name@^1.1.1:
260
-  version "1.1.3"
261
-  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
259
+color-name@1.1.1:
260
+  version "1.1.1"
261
+  resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
262 262
 
263 263
 concat-map@0.0.1:
264 264
   version "0.0.1"
@@ -321,8 +321,8 @@ define-properties@^1.1.2:
321 321
     object-keys "^1.0.8"
322 322
 
323 323
 deglob@^2.1.0:
324
-  version "2.1.0"
325
-  resolved "https://registry.npmjs.org/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a"
324
+  version "2.1.1"
325
+  resolved "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz#d268e168727799862e8eac07042e165957c1f3be"
326 326
   dependencies:
327 327
     find-root "^1.0.0"
328 328
     glob "^7.0.5"
@@ -369,8 +369,8 @@ error-ex@^1.2.0, error-ex@^1.3.1:
369 369
     is-arrayish "^0.2.1"
370 370
 
371 371
 es-abstract@^1.7.0:
372
-  version "1.11.0"
373
-  resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
372
+  version "1.12.0"
373
+  resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
374 374
   dependencies:
375 375
     es-to-primitive "^1.1.1"
376 376
     function-bind "^1.1.1"
@@ -558,8 +558,8 @@ fast-levenshtein@~2.0.4:
558 558
   resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
559 559
 
560 560
 fbjs@^0.8.16:
561
-  version "0.8.16"
562
-  resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
561
+  version "0.8.17"
562
+  resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
563 563
   dependencies:
564 564
     core-js "^1.0.0"
565 565
     isomorphic-fetch "^2.1.1"
@@ -567,7 +567,7 @@ fbjs@^0.8.16:
567 567
     object-assign "^4.1.0"
568 568
     promise "^7.1.1"
569 569
     setimmediate "^1.0.5"
570
-    ua-parser-js "^0.7.9"
570
+    ua-parser-js "^0.7.18"
571 571
 
572 572
 figures@^2.0.0:
573 573
   version "2.0.0"
@@ -616,7 +616,7 @@ fs.realpath@^1.0.0:
616 616
   version "1.0.0"
617 617
   resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
618 618
 
619
-function-bind@^1.0.2, function-bind@^1.1.1:
619
+function-bind@^1.1.1:
620 620
   version "1.1.1"
621 621
   resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
622 622
 
@@ -669,18 +669,18 @@ has-flag@^3.0.0:
669 669
   resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
670 670
 
671 671
 has@^1.0.1:
672
-  version "1.0.1"
673
-  resolved "https://registry.npmjs.org/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
672
+  version "1.0.3"
673
+  resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
674 674
   dependencies:
675
-    function-bind "^1.0.2"
675
+    function-bind "^1.1.1"
676 676
 
677 677
 hosted-git-info@^2.1.4:
678 678
   version "2.6.0"
679 679
   resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
680 680
 
681 681
 iconv-lite@^0.4.17, iconv-lite@~0.4.13:
682
-  version "0.4.22"
683
-  resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.22.tgz#c6b16b9d05bc6c307dc9303a820412995d2eea95"
682
+  version "0.4.23"
683
+  resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
684 684
   dependencies:
685 685
     safer-buffer ">= 2.1.2 < 3"
686 686
 
@@ -808,8 +808,8 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
808 808
   resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
809 809
 
810 810
 js-yaml@^3.9.1:
811
-  version "3.11.0"
812
-  resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
811
+  version "3.12.0"
812
+  resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
813 813
   dependencies:
814 814
     argparse "^1.0.7"
815 815
     esprima "^4.0.0"
@@ -879,8 +879,8 @@ loose-envify@^1.0.0, loose-envify@^1.3.1:
879 879
     js-tokens "^3.0.0"
880 880
 
881 881
 lru-cache@^4.0.1:
882
-  version "4.1.2"
883
-  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f"
882
+  version "4.1.3"
883
+  resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
884 884
   dependencies:
885 885
     pseudomap "^1.0.2"
886 886
     yallist "^2.1.2"
@@ -973,8 +973,8 @@ os-tmpdir@~1.0.2:
973 973
   resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
974 974
 
975 975
 p-limit@^1.1.0:
976
-  version "1.2.0"
977
-  resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
976
+  version "1.3.0"
977
+  resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
978 978
   dependencies:
979 979
     p-try "^1.0.0"
980 980
 
@@ -1354,7 +1354,7 @@ typedarray@^0.0.6:
1354 1354
   version "0.0.6"
1355 1355
   resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
1356 1356
 
1357
-ua-parser-js@^0.7.9:
1357
+ua-parser-js@^0.7.18:
1358 1358
   version "0.7.18"
1359 1359
   resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"
1360 1360
 
@@ -1378,8 +1378,8 @@ whatwg-fetch@>=0.10.0:
1378 1378
   resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
1379 1379
 
1380 1380
 which@^1.2.9:
1381
-  version "1.3.0"
1382
-  resolved "https://registry.npmjs.org/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
1381
+  version "1.3.1"
1382
+  resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
1383 1383
   dependencies:
1384 1384
     isexe "^2.0.0"
1385 1385