Skip to content

Commit 978edf7

Browse files
committed
fix external imports
1 parent e362545 commit 978edf7

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

index.js

+10-6
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,16 @@ module.exports = function(content) {
1919
annotateUrls(tree);
2020

2121
imports.forEach(function(imp) {
22-
if(imp.media.length > 0) {
23-
result.push(JSON.stringify("@media " + imp.media.join("") + "{"));
24-
}
25-
result.push("require(" + JSON.stringify("!" + __filename + "!" + urlToRequire(imp.url)) + ")");
26-
if(imp.media.length > 0) {
27-
result.push(JSON.stringify("}"));
22+
if(/^data:|^(https?:)?\/\//.test(imp.url)) {
23+
result.push(JSON.stringify("@import url(" + imp.url + ")" + imp.media.join("") + ";"));
24+
} else {
25+
if(imp.media.length > 0) {
26+
result.push(JSON.stringify("@media " + imp.media.join("") + "{"));
27+
}
28+
result.push("require(" + JSON.stringify("!" + __filename + "!" + urlToRequire(imp.url)) + ")");
29+
if(imp.media.length > 0) {
30+
result.push(JSON.stringify("}"));
31+
}
2832
}
2933
});
3034
}

test/urlTest.js

+4
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ describe("url", function() {
5050
"require("+JSON.stringify("!"+path.join(__dirname, "..", "index.js")+"!test/css")+")",
5151
"\"}\"",
5252
"\"\\n.class { a: b c d; }\""]);
53+
test("import external", "@import url(http://example.com/style.css);\n@import url(\"//example.com/style.css\");",
54+
["\"@import url(http://example.com/style.css);\"",
55+
"\"@import url(//example.com/style.css);\"",
56+
"\"\\n\""]);
5357
test("background img", ".class { background: green url( \"img.png\" ) xyz }",
5458
["\".class { background: green url( \"+require(\"./img.png\")+\" ) xyz }\""]);
5559
test("background img 2", ".class { background: green url(~img/png ) url(aaa) xyz }",

0 commit comments

Comments
 (0)