changing build flow

This commit is contained in:
Faisal Salman 2015-05-07 04:00:46 +07:00
parent 1fa7137f1f
commit 3abf465aec
4 changed files with 31 additions and 58 deletions

View File

@ -1,37 +0,0 @@
#!/bin/bash
# dependencies
JSHINT_DIR="node_modules/jshint/bin/jshint"
MOCHA_DIR="node_modules/mocha/bin/mocha"
UGLIFY_DIR="node_modules/uglify-js/bin/uglifyjs"
# check module directory & install if not found
function check_module {
if ! type $2 &> /dev/null
then
echo "$2 is not found"
if ! type "npm" &> /dev/null
then
echo "npm is not installed"
echo "Exiting"
exit 1
else
echo "Installing $1..."
npm install $1
fi
fi
}
check_module "jshint" $JSHINT_DIR
check_module "mocha" $MOCHA_DIR
check_module "uglify-js" $UGLIFY_DIR
echo "Verifiying code..."
$JSHINT_DIR src/ua-parser.js
echo "Running test..."
$MOCHA_DIR -R nyan test/test.js
echo "Minifying script..."
$UGLIFY_DIR src/ua-parser.js > dist/ua-parser.min.js --comments '/UAParser\.js/'
echo "OK"

9
dist/ua-parser.pack.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -42,7 +42,8 @@
], ],
"main": "src/ua-parser.js", "main": "src/ua-parser.js",
"scripts": { "scripts": {
"test": "./build/build.sh", "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 ./build/verup.js"
}, },
"devDependencies": { "devDependencies": {

View File

@ -1,6 +1,6 @@
# UAParser.js # UAParser.js
Lightweight JavaScript-based User-Agent string parser. Supports browser & node.js environment. Also available as jQuery/Zepto plugin, Component package, Bower package, Meteor package, & AMD module Lightweight JavaScript-based User-Agent string parser. Supports browser & node.js environment. Also available as jQuery/Zepto plugin, Component/Bower/Meteor package, & RequireJS/AMD module
[![Build Status](https://travis-ci.org/faisalman/ua-parser-js.svg?branch=master)](https://travis-ci.org/faisalman/ua-parser-js) [![Build Status](https://travis-ci.org/faisalman/ua-parser-js.svg?branch=master)](https://travis-ci.org/faisalman/ua-parser-js)
@ -30,7 +30,7 @@ Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/T
Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox, Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, SlimBrowser, Swiftfox,
Tizen, UCBrowser, Vivaldi, w3m, Yandex Tizen, UCBrowser, Vivaldi, w3m, Yandex
# 'browser.version' & 'browser.major' determined dynamically # 'browser.version' determined dynamically
``` ```
* `getDevice()` * `getDevice()`
@ -112,8 +112,7 @@ ppc, sparc, sparc64
ua: "", ua: "",
browser: { browser: {
name: "", name: "",
version: "", version: ""
major: ""
}, },
engine: { engine: {
name: "", name: "",
@ -142,7 +141,7 @@ ppc, sparc, sparc64
// this will also produce the same result (without instantiation): // this will also produce the same result (without instantiation):
// var result = UAParser(uastring); // var result = UAParser(uastring);
console.log(result.browser); // {name: "Chromium", major: "15", version: "15.0.874.106"} console.log(result.browser); // {name: "Chromium", version: "15.0.874.106"}
console.log(result.device); // {model: undefined, type: undefined, vendor: undefined} console.log(result.device); // {model: undefined, type: undefined, vendor: undefined}
console.log(result.os); // {name: "Ubuntu", version: "11.10"} console.log(result.os); // {name: "Ubuntu", version: "11.10"}
console.log(result.os.version); // "11.10" console.log(result.os.version); // "11.10"
@ -167,20 +166,6 @@ ppc, sparc, sparc64
</html> </html>
``` ```
### Extending regex patterns
* `UAParser(uastring[, extensions])`
Pass your own regexes to extend the limited matching rules.
```js
// Example:
var uaString = 'ownbrowser/1.3';
var ownBrowser = [[/(ownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
var parser = new UAParser(uaString, {browser: ownBrowser});
console.log(parser.getBrowser()); // {name: "ownbrowser", major: "1", version: "1.3"}
```
### Using node.js ### Using node.js
```sh ```sh
@ -250,12 +235,27 @@ console.log($.ua.device); // {vendor: "Motorola", model: "Xoom", type:
console.log(parseInt($.ua.browser.version.split('.')[0], 10)); // 4 console.log(parseInt($.ua.browser.version.split('.')[0], 10)); // 4
``` ```
### Extending regex patterns
* `UAParser(uastring[, extensions])`
Pass your own regexes to extend the limited matching rules.
```js
// Example:
var uaString = 'ownbrowser/1.3';
var ownBrowser = [[/(ownbrowser)\/((\d+)?[\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION, UAParser.BROWSER.MAJOR]];
var parser = new UAParser(uaString, {browser: ownBrowser});
console.log(parser.getBrowser()); // {name: "ownbrowser", major: "1", version: "1.3"}
```
## Development ## Development
Verify, test, & minify script Verify, test, & minify script
```sh ```sh
$ npm test $ npm run test
$ npm run build
``` ```
Then submit a pull request to https://github.com/faisalman/ua-parser-js under `develop` branch. Then submit a pull request to https://github.com/faisalman/ua-parser-js under `develop` branch.