Skip to content

Commit b7785fb

Browse files
committed
bugfixes and require with ~prefix
1 parent e5e1a1b commit b7785fb

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

index.js

+19-4
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,26 @@ module.exports = function(content) {
1414
var imports = extractImports(tree);
1515

1616
imports.forEach(function(imp) {
17-
result.push("require(" + JSON.stringify(__filename) + " + \"!\" + " + JSON.stringify(imp.url) + ")");
17+
if(imp.media.length > 0) {
18+
result.push(JSON.stringify("@media " + imp.media.join("") + "{"));
19+
}
20+
result.push("require(" + JSON.stringify(__filename) + " + \"!\" + " + JSON.stringify(urlToRequire(imp.url)) + ")");
21+
if(imp.media.length > 0) {
22+
result.push(JSON.stringify("}"));
23+
}
1824
});
1925

2026
result.push(JSON.stringify(csso.translate(tree)));
21-
console.dir(result);
2227
return "module.exports =\n\t" + result.join(" +\n\t") + ";";
2328
}
2429

30+
function urlToRequire(url) {
31+
if(/^~/.test(url))
32+
return url.substring(1);
33+
else
34+
return "./"+url;
35+
}
2536
function extractImports(tree) {
26-
console.dir(tree);
2737
var results = [];
2838
var removes = [];
2939
for(var i = 1; i < tree.length; i++) {
@@ -43,9 +53,14 @@ function extractImports(tree) {
4353
} else if(item[0] === "uri") {
4454
imp.url = item[1][0] === "string" ? JSON.parse(item[1][1]) : item[1][1];
4555
} else if(item[0] === "ident" && item[1] !== "url") {
46-
imp.media.push(item[1]);
56+
imp.media.push(csso.translate(item));
57+
} else if(item[0] !== "s" || imp.media.length > 0) {
58+
imp.media.push(csso.translate(item));
4759
}
4860
}
61+
while(imp.media.length > 0 &&
62+
/^\s*$/.test(imp.media[imp.media.length-1]))
63+
imp.media.pop();
4964
if(imp.url !== null) {
5065
results.push(imp);
5166
removes.push(i);

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "css-loader",
3-
"version": "0.1.0",
3+
"version": "0.1.2",
44
"author": "Tobias Koppers @sokra",
55
"description": "css loader module for webpack",
66
"dependencies": {

0 commit comments

Comments
 (0)