Sign in

Andrew Branch

@andrewbran.ch
1.1K followers 107 following 51 posts

Working on the TypeScript API at Microsoft.

PostsRepliesMedia
Reposted by Andrew Branch
Remco Haszing @remcohaszing.nl · 06/09/2026
I published a TypeScript content mapper for CSS modules. This gives you type-safety and definitions when importing CSS in TypeScript. github.com/remcohaszing...
On the right is a pane of CSS code. On the left is a pane of TypeScript code that imports the CSS as a module. The hover info of the imported CSS class shows the CSS block. There’s also an unknown class name, which has a red squiggly underline.
6808
Reposted by Andrew Branch
Jiahan Chen @chenjiahan.bsky.social · 01/09/2026
Excited that TypeScript will finally support module types based on import attributes! Bundlers and frameworks can now provide accurate types for custom imports:
27116
Reposted by Andrew Branch
NullVoxPopuli @nullvoxpopuli.com · 26/08/2026
Ember now has preliminary TS7 support ~ via the content-mappers feature that merged in TS last week Testers wanted! (requires TS Nightly)
2147
Reposted by Andrew Branch
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
The TypeScript content mappers PR just merged and is likely to land in 7.1 🎉 This could open a new chapter for everything built on and around TypeScript github.com/microsoft/ty...
github.com
Content mappers by andrewbranch · Pull Request #4712 · microsoft/typescript-go
Implements microsoft/TypeScript#63800 (comment) Overview Content mappers are external integrations that allow TypeScript to include otherwise unsupported file types in a program. They transform a f...
3448
Reposted by Andrew Branch
Remco Haszing @remcohaszing.nl · 17/08/2026
My editor using mdx-content-mapper is now showing TypeScript info for frontmatter and code blocks.
An MDX file with two JavaScript code blocks. One is hovered and shows information about the code. The other highlights a type error.An MDX file with YAML frontmatter data and a variable named frontmatter. Hover information for the frontmatter variable shows the TypeScript type of the frontmatter data.
1275
Andrew Branch @andrewbran.ch · 15/08/2026
If you’re not stalking TypeScript PRs, you might be surprised how much you can do with the API in nightlies (and even in 7.0 stable), so here’s a tiny demo that I think hits some of the highlights. 🧵
A package.json in VS Code after npm installing typescript@next
412720
Reposted by Andrew Branch
John Reilly @johnnyreilly.com · 31/07/2026
I've been busy experimenting with the new emit APIs that TypeScript 7.1 will bring. ts-loader now has basic support in place - here's how we got there! johnnyreilly.com/migrating-ts...
johnnyreilly.com
Migrating ts-loader to TypeScript 7.1 with AI
How I used AI to migrate ts-loader to TypeScript 7.1.
1121
Reposted by Andrew Branch
David Sherret @dsherret.dev · 30/07/2026
ts-ast-viewer.com now supports TypeScript 7 along with nightly builds of the typescript-go repository. It's not selected by default, but available in the dropdown.
Dropdown menu showing a TypeScript 7.0.2 selection on ts-ast-viewer.com
2295
Reposted by Andrew Branch
John Reilly @johnnyreilly.com · 28/07/2026
If you discount project references (and there's no API support as yet I believe), then all bar around 6 tests of ts-loader are now passing using the 7.1 tsgo TypeScript API! Not quite there yet but significant progress github.com/TypeStrong/t...
github.com
Support TypeScript 7.1 API by Copilot · Pull Request #1704 · TypeStrong/ts-loader
This PR is an attempt at using the TypeScript 7.1+ API. This pares back the earlier tsgo integration attempt to the new API alone. Instead of carrying both implementations, experimentalNativeApi no...
181
Reposted by Andrew Branch
John Reilly @johnnyreilly.com · 27/07/2026
Building upon the fine work of @pier.fumagalli.org / @titiancernicova.bsky.social / @andrewbran.ch I've been throwing copilot at the new TypeScript 7.1 API and ts-loader. Very early days but some progress! github.com/TypeStrong/t...
github.com
Add minimal experimental tsgo transpile path by Copilot · Pull Request #1704 · TypeStrong/ts-loader
This pares back the earlier tsgo integration attempt to the new API alone. Instead of carrying both implementations, experimentalNativeApi now routes through the tsgo API directly, with the existin...
292
Reposted by Andrew Branch
mary🐇 @mary.my.id · 25/07/2026
they coulda trained opus 5 to learn that typescript 7 is stable now because it simply refuses to believe oxlint with type checking enabled only takes 28ms to run
3952
Reposted by Andrew Branch
Pier Fumagalli @pier.fumagalli.org · 25/07/2026
Today’s Typescript 7 daily release finally includes my contribution to support “emit” via API! Right before the weekend, so I can waste it playing around with it 😛 Thanks @andrewbran.ch tor including it! npmx.dev/package-code...
npmx.dev
Code - typescript@7.1.0-dev.20260725.1 - npmx
Browse source code for typescript@7.1.0-dev.20260725.1
45610
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 08/07/2026
📣 The moment is here. 📣 TypeScript 7 is officially released! 7️⃣ devblogs.microsoft.com/typescript/a...
devblogs.microsoft.com
Announcing TypeScript 7.0 - TypeScript
Today we are proud to announce the availability of TypeScript 7, a 10x faster native port of TypeScript! Since its early days, TypeScript has promised to
15617156
Reposted by Andrew Branch
Ashley Claymore @ashley-c.bsky.social · 05/07/2026
I've been experimenting with having `ts-blank-space` use the (unstable) TypeScript-go JS API. At first it was ~60% slower than using the TS 6 API, but with a bit of investigation, a bug fix, and a small refactor to use different API calls it is now ~24% faster! Draft PR: github.com/bloomberg/ts...
Terminal output of running ts-blank-space's `./bench.sh` script.

TS go has a mean of 972 milliseconds (+/- 7ms).

TS 6 has a mean of 1205 milliseconds (+/- 8ms).

So TS go ran 1.24 times faster.
2445
Reposted by Andrew Branch
Jake Bailey @jakebailey.dev · 06/05/2026
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...
Jake Bailey
Principal Software Engineer
Microsoft
Jake is a programming language lover and Principal Software Engineer at Microsoft. He currently works on TypeScript, mainly focusing on performance, infrastructure, and the ecosystem, along with side adventures in Go (especially compiler and runtime changes in Go and TinyGo!).
Blog: jakebailey.dev
SESSIONS
Wed Aug 05, 5:15 PM - 5:40 PM PDT   (25 min)
State of TypeScript 7: Beyond the Port - Speaker
Last year, we shared the story of TypeScript's port to Go. A lot has happened since then: we've shipped TypeScript 6.0 as a bridge release, watched our native preview grow past 5 million weekly downloads. The port is done, but the work didn't stop there.

In this talk, we'll go beyond the port itself. We'll cover the new API surfaces we've built on top of the Go codebase, including a snapshot-based language server, cross-language IPC, and Wasm. We'll talk about how the community has adopted the new compiler, how we've ensured stability at scale, and what surprises and compromises came up along the way. We'll also share our continued experience writing Go; where the language and toolchain have gotten better for us, and where they sometimes haven't.

Talk/Attendee Level: Intermediate

Finneran Ballroom 2, Level 5, SCC | Summit
1463
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 23/03/2026
TypeScript 6.0 is now available! This release brings better type-checking for methods, new standard library features, new module features for Node.js, and more! But most important, this release brings us one step closer to the upcoming native-speed 7.0! devblogs.microsoft.com/typescript/a...
devblogs.microsoft.com
Announcing TypeScript 6.0 - TypeScript
TypeScript 6.0 is now available! TypeScript 6 is a stepping-stone release, aligning with the upcoming native-speed 7.0 release.
631687
Reposted by Andrew Branch
Joyee Cheung @joyeecheung.bsky.social · 30/12/2025
Finished two retrospective blog posts on the journey of require(esm) before 2025 ends: joyeecheung.github.io/blog/2025/12... joyeecheung.github.io/blog/2025/12...
joyeecheung.github.io
require(esm) in Node.js: from experiment to stability
More than a year ago, I set out to revive require(esm) in Node.js and landed an experimental implementation. After a lot of iteration and battle-testing, require(esm) is now unflagged across all suppo
28522
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 28/10/2025
Big news in this year's GitHub Octoverse report: TypeScript is now the most-used language on GitHub! We are thrilled and grateful to see the TypeScript and JavaScript community continue to grow and thrive. 🚀 Read up more at github.blog/news-insight...
github.blog
Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1
In this year’s Octoverse, we uncover how AI, agents, and typed languages are driving the biggest shifts in software development in more than a decade.
110122
Reposted by Andrew Branch
Jake Bailey @jakebailey.dev · 22/08/2025
Tonight will be one of the best nightlies of the TypeScript Native Preview ever. 1) @andrewbran.ch fully rewrote the language server infra into a snapshot model. No more data races. It's so cool 2) Sheetal added build mode (-b), and it's even _concurrent_ build mode. 10x+ on dt-tools, hot and cold
Benchmark 1: node ./node_modules/typescript/lib/tsc.js -b . -f
  Time (mean ± σ):      4.204 s ±  0.057 s    [User: 6.437 s, System: 0.533 s]
  Range (min … max):    4.142 s …  4.305 s    10 runs
 
