From f117f600ba6f655e78f1bd0120fc0850b2863b3c Mon Sep 17 00:00:00 2001 From: Robert Tod Date: Wed, 10 Jun 2015 17:35:16 +0100 Subject: [PATCH 1/3] Reference window as global if available This change will use `window` by default if it exists so that `browserify` and `Webpack` builds do not need to do something like ```javascript var parser = new UAParser(window.navigator.userAgent) ``` https://github.com/faisalman/ua-parser-js/issues/84 --- src/ua-parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index e0c5e7f..ac64380 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -865,4 +865,4 @@ }; } -})(this); +})(typeof window === 'object' ? window : this); From 8d9cd21331ddd2be87262fb72b4aa9847ac052bb Mon Sep 17 00:00:00 2001 From: Demis Palma Date: Thu, 18 Jun 2015 23:32:15 +0100 Subject: [PATCH 2/3] palm os regexp fixed The regexp won't work as expected because the meta-character \o doesn't make sense. Replaced with \s which indicates "whitespace character" --- src/ua-parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index e0c5e7f..0782242 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -684,7 +684,7 @@ ], [[NAME, 'BlackBerry'], VERSION], [ /(blackberry)\w*\/?([\w\.]+)*/i, // Blackberry /(tizen)[\/\s]([\w\.]+)/i, // Tizen - /(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, + /(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, // Android/WebOS/Palm/QNX/Bada/RIM/MeeGo/Contiki /linux;.+(sailfish);/i // Sailfish OS ], [NAME, VERSION], [ From 1b957cad1a359560252517950bfdf4c7e929e132 Mon Sep 17 00:00:00 2001 From: Dumitru Uzun Date: Fri, 19 Jun 2015 01:50:06 +0300 Subject: [PATCH 3/3] verup.js installed over NPM -> devDependencies --- build/verup.js | 174 ------------------------------------------------- package.json | 6 +- 2 files changed, 4 insertions(+), 176 deletions(-) delete mode 100644 build/verup.js diff --git a/build/verup.js b/build/verup.js deleted file mode 100644 index 151f6b9..0000000 --- a/build/verup.js +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/env node -/** - * Increment and update version in all project files. - * - * Ussage: - * - * Increment revision by 1: - * node verup.js 1 - * - * Increment minor version by 1: - * node verup.js 1.0 - * - * Increment major version by 1: - * node verup.js 1.0.0 - * - * - * @author Dumitru Uzun (DUzun.Me) - * @version 1.3.0 - */ - -var path = require('path'); -var fs = require('fs'); - -var ver_reg = [ - /^((?:\$|(\s*\*\s*@)|(\s*(?:var|,)?\s+))version[\s\:='"]+)([0-9]+(?:\.[0-9]+){2,2})/ - , /^(\s?\*.*v)([0-9]+(?:\.[0-9]+){2,2})/ -]; - -/// bump should be 1 for revision, 1.0 for minor and 1.0.0 for major version -var bump = '1'; // bump by - -/// Project name to bump (search it's package.json folder) -var name = ''; - -var _a = 'b'; -process.argv.forEach(function (v, i) { - if ( i < 2 ) return; - if ( v.slice(0,1) == '-' && isNaN(parseFloat(v)) ) { - _a = v.slice(1); - } - else { - switch(_a) { - case 'b': { - bump = v; - } break; - case 'n': { - name = v; - } break; - } - _a = 'b'; - } -}); - -var packFile = findPackage(__dirname, name); - -if ( !packFile ) { - console.log('package.json file not found'); - process.exist(1); -} - -var _root = path.dirname(packFile); -var packo = require(packFile); - -if ( !packo ) { - console.error('Can\'t read package.json file'); - process.exit(1); -} - -var _verup = packo.verup; - -if ( !_verup ) { - console.log('package.json doesn\'t have a `verup` property defined'); - process.exist(1); -} - -var files = _verup.files; - -if ( _verup.regs ) { - ver_reg = _verup.regs.map(function (r) { return new RegExp(r); }); -} - -var over = packo.version; -if ( over ) { - bump = bump.split('.').reverse(); - - var nver = over.split('.').reverse(); - var b, l; - while(bump.length && !(b = parseInt(bump.pop()))); - l = bump.length; - - // console.log({b:b,nver:nver,over:over,l:l,bump:bump}) - nver[l] = +nver[l] + b; - bump.forEach(function (v,i) { nver[i] = v; }); - - nver = nver.reverse().join('.'); - packo.version = nver; - - console.log('Bumping version: ' + over + ' -> ' + nver); - - var buf = JSON.stringify(packo, null, 2); - - if ( buf && over != nver ) { - buf += "\n"; - fs.writeFileSync(packFile, buf); - } - - files.forEach(function (f) { - var fn = path.join(_root, f); - var cnt = fs.readFileSync(fn, 'utf8'); - var ext = path.extname(f); - var buf; - - switch(ext) { - case '.json': { - var packo = JSON.parse(cnt); - packo.version = nver; - buf = JSON.stringify(packo, null, 2); - if ( buf ) { - buf += "\n"; - } - } break; - - default: { - buf = cnt - .split('\n') - .map(function (l) { - for(var i=ver_reg.length; i--;) { - if ( ver_reg[i].test(l) ) { - return l.replace(ver_reg[i], function ($0,$1) { return $1 + nver }) - } - } - return l; - }) - .join("\n") - ; - } - } - if ( buf && buf != cnt ) { - console.log("\t" + fn.replace(_root, '').replace(/^[\\/]+/, '')); - fs.writeFileSync(fn, buf); - } - }); - -} - - -/// Find package.json file in closest folder from `dir` and up. -function findPackage(dir, packageName) { - var d = dir || '.', f; - do { - f = path.join(d, 'package.json'); - if ( fs.existsSync(f) ) { - - var p = require(f); - // Look for a specific project name - if ( packageName ) { - if ( p ) { - if ( p.name == packageName ) { - return f; - } - } - } - // Look for any project except this one (verup) - else { - if ( !p || p.name != 'verup' ) { - return f; - } - } - } - dir = d; - d = path.join(d, '..'); - } while (d != dir && dir.slice(0,2) != '..'); - return false; -} diff --git a/package.json b/package.json index 0d51bae..434b1c6 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "scripts": { "build": "uglifyjs src/ua-parser.js > dist/ua-parser.min.js --comments '/UAParser\\.js/' && uglifyjs src/ua-parser.js > dist/ua-parser.pack.js --comments '/UAParser\\.js/' --compress --mangle", "test": "jshint src/ua-parser.js && mocha -R nyan test/test.js", - "verup": "node ./build/verup.js" + "verup": "node ./node_modules/verup", + "version": "node ./node_modules/verup 0" }, "verup": { "files": [ @@ -62,7 +63,8 @@ "devDependencies": { "jshint": "~1.1.0", "mocha": "~1.8.0", - "uglify-js": "~1.3.4" + "uglify-js": "~1.3.4", + "verup": "^1.3.x" }, "repository": { "type": "git",