Add support for Bower

This commit is contained in:
Jakob Krigovsky 2014-09-19 18:52:22 +02:00
parent ba93cf5c11
commit e92d47d7ed
2 changed files with 25 additions and 1 deletions

View File

@ -24,7 +24,8 @@
"request": "~2.34.0",
"redis": "~0.10.1",
"camp": "~13.11.9",
"semver": "~2.3.0"
"semver": "~2.3.0",
"bower": "~1.3.11"
},
"devDependencies": {
"ass": "~0.0.6",

View File

@ -1819,6 +1819,29 @@ cache(function(data, match, sendBadge) {
});
}));
// Bower version integration.
camp.route(/^\/bower\/v\/(.*)\.(svg|png|gif|jpg)$/,
cache(function(data, match, sendBadge) {
var repo = match[1]; // eg, `bootstrap`.
var format = match[2];
var badgeData = getBadgeData('bower', data);
var bower = require('bower');
bower.commands.info(repo, 'version')
.on('error', function() {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
})
.on('end', function(version) {
badgeData.text[1] = 'v' + version;
if (version[0] === '0' || /dev/.test(version)) {
badgeData.colorscheme = 'orange';
} else {
badgeData.colorscheme = 'blue';
}
sendBadge(format, badgeData);
});
}));
// Any badge.
camp.route(/^\/(:|badge\/)(([^-]|--)+)-(([^-]|--)+)-(([^-]|--)+)\.(svg|png|gif|jpg)$/,
function(data, match, end, ask) {