diff --git a/.changeset/major-roses-help.md b/.changeset/major-roses-help.md new file mode 100644 index 0000000000..c3c06792a4 --- /dev/null +++ b/.changeset/major-roses-help.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: preserve location information for `await` wrappers diff --git a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js index 9fcc33287c..a3602bbce5 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js @@ -18,7 +18,8 @@ export function AwaitExpression(node, context) { // in dev, note which values are read inside a reactive expression, // but don't track them else if (dev && !is_ignored(node, 'await_reactivity_loss')) { - return b.call(b.await(b.call('$.track_reactivity_loss', argument))); + // don't use b.await here, this way we preserve location information + return b.call({ ...node, argument: b.call('$.track_reactivity_loss', argument) }); } return argument === node.argument ? node : { ...node, argument };