diff --git a/src/compiler/compile/nodes/Text.ts b/src/compiler/compile/nodes/Text.ts index ac6cd9b828..d750477c8a 100644 --- a/src/compiler/compile/nodes/Text.ts +++ b/src/compiler/compile/nodes/Text.ts @@ -18,6 +18,7 @@ const elements_without_text = new Set([ ]); const regex_ends_with_svg = /svg$/; +const regex_non_whitespace_characters = /[\S\u00A0]/; export default class Text extends Node { type: 'Text'; @@ -63,4 +64,11 @@ export default class Text extends Node { return false; } + + use_space(): boolean { + if (this.component.compile_options.preserveWhitespace) return false; + if (regex_non_whitespace_characters.test(this.data)) return false; + + return !this.within_pre(); + } } diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index e7d67de15c..1a10ec4434 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -1218,7 +1218,11 @@ function to_html(wrappers: Array/
`, test({ assert, target }) { // Test for - -
- -
- -
- -
- -
- - - -
diff --git a/test/server-side-rendering/samples/textarea-content/main.svelte b/test/server-side-rendering/samples/textarea-content/main.svelte deleted file mode 100644 index e2e052ca7a..0000000000 --- a/test/server-side-rendering/samples/textarea-content/main.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - -
- -
- -
- - - -
- -
- - - -
- - - -
- -