Skip to content

Commit c59b94a

Browse files
committed
Remove the xss library from webpack
We can load the xss functions directly from the library instead of loading them through the expose loader of webpack, this should simplify the setup and maybe even improve speed a bit. Signed-off-by: Sheogorath <[email protected]>
1 parent 4e5e7df commit c59b94a

File tree

3 files changed

+7
-10
lines changed

3 files changed

+7
-10
lines changed

public/js/render.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* eslint-env browser, jquery */
2-
/* global filterXSS */
32
// allow some attributes
3+
4+
var filterXSS = require('xss')
5+
46
var whiteListAttr = ['id', 'class', 'style']
57
window.whiteListAttr = whiteListAttr
68
// allow link starts with '.', '/' and custom protocol with '://', exclude link starts with javascript://
@@ -71,5 +73,6 @@ function preventXSS (html) {
7173
window.preventXSS = preventXSS
7274

7375
module.exports = {
74-
preventXSS: preventXSS
76+
preventXSS: preventXSS,
77+
escapeAttrValue: filterXSS.escapeAttrValue
7578
}

public/js/reveal-markdown.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-env browser, jquery */
22

3-
import { preventXSS } from './render'
3+
import { preventXSS, escapeAttrValue } from './render'
44
import { md } from './extra'
55

66
/**
@@ -259,7 +259,7 @@ import { md } from './extra'
259259
while ((matchesClass = mardownClassRegex.exec(classes))) {
260260
var name = matchesClass[1]
261261
var value = matchesClass[2]
262-
if (name.substr(0, 5) === 'data-' || window.whiteListAttr.indexOf(name) !== -1) { elementTarget.setAttribute(name, window.filterXSS.escapeAttrValue(value)) }
262+
if (name.substr(0, 5) === 'data-' || window.whiteListAttr.indexOf(name) !== -1) { elementTarget.setAttribute(name, escapeAttrValue(value)) }
263263
}
264264
return true
265265
}

webpack.common.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,6 @@ module.exports = {
202202
'babel-polyfill',
203203
'script-loader!jquery-ui-resizable',
204204
'script-loader!js-url',
205-
'expose-loader?filterXSS!xss',
206205
'script-loader!Idle.Js',
207206
'expose-loader?LZString!lz-string',
208207
'script-loader!codemirror',
@@ -253,7 +252,6 @@ module.exports = {
253252
'script-loader!handlebars',
254253
'expose-loader?hljs!highlight.js',
255254
'expose-loader?emojify!emojify.js',
256-
'expose-loader?filterXSS!xss',
257255
'script-loader!Idle.Js',
258256
'script-loader!gist-embed',
259257
'expose-loader?LZString!lz-string',
@@ -273,7 +271,6 @@ module.exports = {
273271
],
274272
pretty: [
275273
'babel-polyfill',
276-
'expose-loader?filterXSS!xss',
277274
'flowchart.js',
278275
'js-sequence-diagrams',
279276
'expose-loader?RevealMarkdown!reveal-markdown',
@@ -298,7 +295,6 @@ module.exports = {
298295
'script-loader!handlebars',
299296
'expose-loader?hljs!highlight.js',
300297
'expose-loader?emojify!emojify.js',
301-
'expose-loader?filterXSS!xss',
302298
'script-loader!gist-embed',
303299
'flowchart.js',
304300
'js-sequence-diagrams',
@@ -310,7 +306,6 @@ module.exports = {
310306
slide: [
311307
'babel-polyfill',
312308
'bootstrap-tooltip',
313-
'expose-loader?filterXSS!xss',
314309
'flowchart.js',
315310
'js-sequence-diagrams',
316311
'expose-loader?RevealMarkdown!reveal-markdown',
@@ -338,7 +333,6 @@ module.exports = {
338333
'script-loader!handlebars',
339334
'expose-loader?hljs!highlight.js',
340335
'expose-loader?emojify!emojify.js',
341-
'expose-loader?filterXSS!xss',
342336
'script-loader!gist-embed',
343337
'flowchart.js',
344338
'js-sequence-diagrams',

0 commit comments

Comments
 (0)