Skip to content

Commit b67bff0

Browse files
author
Mike North
committed
Bower fixes
1 parent c9c50c1 commit b67bff0

2 files changed

Lines changed: 28 additions & 11 deletions

File tree

extension/content.js

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
'use strict';
99

1010
var serviceUrls = {
11-
npm: 'https://www.npmjs.org/package/'
11+
npm: 'https://www.npmjs.org/package/',
12+
bower: 'https://bower.herokuapp.com/packages/search/'
1213
};
1314

1415
start ();
@@ -18,8 +19,12 @@
1819
function run() {
1920
if (!$(document.body).hasClass('boxcutter-processed')) {
2021
switch(getManifestType()) {
21-
case 'js':
22-
enhanceJSModules();
22+
case 'npm':
23+
enhanceJSModules('npm');
24+
$(document.body).addClass('boxcutter-processed');
25+
return;
26+
case 'bower':
27+
enhanceJSModules('bower');
2328
$(document.body).addClass('boxcutter-processed');
2429
return;
2530
case 'rb':
@@ -57,8 +62,9 @@
5762
var fileName = $('.final-path').text();
5863
switch(fileName) {
5964
case 'package.json':
65+
return 'npm';
6066
case 'bower.json':
61-
return 'js';
67+
return 'bower';
6268
case 'Gemfile':
6369
return 'rb';
6470
default:
@@ -101,13 +107,23 @@
101107

102108
function handleJSClick(jqevt) {
103109
var $target = $(jqevt.target);
104-
var npmUrl = serviceUrls.npm + $target.data('pkg-name');
105-
$.ajax("https://registry.npmjs.org/" + $target.data('pkg-name')).then(function(data) {
106-
window.open(data.homepage);
107-
});
110+
switch($target.data('pkg-type')) {
111+
case 'npm':
112+
var npmUrl = serviceUrls.npm + $target.data('pkg-name');
113+
$.ajax(npmUrl).then(function(data) {
114+
window.open(data.homepage);
115+
});
116+
break;
117+
case 'bower':
118+
var bowerUrl = serviceUrls.bower + $target.data('pkg-name');
119+
$.ajax(bowerUrl).then(function(data) {
120+
window.open(data[0].url.replace("git://", "https://"));
121+
});
122+
break;
123+
}
108124
}
109125

110-
function enhanceJSModules() {
126+
function enhanceJSModules(moduleType) {
111127
var json = JSON.parse($('.js-file-line-container tbody').text());
112128

113129
function enhanceLinkSection (section) {
@@ -123,7 +139,7 @@
123139
var quot = $quot.innerText;
124140

125141
var $ver = $line.find(".pl-s:contains(''" + pkgVersion + "''), .pl-s:contains('\"" + pkgVersion + "\"')");
126-
var $lnk = $('<a data-pkg-name="' + pkgName + '" data-pkg-ver="' + pkgVersion + '"></a>');
142+
var $lnk = $('<a data-pkg-type="' + moduleType + '" data-pkg-name="' + pkgName + '" data-pkg-ver="' + pkgVersion + '"></a>');
127143
$lnk.click(handleJSClick);
128144
$lnk[0].innerHTML = '<span class="pl-pds">' + quot + '</span>' + pkgName + '<span class="pl-pds">' + quot + '</span>';
129145
$pkg[0].innerHTML = '';

extension/manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"manifest_version": 2,
66
"permissions": [
77
"https://registry.npmjs.org/*",
8-
"https://rubygems.org/*"
8+
"https://rubygems.org/*",
9+
"https://bower.herokuapp.com/*"
910
],
1011
"content_scripts": [
1112
{

0 commit comments

Comments
 (0)