mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
Merge pull request #112 from duzun/master
Updated verup to v1.2.0 and moved its config to package.json
This commit is contained in:
commit
9dacf37e4a
102
build/verup.js
102
build/verup.js
@ -15,27 +15,50 @@
|
||||
*
|
||||
*
|
||||
* @author Dumitru Uzun (DUzun.Me)
|
||||
* @version 1.1.0
|
||||
* @version 1.3.0
|
||||
*/
|
||||
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
|
||||
var _root = path.join(__dirname, '..');
|
||||
var files = [
|
||||
'ua-parser-js.jquery.json',
|
||||
'component.json',
|
||||
'bower.json',
|
||||
'package.js',
|
||||
'src/ua-parser.js'
|
||||
];
|
||||
|
||||
var ver_reg = [
|
||||
/^((?:\$|@|(\s*(?:var|,)?\s+))(?:LIBVERSION|version)[\s\:='"]+)([0-9]+(?:\.[0-9]+){2,2})/
|
||||
/^((?:\$|(\s*\*\s*@)|(\s*(?:var|,)?\s+))version[\s\:='"]+)([0-9]+(?:\.[0-9]+){2,2})/
|
||||
, /^(\s?\*.*v)([0-9]+(?:\.[0-9]+){2,2})/
|
||||
];
|
||||
|
||||
var packFile = path.join(_root, 'package.json');
|
||||
/// 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 ) {
|
||||
@ -43,20 +66,29 @@ if ( !packo ) {
|
||||
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;
|
||||
|
||||
/*
|
||||
* bump should be 1 for revision, 1.0 for minor and 1.0.0 for major version
|
||||
*/
|
||||
var bump = (process.argv[2] || '1').split('.').reverse();
|
||||
|
||||
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})
|
||||
// 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; });
|
||||
|
||||
@ -104,9 +136,39 @@ if ( over ) {
|
||||
}
|
||||
}
|
||||
if ( buf && buf != cnt ) {
|
||||
console.log("\t" + fn.replace(_root, ''));
|
||||
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;
|
||||
}
|
||||
|
13
package.json
13
package.json
@ -46,6 +46,19 @@
|
||||
"test": "jshint src/ua-parser.js && mocha -R nyan test/test.js",
|
||||
"verup": "node ./build/verup.js"
|
||||
},
|
||||
"verup": {
|
||||
"files": [
|
||||
"ua-parser-js.jquery.json",
|
||||
"component.json",
|
||||
"bower.json",
|
||||
"package.js",
|
||||
"src/ua-parser.js"
|
||||
],
|
||||
"regs": [
|
||||
"^((?:\\$|(\\s*\\*\\s*@)|(\\s*(?:var|,)?\\s+))(?:LIBVERSION|version)[\\s\\:='\"]+)([0-9]+(?:\\.[0-9]+){2,2})",
|
||||
"^(\\s?\\*.*v)([0-9]+(?:\\.[0-9]+){2,2})"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"jshint": "~1.1.0",
|
||||
"mocha": "~1.8.0",
|
||||
|
Loading…
x
Reference in New Issue
Block a user