Skip to content

Commit 15a1ac8

Browse files
jakub-swierkyyx990803
authored andcommitted
fix: added escaping of meta tag attribute value (#29)
1 parent 5bcf914 commit 15a1ac8

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

lib/build.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ module.exports = async function build (sourceDir, cliOptions = {}) {
77
const webpack = require('webpack')
88
const readline = require('readline')
99
const { promisify } = require('util')
10+
const escape = require('escape-html')
1011
const rimraf = promisify(require('rimraf'))
1112
const mkdirp = promisify(require('mkdirp'))
1213
const readFile = promisify(fs.readFile)
@@ -123,7 +124,7 @@ module.exports = async function build (sourceDir, cliOptions = {}) {
123124
function renderAttrs (attrs = {}) {
124125
const keys = Object.keys(attrs)
125126
if (keys.length) {
126-
return ' ' + keys.map(name => `${name}="${attrs[name]}"`).join(' ')
127+
return ' ' + keys.map(name => `${name}="${escape(attrs[name])}"`).join(' ')
127128
} else {
128129
return ''
129130
}
@@ -162,7 +163,7 @@ module.exports = async function build (sourceDir, cliOptions = {}) {
162163
return meta.map(m => {
163164
let res = `<meta`
164165
Object.keys(m).forEach(key => {
165-
res += ` ${key}="${m[key]}"`
166+
res += ` ${key}="${escape(m[key])}"`
166167
})
167168
return res + `>`
168169
}).join('')

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"copy-webpack-plugin": "^4.5.1",
5252
"css-loader": "^0.28.11",
5353
"es6-promise": "^4.2.4",
54+
"escape-html": "^1.0.3",
5455
"file-loader": "^1.1.11",
5556
"globby": "^8.0.1",
5657
"html-webpack-plugin": "^3.2.0",

yarn.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -1578,7 +1578,7 @@ es6-promise@^4.2.4:
15781578
version "4.2.4"
15791579
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
15801580

1581-
escape-html@~1.0.1:
1581+
escape-html@^1.0.3, escape-html@~1.0.1:
15821582
version "1.0.3"
15831583
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
15841584

0 commit comments

Comments
 (0)