Skip to content

Commit e3d6686

Browse files
jesseskinnerConduitry
authored andcommitted
fix stringifying of attributes in presence of spread in SSR (#4247)
1 parent ef56a70 commit e3d6686

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/runtime/internal/ssr.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ export function spread(args, classes_to_add) {
2525
else if (boolean_attributes.has(name.toLowerCase())) {
2626
if (value) str += " " + name;
2727
} else if (value != null) {
28-
str += " " + name + "=" + JSON.stringify(String(value)
29-
.replace(/"/g, '"')
30-
.replace(/'/g, '''));
28+
str += ` ${name}="${String(value).replace(/"/g, '"').replace(/'/g, ''')}"`;
3129
}
3230
});
3331

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<input value="
2+
bar
3+
">
4+
5+
<input class="
6+
white
7+
space
8+
">
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script>
2+
let props = {
3+
value: '\n\tbar\n',
4+
};
5+
</script>
6+
7+
<input {...props} />
8+
9+
<input class="
10+
white
11+
space
12+
" {...({})}>

0 commit comments

Comments
 (0)