trim SSR'd output more intelligently - fixes #998

pull/1004/head
Rich Harris 8 years ago committed by GitHub
parent 36718e79bd
commit 797165b5a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -61,7 +61,7 @@ export default function ssr(
conditions: [],
});
parsed.html.children.forEach((node: Node) => {
trim(parsed.html.children).forEach((node: Node) => {
visit(generator, mainBlock, node);
});
@ -122,7 +122,7 @@ export default function ssr(
}
`}
return \`${generator.renderCode}\`.trim();
return \`${generator.renderCode}\`;
};
${name}.renderCss = function() {
@ -202,3 +202,25 @@ export default function ssr(
return generator.generate(result, options, { name, format });
}
function trim(nodes) {
let start = 0;
for (; start < nodes.length; start += 1) {
const node = nodes[start];
if (node.type !== 'Text') break;
node.data = node.data.replace(/^\s+/, '');
if (node.data) break;
}
let end = nodes.length;
for (; end > start; end -= 1) {
const node = nodes[end - 1];
if (node.type !== 'Text') break;
node.data = node.data.replace(/\s+$/, '');
if (node.data) break;
}
return nodes.slice(start, end);
}

@ -7,7 +7,7 @@ SvelteComponent.data = function() {
SvelteComponent.render = function(state, options = {}) {
state = Object.assign({}, state);
return ``.trim();
return ``;
};
SvelteComponent.renderCss = function() {

@ -9,7 +9,7 @@ SvelteComponent.data = function() {
SvelteComponent.render = function(state, options = {}) {
state = Object.assign({}, state);
return ``.trim();
return ``;
};
SvelteComponent.renderCss = function() {

Loading…
Cancel
Save