mirror of https://github.com/sveltejs/svelte
fix: correctly compile server code when using `$inspect` after a top-level await expression (#17407)
* add fix and test * changeset * Apply suggestion from @teemingcpull/17416/head
parent
965bf6ceec
commit
b1f44c46c3
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'svelte': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix: remove `$inspect` calls after await expressions when compiling for production server code
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
import { test } from '../../test';
|
||||||
|
|
||||||
|
export default test({
|
||||||
|
compileOptions: {
|
||||||
|
experimental: { async: true },
|
||||||
|
dev: false
|
||||||
|
}
|
||||||
|
});
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
import 'svelte/internal/disclose-version';
|
||||||
|
import 'svelte/internal/flags/async';
|
||||||
|
import * as $ from 'svelte/internal/client';
|
||||||
|
|
||||||
|
var root = $.from_html(`<p> </p>`);
|
||||||
|
|
||||||
|
export default function Async_top_level_inspect_server($$anchor) {
|
||||||
|
var data;
|
||||||
|
var $$promises = $.run([async () => data = await Promise.resolve(42),,]);
|
||||||
|
var p = root();
|
||||||
|
var text = $.child(p, true);
|
||||||
|
|
||||||
|
$.reset(p);
|
||||||
|
$.template_effect(() => $.set_text(text, data), void 0, void 0, [$$promises[1]]);
|
||||||
|
$.append($$anchor, p);
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import 'svelte/internal/flags/async';
|
||||||
|
import * as $ from 'svelte/internal/server';
|
||||||
|
|
||||||
|
export default function Async_top_level_inspect_server($$renderer) {
|
||||||
|
var data;
|
||||||
|
var $$promises = $$renderer.run([async () => data = await Promise.resolve(42),,]);
|
||||||
|
|
||||||
|
$$renderer.push(`<p>`);
|
||||||
|
|
||||||
|
$$renderer.async([$$promises[1]], ($$renderer) => {
|
||||||
|
$$renderer.push(() => $.escape(data));
|
||||||
|
});
|
||||||
|
|
||||||
|
$$renderer.push(`</p>`);
|
||||||
|
}
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
<script>
|
||||||
|
let data = await Promise.resolve(42);
|
||||||
|
$inspect(data);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p>{data}</p>
|
||||||
Loading…
Reference in new issue