From 22e1e91dec48f8ffbf3b634dfc80a87ac2fe1cae Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 9 May 2024 22:26:40 -0400 Subject: [PATCH] fix --- .../3-transform/client/transform-client.js | 12 +++++++----- .../samples/hmr/_expected/client/index.svelte.js | 16 ++++++++++------ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js index 923530628d..6bcf8aec47 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js @@ -449,17 +449,19 @@ export function client_component(source, analysis, options) { b.id('import.meta.hot'), b.block([ b.const(b.id('s'), b.call('$.source', b.id(analysis.name))), - b.const(b.id('filename'), b.member(b.id(analysis.name), b.id('name'))), + b.const(b.id('filename'), b.member(b.id(analysis.name), b.id('filename'))), b.stmt(b.assignment('=', b.id(analysis.name), b.call('$.hmr', b.id('s')))), b.stmt( b.assignment('=', b.member(b.id(analysis.name), b.id('filename')), b.id('filename')) ), b.if( b.id('import.meta.hot.acceptExports'), - b.stmt( - b.call('import.meta.hot.acceptExports', b.array([b.literal('default')]), accept_fn) - ), - b.stmt(b.call('import.meta.hot.accept', accept_fn)) + b.block([ + b.stmt( + b.call('import.meta.hot.acceptExports', b.array([b.literal('default')]), accept_fn) + ) + ]), + b.block([b.stmt(b.call('import.meta.hot.accept', accept_fn))]) ) ]) ), diff --git a/packages/svelte/tests/snapshot/samples/hmr/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/hmr/_expected/client/index.svelte.js index fb4ae71770..6cb6845c1c 100644 --- a/packages/svelte/tests/snapshot/samples/hmr/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/hmr/_expected/client/index.svelte.js @@ -11,16 +11,20 @@ function Hmr($$anchor) { if (import.meta.hot) { const s = $.source(Hmr); - const filename = Hmr.name; + const filename = Hmr.filename; Hmr = $.hmr(s); Hmr.filename = filename; - if (import.meta.hot.acceptExports) import.meta.hot.acceptExports(["default"], (module) => { - $.set(s, module.default); - }); else import.meta.hot.accept((module) => { - $.set(s, module.default); - }); + if (import.meta.hot.acceptExports) { + import.meta.hot.acceptExports(["default"], (module) => { + $.set(s, module.default); + }); + } else { + import.meta.hot.accept((module) => { + $.set(s, module.default); + }); + } } export default Hmr; \ No newline at end of file