From 7d907c36b7268a82bb1d7ecbc8951a16cfdfeb99 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Thu, 27 Jan 2022 17:21:32 -0600 Subject: [PATCH 1/4] feat: implement Astro.self (#270) --- .changeset/yellow-numbers-leave.md | 5 +++++ go.mod | 2 ++ go.sum | 2 ++ internal/printer/print-to-js.go | 12 ++++-------- internal/printer/printer.go | 7 +++++-- internal/printer/printer_test.go | 3 ++- internal/printer/utils.go | 18 ++++++++++++++++++ lib/compiler/deno/astro.wasm | Bin 640538 -> 647676 bytes lib/compiler/test/component-name.test.mjs | 16 ++++++++++++++++ lib/compiler/test/test.mjs | 1 + 10 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 .changeset/yellow-numbers-leave.md create mode 100644 lib/compiler/test/component-name.test.mjs diff --git a/.changeset/yellow-numbers-leave.md b/.changeset/yellow-numbers-leave.md new file mode 100644 index 000000000..3079a7bc3 --- /dev/null +++ b/.changeset/yellow-numbers-leave.md @@ -0,0 +1,5 @@ +--- +'@astrojs/compiler': minor +--- + +Adds support for `Astro.self` (as accepted in the [Recursive Components RFC](https://github.com/withastro/rfcs/blob/main/active-rfcs/0000-recursive-components.md)). diff --git a/go.mod b/go.mod index 97342ec73..00a259e1b 100644 --- a/go.mod +++ b/go.mod @@ -11,4 +11,6 @@ require ( golang.org/x/net v0.0.0-20210716203947-853a461950ff ) +require github.com/iancoleman/strcase v0.2.0 // indirect + replace github.com/norunners/vert => github.com/natemoo-re/vert v0.0.0-natemoo-re.7 diff --git a/go.sum b/go.sum index ac607f966..4530539b0 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/natemoo-re/vert v0.0.0-natemoo-re.7 h1:nhfKslS16o2Uruqt8Bwv8ZFYUuf+PW9iC2M5HI/Bs6U= diff --git a/internal/printer/print-to-js.go b/internal/printer/print-to-js.go index 751195304..a2352d8aa 100644 --- a/internal/printer/print-to-js.go +++ b/internal/printer/print-to-js.go @@ -106,8 +106,7 @@ func render1(p *printer, n *Node, opts RenderOptions) { } p.printReturnClose() - // TODO: use proper component name - p.printFuncSuffix("$$Component") + p.printFuncSuffix(opts.opts) return } @@ -149,8 +148,7 @@ func render1(p *printer, n *Node, opts RenderOptions) { // 3. The metadata object p.printComponentMetadata(n.Parent, opts.opts, []byte(c.Data)) - // TODO: use the proper component name - p.printFuncPrelude("$$Component") + p.printFuncPrelude(opts.opts) } else { importStatements := c.Data[0:renderBodyStart] content := c.Data[renderBodyStart:] @@ -176,8 +174,7 @@ func render1(p *printer, n *Node, opts RenderOptions) { } } - // TODO: use the proper component name - p.printFuncPrelude("$$Component") + p.printFuncPrelude(opts.opts) if len(c.Loc) > 0 { p.addSourceMapping(loc.Loc{Start: c.Loc[0].Start + renderBodyStart}) } @@ -225,8 +222,7 @@ func render1(p *printer, n *Node, opts RenderOptions) { p.printTopLevelAstro(opts.opts) // Render func prelude. Will only run for the first non-frontmatter node - // TODO: use the proper component name - p.printFuncPrelude("$$Component") + p.printFuncPrelude(opts.opts) // This just ensures a newline p.println("") diff --git a/internal/printer/printer.go b/internal/printer/printer.go index b408077dc..4621f5aca 100644 --- a/internal/printer/printer.go +++ b/internal/printer/printer.go @@ -149,18 +149,21 @@ func (p *printer) printDefineVars(n *astro.Node) { } } -func (p *printer) printFuncPrelude(componentName string) { +func (p *printer) printFuncPrelude(opts transform.TransformOptions) { if p.hasFuncPrelude { return } + componentName := getComponentName(opts.Pathname) p.addNilSourceMapping() p.println("\n//@ts-ignore") p.println(fmt.Sprintf("const %s = %s(async (%s, $$props, %s) => {", componentName, CREATE_COMPONENT, RESULT, SLOTS)) p.println(fmt.Sprintf("const Astro = %s.createAstro($$Astro, $$props, %s);", RESULT, SLOTS)) + p.println(fmt.Sprintf("Astro.self = %s;", componentName)) p.hasFuncPrelude = true } -func (p *printer) printFuncSuffix(componentName string) { +func (p *printer) printFuncSuffix(opts transform.TransformOptions) { + componentName := getComponentName(opts.Pathname) p.addNilSourceMapping() p.println("});") p.println(fmt.Sprintf("export default %s;", componentName)) diff --git a/internal/printer/printer_test.go b/internal/printer/printer_test.go index 4718ab98a..c0ade2825 100644 --- a/internal/printer/printer_test.go +++ b/internal/printer/printer_test.go @@ -29,7 +29,8 @@ var INTERNAL_IMPORTS = fmt.Sprintf("import {\n %s\n} from \"%s\";\n", strings.J }, ",\n "), "http://localhost:3000/") var PRELUDE = fmt.Sprintf(`//@ts-ignore const $$Component = %s(async ($$result, $$props, %s) => { -const Astro = $$result.createAstro($$Astro, $$props, %s);%s`, CREATE_COMPONENT, SLOTS, SLOTS, "\n") +const Astro = $$result.createAstro($$Astro, $$props, %s); +Astro.self = $$Component;%s`, CREATE_COMPONENT, SLOTS, SLOTS, "\n") var RETURN = fmt.Sprintf("return %s%s", TEMPLATE_TAG, BACKTICK) var SUFFIX = fmt.Sprintf("%s;", BACKTICK) + ` }); diff --git a/internal/printer/utils.go b/internal/printer/utils.go index c1304c033..6c4c05d30 100644 --- a/internal/printer/utils.go +++ b/internal/printer/utils.go @@ -3,6 +3,8 @@ package printer import ( "regexp" "strings" + + "github.com/iancoleman/strcase" ) func escapeText(src string) string { @@ -13,6 +15,22 @@ func escapeText(src string) string { ) } +func getComponentName(pathname string) string { + if len(pathname) == 0 { + return "$$Component" + } + parts := strings.Split(pathname, "/") + part := parts[len(parts)-1] + if len(part) == 0 { + return "$$Component" + } + basename := strcase.ToCamel(strings.Split(part, ".")[0]) + if basename == "Astro" { + return "$$Component" + } + return strings.Join([]string{"$$", basename}, "") +} + func escapeExistingEscapes(src string) string { return strings.Replace(src, "\\", "\\\\", -1) } diff --git a/lib/compiler/deno/astro.wasm b/lib/compiler/deno/astro.wasm index a8cceeb545c6ab808c0d5be58431fa0cabf8a95b..016b0fc559e6f19b5ef34f468dfe9b5ae77a7942 100755 GIT binary patch delta 95417 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�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˥W09dE!T5#MTM=K7@$*CC}W(V>H9OCC~ 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 world!`, { + sourcemap: true, + pathname: '/src/components/Cool.astro', + }); + + if (!result.code.includes('export default $$Cool')) { + throw new Error(`Expected component export to be named "Cool"!`); + } +} + +await run(); diff --git a/lib/compiler/test/test.mjs b/lib/compiler/test/test.mjs index c9b4b1985..98127b52c 100644 --- a/lib/compiler/test/test.mjs +++ b/lib/compiler/test/test.mjs @@ -2,6 +2,7 @@ import './basic.test.mjs'; import './body-fragment.test.mjs'; import './body-expression.test.mjs'; import './component-only.test.mjs'; +import './component-name.test.mjs'; import './empty-style.test.mjs'; import './output.test.mjs'; import './script-fragment.test.mjs'; From bf3a37f93c333a5d353143307447a37d262ab49e Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Mon, 31 Jan 2022 09:35:28 -0600 Subject: [PATCH 2/4] feat: add parser --- cmd/astro-wasm/astro-wasm.go | 49 ++++++ internal/const.go | 25 ++++ internal/node.go | 23 +++ internal/parser.go | 1 + internal/printer/print-to-json.go | 241 ++++++++++++++++++++++++++++++ internal/printer/printer.go | 6 + internal/printer/printer_test.go | 77 ++++++++++ internal/sourcemap/sourcemap.go | 30 ++++ internal/t/t.go | 5 + internal/token.go | 20 ++- lib/compiler/README.md | 35 ++++- lib/compiler/browser/index.ts | 8 +- lib/compiler/browser/utils.ts | 66 ++++++++ lib/compiler/deno/astro.wasm | Bin 647676 -> 654155 bytes lib/compiler/node/index.ts | 8 +- lib/compiler/node/utils.ts | 66 ++++++++ lib/compiler/package.json | 7 +- lib/compiler/shared/ast.ts | 85 +++++++++++ lib/compiler/shared/types.ts | 14 ++ lib/compiler/test/parse.test.mjs | 42 ++++++ lib/compiler/test/test.mjs | 1 + lib/compiler/utils.d.ts | 1 + 22 files changed, 805 insertions(+), 5 deletions(-) create mode 100644 internal/printer/print-to-json.go create mode 100644 internal/t/t.go create mode 100644 lib/compiler/browser/utils.ts create mode 100644 lib/compiler/node/utils.ts create mode 100644 lib/compiler/shared/ast.ts create mode 100644 lib/compiler/test/parse.test.mjs create mode 100644 lib/compiler/utils.d.ts diff --git a/cmd/astro-wasm/astro-wasm.go b/cmd/astro-wasm/astro-wasm.go index 94d5a64eb..a77cb6dbd 100644 --- a/cmd/astro-wasm/astro-wasm.go +++ b/cmd/astro-wasm/astro-wasm.go @@ -14,6 +14,7 @@ import ( "github.com/norunners/vert" astro "github.com/withastro/compiler/internal" "github.com/withastro/compiler/internal/printer" + t "github.com/withastro/compiler/internal/t" "github.com/withastro/compiler/internal/transform" wasm_utils "github.com/withastro/compiler/internal_wasm/utils" "golang.org/x/net/html/atom" @@ -23,6 +24,7 @@ var done chan bool func main() { js.Global().Set("__astro_transform", Transform()) + js.Global().Set("__astro_parse", Parse()) // This ensures that the WASM doesn't exit early <-make(chan bool) } @@ -41,6 +43,19 @@ func jsBool(j js.Value) bool { return j.Bool() } +func makeParseOptions(options js.Value) t.ParseOptions { + position := true + + pos := options.Get("position") + if !pos.IsNull() && !pos.IsUndefined() { + position = pos.Bool() + } + + return t.ParseOptions{ + Position: position, + } +} + func makeTransformOptions(options js.Value, hash string) transform.TransformOptions { filename := jsString(options.Get("sourcefile")) if filename == "" { @@ -107,6 +122,10 @@ type HoistedScript struct { Type string `js:"type"` } +type ParseResult struct { + AST string `js:"ast"` +} + type TransformResult struct { Code string `js:"code"` Map string `js:"map"` @@ -133,6 +152,36 @@ func preprocessStyle(i int, style *astro.Node, transformOptions transform.Transf style.FirstChild.Data = str } +func Parse() interface{} { + return js.FuncOf(func(this js.Value, args []js.Value) interface{} { + source := jsString(args[0]) + parseOptions := makeParseOptions(js.Value(args[1])) + + var doc *astro.Node + nodes, err := astro.ParseFragment(strings.NewReader(source), &astro.Node{ + Type: astro.ElementNode, + Data: atom.Template.String(), + DataAtom: atom.Template, + }) + if err != nil { + fmt.Println(err) + } + doc = &astro.Node{ + Type: astro.DocumentNode, + } + for i := 0; i < len(nodes); i++ { + n := nodes[i] + doc.AppendChild(n) + } + + result := printer.PrintToJSON(source, doc, parseOptions) + + return vert.ValueOf(ParseResult{ + AST: string(result.Output), + }) + }) +} + func Transform() interface{} { return js.FuncOf(func(this js.Value, args []js.Value) interface{} { source := jsString(args[0]) diff --git a/internal/const.go b/internal/const.go index 3aad85779..370a3185d 100644 --- a/internal/const.go +++ b/internal/const.go @@ -4,6 +4,8 @@ package astro +import a "golang.org/x/net/html/atom" + // Section 12.2.4.2 of the HTML5 specification says "The following elements // have varying levels of special parsing rules". // https://html.spec.whatwg.org/multipage/syntax.html#the-stack-of-open-elements @@ -109,3 +111,26 @@ func isSpecialElement(element *Node) bool { } return false } + +var knownDirectiveMap = map[string]bool{ + "client:load": true, + "client:idle": true, + "client:visible": true, + "client:only": true, + "class:list": true, + "set:text": true, + "set:html": true, +} + +func IsKnownDirective(element *Node, attr *Attribute) bool { + if knownDirectiveMap[attr.Key] { + return true + } + if element.DataAtom == a.Script { + return attr.Key == "hoist" + } + if element.DataAtom == a.Style { + return attr.Key == "global" + } + return false +} diff --git a/internal/node.go b/internal/node.go index 0c55b5cab..3e920f117 100644 --- a/internal/node.go +++ b/internal/node.go @@ -30,6 +30,29 @@ const ( ExpressionNode ) +func (t NodeType) String() string { + switch t { + case ErrorNode: + return "error" + case TextNode: + return "text" + case DocumentNode: + return "root" + case ElementNode: + return "element" + case CommentNode: + return "comment" + case DoctypeNode: + return "doctype" + case FrontmatterNode: + return "frontmatter" + case ExpressionNode: + return "expression" + default: + return "" + } +} + // Used as an Attribute Key to mark implicit nodes const ImplicitNodeMarker = "\x00implicit" diff --git a/internal/parser.go b/internal/parser.go index 39a868d49..88b6c5827 100644 --- a/internal/parser.go +++ b/internal/parser.go @@ -365,6 +365,7 @@ func (p *parser) addFrontmatter(empty bool) { } if empty { p.frontmatterState = FrontmatterClosed + p.fm.Attr = append(p.fm.Attr, Attribute{Key: ImplicitNodeMarker, Type: EmptyAttribute}) } else { p.frontmatterState = FrontmatterOpen p.oe = append(p.oe, p.fm) diff --git a/internal/printer/print-to-json.go b/internal/printer/print-to-json.go new file mode 100644 index 000000000..548d4043f --- /dev/null +++ b/internal/printer/print-to-json.go @@ -0,0 +1,241 @@ +package printer + +import ( + "fmt" + "regexp" + "strings" + + . "github.com/withastro/compiler/internal" + "github.com/withastro/compiler/internal/loc" + "github.com/withastro/compiler/internal/sourcemap" + "github.com/withastro/compiler/internal/t" + "github.com/withastro/compiler/internal/transform" +) + +type ASTPosition struct { + Start ASTPoint `json:"start,omitempty"` + End ASTPoint `json:"end,omitempty"` +} + +type ASTPoint struct { + Line int `json:"line,omitempty"` + Column int `json:"column,omitempty"` + Offset int `json:"offset,omitempty"` +} + +type ASTNode struct { + Type string `json:"type"` + Name string `json:"name,omitempty"` + Value string `json:"value,omitempty"` + Attributes []ASTNode `json:"attributes,omitempty"` + Directives []ASTNode `json:"directives,omitempty"` + Children []ASTNode `json:"children,omitempty"` + Position ASTPosition `json:"position,omitempty"` + + // Attributes only + Kind string `json:"kind,omitempty"` +} + +func escapeForJSON(value string) string { + newlines := regexp.MustCompile("\\n") + value = newlines.ReplaceAllString(value, `\n`) + doublequotes := regexp.MustCompile(`"`) + value = doublequotes.ReplaceAllString(value, `\"`) + amp := regexp.MustCompile("\\&") + value = amp.ReplaceAllString(value, `\&`) + r := regexp.MustCompile("\\r") + value = r.ReplaceAllString(value, `\r`) + t := regexp.MustCompile("\\t") + value = t.ReplaceAllString(value, `\t`) + f := regexp.MustCompile("\\f") + value = f.ReplaceAllString(value, `\f`) + return value +} + +func (n ASTNode) String() string { + str := fmt.Sprintf(`{"type":"%s"`, n.Type) + if n.Kind != "" { + str += fmt.Sprintf(`,"kind":"%s"`, n.Kind) + } + if n.Name != "" { + str += fmt.Sprintf(`,"name":"%s"`, escapeForJSON(n.Name)) + } + if n.Value != "" || n.Type == "attribute" { + str += fmt.Sprintf(`,"value":"%s"`, escapeForJSON(n.Value)) + } + if len(n.Attributes) > 0 { + str += `,"attributes":[` + for i, attr := range n.Attributes { + str += attr.String() + if i < len(n.Attributes)-1 { + str += "," + } + } + str += `]` + } + if len(n.Directives) > 0 { + str += `,"directives":[` + for i, attr := range n.Directives { + str += attr.String() + if i < len(n.Directives)-1 { + str += "," + } + } + str += `]` + } + if len(n.Children) > 0 { + str += `,"children":[` + for i, node := range n.Children { + str += node.String() + if i < len(n.Children)-1 { + str += "," + } + } + str += `]` + } + if n.Position.Start.Line != 0 { + str += `,"position":{` + str += fmt.Sprintf(`"start":{"line":%d,"column":%d,"offset":%d}`, n.Position.Start.Line, n.Position.Start.Column, n.Position.Start.Offset) + if n.Position.End.Line != 0 { + str += fmt.Sprintf(`,"end":{"line":%d,"column":%d,"offset":%d}`, n.Position.End.Line, n.Position.End.Column, n.Position.End.Offset) + } + str += "}" + } + str += "}" + return str +} + +func PrintToJSON(sourcetext string, n *Node, opts t.ParseOptions) PrintResult { + p := &printer{ + builder: sourcemap.MakeChunkBuilder(nil, sourcemap.GenerateLineOffsetTables(sourcetext, len(strings.Split(sourcetext, "\n")))), + } + root := ASTNode{} + renderNode(p, &root, n, opts) + doc := root.Children[0] + return PrintResult{ + Output: []byte(doc.String()), + } +} + +func locToPoint(p *printer, loc loc.Loc) ASTPoint { + offset := loc.Start + info := p.builder.GetLineAndColumnForLocation(loc) + line := info[0] + column := info[1] + + return ASTPoint{ + Line: line, + Column: column, + Offset: offset, + } +} + +func positionAt(p *printer, n *Node, opts t.ParseOptions) ASTPosition { + if !opts.Position { + return ASTPosition{} + } + + if len(n.Loc) == 1 { + s := n.Loc[0] + start := locToPoint(p, s) + + return ASTPosition{ + Start: start, + } + } + + if len(n.Loc) == 2 { + s := n.Loc[0] + e := n.Loc[1] + start := locToPoint(p, s) + end := locToPoint(p, e) + + return ASTPosition{ + Start: start, + End: end, + } + } + return ASTPosition{} +} + +func attrPositionAt(p *printer, n *Attribute, opts t.ParseOptions) ASTPosition { + if !opts.Position { + return ASTPosition{} + } + + k := n.KeyLoc + start := locToPoint(p, k) + + return ASTPosition{ + Start: start, + } +} + +func renderNode(p *printer, parent *ASTNode, n *Node, opts t.ParseOptions) { + isImplicit := false + for _, a := range n.Attr { + if transform.IsImplictNodeMarker(a) { + isImplicit = true + break + } + } + hasChildren := n.FirstChild != nil + if isImplicit { + if hasChildren { + for c := n.FirstChild; c != nil; c = c.NextSibling { + renderNode(p, parent, c, opts) + } + } + return + } + var node ASTNode + + node.Position = positionAt(p, n, opts) + + if n.Type == ElementNode { + if n.Expression { + node.Type = "expression" + } else { + node.Name = n.Data + if n.Component { + node.Type = "component" + } else if n.CustomElement { + node.Type = "custom-element" + } else { + node.Type = "element" + } + + for _, attr := range n.Attr { + attrNode := ASTNode{ + Type: "attribute", + Kind: attr.Type.String(), + Position: attrPositionAt(p, &attr, opts), + Name: attr.Key, + Value: attr.Val, + } + if IsKnownDirective(n, &attr) { + attrNode.Type = "directive" + node.Directives = append(node.Directives, attrNode) + } else { + node.Attributes = append(node.Attributes, attrNode) + } + } + } + } else { + node.Type = n.Type.String() + if n.Type == TextNode || n.Type == CommentNode || n.Type == DoctypeNode { + node.Value = n.Data + } + } + if n.Type == FrontmatterNode && hasChildren { + node.Value = n.FirstChild.Data + } else { + if !isImplicit && hasChildren { + for c := n.FirstChild; c != nil; c = c.NextSibling { + renderNode(p, &node, c, opts) + } + } + } + + parent.Children = append(parent.Children, node) +} diff --git a/internal/printer/printer.go b/internal/printer/printer.go index 4621f5aca..ec0d467be 100644 --- a/internal/printer/printer.go +++ b/internal/printer/printer.go @@ -1,6 +1,7 @@ package printer import ( + "encoding/json" "fmt" "strings" @@ -51,6 +52,11 @@ func (p *printer) println(text string) { p.output = append(p.output, (text + "\n")...) } +func (p *printer) printKeyValue(key string, value interface{}) { + v, _ := json.Marshal(value) + p.print(fmt.Sprintf(`"%s":%s`, key, v)) +} + func (p *printer) printInternalImports(importSpecifier string) { if p.hasInternalImports { return diff --git a/internal/printer/printer_test.go b/internal/printer/printer_test.go index c0ade2825..27ac2b7d5 100644 --- a/internal/printer/printer_test.go +++ b/internal/printer/printer_test.go @@ -9,6 +9,7 @@ import ( "testing" astro "github.com/withastro/compiler/internal" + types "github.com/withastro/compiler/internal/t" "github.com/withastro/compiler/internal/test_utils" "github.com/withastro/compiler/internal/transform" ) @@ -69,6 +70,12 @@ type testcase struct { want want } +type jsonTestcase struct { + name string + source string + want []ASTNode +} + func TestPrinter(t *testing.T) { longRandomString := "" for i := 0; i < 4080; i++ { @@ -1611,3 +1618,73 @@ const items = ["Dog", "Cat", "Platipus"]; }) } } + +func TestPrintToJSON(t *testing.T) { + tests := []jsonTestcase{ + { + name: "basic", + source: `

Hello world!

`, + want: []ASTNode{{Type: "element", Name: "h1", Children: []ASTNode{{Type: "text", Value: "Hello world!"}}}}, + }, + { + name: "expression", + source: `

Hello {world}

`, + want: []ASTNode{{Type: "element", Name: "h1", Children: []ASTNode{{Type: "text", Value: "Hello "}, {Type: "expression", Children: []ASTNode{{Type: "text", Value: "world"}}}}}}, + }, + { + name: "Component", + source: ``, + want: []ASTNode{{Type: "component", Name: "Component"}}, + }, + { + name: "custom-element", + source: ``, + want: []ASTNode{{Type: "custom-element", Name: "custom-element"}}, + }, + { + name: "Doctype", + source: ``, + want: []ASTNode{{Type: "doctype", Value: "html"}}, + }, + { + name: "Comment", + source: ``, + want: []ASTNode{{Type: "comment", Value: "hello"}}, + }, + { + name: "Comment preserves whitespace", + source: ``, + want: []ASTNode{{Type: "comment", Value: " hello "}}, + }, + { + name: "Frontmatter", + source: `--- +const a = "hey" +--- +
{a}
`, + want: []ASTNode{{Type: "frontmatter", Value: "\nconst a = \"hey\"\n"}, {Type: "element", Name: "div", Children: []ASTNode{{Type: "expression", Children: []ASTNode{{Type: "text", Value: "a"}}}}}}, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + // transform output from source + code := test_utils.Dedent(tt.source) + + doc, err := astro.Parse(strings.NewReader(code)) + + if err != nil { + t.Error(err) + } + + root := ASTNode{Type: "root", Children: tt.want} + toMatch := root.String() + + result := PrintToJSON(code, doc, types.ParseOptions{Position: false}) + + if diff := test_utils.ANSIDiff(test_utils.Dedent(string(toMatch)), test_utils.Dedent(string(result.Output))); diff != "" { + t.Error(fmt.Sprintf("mismatch (-want +got):\n%s", diff)) + } + }) + } +} diff --git a/internal/sourcemap/sourcemap.go b/internal/sourcemap/sourcemap.go index 69425e5a1..b4250ccb1 100644 --- a/internal/sourcemap/sourcemap.go +++ b/internal/sourcemap/sourcemap.go @@ -607,6 +607,36 @@ func MakeChunkBuilder(inputSourceMap *SourceMap, lineOffsetTables []LineOffsetTa } } +func (b *ChunkBuilder) GetLineAndColumnForLocation(location loc.Loc) []int { + b.prevLoc = location + + // Binary search to find the line + lineOffsetTables := b.lineOffsetTables + count := len(lineOffsetTables) + originalLine := 0 + for count > 0 { + step := count / 2 + i := originalLine + step + if lineOffsetTables[i].byteOffsetToStartOfLine <= location.Start { + originalLine = i + 1 + count = count - step - 1 + } else { + count = step + } + } + originalLine-- + + // Use the line to compute the column + line := &lineOffsetTables[originalLine] + originalColumn := int(location.Start - line.byteOffsetToStartOfLine) + if line.columnsForNonASCII != nil && originalColumn >= int(line.byteOffsetToFirstNonASCII) { + originalColumn = int(line.columnsForNonASCII[originalColumn-int(line.byteOffsetToFirstNonASCII)]) + } + + // 1-based line, 1-based column + return []int{originalLine + 1, originalColumn + 1} +} + func (b *ChunkBuilder) AddSourceMapping(location loc.Loc, output []byte) { if location == b.prevLoc { return diff --git a/internal/t/t.go b/internal/t/t.go new file mode 100644 index 000000000..f81714daa --- /dev/null +++ b/internal/t/t.go @@ -0,0 +1,5 @@ +package t + +type ParseOptions struct { + Position bool +} diff --git a/internal/token.go b/internal/token.go index 19687dd7b..c019dd278 100644 --- a/internal/token.go +++ b/internal/token.go @@ -67,6 +67,24 @@ const ( // AttributeType is the type of an Attribute type AttributeType uint32 +func (t AttributeType) String() string { + switch t { + case QuotedAttribute: + return "quoted" + case EmptyAttribute: + return "empty" + case ExpressionAttribute: + return "expression" + case SpreadAttribute: + return "spread" + case ShorthandAttribute: + return "shorthand" + case TemplateLiteralAttribute: + return "template-literal" + } + return "Invalid(" + strconv.Itoa(int(t)) + ")" +} + const ( QuotedAttribute AttributeType = iota EmptyAttribute @@ -1254,7 +1272,7 @@ func (z *Tokenizer) readTagAttrExpression() { } func (z *Tokenizer) Loc() loc.Loc { - return loc.Loc{Start: z.raw.Start} + return loc.Loc{Start: z.data.Start} } // An expression boundary means the next tokens should be treated as a JS expression diff --git a/lib/compiler/README.md b/lib/compiler/README.md index 74c88ef2f..3431c08b4 100644 --- a/lib/compiler/README.md +++ b/lib/compiler/README.md @@ -12,7 +12,15 @@ npm install @astrojs/compiler ## Usage -_Note: API will change before 1.0! Use at your own discretion._ +_Note: Public APIs are likely to change before 1.0! Use at your own discretion._ + +#### Transform `.astro` to valid TypeScript + +The Astro compiler can convert `.astro` syntax to a JavaScript Module whose default export generates HTML. + +**Some notes**... +- TypeScript is valid `.astro` syntax! The output code may need an additional post-processing step to generate valid JavaScript. +- `.astro` files rely on a server implementation exposed as `astro/internal` in the Node ecosystem. Other runtimes currently need to bring their own rendering implementation and reference it via `internalURL`. This is a pain point we're looking into fixing. ```js import { transform } from '@astrojs/compiler'; @@ -25,6 +33,31 @@ const result = await transform(source, { }); ``` +#### Parse `.astro` and return an AST + +The Astro compiler can emit an AST using the `parse` method. + +**Some notes**... +- Position data is currently incomplete and in some cases incorrect. We're working on it! +- A `TextNode` can represent both HTML `text` and JavaScript/TypeScript source code. +- The `@astrojs/compiler/utils` entrypoint exposes a `walk` function that can be used to traverse the AST. It also exposes the `is` helper which can be used as guards to derive the proper types for each `node`. + +```js +import { parse } from '@astrojs/compiler'; +import { walk, is } from '@astrojs/compiler/utils'; + +const result = await parse(source, { + position: false, // defaults to `true` +}); + +walk(result.ast, (node) => { + // `tag` nodes are `element` | `custom-element` | `component` + if (is.tag(node)) { + console.log(node.name); + } +}) +``` + ## Contributing [CONTRIBUTING.md](./CONTRIBUTING.md) diff --git a/lib/compiler/browser/index.ts b/lib/compiler/browser/index.ts index ef2c9acb2..9b4d1ea9b 100644 --- a/lib/compiler/browser/index.ts +++ b/lib/compiler/browser/index.ts @@ -5,8 +5,13 @@ export const transform: typeof types.transform = (input, options) => { return ensureServiceIsRunning().transform(input, options); }; +export const parse: typeof types.parse = (input, options) => { + return ensureServiceIsRunning().parse(input, options); +}; + interface Service { transform: typeof types.transform; + parse: typeof types.parse; } let initializePromise: Promise | undefined; @@ -52,7 +57,7 @@ const startRunningService = async (wasmURL: string) => { const wasm = await instantiateWASM(wasmURL, go.importObject); go.run(wasm.instance); - const apiKeys = new Set(['transform']); + const apiKeys = new Set(['transform', 'parse']); const service: any = Object.create(null); for (const key of apiKeys.values()) { @@ -63,5 +68,6 @@ const startRunningService = async (wasmURL: string) => { longLivedService = { transform: (input, options) => new Promise((resolve) => resolve(service.transform(input, options || {}))), + parse: (input, options) => new Promise((resolve) => resolve(service.parse(input, options || {}))).then((result: any) => ({ ...result, ast: JSON.parse(result.ast) })), }; }; diff --git a/lib/compiler/browser/utils.ts b/lib/compiler/browser/utils.ts new file mode 100644 index 000000000..e62a94178 --- /dev/null +++ b/lib/compiler/browser/utils.ts @@ -0,0 +1,66 @@ +import { + Node, + ParentNode, + RootNode, + ElementNode, + CustomElementNode, + ComponentNode, + LiteralNode, + ExpressionNode, + TextNode, + CommentNode, + DoctypeNode, + FrontmatterNode, +} from '../shared/ast'; + +export interface Visitor { + (node: Node, parent?: ParentNode, index?: number): void | Promise; +} + +function guard(type: string) { + return (node: Node): node is Type => node.type === type; +} + +export const is = { + parent(node: Node): node is ParentNode { + return Array.isArray((node as any).children); + }, + literal(node: Node): node is LiteralNode { + return typeof (node as any).value === 'string'; + }, + tag(node: Node): node is ElementNode | CustomElementNode | ComponentNode { + return node.type === 'element' || node.type === 'custom-element' || node.type === 'component'; + }, + whitespace(node: Node): node is TextNode { + return node.type === 'text' && node.value.trim().length === 0; + }, + root: guard('root'), + element: guard('element'), + customElement: guard('custom-element'), + component: guard('component'), + expression: guard('expression'), + text: guard('text'), + doctype: guard('doctype'), + comment: guard('comment'), + frontmatter: guard('frontmatter'), +}; + +class Walker { + constructor(private callback: Visitor) {} + async visit(node: Node, parent?: ParentNode, index?: number): Promise { + await this.callback(node, parent, index); + if (is.parent(node)) { + let promises = []; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + promises.push(this.callback(child, node as ParentNode, i)); + } + await Promise.all(promises); + } + } +} + +export function walk(node: ParentNode, callback: Visitor): void { + const walker = new Walker(callback); + walker.visit(node); +} diff --git a/lib/compiler/deno/astro.wasm b/lib/compiler/deno/astro.wasm index 016b0fc559e6f19b5ef34f468dfe9b5ae77a7942..905bb4c58fa1ba5f2a2c6ab67b1ff633961851ce 100755 GIT binary patch delta 179760 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 IPpD=82O60m!vFvP delta 170374 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 H$BO?4J}f#^ diff --git a/lib/compiler/node/index.ts b/lib/compiler/node/index.ts index 013bc8ee1..8f1c83db4 100644 --- a/lib/compiler/node/index.ts +++ b/lib/compiler/node/index.ts @@ -7,6 +7,10 @@ export const transform: typeof types.transform = async (input, options) => { return ensureServiceIsRunning().then((service) => service.transform(input, options)); }; +export const parse: typeof types.parse = async (input, options) => { + return ensureServiceIsRunning().then((service) => service.parse(input, options)); +}; + export const compile = async (template: string): Promise => { const { default: mod } = await import(`data:text/javascript;charset=utf-8;base64,${Buffer.from(template).toString('base64')}`); return mod; @@ -14,6 +18,7 @@ export const compile = async (template: string): Promise => { interface Service { transform: typeof types.transform; + parse: typeof types.parse; } let longLivedService: Service | undefined; @@ -40,7 +45,7 @@ const startRunningService = async () => { const wasm = await instantiateWASM(fileURLToPath(new URL('../astro.wasm', import.meta.url)), go.importObject); go.run(wasm.instance); - const apiKeys = new Set(['transform']); + const apiKeys = new Set(['transform', 'parse']); const service: any = Object.create(null); for (const key of apiKeys.values()) { @@ -51,6 +56,7 @@ const startRunningService = async () => { longLivedService = { transform: (input, options) => new Promise((resolve) => resolve(service.transform(input, options || {}))), + parse: (input, options) => new Promise((resolve) => resolve(service.parse(input, options || {}))).then((result: any) => ({ ...result, ast: JSON.parse(result.ast) })), }; return longLivedService; }; diff --git a/lib/compiler/node/utils.ts b/lib/compiler/node/utils.ts new file mode 100644 index 000000000..e62a94178 --- /dev/null +++ b/lib/compiler/node/utils.ts @@ -0,0 +1,66 @@ +import { + Node, + ParentNode, + RootNode, + ElementNode, + CustomElementNode, + ComponentNode, + LiteralNode, + ExpressionNode, + TextNode, + CommentNode, + DoctypeNode, + FrontmatterNode, +} from '../shared/ast'; + +export interface Visitor { + (node: Node, parent?: ParentNode, index?: number): void | Promise; +} + +function guard(type: string) { + return (node: Node): node is Type => node.type === type; +} + +export const is = { + parent(node: Node): node is ParentNode { + return Array.isArray((node as any).children); + }, + literal(node: Node): node is LiteralNode { + return typeof (node as any).value === 'string'; + }, + tag(node: Node): node is ElementNode | CustomElementNode | ComponentNode { + return node.type === 'element' || node.type === 'custom-element' || node.type === 'component'; + }, + whitespace(node: Node): node is TextNode { + return node.type === 'text' && node.value.trim().length === 0; + }, + root: guard('root'), + element: guard('element'), + customElement: guard('custom-element'), + component: guard('component'), + expression: guard('expression'), + text: guard('text'), + doctype: guard('doctype'), + comment: guard('comment'), + frontmatter: guard('frontmatter'), +}; + +class Walker { + constructor(private callback: Visitor) {} + async visit(node: Node, parent?: ParentNode, index?: number): Promise { + await this.callback(node, parent, index); + if (is.parent(node)) { + let promises = []; + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + promises.push(this.callback(child, node as ParentNode, i)); + } + await Promise.all(promises); + } + } +} + +export function walk(node: ParentNode, callback: Visitor): void { + const walker = new Walker(callback); + walker.visit(node); +} diff --git a/lib/compiler/package.json b/lib/compiler/package.json index d68d6d777..a92e01f84 100644 --- a/lib/compiler/package.json +++ b/lib/compiler/package.json @@ -10,7 +10,7 @@ "build": "tsc -p ." }, "main": "./node/index.js", - "types": "./shared/types.d.ts", + "types": "./node", "repository": { "type": "git", "url": "https://github.com/withastro/compiler.git" @@ -21,6 +21,11 @@ "import": "./node/index.js", "default": "./browser/index.js" }, + "./utils": { + "browser": "./browser/utils.js", + "import": "./node/utils.js", + "default": "./browser/utils.js" + }, "./astro.wasm": "./astro.wasm" }, "dependencies": { diff --git a/lib/compiler/shared/ast.ts b/lib/compiler/shared/ast.ts new file mode 100644 index 000000000..25f70a498 --- /dev/null +++ b/lib/compiler/shared/ast.ts @@ -0,0 +1,85 @@ +export type ParentNode = RootNode | ElementNode | ComponentNode | CustomElementNode | ExpressionNode; +export type Node = RootNode | ElementNode | ComponentNode | CustomElementNode | ExpressionNode | TextNode | FrontmatterNode | DoctypeNode | CommentNode; + +export interface Position { + start: Point; + end?: Point; +} +export interface Point { + /** 1-based line number */ + line: number; + /** 1-based column number, per-line */ + column: number; + /** 0-based byte offset */ + offset: number; +} +export interface BaseNode { + type: string; + position?: Position; +} + +export interface ParentLikeNode extends BaseNode { + type: 'element' | 'component' | 'custom-element' | 'expression' | 'root'; + children: Node[]; +} + +export interface LiteralNode extends BaseNode { + type: 'text' | 'doctype' | 'comment' | 'frontmatter'; + value: string; +} + +export interface RootNode extends ParentLikeNode { + type: 'root'; +} + +export interface AttributeNode extends BaseNode { + type: 'attribute'; + kind: 'quoted' | 'empty' | 'expression' | 'spread' | 'shorthand' | 'template-literal'; + name: string; + value: string; +} + +export interface DirectiveNode extends Omit { + type: 'directive'; +} + +export interface TextNode extends LiteralNode { + type: 'text'; +} + +export interface ElementNode extends ParentLikeNode { + type: 'element'; + name: string; + attributes: AttributeNode[]; + directives: DirectiveNode[]; +} + +export interface ComponentNode extends ParentLikeNode { + type: 'component'; + name: string; + attributes: AttributeNode[]; + directives: DirectiveNode[]; +} + +export interface CustomElementNode extends ParentLikeNode { + type: 'custom-element'; + name: string; + attributes: AttributeNode[]; + directives: DirectiveNode[]; +} + +export interface DoctypeNode extends LiteralNode { + type: 'doctype'; +} + +export interface CommentNode extends LiteralNode { + type: 'comment'; +} + +export interface FrontmatterNode extends LiteralNode { + type: 'frontmatter'; +} + +export interface ExpressionNode extends ParentLikeNode { + type: 'expression'; +} diff --git a/lib/compiler/shared/types.ts b/lib/compiler/shared/types.ts index cbd03300f..e6b722104 100644 --- a/lib/compiler/shared/types.ts +++ b/lib/compiler/shared/types.ts @@ -1,8 +1,16 @@ +import { RootNode } from './ast'; +export * from './ast'; + export interface PreprocessorResult { code: string; map?: string; } +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface ParseOptions { + position?: boolean; +} + export interface TransformOptions { internalURL?: string; site?: string; @@ -36,6 +44,10 @@ export interface TransformResult { map: string; } +export interface ParseResult { + ast: RootNode; +} + // This function transforms a single JavaScript file. It can be used to minify // JavaScript, convert TypeScript/JSX to JavaScript, or convert newer JavaScript // to older JavaScript. It returns a promise that is either resolved with a @@ -45,6 +57,8 @@ export interface TransformResult { // Works in browser: yes export declare function transform(input: string, options?: TransformOptions): Promise; +export declare function parse(input: string, options?: ParseOptions): Promise; + // This configures the browser-based version of astro. It is necessary to // call this first and wait for the returned promise to be resolved before // making other API calls when using astro in the browser. diff --git a/lib/compiler/test/parse.test.mjs b/lib/compiler/test/parse.test.mjs new file mode 100644 index 000000000..cff4bf02a --- /dev/null +++ b/lib/compiler/test/parse.test.mjs @@ -0,0 +1,42 @@ +/* eslint-disable no-console */ + +import { parse } from '@astrojs/compiler'; +import { walk, is } from '@astrojs/compiler/utils'; + +const src = `--- +let value = 'world'; +--- + +

Hello {value}

+`; + +async function run() { + const result = await parse(src); + + if (typeof result !== 'object') { + throw new Error(`Expected "parse" to return an object!`); + } + if (result.ast.type !== 'root') { + throw new Error(`Expected "ast" root node to be of type "root"`); + } + const [frontmatter, _, element] = result.ast.children; + if (frontmatter.type !== 'frontmatter') { + throw new Error(`Expected first child node to be of type "frontmatter"`); + } + if (element.type !== 'element') { + throw new Error(`Expected third child node to be of type "element"`); + } + + walk(result.ast, (node) => { + if (is.tag(node)) { + if (node.name !== 'h1') { + throw new Error(`Expected element to be "

"`); + } + if (!node.directives || (Array.isArray(node.directives) && !(node.directives.length >= 1))) { + throw new Error(`Expected client:load directive to be on "

"`); + } + } + }); +} + +await run(); diff --git a/lib/compiler/test/test.mjs b/lib/compiler/test/test.mjs index 98127b52c..c6f8899ca 100644 --- a/lib/compiler/test/test.mjs +++ b/lib/compiler/test/test.mjs @@ -7,3 +7,4 @@ import './empty-style.test.mjs'; import './output.test.mjs'; import './script-fragment.test.mjs'; import './top-level-expression.test.mjs'; +import './parse.test.mjs'; diff --git a/lib/compiler/utils.d.ts b/lib/compiler/utils.d.ts new file mode 100644 index 000000000..644c24206 --- /dev/null +++ b/lib/compiler/utils.d.ts @@ -0,0 +1 @@ +export * from './node/utils'; From aba9d910129918ab5602cb8745d3f980cc614584 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Mon, 31 Jan 2022 09:42:48 -0600 Subject: [PATCH 3/4] chore: lint --- internal/printer/print-to-json.go | 10 +++++----- internal/printer/printer.go | 6 ------ 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/internal/printer/print-to-json.go b/internal/printer/print-to-json.go index 548d4043f..6780aef57 100644 --- a/internal/printer/print-to-json.go +++ b/internal/printer/print-to-json.go @@ -37,17 +37,17 @@ type ASTNode struct { } func escapeForJSON(value string) string { - newlines := regexp.MustCompile("\\n") + newlines := regexp.MustCompile(`\n`) value = newlines.ReplaceAllString(value, `\n`) doublequotes := regexp.MustCompile(`"`) value = doublequotes.ReplaceAllString(value, `\"`) - amp := regexp.MustCompile("\\&") + amp := regexp.MustCompile(`&`) value = amp.ReplaceAllString(value, `\&`) - r := regexp.MustCompile("\\r") + r := regexp.MustCompile(`\r`) value = r.ReplaceAllString(value, `\r`) - t := regexp.MustCompile("\\t") + t := regexp.MustCompile(`\t`) value = t.ReplaceAllString(value, `\t`) - f := regexp.MustCompile("\\f") + f := regexp.MustCompile(`\f`) value = f.ReplaceAllString(value, `\f`) return value } diff --git a/internal/printer/printer.go b/internal/printer/printer.go index ec0d467be..4621f5aca 100644 --- a/internal/printer/printer.go +++ b/internal/printer/printer.go @@ -1,7 +1,6 @@ package printer import ( - "encoding/json" "fmt" "strings" @@ -52,11 +51,6 @@ func (p *printer) println(text string) { p.output = append(p.output, (text + "\n")...) } -func (p *printer) printKeyValue(key string, value interface{}) { - v, _ := json.Marshal(value) - p.print(fmt.Sprintf(`"%s":%s`, key, v)) -} - func (p *printer) printInternalImports(importSpecifier string) { if p.hasInternalImports { return From ecdc90e0f9659abc18de8d8d0a1b979aebca0bea Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Mon, 31 Jan 2022 09:54:14 -0600 Subject: [PATCH 4/4] Update lib/compiler/README.md Co-authored-by: Jonathan Neal --- lib/compiler/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/compiler/README.md b/lib/compiler/README.md index 3431c08b4..dedca63ef 100644 --- a/lib/compiler/README.md +++ b/lib/compiler/README.md @@ -16,7 +16,7 @@ _Note: Public APIs are likely to change before 1.0! Use at your own discretion._ #### Transform `.astro` to valid TypeScript -The Astro compiler can convert `.astro` syntax to a JavaScript Module whose default export generates HTML. +The Astro compiler can convert `.astro` syntax to a TypeScript Module whose default export generates HTML. **Some notes**... - TypeScript is valid `.astro` syntax! The output code may need an additional post-processing step to generate valid JavaScript.