Jake Bailey
@jakebailey
According to git blame, I wrote the TypeScript compiler, don't fact check that Principal Software Engineer at Microsoft working on TypeScript Underground gopher, finally revealed jakebailey.dev github.com/jakebailey arch btw
lived my dream and saw les mis in the front row in the west end, truly incredible experience and @savannah.dev liked it, which is a win i've now seen it three times, which I'm declaring to be normal
A week on and it's still working well; it required a gopls change (go.dev/cl/795221, hope that's released soon!). With 5 day pruning like Go does itself, that 5 day window leaves me sitting at about 150GB of cache, which comes out to about 20GB on disk. Very good!
Did a bit of hacking this weekend and cooked up "gocachez", a GOCACHEPROG which transparently compresses the Go build cache to save disk space at rest at the cost of CPU, with fairly good results. Building and testing TS would normally eat up roughly 4GB, but with gocachez it's only about 400MB.
This is a fun one: I just sent go.dev/cl/790740, which elides method wrappers for embedded types at offset zero, common for mixins/inherited data types. Doing this removes 60 _thousand_ method wrappers from tsgo's AST package, dropping the compilation of our main exe from 49s to 28s on my machine.
My talk was accepted to GopherCon 2026 in Seattle! I'm back with more TypeScript+Go goodness, this time with another year's worth of experience under our belt. I had a blast at last year's conference, so here's to yet another one! www.gophercon.com/agenda/speak...
Happy anniversary to my wonderful wife @savannah.dev ❤️ In addition to a magazine cover (??), we are now in space (!!)
Darth Vader isn't killing Han Solo, and the Empire found a near-perfect compromise
Fun fact, the original @frame.work bezel has adhesive attaching it to the screen Ask me how I know 🫠🫠🫠
Some pretty awesome improvements in 1.26 for compiling/testing typescript-go. With a clean build/test cache, running the full test suite used to take 3m45s, but now takes just 2m10s.
Did something fun; used @tinygo.org to shove @mvdan.cc's wonderful gofumpt into @dsherret.bsky.social's amazing dprint formatter via a Wasm plugin. We previously used an "exec" plugin to do this with go tool, but it was slow to run, and worse in parallel (and... Windows 😑). Now it's fast!
Defining inline does work, though loses the nice package name even t huogh I did specify name: "scripts" But, this doesn't really scale... I just have the one package so I'll just use multiple configs, I suppose
Does anyone know what the deal is with vitest v4 trying to run my dist dir? I know the defaults changed, but it does not respect either an exclude of `**/dist/**` or an include to only include TS files Pulling my hair out a bit :(