Benchmark 2: /home/jabaile/work/TypeScript-go/built/local/tsgo -b . -f
  Time (mean ± σ):     377.8 ms ±   8.1 ms    [User: 2827.7 ms, System: 453.3 ms]
  Range (min … max):   361.4 ms … 387.1 ms    10 runs
 
Summary
  /home/jabaile/work/TypeScript-go/built/local/tsgo -b . -f ran
   11.13 ± 0.28 times faster than node ./node_modules/typescript/lib/tsc.js -b . -f

Benchmark 1: node ./node_modules/typescript/lib/tsc.js -b .
  Time (mean ± σ):      1.247 s ±  0.016 s    [User: 1.859 s, System: 0.252 s]
  Range (min … max):    1.232 s …  1.284 s    10 runs
 
  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet system without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.
 
Benchmark 2: /home/jabaile/work/TypeScript-go/built/local/tsgo -b .
  Time (mean ± σ):     120.6 ms ±   9.5 ms    [User: 843.1 ms, System: 207.4 ms]
  Range (min … max):   111.8 ms … 156.0 ms    24 runs
 
Summary
  /home/jabaile/work/TypeScript-go/built/local/tsgo -b . ran
   10.34 ± 0.82 times faster than node ./node_modules/typescript/lib/tsc.js -b .
