Socket
Socket
Sign inDemoInstall

is-mobile

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

is-mobile - npm Package Compare versions

Comparing version 2.2.2 to 3.0.0

0

index.d.ts

@@ -0,0 +0,0 @@ interface HttpRequestHeadersInterfaceMock {

8

index.js

@@ -7,9 +7,9 @@ 'use strict'

var mobileRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i
const mobileRE = /(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i
var tabletRE = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i
const tabletRE = /android|ipad|playbook|silk/i
function isMobile (opts) {
if (!opts) opts = {}
var ua = opts.ua
let ua = opts.ua
if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent

@@ -21,3 +21,3 @@ if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') {

var result = opts.tablet ? tabletRE.test(ua) : mobileRE.test(ua)
let result = mobileRE.test(ua) || (!!opts.tablet && tabletRE.test(ua))

@@ -24,0 +24,0 @@ if (

{
"name": "is-mobile",
"description": "Check if mobile browser.",
"version": "2.2.2",
"version": "3.0.0",
"repository": {

@@ -14,10 +14,12 @@ "type": "git",

"release": "np",
"test": "prettier-standard '**/*.js' && standard && tape test.js"
"test": "prettier-standard '**/*.js' && standard && npm run test:unit",
"test:unit": "tape test.js"
},
"dependencies": {},
"devDependencies": {
"np": "^6.1.0",
"prettier-standard": "^8.0.1",
"standard": "^12.0.1",
"tape": "~1.0.4"
"np": "^7.4.0",
"prettier-standard": "^16.4.1",
"standard": "^16.0.3",
"tape": "~5.2.2",
"tape-describe": "^1.0.3",
"user-agents": "^1.0.581"
},

@@ -24,0 +26,0 @@ "keywords": [

@@ -30,3 +30,3 @@

`opts.ua` can also be an instance of a [node.js http request](http://nodejs.org/api/http.html#http_http_incomingmessage), in which
case it will reader the user agent header.
case it will read the user agent header.

@@ -40,3 +40,3 @@ Example:

var server = http.createServer(function (req, res) {
res.end(mobile(req));
res.end(mobile({ ua: req }));
});

@@ -43,0 +43,0 @@

@@ -1,14 +0,16 @@

var test = require('tape')
var isMobile = require('./')
const test = require('tape')
const describe = require('tape-describe')
const UserAgent = require('user-agents')
const isMobile = require('./')
var iphone =
const iphone =
'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3'
var chrome =
const chrome =
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36'
var ffos = 'Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0'
var ipad =
const ffos = 'Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0'
const ipad =
'Mozilla/5.0 (iPad; CPU OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1'
var ios13ipad =
const ios13ipad =
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'
var ios13ipadpro =
const ios13ipadpro =
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15'

@@ -48,1 +50,28 @@

})
describe('ua-bruteforce', function () {
const limit = 300
const checks = {
mobile: { result: true },
tablet: { result: true, tablet: true },
desktop: { result: false }
}
const testCases = Object.entries(checks).reduce(
(cases, [deviceCategory, { result, tablet }]) => [
...cases,
...new Array(limit).fill().map(() => ({
ua: new UserAgent({ deviceCategory }).toString(),
result,
tablet
}))
],
[]
)
testCases.forEach(({ ua, result, tablet }) => {
test(ua, t => {
t.equal(isMobile({ ua, tablet }), result)
t.end()
})
})
})

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc