My #BazelCon 2025 talk about how Canva used isolatedDeclarations to greatly improve typecheck performance
youtu.be/26CoMExb6FE
@danr.bsky.social
TypeScript Product Manager and TC39 rep working on JavaScript standards. Enthusiast of compilers, dev tools, language VMs/runtimes.
My #BazelCon 2025 talk about how Canva used isolatedDeclarations to greatly improve typecheck performance
youtu.be/26CoMExb6FE
Today on the pod, Daniel Rosenwasser & Jake Bailey reveal what's coming in TypeScript 6 & 7! Learn about ES2024 defaults, the new Go compiler, and smarter DOM typings.
share.transistor.fm/s/ad05eae6
#typescript
So brave.
13.11.2025 04:24 โ ๐ 4 ๐ 0 ๐ฌ 0 ๐ 0Node excitement ๐
Congrats to @marcoippolito.dev on making it official: type-stripping in Node 25 is now declared to be stable ๐
You can run: node index.ts
The capabilities have not changed since Node 24. This is purely a maturity indicator.
Type stripping is now stable.
Enjoy ๐
We're hoping for TypeScript 6.0 early 2026 (think February or earlier) and 7.0 shortly after.
We're looking for people to use the native previews of 7.0 for feedback ASAP though. We feel the language service is pretty solid these days!
I'm pleased that this year's GitHub survey acknowledges that untyped & typed JavaScript deserve to be counted as part of the same ecosystem.
๐ถ New repos (last 12 months): JS 9.3M, Python 9.3M, TS 5.4M
๐ถ Contributor delta (last 12 months): TS +1.1M, Python +0.9M, JS +0.4M
๐ถ Contributor count chart
I write it anyway, otherwise it's hard to Jakegle anything about it.
29.10.2025 07:30 โ ๐ 3 ๐ 0 ๐ฌ 0 ๐ 0Right but which was #1? Jakelang or SavannahScript?
28.10.2025 21:37 โ ๐ 5 ๐ 0 ๐ฌ 2 ๐ 0Big 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...
And of course, we have the @vscode.dev extension for @typescriptlang.org native previews published nightly too!
marketplace.visualstudio.com/items?itemNa...
We are still looking for feedback on tsgo, but it is worth calling out we expect some type-checking changes that you may need to adapt to.
The native previews are easy to grab from npm, and are published nightly to try out!
www.npmjs.com/package/@typ...
Congratulations!! ๐๐
03.10.2025 23:02 โ ๐ 3 ๐ 0 ๐ฌ 0 ๐ 0ECMAScript excitement ๐
@jason-williams.co.uk from TechAtBloomberg announces the release of Boa's Rust-based implementation of TC39 Stage 3 Temporal ๐
Chrome estimates this will ship in Chromium 143 ๐๐
Temporal is the shiny replacement for the broken JS Date API โจ
STOP DOING MODERN SLEEP COMPUTERS WERE NOT SUPPOSED TO BE ALWAYS ON YEARS OF KERNEL PATCHES yet NO REAL-WORLD USE FOUND for not dropping to the LOWEST sleep state Wanted to close the lid and open it later? We had a tool for that: It was called "S3 Suspend to RAM" "Yes please do a Windows update. Please do it while in my backpack" - Statements dreamed up by the utterly Deranged LOOK at what Hardware Manufacturers have been demanding your Respect for all this time, with all the OSs and userspace software we built for them deep advertized in /sys/power/mem_sleep ONLY s2idle works "Hello I would like a 100ยฐC laptop with 3% battery" They have played us for absolute fools
13.09.2025 21:12 โ ๐ 42 ๐ 7 ๐ฌ 3 ๐ 0A thumbnail with a dark background and the VS Code logo that reads "What's new in Visual Studio Code August Update 1.104. Add context from AGENTS.md, confirm agent edits for sensitive files, improved chat UX experience, control chat modes from prompt files, improved terminal command approvals, automatic model selection, model flexibility via VS Code extensions, preview and merge Git worktree changes, configurable inline suggestions delay, and collaborate with background coding agents in Chat Sessions view.
๐ v1.104 of VS Code is here! Check out what's new:
๐ค Improved coding agent integration
๐ AGENTS.md file support for better context
๐ New Auto mode (Preview) for smart model selection
๐ Model flexibility via BYOK extension API
โฆand more: aka.ms/VSCodeRelease
Here are the highlights ๐งต
Isn't this already the behavior of strict being on? Before users had to opt in to breakiness.
The big problem is that if strict is on for everyone, we always have to think about this on the context of "now everyone is broken" which was always the reason we didn't do it.
@robpalmer.bsky.social makes a good point - `--strict`-by-default isn't the only thing to expect in TypeScript 6.0. We're trying to adopt better defaults and simplify for the future.
Check out the current plans on our milestone: github.com/microsoft/Ty...
Issue, not PR :D
26.08.2025 18:04 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0TypeScript excitement ๐
TS 6.0 is planning a bunch of breaking changes to tsconfig options to deprecate some and change the defaults for others. This will simplify configuration and ease the transition to the Go-based TS 7.0 ๐
The latest pitch is to enable strict type-checking modes by default ๐
I get the broader point. For specific options, I think noUncheckedIndexedAccess may be a little rough for most people, but we might be able to do better analyses with a faster TS.
With exactOptionalPropertyTypes, that requires a bit more of an ecosystem adaptation, and it's very annoyingly subtle.
I'll bring it up in the issue though.
25.08.2025 17:03 โ ๐ 3 ๐ 0 ๐ฌ 1 ๐ 0You mean like saying that `noImplicitAny` has "graduated" to being using useful enough to turn it on by default?
I do like that, but I think being able to say "all of strict is on" is a little bit easier to think about than "most of strict is now empty and these 10 flags are now on".
Just filed an issue to turn `--strict` on by default in TypeScript.
Maybe it's a little bit ambitious, but I'm excited for us to try this one. ๐
github.com/microsoft/Ty...
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 .
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
But I will say, it's *relatively* rare and you can always get consistent results if you distribute files consistently across a fixed number of processes
18.08.2025 06:49 โ ๐ 4 ๐ 0 ๐ฌ 0 ๐ 0Technically there are issues where checking files in different orders can result in different types. tsgo mostly avoids this with how it sorts/orders types, TS today has a branch with this logic that @jakebailey.dev ported over.
18.08.2025 05:56 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 02025-07-31, Version 22.18.0 'Jod' (LTS), @aduh95 Notable Changes Type stripping is enabled by default Node.js will be able to execute TypeScript files without additional configuration: $ echo 'const foo: string = "World"; console.log(`Hello ${foo}!`);' > file.ts $ node file.ts Hello World!
It's easy to miss a key feature of Node's TypeScript support that was released on Friday: it's zero config ๐ฅ
Meaning you don't need to put anything in package.json. Strictly speaking you don't even need a tsconfig to run the code.
nodejs.org/en/blog/rele...
Node excitement ๐
Congrats to @marcoippolito.dev on today's landmark Node 22.18 release. It is the first LTS release to ship unflagged TypeScript support ๐
This means Node can run *.ts files. It pairs well with TypeScript's "erasableSyntaxOnly" flag ๐
Many folk contributed ๐
TypeScript excitement ๐
TS 5.9 is out ๐
๐ถ `import defer` by @nicr.dev
๐ถ module: "node20" for require(ESM)
๐ท --init has modern defaults (no downleveling)
๐ท Docs: Inline summaries for DOM APIs
๐ท IDE: Expandable hovers to drill into Quick Infos
๐ท Perf: Faster type instantiation & file existence