@braintree/browser-detection
Advanced tools
Comparing version 1.11.1 to 1.12.0
# Browser Detection - Release Notes | ||
# 1.12.0 (2021-06-08) | ||
- Add `is-duckduckgo` method | ||
- Add `is-ios-google-search-app` method | ||
- Add `is-opera` method | ||
- Add `is-silk` method | ||
- Fix issue where `is-chrome` would incorrectly report `true` for DuckDuckGo and Silk browsers | ||
- Fix issue where `supports-popups` would incorrectly report `false` for DuckDuckGo | ||
# 1.11.1 (2021-04-07) | ||
@@ -4,0 +13,0 @@ |
import isAndroid = require("./is-android"); | ||
import isChromeOS = require("./is-chrome-os"); | ||
import isChrome = require("./is-chrome"); | ||
import isDuckDuckGo = require("./is-duckduckgo"); | ||
import isIe = require("./is-ie"); | ||
@@ -12,2 +13,3 @@ import isIe9 = require("./is-ie9"); | ||
import isIosFirefox = require("./is-ios-firefox"); | ||
import isIosGoogleSearchApp = require("./is-ios-google-search-app"); | ||
import isIosSafari = require("./is-ios-safari"); | ||
@@ -18,6 +20,8 @@ import isIosUIWebview = require("./is-ios-uiwebview"); | ||
import isMobileFirefox = require("./is-mobile-firefox"); | ||
import isOpera = require("./is-opera"); | ||
import isSamsungBrowser = require("./is-samsung"); | ||
import isSilk = require("./is-silk"); | ||
import hasSoftwareKeyboard = require("./has-software-keyboard"); | ||
import supportsPopups = require("./supports-popups"); | ||
import supportsPaymentRequestApi = require("./supports-payment-request-api"); | ||
export { isAndroid, isChromeOS, isChrome, isIe, isIe9, isIe10, isIe11, isEdge, isFirefox, isIos, isIosFirefox, isIosSafari, isIosUIWebview, isIosWebview, isIosWKWebview, isMobileFirefox, isSamsungBrowser, hasSoftwareKeyboard, supportsPopups, supportsPaymentRequestApi, }; | ||
export { isAndroid, isChromeOS, isChrome, isDuckDuckGo, isIe, isIe9, isIe10, isIe11, isEdge, isFirefox, isIos, isIosFirefox, isIosGoogleSearchApp, isIosSafari, isIosUIWebview, isIosWebview, isIosWKWebview, isMobileFirefox, isOpera, isSamsungBrowser, isSilk, hasSoftwareKeyboard, supportsPopups, supportsPaymentRequestApi, }; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.supportsPaymentRequestApi = exports.supportsPopups = exports.hasSoftwareKeyboard = exports.isSamsungBrowser = exports.isMobileFirefox = exports.isIosWKWebview = exports.isIosWebview = exports.isIosUIWebview = exports.isIosSafari = exports.isIosFirefox = exports.isIos = exports.isFirefox = exports.isEdge = exports.isIe11 = exports.isIe10 = exports.isIe9 = exports.isIe = exports.isChrome = exports.isChromeOS = exports.isAndroid = void 0; | ||
exports.supportsPaymentRequestApi = exports.supportsPopups = exports.hasSoftwareKeyboard = exports.isSilk = exports.isSamsungBrowser = exports.isOpera = exports.isMobileFirefox = exports.isIosWKWebview = exports.isIosWebview = exports.isIosUIWebview = exports.isIosSafari = exports.isIosGoogleSearchApp = exports.isIosFirefox = exports.isIos = exports.isFirefox = exports.isEdge = exports.isIe11 = exports.isIe10 = exports.isIe9 = exports.isIe = exports.isDuckDuckGo = exports.isChrome = exports.isChromeOS = exports.isAndroid = void 0; | ||
var isAndroid = require("./is-android"); | ||
@@ -10,2 +10,4 @@ exports.isAndroid = isAndroid; | ||
exports.isChrome = isChrome; | ||
var isDuckDuckGo = require("./is-duckduckgo"); | ||
exports.isDuckDuckGo = isDuckDuckGo; | ||
var isIe = require("./is-ie"); | ||
@@ -27,2 +29,4 @@ exports.isIe = isIe; | ||
exports.isIosFirefox = isIosFirefox; | ||
var isIosGoogleSearchApp = require("./is-ios-google-search-app"); | ||
exports.isIosGoogleSearchApp = isIosGoogleSearchApp; | ||
var isIosSafari = require("./is-ios-safari"); | ||
@@ -38,4 +42,8 @@ exports.isIosSafari = isIosSafari; | ||
exports.isMobileFirefox = isMobileFirefox; | ||
var isOpera = require("./is-opera"); | ||
exports.isOpera = isOpera; | ||
var isSamsungBrowser = require("./is-samsung"); | ||
exports.isSamsungBrowser = isSamsungBrowser; | ||
var isSilk = require("./is-silk"); | ||
exports.isSilk = isSilk; | ||
var hasSoftwareKeyboard = require("./has-software-keyboard"); | ||
@@ -42,0 +50,0 @@ exports.hasSoftwareKeyboard = hasSoftwareKeyboard; |
"use strict"; | ||
var isEdge = require("./is-edge"); | ||
var isSamsung = require("./is-samsung"); | ||
var isDuckDuckGo = require("./is-duckduckgo"); | ||
var isOpera = require("./is-opera"); | ||
var isSilk = require("./is-silk"); | ||
module.exports = function isChrome(ua) { | ||
@@ -8,3 +11,6 @@ ua = ua || window.navigator.userAgent; | ||
!isEdge(ua) && | ||
!isSamsung(ua)); | ||
!isSamsung(ua) && | ||
!isDuckDuckGo(ua) && | ||
!isOpera(ua) && | ||
!isSilk(ua)); | ||
}; |
"use strict"; | ||
var isIos = require("./is-ios"); | ||
// The Google Search iOS app is technically a webview and doesn't support popups. | ||
function isGoogleSearchApp(ua) { | ||
return /\bGSA\b/.test(ua); | ||
} | ||
var isIosGoogleSearchApp = require("./is-ios-google-search-app"); | ||
module.exports = function isIosWebview(ua) { | ||
ua = ua || window.navigator.userAgent; | ||
if (isIos(ua)) { | ||
if (isGoogleSearchApp(ua)) { | ||
// The Google Search iOS app is technically a webview and doesn't support popups. | ||
if (isIosGoogleSearchApp(ua)) { | ||
return true; | ||
@@ -12,0 +10,0 @@ } |
@@ -8,2 +8,3 @@ "use strict"; | ||
var isSamsungBrowser = require("./is-samsung"); | ||
var isDuckDuckGo = require("./is-duckduckgo"); | ||
function isUnsupportedIosChrome(ua) { | ||
@@ -26,3 +27,3 @@ ua = ua || window.navigator.userAgent; | ||
if (isAndroid(ua)) { | ||
return androidWebviewRegExp.test(ua) && !isOperaMini(ua); | ||
return (androidWebviewRegExp.test(ua) && !isOperaMini(ua) && !isDuckDuckGo(ua)); | ||
} | ||
@@ -29,0 +30,0 @@ return false; |
{ | ||
"name": "@braintree/browser-detection", | ||
"version": "1.11.1", | ||
"version": "1.12.0", | ||
"description": "A small lib to detect browser compatibility for braintree products", | ||
@@ -13,10 +13,10 @@ "main": "dist/browser-detection.js", | ||
"devDependencies": { | ||
"@types/jest": "^26.0.19", | ||
"@types/node": "^14.14.20", | ||
"eslint": "^7.17.0", | ||
"@types/jest": "^26.0.23", | ||
"@types/node": "^15.6.1", | ||
"eslint": "^7.27.0", | ||
"eslint-config-braintree": "^5.0.0-typescript-prep-rc.18", | ||
"jest": "^26.6.3", | ||
"prettier": "^2.2.1", | ||
"ts-jest": "^26.4.4", | ||
"typescript": "^4.1.3" | ||
"jest": "^27.0.3", | ||
"prettier": "^2.3.0", | ||
"ts-jest": "^27.0.2", | ||
"typescript": "^4.3.2" | ||
}, | ||
@@ -45,2 +45,3 @@ "scripts": { | ||
"jest": { | ||
"testEnvironment": "jsdom", | ||
"preset": "ts-jest", | ||
@@ -47,0 +48,0 @@ "restoreMocks": true, |
@@ -13,2 +13,3 @@ # Browser Detection | ||
browserDetection.isChrome(); | ||
browserDetection.isDuckDuckGo(); | ||
browserDetection.isEdge(); | ||
@@ -22,2 +23,3 @@ browserDetection.isFirefox(); | ||
browserDetection.isIosFirefox(); | ||
browserDetection.isIosGoogleSearchApp(); | ||
browserDetection.isIosSafari(); | ||
@@ -28,3 +30,5 @@ browserDetection.isIosWebview(); | ||
browserDetection.isMobileFirefox(); | ||
browserDetection.isOpera(); | ||
browserDetection.isSamsungBrowser(); | ||
browserDetection.isSilk(); | ||
browserDetection.hasSoftwareKeyboard(); | ||
@@ -41,2 +45,3 @@ browserDetection.supportsPaymentRequestApi(); | ||
const isChrome = require("browser-detection/is-chrome"); | ||
const isDuckDuckGo = require("browser-detection/is-duckduckgo"); | ||
const isEdge = require("browser-detection/is-edge"); | ||
@@ -50,2 +55,3 @@ const isFirefox = require("browser-detection/is-firefox"); | ||
const isIosFirefox = require("browser-detection/is-ios-firefox"); | ||
const isIosGoogleSearchApp = require("browser-detection/is-ios-google-search-app"); | ||
const isIosSafari = require("browser-detection/is-ios-safari"); | ||
@@ -56,3 +62,5 @@ const isIosWebview = require("browser-detection/is-ios-webview"); | ||
const isMobileFirefox = require("browser-detection/is-mobile-firefox"); | ||
const isOpera = require("browser-detection/is-opera"); | ||
const isSamsungBrowser = require("browser-detection/is-samsung"); | ||
const isSilk = require("browser-detection/is-silk"); | ||
const hasSoftwareKeyboard = require("browser-detection/has-software-keyboard"); | ||
@@ -59,0 +67,0 @@ const suportsPaymentRequestApi = require("browser-detection/supports-payment-request-api"); |
20972
78
372
70