Merge pull request #273 from bulbulpaul/fix-license

Fixed license
This commit is contained in:
Faisal Salman 2017-10-31 20:05:01 +07:00 committed by GitHub
commit 9c06febfce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 73 additions and 22 deletions

View File

@ -1,6 +1,6 @@
{
"name": "ua-parser-js",
"version": "0.7.14",
"version": "0.7.17",
"authors": [
"Faisal Salman <fyzlman@gmail.com>"
],

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
Package.describe({
name: 'faisalman:ua-parser-js',
version: '0.7.14',
version: '0.7.17',
summary: 'Lightweight JavaScript-based user-agent string parser',
git: 'https://github.com/faisalman/ua-parser-js.git',
documentation: 'readme.md'

View File

@ -1,7 +1,7 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "0.7.14",
"version": "0.7.17",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [

View File

@ -230,6 +230,18 @@ $ bower install ua-parser-js
$ meteor add faisalman:ua-parser-js
```
## Using CLI
```sh
$ node ua-parser.min.js "Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)"
# multiple args
$ node ua-parser.min.js "Opera/1.2" "Opera/3.4"
# piped args
$ echo "Opera/1.2" | node ua-parser.min.js
# log file
$ cat ua.log | node ua-parser.min.js
```
## Using jQuery/Zepto ($.ua)
Although written in vanilla js (which means it doesn't depends on jQuery), this library will automatically detect if jQuery/Zepto is present and create `$.ua` object based on browser's user-agent (although in case you need, `window.UAParser` constructor is still present). To get/set user-agent you can use: `$.ua.get()` / `$.ua.set(uastring)`.
@ -302,7 +314,7 @@ Do you use & like UAParser.js but you dont find a way to show some love? If y
# License
Dual licensed under GPLv2 & MIT
Dual licensed under GPLv2 or MIT
Copyright © 2012-2016 Faisal Salman <<fyzlman@gmail.com>>

37
src/ua-parser.js Normal file → Executable file
View File

@ -1,5 +1,5 @@
/**
* UAParser.js v0.7.14
* UAParser.js v0.7.17
* Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js
*
@ -16,7 +16,7 @@
/////////////
var LIBVERSION = '0.7.14',
var LIBVERSION = '0.7.17',
EMPTY = '',
UNKNOWN = '?',
FUNC_TYPE = 'function',
@ -292,7 +292,7 @@
/;fbav\/([\w\.]+);/i // Facebook App for iOS & Android
], [VERSION, [NAME, 'Facebook']], [
/(headlesschrome) ([\w\.]+)/i // Chrome Headless
/headlesschrome(?:\/([\w\.]+)|\s)/i // Chrome Headless
], [VERSION, [NAME, 'Chrome Headless']], [
/\swv\).+(chrome)\/([\w\.]+)/i // Chrome WebView
@ -858,7 +858,7 @@
], [NAME, VERSION],[
/cfnetwork\/.+darwin/i,
/ip[honead]+(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i // iOS
/ip[honead]+(?:.*os\s([\w]+)\slike\smac|;\sopera)/i // iOS
], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [
/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,
@ -1006,6 +1006,35 @@
if (typeof module !== UNDEF_TYPE && module.exports) {
exports = module.exports = UAParser;
}
// TODO: test!!!!!!!!
/*
if (require && require.main === module && process) {
// cli
var jsonize = function (arr) {
var res = [];
for (var i in arr) {
res.push(new UAParser(arr[i]).getResult());
}
process.stdout.write(JSON.stringify(res, null, 2) + '\n');
};
if (process.stdin.isTTY) {
// via args
jsonize(process.argv.slice(2));
} else {
// via pipe
var str = '';
process.stdin.on('readable', function() {
var read = process.stdin.read();
if (read !== null) {
str += read;
}
});
process.stdin.on('end', function () {
jsonize(str.replace(/\n$/, '').split('\n'));
});
}
}
*/
exports.UAParser = UAParser;
} else {
// requirejs env (optional)

View File

@ -1,14 +1,4 @@
[
{
"desc" : "Chrome Headless",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36",
"expect" :
{
"name" : "Chrome Headless",
"version" : "HeadlessChrome",
"major" : ""
}
},
{
"desc" : "Android Browser on Galaxy Nexus",
"ua" : "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
@ -149,6 +139,26 @@
"major" : "20"
}
},
{
"desc" : "Chrome Headless",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36",
"expect" :
{
"name" : "Chrome Headless",
"version" : "undefined",
"major" : "undefined"
}
},
{
"desc" : "Chrome Headless",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/60.0.3112.113 Safari/537.36",
"expect" :
{
"name" : "Chrome Headless",
"version" : "60.0.3112.113",
"major" : "60"
}
},
{
"desc" : "Chrome WebView",
"ua" : "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36",