Skip to content
This repository was archived by the owner on Oct 13, 2018. It is now read-only.

Commit 24de0ec

Browse files
committed
feat(reload): never act on incoming sourcemaps -
fixes BrowserSync/gulp-browser-sync#70
1 parent f05fd31 commit 24de0ec

File tree

4 files changed

+58
-3
lines changed

4 files changed

+58
-3
lines changed

dist/index.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,13 @@ var options = {
461461
"link": "href",
462462
"img": "src",
463463
"script": "src"
464-
}
464+
},
465+
blacklist: [
466+
// never allow .map files through
467+
function(incoming) {
468+
return incoming.ext === "map";
469+
}
470+
]
465471
};
466472

467473
var hiddenElem;
@@ -746,6 +752,10 @@ sync.reload = function (bs) {
746752

747753
if (data.basename && data.ext) {
748754

755+
if (sync.isBlacklisted(data)) {
756+
return;
757+
}
758+
749759
var domData = sync.getElems(data.ext);
750760
var elems = sync.getMatches(domData.elems, data.basename, domData.attr);
751761

@@ -778,6 +788,16 @@ sync.getAttr = function (tagName) {
778788
return options.attrs[tagName];
779789
};
780790

791+
/**
792+
* @param incoming
793+
* @returns {boolean}
794+
*/
795+
sync.isBlacklisted = function (incoming) {
796+
return options.blacklist.some(function(fn) {
797+
return fn(incoming);
798+
});
799+
};
800+
781801
/**
782802
* @param elems
783803
* @param url

dist/index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/code-sync.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ var options = {
1919
"link": "href",
2020
"img": "src",
2121
"script": "src"
22-
}
22+
},
23+
blacklist: [
24+
// never allow .map files through
25+
function(incoming) {
26+
return incoming.ext === "map";
27+
}
28+
]
2329
};
2430

2531
var hiddenElem;
@@ -304,6 +310,10 @@ sync.reload = function (bs) {
304310

305311
if (data.basename && data.ext) {
306312

313+
if (sync.isBlacklisted(data)) {
314+
return;
315+
}
316+
307317
var domData = sync.getElems(data.ext);
308318
var elems = sync.getMatches(domData.elems, data.basename, domData.attr);
309319

@@ -336,6 +346,16 @@ sync.getAttr = function (tagName) {
336346
return options.attrs[tagName];
337347
};
338348

349+
/**
350+
* @param incoming
351+
* @returns {boolean}
352+
*/
353+
sync.isBlacklisted = function (incoming) {
354+
return options.blacklist.some(function(fn) {
355+
return fn(incoming);
356+
});
357+
};
358+
339359
/**
340360
* @param elems
341361
* @param url

test/client-new/code-sync.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,21 @@ describe("Code Sync", function () {
7070
matchesStub.restore();
7171
elemsStub.restore();
7272
});
73+
it("ignores an event if blacklisted", function() {
74+
var reload = codeSync.reload(bs);
75+
var dataStub = {
76+
path: "css/styles/styles.css.map",
77+
basename: "styles.css.map",
78+
ext: "map",
79+
type: "reload",
80+
log: true
81+
};
82+
var elemsStub = sinon.stub(codeSync, "getElems");
83+
var actual = reload(dataStub);
84+
elemsStub.restore();
85+
assert.equal(actual, undefined);
86+
assert.equal(elemsStub.called, false);
87+
});
7388
it("swaps url when css file has existing params", function () {
7489
var matches = [
7590
{

0 commit comments

Comments
 (0)