Daniel Rosenwasser
danr.bsky.social
Daniel Rosenwasser
@danr.bsky.social
2K followers 350 following 37 posts
TypeScript Product Manager and TC39 rep working on JavaScript standards. Enthusiast of compilers, dev tools, language VMs/runtimes.
Posts Media Videos Starter Packs
Reposted by Daniel Rosenwasser
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.
Right but which was #1? Jakelang or SavannahScript?
Reposted by Daniel Rosenwasser
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...
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.
github.blog
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!! 🎉🎉
Reposted by Daniel Rosenwasser
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 ✨
boajs.dev Boa @boajs.dev · Sep 24
Temporal_rs has been released!!!

This is the first public release of Temporal_rs, a Rust implementation of the Temporal API powering Boa, Kiesel, V8 plus other engines.

This will be shipping in Chromium soon

More info in our blog post: boajs.dev/blog/2025/09...
Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8 | Boa JS
clock banner
boajs.dev
Reposted by Daniel Rosenwasser
Reposted by Daniel Rosenwasser
🚀 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...
Reposted by Daniel Rosenwasser
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 🎉
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.
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".
Reposted by Daniel Rosenwasser
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
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.
Reposted by Daniel Rosenwasser
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...
Reposted by Daniel Rosenwasser
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 🙏
Type stripping is enabled by default 🔥🔥🔥🔥
You can just run `node file.ts` without `--experimental-strip-types` flag.
This is a huge milestone
Node.js 22.18.0 is out and enables type stripping by default – that’s right, Node.js LTS can now run TypeScript files. Shout out to @marcoippolito.dev for championing that effort! Download links and full changelog available at nodejs.org/en/blog/rele...
Reposted by Daniel Rosenwasser
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
TypeScript 5.9 is now available! 📣

This release brings:

✅ An updated tsc --init
✅ Type-checking for the new 'import defer'
✅ Actual summaries in more DOM APIs
✅ Expandable quick info hovers (✨preview✨)

and more! Read up more on our blog:

devblogs.microsoft.com/typescript/a...
Announcing TypeScript 5.9 - TypeScript
Today we are excited to announce the release of TypeScript 5.9! If you’re not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for types. With types, TypeScript mak...
devblogs.microsoft.com
Reposted by Daniel Rosenwasser
TypeScript 5.9 is now available! 📣

This release brings:

✅ An updated tsc --init
✅ Type-checking for the new 'import defer'
✅ Actual summaries in more DOM APIs
✅ Expandable quick info hovers (✨preview✨)

and more! Read up more on our blog:

devblogs.microsoft.com/typescript/a...
Announcing TypeScript 5.9 - TypeScript
Today we are excited to announce the release of TypeScript 5.9! If you’re not familiar with TypeScript, it’s a language that builds on JavaScript by adding syntax for types. With types, TypeScript mak...
devblogs.microsoft.com