Skip to content

Commit 1583300

Browse files
authored
Merge pull request faceyspacey#7 from satazor/escape-str
Escape moduleId and css contents
2 parents ab32e74 + 4e60248 commit 1583300

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

loader.js

+7-4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
var path = require("path");
66
var fs = require("fs");
77
var loaderUtils = require("loader-utils");
8+
var jsesc = require("jsesc");
89
var NodeTemplatePlugin = require("webpack/lib/node/NodeTemplatePlugin");
910
var NodeTargetPlugin = require("webpack/lib/node/NodeTargetPlugin");
1011
var LibraryTemplatePlugin = require("webpack/lib/LibraryTemplatePlugin");
@@ -130,12 +131,14 @@ module.exports.pitch = function(request) {
130131
if (text.locals) {
131132
resultSource += "\nmodule.exports = " + JSON.stringify(text.locals) + ";";
132133
}
134+
133135
// module.hot.data is undefined on initial load, and an object in hot updates
136+
var jsescOpts = { wrap: true, quotes: "double" };
134137
resultSource += `
135-
/*__START_CSS__*/
136-
var moduleId = "${text[0][0]}";
137-
var css = "${text[0][1].split("\n").join("")}";
138-
var addStyles = require("style-loader/addStyles.js");
138+
/*__START_CSS__*/
139+
var moduleId = ${jsesc(text[0][0], jsescOpts)};
140+
var css = ${jsesc(text[0][1], jsescOpts)};
141+
var addStyles = require("style-loader/addStyles.js");
139142
addStyles([[moduleId, css]], "");
140143
/*__END_CSS__*/
141144

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"dependencies": {
2323
"ajv": "^4.11.2",
2424
"async": "^2.1.2",
25+
"jsesc": "^2.5.1",
2526
"loader-utils": "^1.0.2",
2627
"style-loader": "^0.16.1",
2728
"webpack-sources": "^0.2.3"

0 commit comments

Comments
 (0)