Skip to content

Commit d22c14f

Browse files
refactor: escape
1 parent 254be6b commit d22c14f

File tree

4 files changed

+21
-19
lines changed

4 files changed

+21
-19
lines changed

lib/escape.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
module.exports = function escape(url) {
2+
if (typeof url !== "string") {
3+
return url;
4+
}
5+
6+
// If url is already wrapped in quotes, remove them
7+
if (/^['"].*['"]$/.test(url)) {
8+
url = url.slice(1, -1);
9+
}
10+
11+
// Should url be wrapped?
12+
// See https://drafts.csswg.org/css-values-3/#urls
13+
if (/["'() \t\n]/.test(url)) {
14+
return '"' + url.replace(/"/g, '\\"').replace(/\n/g, "\\n") + '"';
15+
}
16+
17+
return url;
18+
};

lib/loader.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ module.exports = function(content, map) {
116116
"var escape = require(" +
117117
loaderUtils.stringifyRequest(
118118
loaderContext,
119-
require.resolve("./url/escape.js")
119+
require.resolve("./escape.js")
120120
) +
121121
");\n";
122122

lib/url/escape.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

test/helpers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ function getEvaluated(output, modules) {
1111
fn(m, m.exports, function(module) {
1212
if(module.indexOf("runtime") >= 0)
1313
return require("../lib/runtime");
14-
if(module.indexOf("url/escape") >= 0)
15-
return require("../lib/url/escape");
14+
if(module.indexOf("escape") >= 0)
15+
return require("../lib/escape");
1616
if(module.indexOf("-!/path/css-loader!") === 0)
1717
module = module.substr(19);
1818
if(modules && module in modules)

0 commit comments

Comments
 (0)