Rob Palmer
banner
robpalmer.bsky.social
Rob Palmer
@robpalmer.bsky.social
JavaScript Infrastructure & Tooling at Bloomberg. Co-chairing TC39. Likely to tweet tech stuff about JS & software performance. Opinions are my own.
ECMAScript excitement 😉

TC39 has a *packed* agenda for next week & will consider advancing:

4️⃣ Intl.Locale info
4️⃣ Iterator Sequencing
4️⃣ JSON.parse source
3️⃣ Intl Era Month Code
3️⃣ Joint Iteration
2️⃣.7️⃣ Error.prototype.stack
2️⃣.7️⃣ export defer
2️⃣ Amount
2️⃣ await dictionary
2️⃣ Declarations in Conditionals

🧵
November 11, 2025 at 9:00 AM
My child's school's third-party online learning platform has been enhanced with AI. It offers to explain terms in detail, e.g. what are variables and constants.

If you choose this, the child is first asked if they wish to pay for premium, or they can "Ask my parents" to pay.
November 2, 2025 at 11:50 AM
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
October 29, 2025 at 10:40 AM
ECMAScript excitement 😉

Congrats to proposal champion Dan Minor @mozilla.org on shipping the TC39 Stage 3 Upsert proposal in Firefox 144 🎉

let map = new Map();
map.getOrInsert(key, defaultVal);

It lets you set a default value on a map key without overwriting an existing value 👍
October 14, 2025 at 7:06 PM
A blog post on Vite+ and the future of web tooling 📜

🔶 A new CLI that combines Vite, Vitest, Oxlint, Oxfmt
🔶 Centralized simple config
🔶 Adds easy monorepo tooling
🔶 Free for individuals, OSS, & small companies
🔶 Existing tools remain independent & assertively MIT
October 13, 2025 at 7:23 PM
As for the launch of Vite+, I'm glad we now have the demo and the website.

Probably it's best to wait for the blog post (promised for Monday) to really understand it and continue the conversation.

viteplus.dev
October 11, 2025 at 7:08 PM
This week's @viteconf.org was a LOT of fun.

It rekindled some of the neutrality/plurality magic from the old JSConfEUs. Like Switzerland. Bridging communities & frameworks. Folk cheering each other on, celebrating collaboration 🎉

TechAtBloomberg folk showed up in force - 7 of us!
October 11, 2025 at 7:08 PM
Vite+ unified CLI will bring together many existing features and a new monorepo task runner.
October 10, 2025 at 7:37 AM
October 9, 2025 at 12:11 PM
"In my opinion, a lot of the success of ES6 was due to the existence of Babel" - @overlookmotel.bsky.social at @viteconf.org
October 9, 2025 at 11:50 AM
@overlookmotel.bsky.social is now at @jsmonthlylondon.bsky.social explaining how tool migration to Rust does not need to be barrier for JS developers.

Oxlint is working ensure JS plugins can be fast via lazy deserialization of the Rust-constructed AST.
September 30, 2025 at 7:21 PM
I'm grateful that TechAtBloomberg folk get to meet in-person whilst living around the globe. Travel is a privilege.

We just wrapped up a week in London that brought together our JS Infra & Performance/Observability teams who power the Terminal.

Day 1 was at the National Maritime Museum, Greenwich.
September 21, 2025 at 1:07 PM
📜 A case study by Stuart Dotson on how @calm.com migrated a Rush.js monorepo to use Node's type-stripping

📈 Describes migration phases
🆕 Starts with converting to ESM
💥 Sinon usage needed careful handling
🌟 Adopted erasableSyntaxOnly
🔥 30% faster dev iteration
⚡ 40% faster app start
August 26, 2025 at 8:00 PM
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...
August 5, 2025 at 1:28 PM
ECMAScript excitement 😉

Congrats to @michael.ficarra.me on advancing the Iterator Sequencing proposal to Stage 3 at TC39 this week 🎉

let it = Iterator.concat(it1, it2, ...)

It helps you create an iterator by stitching together a sequence of iterators 👍

github.com/tc39/proposa...
July 31, 2025 at 7:33 AM
ECMAScript excitement 😉

Congrats to Dan Minor @mozilla.org on advancing the Upsert proposal to Stage 3 at TC39 this week 🎉

let map = new Map();
map.getOrInsert(key, defaultVal);

It lets you set a default value on a map key without overwriting an existing value 👍
July 30, 2025 at 7:29 AM
ECMAScript excitement 😉

Congrats to @bakkot.com on advancing Math.sumPrecise to Stage 4 at TC39 this week 🎉

let vals = [1e20, 0.1, -1e20];
Math.sumPrecise(vals); //👉 0.1

It lets you calculate the sum of an array of numbers. Manual addition in a loop can lose precision - use this API instead.
July 30, 2025 at 7:10 AM
ECMAScript excitement 😉

Congrats to @bakkot.com on advancing UInt8Array ↔️ Base64/Hex to Stage 4 at TC39 this week 🎉

UInt8Array.prototype.
toBase64
toHex

UInt8Array.
fromBase64
fromHex

It lets you convert directly between binary data and Base64/Hex strings 👍
July 30, 2025 at 6:56 AM
📜 "When Is WebAssembly Going to Get DOM Support?"

An article by @littledan.dev from TechAtBloomberg on the latest advances that make JavaScript & Wasm play nicely together 🤝

Key takeaway: Build steps for Wasm and JS glue code are not going away - and that's OK 👍

queue.acm.org/detail.cfm?i...
July 8, 2025 at 2:06 PM
😮
July 1, 2025 at 6:46 PM
Open source messaging remains an aspirational goal.

Alas IYKYK
June 7, 2025 at 9:52 AM
At this week's TC39 meeting @ptomato.name shares the implementation status of the Stage 3 Temporal API across engines 👍

You can see the full slides here:
ptomato.name/talks/tc39-2...
May 28, 2025 at 9:08 AM
Evidence from yesterday
May 13, 2025 at 8:26 PM
London JS scene attracts folks from as far away as Portland and even Newcastle 😉
April 22, 2025 at 6:03 PM
The new native TS compiler is a stunning tech feat. A gift to the community. A thoughtful plan to preserve expectations. So reactions surprised me!

JS folk: Cool! An OSS project I rely on & don't pay for is now 10x faster 😍

Rust folk: Curious! Let's learn more about this choice.

C# spokespeople:
March 12, 2025 at 9:56 AM