Skip to content

Commit 5651d70

Browse files
committed
fixed missing tests and import handling for #183
1 parent 7ac0fff commit 5651d70

File tree

3 files changed

+24
-21
lines changed

3 files changed

+24
-21
lines changed

lib/loader.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ module.exports = function(content, map) {
6464
"[" + JSON.stringify(importItem.export) + "] + \"";
6565
}
6666

67-
if(query.import !== false) {
68-
cssAsString = cssAsString.replace(result.importItemRegExpG, importItemMatcher.bind(this));
69-
}
67+
cssAsString = cssAsString.replace(result.importItemRegExpG, importItemMatcher.bind(this));
7068
if(query.url !== false) {
7169
cssAsString = cssAsString.replace(result.urlItemRegExpG, function(item) {
7270
var match = result.urlItemRegExp.exec(item);

lib/processCss.js

+20-18
Original file line numberDiff line numberDiff line change
@@ -36,25 +36,27 @@ var parserPlugin = postcss.plugin("css-loader-parser", function(options) {
3636
return str;
3737
}
3838

39-
css.walkAtRules("import", function(rule) {
40-
var values = Tokenizer.parseValues(rule.params);
41-
var url = values.nodes[0].nodes[0];
42-
if(url.type === "url") {
43-
url = url.url;
44-
} else if(url.type === "string") {
45-
url = url.value;
46-
} else throw rule.error("Unexpected format" + rule.params);
47-
values.nodes[0].nodes.shift();
48-
var mediaQuery = Tokenizer.stringifyValues(values);
49-
if(loaderUtils.isUrlRequest(url, options.root) && options.mode === "global") {
50-
url = loaderUtils.urlToRequest(url, options.root);
51-
}
52-
importItems.push({
53-
url: url,
54-
mediaQuery: mediaQuery
39+
if(options.import) {
40+
css.walkAtRules("import", function(rule) {
41+
var values = Tokenizer.parseValues(rule.params);
42+
var url = values.nodes[0].nodes[0];
43+
if(url.type === "url") {
44+
url = url.url;
45+
} else if(url.type === "string") {
46+
url = url.value;
47+
} else throw rule.error("Unexpected format" + rule.params);
48+
values.nodes[0].nodes.shift();
49+
var mediaQuery = Tokenizer.stringifyValues(values);
50+
if(loaderUtils.isUrlRequest(url, options.root) && options.mode === "global") {
51+
url = loaderUtils.urlToRequest(url, options.root);
52+
}
53+
importItems.push({
54+
url: url,
55+
mediaQuery: mediaQuery
56+
});
57+
rule.remove();
5558
});
56-
rule.remove();
57-
});
59+
}
5860

5961
css.walkRules(function(rule) {
6062
if(rule.selector === ":export") {

test/importTest.js

+3
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,7 @@ describe("import", function() {
3636
[1, "@import url(//example.com/style.css);", ""],
3737
[1, "", ""]
3838
]);
39+
test("import disabled", "@import url(test.css);\n.class { a: b c d; }", [
40+
[1, "@import url(test.css);\n.class { a: b c d; }", ""]
41+
], "?-import");
3942
});

0 commit comments

Comments
 (0)