Skip to content

Commit 29ffc78

Browse files
authored
fix: handle srcset attributes with newline after comma (#9388)
fixes #9369
1 parent 7e67738 commit 29ffc78

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

.changeset/late-berries-glow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/kit': patch
3+
---
4+
5+
fix: handle srcset attributes with newline after comma

packages/kit/src/core/postbuild/crawl.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,15 @@ export function crawl(html, base) {
179179
let insideURL = true;
180180
value = value.trim();
181181
for (let i = 0; i < value.length; i++) {
182-
if (value[i] === ',' && (!insideURL || (insideURL && value[i + 1] === ' '))) {
182+
if (
183+
value[i] === ',' &&
184+
(!insideURL || (insideURL && WHITESPACE.test(value[i + 1])))
185+
) {
183186
candidates.push(value.slice(0, i));
184187
value = value.substring(i + 1).trim();
185188
i = 0;
186189
insideURL = true;
187-
} else if (value[i] === ' ') {
190+
} else if (WHITESPACE.test(value[i])) {
188191
insideURL = false;
189192
}
190193
}

packages/kit/src/core/postbuild/fixtures/basic-srcset/input.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,11 @@
77
src="header.png"
88
srcset="https://example.com/w_200,q_100/header.png 200w, header640.png 640w, header960.png 960w, header1024.png 1024w, header.png"
99
/>
10+
<img
11+
alt="Troublesome srcset"
12+
src="issue-9369.png"
13+
srcset="/issue-9369_newline-after-comma-is-bad.png,
14+
/issue-9369_800px.png 800,"
15+
/>
1016
</body>
1117
</html>

packages/kit/src/core/postbuild/fixtures/basic-srcset/output.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
"/header640.png",
66
"/header960.png",
77
"/header1024.png",
8-
"/header.png"
8+
"/header.png",
9+
"/issue-9369.png",
10+
"/issue-9369_newline-after-comma-is-bad.png",
11+
"/issue-9369_800px.png"
912
],
1013
"ids": []
1114
}

0 commit comments

Comments
 (0)