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