mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-28 00:18:45 +03:00
Add eslint to devDependencies to support latest ES version
This commit is contained in:
parent
1522691426
commit
807dcdbded
13
.eslintrc.json
Normal file
13
.eslintrc.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"commonjs": true,
|
||||||
|
"es2021": true,
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": "latest"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
}
|
||||||
|
}
|
2
dist/ua-parser.min.js
vendored
2
dist/ua-parser.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/ua-parser.pack.js
vendored
2
dist/ua-parser.pack.js
vendored
File diff suppressed because one or more lines are too long
857
package-lock.json
generated
857
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -171,7 +171,8 @@
|
|||||||
"build": "./script/build-dist.sh && ./script/build-module.js",
|
"build": "./script/build-dist.sh && ./script/build-module.js",
|
||||||
"fuzz": "jazzer ./test/jazzer-fuzz-test.js --sync",
|
"fuzz": "jazzer ./test/jazzer-fuzz-test.js --sync",
|
||||||
"test": "./script/test-all.sh",
|
"test": "./script/test-all.sh",
|
||||||
"test:jshint": "jshint src && jshint script",
|
"test:eslint": "eslint src && eslint script",
|
||||||
|
"test:jshint": "jshint src/main",
|
||||||
"test:lockfile-lint": "npx lockfile-lint -p package-lock.json",
|
"test:lockfile-lint": "npx lockfile-lint -p package-lock.json",
|
||||||
"test:mocha": "mocha -R list test/mocha*js",
|
"test:mocha": "mocha -R list test/mocha*js",
|
||||||
"test:playwright": "playwright test"
|
"test:playwright": "playwright test"
|
||||||
@ -181,6 +182,7 @@
|
|||||||
"@babel/traverse": "7.15.4",
|
"@babel/traverse": "7.15.4",
|
||||||
"@jazzer.js/core": "^1.4.0",
|
"@jazzer.js/core": "^1.4.0",
|
||||||
"@playwright/test": "~1.32.2",
|
"@playwright/test": "~1.32.2",
|
||||||
|
"eslint": "^8.48.0",
|
||||||
"jshint": "~2.13.6",
|
"jshint": "~2.13.6",
|
||||||
"mocha": "~8.2.0",
|
"mocha": "~8.2.0",
|
||||||
"requirejs": "2.3.2",
|
"requirejs": "2.3.2",
|
||||||
|
@ -9,6 +9,7 @@ echo '
|
|||||||
- lint js code
|
- lint js code
|
||||||
'
|
'
|
||||||
npm run test:jshint || exit 1
|
npm run test:jshint || exit 1
|
||||||
|
npm run test:eslint || exit 1
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
- test using mocha
|
- test using mocha
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Generated ESM version of UAParser.js enums
|
// Generated ESM version of ua-parser-js/enums
|
||||||
// DO NOT EDIT THIS FILE!
|
// DO NOT EDIT THIS FILE!
|
||||||
// Source: /src/enums/ua-parser-enums.js
|
// Source: /src/enums/ua-parser-enums.js
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Generated ESM version of UAParser.js extensions
|
// Generated ESM version of ua-parser-js/extensions
|
||||||
// DO NOT EDIT THIS FILE!
|
// DO NOT EDIT THIS FILE!
|
||||||
// Source: /src/extensions/ua-parser-extensions.js
|
// Source: /src/extensions/ua-parser-extensions.js
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
||||||
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
||||||
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
||||||
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, BITNESS],
|
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTOR, BITNESS],
|
||||||
UA_BROWSER = 'browser',
|
UA_BROWSER = 'browser',
|
||||||
UA_CPU = 'cpu',
|
UA_CPU = 'cpu',
|
||||||
UA_DEVICE = 'device',
|
UA_DEVICE = 'device',
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Generated ESM version of UAParser.js
|
// Generated ESM version of ua-parser-js
|
||||||
// DO NOT EDIT THIS FILE!
|
// DO NOT EDIT THIS FILE!
|
||||||
// Source: /src/main/ua-parser.js
|
// Source: /src/main/ua-parser.js
|
||||||
|
|
||||||
@ -45,6 +45,7 @@
|
|||||||
USER_AGENT = 'user-agent',
|
USER_AGENT = 'user-agent',
|
||||||
UA_MAX_LENGTH = 350,
|
UA_MAX_LENGTH = 350,
|
||||||
BRANDS = 'brands',
|
BRANDS = 'brands',
|
||||||
|
FORMFACTOR = 'formFactor',
|
||||||
FULLVERLIST = 'fullVersionList',
|
FULLVERLIST = 'fullVersionList',
|
||||||
PLATFORM = 'platform',
|
PLATFORM = 'platform',
|
||||||
PLATFORMVER = 'platformVersion',
|
PLATFORMVER = 'platformVersion',
|
||||||
@ -53,11 +54,12 @@
|
|||||||
CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',
|
CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',
|
||||||
CH_HEADER_ARCH = CH_HEADER + '-arch',
|
CH_HEADER_ARCH = CH_HEADER + '-arch',
|
||||||
CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,
|
CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,
|
||||||
|
CH_HEADER_FORM_FACTOR = CH_HEADER + '-form-factor',
|
||||||
CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,
|
CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,
|
||||||
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,
|
||||||
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,
|
||||||
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
|
||||||
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, BITNESS],
|
CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTOR, BITNESS],
|
||||||
UA_BROWSER = 'browser',
|
UA_BROWSER = 'browser',
|
||||||
UA_CPU = 'cpu',
|
UA_CPU = 'cpu',
|
||||||
UA_DEVICE = 'device',
|
UA_DEVICE = 'device',
|
||||||
@ -258,6 +260,15 @@
|
|||||||
'8.1' : 'NT 6.3',
|
'8.1' : 'NT 6.3',
|
||||||
'10' : ['NT 6.4', 'NT 10.0'],
|
'10' : ['NT 6.4', 'NT 10.0'],
|
||||||
'RT' : 'ARM'
|
'RT' : 'ARM'
|
||||||
|
},
|
||||||
|
|
||||||
|
formFactorMap = {
|
||||||
|
'embedded' : 'Automotive',
|
||||||
|
'mobile' : 'Mobile',
|
||||||
|
'tablet' : 'Tablet',
|
||||||
|
'smarttv' : 'TV',
|
||||||
|
'wearable' : ['VR', 'XR'],
|
||||||
|
'?' : 'Unknown'
|
||||||
};
|
};
|
||||||
|
|
||||||
//////////////
|
//////////////
|
||||||
@ -932,6 +943,7 @@
|
|||||||
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
|
[PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],
|
||||||
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
|
[PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],
|
||||||
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
|
[ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],
|
||||||
|
[FORMFACTOR, stripQuotes(uach[CH_HEADER_FORM_FACTOR])],
|
||||||
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
|
[BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
@ -1046,6 +1058,9 @@
|
|||||||
if (uaCH[MODEL]) {
|
if (uaCH[MODEL]) {
|
||||||
this.set(MODEL, uaCH[MODEL]);
|
this.set(MODEL, uaCH[MODEL]);
|
||||||
}
|
}
|
||||||
|
if (uaCH[FORMFACTOR]) {
|
||||||
|
this.set(TYPE, strMapper(uaCH[FORMFACTOR], formFactorMap));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case UA_OS:
|
case UA_OS:
|
||||||
var osName = uaCH[PLATFORM];
|
var osName = uaCH[PLATFORM];
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
/*jshint esversion: 11 */
|
/*jshint esversion: 11 */
|
||||||
|
|
||||||
const { UACHParser } = require('@ua-parser-js/client-hints-helpers');
|
const { UAClientHints } = require('@ua-parser-js/ua-client-hints');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
# Reference:
|
# Reference:
|
||||||
@ -43,7 +43,7 @@ const unfreezeUA = async (ua, ch) => {
|
|||||||
if (!ua['user-agent']) {
|
if (!ua['user-agent']) {
|
||||||
throw new Error('User-Agent header not found');
|
throw new Error('User-Agent header not found');
|
||||||
}
|
}
|
||||||
ch = UACHParser(ua);
|
ch = new UAClientHints().setUAData(ua).getUAData();
|
||||||
ua = ua['user-agent'];
|
ua = ua['user-agent'];
|
||||||
} else {
|
} else {
|
||||||
ua = ua || navigator.userAgent;
|
ua = ua || navigator.userAgent;
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
/*jshint esversion: 11 */
|
/*jshint esversion: 11 */
|
||||||
|
|
||||||
import { UACHParser } from '@ua-parser-js/client-hints-helpers';
|
import { UAClientHints } from '@ua-parser-js/ua-client-hints';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
# Reference:
|
# Reference:
|
||||||
@ -47,7 +47,7 @@ const unfreezeUA = async (ua, ch) => {
|
|||||||
if (!ua['user-agent']) {
|
if (!ua['user-agent']) {
|
||||||
throw new Error('User-Agent header not found');
|
throw new Error('User-Agent header not found');
|
||||||
}
|
}
|
||||||
ch = UACHParser(ua);
|
ch = new UAClientHints().setUAData(ua).getUAData();
|
||||||
ua = ua['user-agent'];
|
ua = ua['user-agent'];
|
||||||
} else {
|
} else {
|
||||||
ua = ua || navigator.userAgent;
|
ua = ua || navigator.userAgent;
|
||||||
|
@ -345,12 +345,12 @@ describe('Map UA-CH headers', function () {
|
|||||||
const headers = {
|
const headers = {
|
||||||
'sec-ch-ua' : '"Chromium";v="93", "Google Chrome";v="93", " Not;A Brand";v="99"',
|
'sec-ch-ua' : '"Chromium";v="93", "Google Chrome";v="93", " Not;A Brand";v="99"',
|
||||||
'sec-ch-ua-full-version-list' : '"Chromium";v="93.0.1.2", "Google Chrome";v="93.0.1.2", " Not;A Brand";v="99.0.1.2"',
|
'sec-ch-ua-full-version-list' : '"Chromium";v="93.0.1.2", "Google Chrome";v="93.0.1.2", " Not;A Brand";v="99.0.1.2"',
|
||||||
'sec-ch-ua-arch' : 'ARM',
|
'sec-ch-ua-arch' : '"arm"',
|
||||||
'sec-ch-ua-bitness' : '64',
|
'sec-ch-ua-bitness' : '"64"',
|
||||||
'sec-ch-ua-mobile' : '?1',
|
'sec-ch-ua-mobile' : '?1',
|
||||||
'sec-ch-ua-model' : 'Pixel 99',
|
'sec-ch-ua-model' : '"Pixel 99"',
|
||||||
'sec-ch-ua-platform' : 'Windows',
|
'sec-ch-ua-platform' : '"Windows"',
|
||||||
'sec-ch-ua-platform-version' : '13',
|
'sec-ch-ua-platform-version' : '"13"',
|
||||||
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
|
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user