diff --git a/.changeset/rare-rivers-sit.md b/.changeset/rare-rivers-sit.md new file mode 100644 index 000000000..be14977c0 --- /dev/null +++ b/.changeset/rare-rivers-sit.md @@ -0,0 +1,5 @@ +--- +'@astrojs/compiler': patch +--- + +Fix #418: duplicate text when only text diff --git a/internal/parser.go b/internal/parser.go index acff08ffb..794024b50 100644 --- a/internal/parser.go +++ b/internal/parser.go @@ -620,7 +620,6 @@ func initialIM(p *parser) bool { // It was all whitespace, so ignore it. return true } - p.addText(p.tok.Data) case CommentToken: p.doc.AppendChild(&Node{ Type: CommentNode, diff --git a/internal/printer/printer_test.go b/internal/printer/printer_test.go index 5be8af91f..55b62d27c 100644 --- a/internal/printer/printer_test.go +++ b/internal/printer/printer_test.go @@ -127,6 +127,13 @@ func TestPrinter(t *testing.T) { code: `${$$renderSlot($$result,$$slots["default"])}`, }, }, + { + name: "text only", + source: "Hello!", + want: want{ + code: "Hello!", + }, + }, { name: "basic (frontmatter)", source: `--- diff --git a/internal/token_test.go b/internal/token_test.go index e3b247e1d..01a86bf4e 100644 --- a/internal/token_test.go +++ b/internal/token_test.go @@ -69,6 +69,11 @@ func TestBasic(t *testing.T) { ``, []TokenType{SelfClosingTagToken}, }, + { + "text", + `Hello@`, + []TokenType{TextToken}, + }, { "self-closing script", `