chore: fix more wacky compiler output (#16794)

* chore: fix more wacky compiler output

* update tests
main
Rich Harris 1 day ago committed by GitHub
parent 4616422832
commit dc7da40369
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -198,11 +198,11 @@ export function server_component(analysis, options) {
b.unary('!', b.id('$$settled')), b.unary('!', b.id('$$settled')),
b.block([ b.block([
b.stmt(b.assignment('=', b.id('$$settled'), b.true)), b.stmt(b.assignment('=', b.id('$$settled'), b.true)),
b.stmt(b.assignment('=', b.id('$$inner_renderer'), b.call(' $$renderer.copy'))), b.stmt(b.assignment('=', b.id('$$inner_renderer'), b.call('$$renderer.copy'))),
b.stmt(b.call('$$render_inner', b.id('$$inner_renderer'))) b.stmt(b.call('$$render_inner', b.id('$$inner_renderer')))
]) ])
), ),
b.stmt(b.call(' $$renderer.subsume', b.id('$$inner_renderer'))) b.stmt(b.call('$$renderer.subsume', b.id('$$inner_renderer')))
]; ];
} }
@ -301,7 +301,7 @@ export function server_component(analysis, options) {
const code = b.literal(render_stylesheet(analysis.source, analysis, options).code); const code = b.literal(render_stylesheet(analysis.source, analysis, options).code);
body.push(b.const('$$css', b.object([b.init('hash', hash), b.init('code', code)]))); body.push(b.const('$$css', b.object([b.init('hash', hash), b.init('code', code)])));
component_block.body.unshift(b.stmt(b.call(' $$renderer.global.css.add', b.id('$$css')))); component_block.body.unshift(b.stmt(b.call('$$renderer.global.css.add', b.id('$$css'))));
} }
let should_inject_props = let should_inject_props =

@ -45,11 +45,11 @@ export function EachBlock(node, context) {
); );
if (node.fallback) { if (node.fallback) {
const open = b.stmt(b.call(b.id(' $$renderer.push'), block_open)); const open = b.stmt(b.call(b.id('$$renderer.push'), block_open));
const fallback = /** @type {BlockStatement} */ (context.visit(node.fallback)); const fallback = /** @type {BlockStatement} */ (context.visit(node.fallback));
fallback.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open_else))); fallback.body.unshift(b.stmt(b.call(b.id('$$renderer.push'), block_open_else)));
block.body.push( block.body.push(
b.if( b.if(

@ -16,9 +16,9 @@ export function IfBlock(node, context) {
? /** @type {BlockStatement} */ (context.visit(node.alternate)) ? /** @type {BlockStatement} */ (context.visit(node.alternate))
: b.block([]); : b.block([]);
consequent.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open))); consequent.body.unshift(b.stmt(b.call(b.id('$$renderer.push'), block_open)));
alternate.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open_else))); alternate.body.unshift(b.stmt(b.call(b.id('$$renderer.push'), block_open_else)));
/** @type {Statement} */ /** @type {Statement} */
let statement = b.if(test, consequent, alternate); let statement = b.if(test, consequent, alternate);

