Daniel Rosenwasser's Avatar

Daniel Rosenwasser

@danr.bsky.social

TypeScript Product Manager and TC39 rep working on JavaScript standards. Enthusiast of compilers, dev tools, language VMs/runtimes.

1,979 Followers  |  366 Following  |  39 Posts  |  Joined: 24.04.2023  |  2.5933

Latest posts by danr.bsky.social on Bluesky

Improving Bazel TypeScript Type-Checks With IsolatedDeclarations - Brad Zacher, Canva
YouTube video by BazelCon Improving Bazel TypeScript Type-Checks With IsolatedDeclarations - Brad Zacher, Canva

My #BazelCon 2025 talk about how Canva used isolatedDeclarations to greatly improve typecheck performance
youtu.be/26CoMExb6FE

14.11.2025 20:48 โ€” ๐Ÿ‘ 10    ๐Ÿ” 5    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
What's Coming in TypeScript 6/7 | Daniel Rosenwasser | Jake Bailey | Ep 43B | TypeScript.fm - The Friendly Show for TypeScript Developers | Episode 43 Daniel Rosenwasser and Jake Bailey join the two fools to talk about what's coming soon in TypeScript 6 and 7. What changes should developers expect? What might the new compiler API look like? How is the...

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

13.11.2025 15:49 โ€” ๐Ÿ‘ 23    ๐Ÿ” 10    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 2

So brave.

13.11.2025 04:24 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Node 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.

12.11.2025 07:12 โ€” ๐Ÿ‘ 163    ๐Ÿ” 28    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 7

Type stripping is now stable.
Enjoy ๐ŸŒž

12.11.2025 05:07 โ€” ๐Ÿ‘ 131    ๐Ÿ” 26    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 4

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!

12.11.2025 06:20 โ€” ๐Ÿ‘ 8    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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

29.10.2025 10:40 โ€” ๐Ÿ‘ 18    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I write it anyway, otherwise it's hard to Jakegle anything about it.

29.10.2025 07:30 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Right but which was #1? Jakelang or SavannahScript?

28.10.2025 21:37 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Preview
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.

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...

28.10.2025 18:47 โ€” ๐Ÿ‘ 100    ๐Ÿ” 22    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 5
Preview
TypeScript (Native Preview) - Visual Studio Marketplace Extension for Visual Studio Code - Preview of the native TypeScript language server for Visual Studio Code.

And of course, we have the @vscode.dev extension for @typescriptlang.org native previews published nightly too!

marketplace.visualstudio.com/items?itemNa...

24.10.2025 00:25 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

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...

24.10.2025 00:22 โ€” ๐Ÿ‘ 38    ๐Ÿ” 10    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 1

Congratulations!! ๐ŸŽ‰๐ŸŽ‰

03.10.2025 23:02 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

ECMAScript 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 โœจ

24.09.2025 15:40 โ€” ๐Ÿ‘ 55    ๐Ÿ” 13    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 4
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

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    ๐Ÿ“Œ 0
A 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.

A 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 ๐Ÿงต

11.09.2025 13:41 โ€” ๐Ÿ‘ 29    ๐Ÿ” 8    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 4

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.

26.08.2025 22:20 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@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...

26.08.2025 18:11 โ€” ๐Ÿ‘ 37    ๐Ÿ” 6    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 1

Issue, not PR :D

26.08.2025 18:04 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

TypeScript 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 ๐ŸŽ‰

25.08.2025 19:42 โ€” ๐Ÿ‘ 120    ๐Ÿ” 21    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 1

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.

25.08.2025 17:24 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I'll bring it up in the issue though.

25.08.2025 17:03 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

You 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".

25.08.2025 17:03 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
Enable `--strict` mode by default ยท Issue #62333 ยท microsoft/TypeScript Background Almost a decade ago, we began to add certain options beyond --noImplicitAny and --strictNullChecks. Flags like --strictFunctionTypes, --noImplicitThis, and --strictBindCallApply have bee...

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...

25.08.2025 16:27 โ€” ๐Ÿ‘ 122    ๐Ÿ” 15    ๐Ÿ’ฌ 9    ๐Ÿ“Œ 4
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 .

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

21.08.2025 23:39 โ€” ๐Ÿ‘ 113    ๐Ÿ” 17    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 0

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    ๐Ÿ“Œ 0

Technically 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    ๐Ÿ“Œ 0
2025-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!

2025-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...

05.08.2025 13:28 โ€” ๐Ÿ‘ 85    ๐Ÿ” 16    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 1

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 ๐Ÿ™

01.08.2025 05:34 โ€” ๐Ÿ‘ 115    ๐Ÿ” 30    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

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

01.08.2025 17:21 โ€” ๐Ÿ‘ 30    ๐Ÿ” 5    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@danr is following 20 prominent accounts