Jake Bailey
Jake Bailey
Fixes #765 Fixes #767 Includes #779 until that's merged. This implements import helper and JSX factory import node synthesis and resolution. Since the AST node is ummutable, we cannot modify...
I'm currently modifying this to work on JSX stuff; sending this refactor in early. I'm going to add more stuff to the file loader for JSX, so converting its return...
This enables the staticcheck linter. Unfortunately, this raises lint time from 7s to 70s (30s to _4m44s_ in CI....), so there's some perf investigation / reporting to do there.
A new method: ```go func (s *SymbolTable) GetOrInit() SymbolTable { if *s == nil { *s = make(SymbolTable) } return *s } ``` Operates on the _address_ of a symbol...
Profiling #275 netted some simple wins; a few new AST nodes to pool. ``` │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ Parse/empty.ts/tsc-20 395.6n ± 1%...
This is a lot slower; `go tool` is faster than `go run` from 1.23, but still a lot slower than a plain binary. But, this doesn't require any global installs...
This _feels_ less difficult to think about...
Saves some resources when the PR doesn't build (which is especially helpful to not waste our custom runners).
Moves packages around, renames `compiler` to `program`. This PR is on top of #227