611317
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 22/05/2025
Today we're announcing previews of the native port of TypeScript! These nightly previews will be available on npm and the VS Code marketplace! npm install -D @​typescript/native-preview npx tsgo --version Read up more on our blog!
devblogs.microsoft.com
Announcing TypeScript Native Previews - TypeScript
Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!
1039590
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 11/03/2025
Today we're thrilled to announce our effort to port the TypeScript compiler and language service to native code, gaining a 10x speed boost in build times and editor responsiveness! devblogs.microsoft.com/typescript/t...
devblogs.microsoft.com
A 10x Faster TypeScript - TypeScript
Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.
22971289
Reposted by Andrew Branch
Jake Bailey @jakebailey.dev · 17/10/2023
It hasn't happened yet (merging today!!!), but I wrote a big ol blog post on the giant migration of DefinitelyTyped to a @pnpm.bsky.social monorepo! I am super excited for this. Again thank you @andrewbran.ch, Nathan, @zkochan.bsky.social and everyone else. jakebailey.dev/posts/pnpm-d...
jakebailey.dev
DefinitelyTyped is a monorepo!
Yes, it is! But for real this time!
1123
Reposted by Andrew Branch
Jake Bailey @jakebailey.dev · 14/10/2023
Next week is gonna be a fun week Soon the scourge of baseUrl, paths, and typesRoot will be purged, replaced with "how about we actually use node_modules like everyone else" (thank you Andrew and Nathan for your efforts, and of course @zkochan.bsky.social and contributors for pnpm)
Screen shot of the WIP PR to DefinitelyTyped which will convert it into a pnpm monorepo
143
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 09/08/2023
The Release Candidate of TypeScript 5.2 is now out to try! Test it out and let us know if you run into any issues!
devblogs.microsoft.com
Announcing TypeScript 5.2 RC - TypeScript
Today we’re excited to announce our Release Candidate of TypeScript 5.2! Between now and the stable release of TypeScript 5.2, we expect no further changes apart from critical bug fixes. To get star...
044
Reposted by Andrew Branch
TypeScript @typescriptlang.org · 30/06/2023
We just released TypeScript 5.2 Beta! Check out - 'using' Declarations - Decorator Metadata - Easier Tuple Type Notation - Inline Variable Refactoring - Comma Completions in Objects and more! Try it today!
devblogs.microsoft.com
Announcing TypeScript 5.2 Beta - TypeScript
Today we are excited to announce the availability of TypeScript 5.2 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescr...
0167