From 3cbe38cbf1d69e103a490cdb456aa74ab2cfda40 Mon Sep 17 00:00:00 2001 From: Conduitry Date: Mon, 3 Feb 2020 12:12:01 -0500 Subject: [PATCH] fix binding to module-level variables (#4352) --- CHANGELOG.md | 1 + src/compiler/compile/render_dom/Renderer.ts | 13 ++++++++----- test/runtime/samples/module-context-bind/_config.js | 4 ++++ .../runtime/samples/module-context-bind/main.svelte | 11 +++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 test/runtime/samples/module-context-bind/_config.js create mode 100644 test/runtime/samples/module-context-bind/main.svelte diff --git a/CHANGELOG.md b/CHANGELOG.md index 10e23686ea..359ab910f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Unreleased +* Fix binding to module-level variables ([#4086](https://github.com/sveltejs/svelte/issues/4086)) * Disallow attribute/prop names from matching two-way-bound names or `{shorthand}` attribute/prop names ([#4325](https://github.com/sveltejs/svelte/issues/4325)) ## 3.18.1 diff --git a/src/compiler/compile/render_dom/Renderer.ts b/src/compiler/compile/render_dom/Renderer.ts index 046a90b684..8fa36a9120 100644 --- a/src/compiler/compile/render_dom/Renderer.ts +++ b/src/compiler/compile/render_dom/Renderer.ts @@ -161,11 +161,14 @@ export default class Renderer { } if ( - variable && - !variable.referenced && - !variable.is_reactive_dependency && - !variable.export_name && - !name.startsWith('$$') + variable && ( + variable.module || ( + !variable.referenced && + !variable.is_reactive_dependency && + !variable.export_name && + !name.startsWith('$$') + ) + ) ) { return value || name; } diff --git a/test/runtime/samples/module-context-bind/_config.js b/test/runtime/samples/module-context-bind/_config.js new file mode 100644 index 0000000000..32bc9c4ce9 --- /dev/null +++ b/test/runtime/samples/module-context-bind/_config.js @@ -0,0 +1,4 @@ +export default { + skip_if_ssr: true, + html: '
object
' +}; diff --git a/test/runtime/samples/module-context-bind/main.svelte b/test/runtime/samples/module-context-bind/main.svelte new file mode 100644 index 0000000000..1580102bd8 --- /dev/null +++ b/test/runtime/samples/module-context-bind/main.svelte @@ -0,0 +1,11 @@ + + + + +
{typeof bar}