@ -97,7 +97,7 @@ export function RegularElement(node, context) {
b.stmt( b.stmt(
b.assignment( b.assignment(
'=', '=',
b.id(' $$renderer.local.select_value'), b.id('$$renderer.local.select_value'),
b.member( b.member(
build_spread_object( build_spread_object(
node, node,
@ -125,7 +125,7 @@ export function RegularElement(node, context) {
); );
} }
const left = b.id(' $$renderer.local.select_value'); const left = b.id('$$renderer.local.select_value');
if (value.type === 'Attribute') { if (value.type === 'Attribute') {
state.template.push( state.template.push(
b.stmt(b.assignment('=', left, build_attribute_value(value.value, context))) b.stmt(b.assignment('=', left, build_attribute_value(value.value, context)))

@ -80,7 +80,7 @@ export function process_children(nodes, { visit, state }) {
flush(); flush();
const visited = /** @type {Expression} */ (visit(node.expression)); const visited = /** @type {Expression} */ (visit(node.expression));
state.template.push( state.template.push(
b.stmt(b.call(' $$renderer.push', b.thunk(b.call('$.escape', visited), true))) b.stmt(b.call('$$renderer.push', b.thunk(b.call('$.escape', visited), true)))
); );
} else if (node.type === 'Text' || node.type === 'Comment' || node.type === 'ExpressionTag') { } else if (node.type === 'Text' || node.type === 'Comment' || node.type === 'ExpressionTag') {
sequence.push(node); sequence.push(node);
@ -119,7 +119,7 @@ export function build_template(template) {
statements.push( statements.push(
b.stmt( b.stmt(
b.call( b.call(
b.id(' $$renderer.push'), b.id('$$renderer.push'),
b.template( b.template(
strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)), strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)),
expressions expressions
@ -267,7 +267,7 @@ export function build_getter(node, state) {
* @returns {Statement} * @returns {Statement}
*/ */
export function call_child_renderer(body, async) { export function call_child_renderer(body, async) {
return b.stmt(b.call(' $$renderer.child', b.arrow([b.id('$$renderer')], body, async))); return b.stmt(b.call('$$renderer.child', b.arrow([b.id('$$renderer')], body, async)));
} }
/** /**
@ -277,7 +277,7 @@ export function call_child_renderer(body, async) {
*/ */
export function call_component_renderer(body, component_fn_id) { export function call_component_renderer(body, component_fn_id) {
return b.stmt( return b.stmt(
b.call(' $$renderer.component', b.arrow([b.id('$$renderer')], body, false), component_fn_id) b.call('$$renderer.component', b.arrow([b.id('$$renderer')], body, false), component_fn_id)
); );
} }

@ -2,24 +2,24 @@ import 'svelte/internal/flags/async';
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Async_each_fallback_hoisting($$renderer) { export default function Async_each_fallback_hoisting($$renderer) {
$$renderer.child(async ($$renderer) => { $$renderer.child(async ($$renderer) => {
const each_array = $.ensure_array_like((await $.save(Promise.resolve([])))()); const each_array = $.ensure_array_like((await $.save(Promise.resolve([])))());
if (each_array.length !== 0) { if (each_array.length !== 0) {
$$renderer.push('<!--[-->'); $$renderer.push('<!--[-->');
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let item = each_array[$$index]; let item = each_array[$$index];
$$renderer.push(`<!---->`); $$renderer.push(`<!---->`);
$$renderer.push(async () => $.escape(await Promise.reject('This should never be reached'))); $$renderer.push(async () => $.escape(await Promise.reject('This should never be reached')));
} }
} else { } else {
$$renderer.push('<!--[!-->'); $$renderer.push('<!--[!-->');
$$renderer.push(`<!---->`); $$renderer.push(`<!---->`);
$$renderer.push(async () => $.escape(await Promise.resolve(4))); $$renderer.push(async () => $.escape(await Promise.resolve(4)));
} }
}); });
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -6,18 +6,18 @@ export default function Async_each_hoisting($$renderer) {
const second = Promise.resolve(2); const second = Promise.resolve(2);
const third = Promise.resolve(3); const third = Promise.resolve(3);
$$renderer.push(`<!--[-->`); $$renderer.push(`<!--[-->`);
$$renderer.child(async ($$renderer) => { $$renderer.child(async ($$renderer) => {
const each_array = $.ensure_array_like((await $.save(Promise.resolve([first, second, third])))()); const each_array = $.ensure_array_like((await $.save(Promise.resolve([first, second, third])))());
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let item = each_array[$$index]; let item = each_array[$$index];
$$renderer.push(`<!---->`); $$renderer.push(`<!---->`);
$$renderer.push(async () => $.escape(await item)); $$renderer.push(async () => $.escape(await item));
} }
}); });
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -2,15 +2,15 @@ import 'svelte/internal/flags/async';
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Async_if_alternate_hoisting($$renderer) { export default function Async_if_alternate_hoisting($$renderer) {
$$renderer.child(async ($$renderer) => { $$renderer.child(async ($$renderer) => {
if ((await $.save(Promise.resolve(false)))()) { if ((await $.save(Promise.resolve(false)))()) {
$$renderer.push('<!--[-->'); $$renderer.push('<!--[-->');
$$renderer.push(async () => $.escape(await Promise.reject('no no no'))); $$renderer.push(async () => $.escape(await Promise.reject('no no no')));
} else { } else {
$$renderer.push('<!--[!-->'); $$renderer.push('<!--[!-->');
$$renderer.push(async () => $.escape(await Promise.resolve('yes yes yes'))); $$renderer.push(async () => $.escape(await Promise.resolve('yes yes yes')));
} }
}); });
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -2,15 +2,15 @@ import 'svelte/internal/flags/async';
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Async_if_hoisting($$renderer) { export default function Async_if_hoisting($$renderer) {
$$renderer.child(async ($$renderer) => { $$renderer.child(async ($$renderer) => {
if ((await $.save(Promise.resolve(true)))()) { if ((await $.save(Promise.resolve(true)))()) {
$$renderer.push('<!--[-->'); $$renderer.push('<!--[-->');
$$renderer.push(async () => $.escape(await Promise.resolve('yes yes yes'))); $$renderer.push(async () => $.escape(await Promise.resolve('yes yes yes')));
} else { } else {
$$renderer.push('<!--[!-->'); $$renderer.push('<!--[!-->');
$$renderer.push(async () => $.escape(await Promise.reject('no no no'))); $$renderer.push(async () => $.escape(await Promise.reject('no no no')));
} }
}); });
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -8,7 +8,7 @@ export default function Await_block_scope($$renderer) {
counter.count += 1; counter.count += 1;
} }
$$renderer.push(`<button>clicks: ${$.escape(counter.count)}</button> `); $$renderer.push(`<button>clicks: ${$.escape(counter.count)}</button> `);
$.await($$renderer, promise, () => {}, (counter) => {}); $.await($$renderer, promise, () => {}, (counter) => {});
$$renderer.push(`<!--]--> ${$.escape(counter.count)}`); $$renderer.push(`<!--]--> ${$.escape(counter.count)}`);
} }

@ -2,7 +2,7 @@ import * as $ from 'svelte/internal/server';
import TextInput from './Child.svelte'; import TextInput from './Child.svelte';
function snippet($$renderer) { function snippet($$renderer) {
$$renderer.push(`<!---->Something`); $$renderer.push(`<!---->Something`);
} }
export default function Bind_component_snippet($$renderer) { export default function Bind_component_snippet($$renderer) {
@ -23,14 +23,14 @@ export default function Bind_component_snippet($$renderer) {
} }
}); });
$$renderer.push(`<!----> value: ${$.escape(value)}`); $$renderer.push(`<!----> value: ${$.escape(value)}`);
} }
do { do {
$$settled = true; $$settled = true;
$$inner_renderer = $$renderer.copy(); $$inner_renderer = $$renderer.copy();
$$render_inner($$inner_renderer); $$render_inner($$inner_renderer);
} while (!$$settled); } while (!$$settled);
$$renderer.subsume($$inner_renderer); $$renderer.subsume($$inner_renderer);
} }

@ -1,7 +1,7 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Class_state_field_constructor_assignment($$renderer, $$props) { export default function Class_state_field_constructor_assignment($$renderer, $$props) {
$$renderer.component(($$renderer) => { $$renderer.component(($$renderer) => {
class Foo { class Foo {
a = 0; a = 0;
#b; #b;

@ -1,13 +1,13 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Delegated_locally_declared_shadowed($$renderer) { export default function Delegated_locally_declared_shadowed($$renderer) {
$$renderer.push(`<!--[-->`); $$renderer.push(`<!--[-->`);
const each_array = $.ensure_array_like({ length: 1 }); const each_array = $.ensure_array_like({ length: 1 });
for (let index = 0, $$length = each_array.length; index < $$length; index++) { for (let index = 0, $$length = each_array.length; index < $$length; index++) {
$$renderer.push(`<button type="button"${$.attr('data-index', index)}>B</button>`); $$renderer.push(`<button type="button"${$.attr('data-index', index)}>B</button>`);
} }
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -6,5 +6,5 @@ export default function Main($$renderer) {
let y = () => 'test'; let y = () => 'test';
$$renderer.push(`<div${$.attr('foobar', x)}></div> <svg${$.attr('viewBox', x)}></svg> <custom-element${$.attr('foobar', x)}></custom-element> <div${$.attr('foobar', y())}></div> <svg${$.attr('viewBox', y())}></svg> <custom-element${$.attr('foobar', y())}></custom-element>`); $$renderer.push(`<div${$.attr('foobar', x)}></div> <svg${$.attr('viewBox', x)}></svg> <custom-element${$.attr('foobar', x)}></custom-element> <div${$.attr('foobar', y())}></div> <svg${$.attr('viewBox', y())}></svg> <custom-element${$.attr('foobar', y())}></custom-element>`);
} }

@ -1,13 +1,13 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Each_index_non_null($$renderer) { export default function Each_index_non_null($$renderer) {
$$renderer.push(`<!--[-->`); $$renderer.push(`<!--[-->`);
const each_array = $.ensure_array_like(Array(10)); const each_array = $.ensure_array_like(Array(10));
for (let i = 0, $$length = each_array.length; i < $$length; i++) { for (let i = 0, $$length = each_array.length; i < $$length; i++) {
$$renderer.push(`<p>index: ${$.escape(i)}</p>`); $$renderer.push(`<p>index: ${$.escape(i)}</p>`);
} }
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -1,15 +1,15 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Each_string_template($$renderer) { export default function Each_string_template($$renderer) {
$$renderer.push(`<!--[-->`); $$renderer.push(`<!--[-->`);
const each_array = $.ensure_array_like(['foo', 'bar', 'baz']); const each_array = $.ensure_array_like(['foo', 'bar', 'baz']);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) { for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let thing = each_array[$$index]; let thing = each_array[$$index];
$$renderer.push(`<!---->${$.escape(thing)}, `); $$renderer.push(`<!---->${$.escape(thing)}, `);
} }
$$renderer.push(`<!--]-->`); $$renderer.push(`<!--]-->`);
} }

@ -15,7 +15,7 @@ export default function Function_prop_no_getter($$renderer) {
onmouseenter: () => count = plusOne(count), onmouseenter: () => count = plusOne(count),
children: ($$renderer) => { children: ($$renderer) => {
$$renderer.push(`<!---->clicks: ${$.escape(count)}`); $$renderer.push(`<!---->clicks: ${$.escape(count)}`);
}, },
$$slots: { default: true } $$slots: { default: true }

@ -1,5 +1,5 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Functional_templating($$renderer) { export default function Functional_templating($$renderer) {
$$renderer.push(`<h1>hello</h1> <div class="potato"><p>child element</p> <p>another child element</p></div>`); $$renderer.push(`<h1>hello</h1> <div class="potato"><p>child element</p> <p>another child element</p></div>`);
} }

@ -1,5 +1,5 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Hello_world($$renderer) { export default function Hello_world($$renderer) {
$$renderer.push(`<h1>hello world</h1>`); $$renderer.push(`<h1>hello world</h1>`);
} }

@ -1,5 +1,5 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Hmr($$renderer) { export default function Hmr($$renderer) {
$$renderer.push(`<h1>hello world</h1>`); $$renderer.push(`<h1>hello world</h1>`);
} }

@ -4,5 +4,5 @@ export default function Nullish_coallescence_omittance($$renderer) {
let name = 'world'; let name = 'world';
let count = 0; let count = 0;
$$renderer.push(`<h1>Hello, world!</h1> <b>123</b> <button>Count is ${$.escape(count)}</button> <h1>Hello, world</h1>`); $$renderer.push(`<h1>Hello, world!</h1> <b>123</b> <button>Count is ${$.escape(count)}</button> <h1>Hello, world</h1>`);
} }

@ -1,7 +1,7 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Props_identifier($$renderer, $$props) { export default function Props_identifier($$renderer, $$props) {
$$renderer.component(($$renderer) => { $$renderer.component(($$renderer) => {
let { $$slots, $$events, ...props } = $$props; let { $$slots, $$events, ...props } = $$props;
props.a; props.a;

@ -1,7 +1,7 @@
import * as $ from 'svelte/internal/server'; import * as $ from 'svelte/internal/server';
export default function Purity($$renderer) { export default function Purity($$renderer) {
$$renderer.push(`<p>0</p> <p>${$.escape(location.href)}</p> `); $$renderer.push(`<p>0</p> <p>${$.escape(location.href)}</p> `);
Child($$renderer, { prop: encodeURIComponent('hello') }); Child($$renderer, { prop: encodeURIComponent('hello') });
$$renderer.push(`<!---->`); $$renderer.push(`<!---->`);
} }

@ -3,5 +3,5 @@ import * as $ from 'svelte/internal/server';
export default function Skip_static_subtree($$renderer, $$props) { export default function Skip_static_subtree($$renderer, $$props) {
let { title, content } = $$props; let { title, content } = $$props;
$$renderer.push(`<header><nav><a href="/">Home</a> <a href="/away">Away</a></nav></header> <main><h1>${$.escape(title)}</h1> <div class="static"><p>we don't need to traverse these nodes</p></div> <p>or</p> <p>these</p> <p>ones</p> ${$.html(content)} <p>these</p> <p>trailing</p> <p>nodes</p> <p>can</p> <p>be</p> <p>completely</p> <p>ignored</p></main> <cant-skip><custom-elements with="attributes"></custom-elements></cant-skip> <div><input autofocus/></div> <div><source muted/></div> <select><option value="a"${$.maybe_selected($$renderer, 'a')}>a</option></select> <img src="..." alt="" loading="lazy"/> <div><img src="..." alt="" loading="lazy"/></div>`); $$renderer.push(`<header><nav><a href="/">Home</a> <a href="/away">Away</a></nav></header> <main><h1>${$.escape(title)}</h1> <div class="static"><p>we don't need to traverse these nodes</p></div> <p>or</p> <p>these</p> <p>ones</p> ${$.html(content)} <p>these</p> <p>trailing</p> <p>nodes</p> <p>can</p> <p>be</p> <p>completely</p> <p>ignored</p></main> <cant-skip><custom-elements with="attributes"></custom-elements></cant-skip> <div><input autofocus/></div> <div><source muted/></div> <select><option value="a"${$.maybe_selected($$renderer, 'a')}>a</option></select> <img src="..." alt="" loading="lazy"/> <div><img src="..." alt="" loading="lazy"/></div>`);
} }

@ -11,5 +11,5 @@ export default function State_proxy_literal($$renderer) {
tpl = ``; tpl = ``;
} }
$$renderer.push(`<input${$.attr('value', str)}/> <input${$.attr('value', tpl)}/> <button>reset</button>`); $$renderer.push(`<input${$.attr('value', str)}/> <input${$.attr('value', tpl)}/> <button>reset</button>`);
} }

@ -12,5 +12,5 @@ export default function Text_nodes_deriveds($$renderer) {
return count2; return count2;
} }
$$renderer.push(`<p>${$.escape(text1())}${$.escape(text2())}</p>`); $$renderer.push(`<p>${$.escape(text1())}${$.escape(text2())}</p>`);
} }
Loading…
Cancel
Save