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.
Reposted by Rob Palmer
A bit of a vulnerable post by me but we need your help to get us through what has been a more difficult period than 2020.

It would be really appreciated if you could read and share in your networks too 💛

bell.bz/its-been-a-v...
It’s been a very hard year - Andy Bell
Unlike a lot of places in tech, my company, Set Studio/Piccalilli has no outside funding. Bootstrapped is what the LinkedIn people say, I think. It’s been a hard year this year. A very hard year...
bell.bz
November 27, 2025 at 4:23 PM
Reposted by Rob Palmer
It was great to visit Tokyo for JSConf.jp and TC39 last week! Now I'm down in Kyoto being mesmerized by the fall colors. 🍁
November 27, 2025 at 4:02 PM
Reposted by Rob Palmer
This week I attended my first in-person TC39.es meeting in Tokyo as a delegate. 🎉

It was very exciting to meet so many new and interesting people working towards the future of JavaScript. 🚀

I can’t wait to contribute more to the proposals, thank you for welcoming me into this community! 🤗
November 23, 2025 at 8:13 PM
Reposted by Rob Palmer
chokidar 5 published 🎉

now ESM only! 185KB -> 105KB install size
Release 5.0.0 · paulmillr/chokidar
Make the package ESM-only. Reduces on-disk package size from ~150kb to ~80kb Increase minimum node.js version to v20.19. The versions starting from it support loading esm files from cjs fix: Make t...
github.com
November 26, 2025 at 9:53 AM
TypeScript excitement 😉

"Our type checks are infinitely parallelizable"

@brad.zacher.com.au explains how the difference between the ts & d.ts dependency graphs can help scale the TS checker to 12 MLoC.

A 2x faster P50 shifted user behavior to rely less on CI and boosted local checking by 70% 🔥
November 25, 2025 at 9:09 AM
Node & TypeScript excitement 😉

Marco tells the story of implementing Type Stripping support in Node. It involves a lot of collaboration across the JS ecosystem.

🔷 First cut took 20 days (fast for Node)
🔷 TS delivered flags to ease adoption
🔷 Marco's reward: a bread machine
Just published a new blog post. It’s about my experience shipping Node.js native TypeScript support.

It’s not a technical blog post, it's about my perspective, what it felt like and what I learned along the way.

satanacchio.hashnode.dev/the-summer-i...
satanacchio.hashnode.dev
November 24, 2025 at 9:20 AM
Reposted by Rob Palmer
TIL that MDN has a ctrl+k search
November 23, 2025 at 1:30 AM
ECMAScript excitement 😉

This week TC39 advanced these proposals 🎉

4️⃣ Intl.Locale Info
4️⃣ Iterator.concat
4️⃣ JSON.parse Source Text
3️⃣ Iterator.zip
2️⃣.7️⃣ Iterator.prototype.join
2️⃣.7️⃣ Promise.allKeyed
2️⃣ Error.captureStackTrace
2️⃣ Import Text
2️⃣ Object.keysLength
1️⃣ Intl Energy Units
1️⃣ Intl Unit Protocol

🧵
November 20, 2025 at 8:20 AM
ECMAScript excitement 😉

Congrats to @bridgear.bsky.social @jordan.har.band on advancing Object.getNonIndexStringProperties to Stage 1 at TC39 today 🎉

Given an object, it provides an array of enumerable own properties that are not numeric indices.

github.com/BridgeAR/arr...
November 20, 2025 at 4:37 AM
ECMAScript excitement 😉

Congrats to @nicr.dev on advancing Intl Energy Units to Stage 1 at TC39 today 🎉

It provides three new units to work with Intl.NumberFormat for string formatting 👍

github.com/johanrd/prop...
November 20, 2025 at 4:30 AM
ECMAScript excitement 😉

Congrats to @bridgear.bsky.social @jordan.har.band on advancing Object.keysLength to Stage 2 at TC39 today 🎉

let count = Object.keysLength(o)

It counts the string-keyed own properties on an object. This avoids the cost of the intermediate array in Object.keys(o).length
November 19, 2025 at 5:47 AM
Reposted by Rob Palmer
Here's the proposal repo... Still very light on detail: GitHub.com/tc39/proposa...
November 19, 2025 at 4:27 AM
ECMAScript excitement 😉

Congrats to @bakkot.com on advancing Iterator Join to stage 2.7 at TC39 today 🎉

Iterator.prototype.join() turns an iterator directly into a single string (with an optional separator) just like Array.prototype.join()

github.com/bakkot/propo...
GitHub - bakkot/proposal-iterator-join: JS proposal for a means to concatenate the contents of an iterator into a string
JS proposal for a means to concatenate the contents of an iterator into a string - bakkot/proposal-iterator-join
github.com
November 19, 2025 at 2:10 AM
Reposted by Rob Palmer
Early bird tickets end today!
Spread the word.
2026.stateofthebrowser.com/tickets/
November 18, 2025 at 10:57 AM
Reposted by Rob Palmer
👀 Future of JS

This underrated upcoming JS feature is super useful 🔥

Soon, you should be able to import JS code as a string!

This is super useful, in particular for docs sites!

Similar to Webpack raw loader, asset query ?raw etc, but available everywhere natively!
November 18, 2025 at 9:17 AM
ECMAScript excitement 😉

Congrats to @jasnell.me on advancing Typed Array Find Within to Stage 1 at TC39 today 🎉

It aims to provide a native indexOf operations for Typed Arrays.

docs.google.com/presentation...
November 18, 2025 at 8:05 AM
ECMAScript excitement 😉

Congrats to @jasnell.me on advancing Typed Array Concatenation to Stage 1 at TC39 today 🎉

It aims to improve the performance of this concat operation compared to userland libraries.
November 18, 2025 at 7:52 AM
ECMAScript excitement 😉

Congrats to Eemeli Aro @mozilla.org on advancing Import Text to Stage 2 at TC39 today 🎉

It uses an import attribute for easy loading.

import text from "path/to/file.txt" with { type: "text" };

github.com/eemeli/propo...
GitHub - eemeli/proposal-import-text: A TC39 proposal for importing text
A TC39 proposal for importing text. Contribute to eemeli/proposal-import-text development by creating an account on GitHub.
github.com
November 18, 2025 at 7:34 AM
ECMAScript excitement 😉

Congrats to @sffc.bsky.social on advancing Intl Unit Protocol to Stage 1 at TC39 today 🎉

It aims to provide a protocol that lets a number formatter accept a number annotated with a unit. This is independent of the Amount proposal.

github.com/sffc/proposa...
November 18, 2025 at 7:02 AM
ECMAScript excitement 😉

Congrats to my coworker @ashley-c.bsky.social at TechAtBloomberg on advancing Await Dictionary to Stage 2.7 at TC39 today 🎉

Promise.all returns positional results as an array. Promise.allKeyed allows named results inside an object 👍

github.com/tc39/proposa...
November 18, 2025 at 6:33 AM
ECMAScript excitement 😉

Congrats to Michael Ficarra on advancing Joint Iteration to Stage 3 at TC39 today 🎉

It provides synchronized iteration over multiple iterators.

🔸 Iterator.zip vends an array per-iteration
🔸 Iterator.zipToObjects vends an object per-iteration
November 18, 2025 at 5:50 AM
ECMAScript excitement 😉

Congrats to @michael.ficarra.me on advancing Iterator Sequencing to Stage 4 at TC39 today 🎉

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

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

github.com/tc39/proposa...
November 18, 2025 at 5:24 AM
ECMAScript excitement 😉

Congrats to Frank Tang on advancing Intl Locale Info API to Stage 4 at TC39 today 🎉

It exposes Locale info such as week data (first day in a week, weekend start day, weekend end day), text direction, hour cycles, numbering systems, etc.

github.com/tc39/proposa...
November 18, 2025 at 4:08 AM
ECMAScript excitement 😉

Congrats to Dan Minor @mozilla.org on advancing Error.captureStackTrace to Stage 2 at TC39 today 🎉

This is about standardizing and potentially normalizing an API that already exists.

github.com/tc39/proposa...
GitHub - tc39/proposal-error-capturestacktrace: Standardizing Error.captureStackTrace
Standardizing Error.captureStackTrace. Contribute to tc39/proposal-error-capturestacktrace development by creating an account on GitHub.
github.com
November 18, 2025 at 2:47 AM
ECMAScript excitement 😉

Congrats to Richard Gibson on advancing JSON.parse source text access to Stage 4 at TC39 today 🎉

It grants reviver functions access to the input source text 👍

github.com/tc39/proposa...
GitHub - tc39/proposal-json-parse-with-source: Proposal for extending JSON.parse to expose input source text.
Proposal for extending JSON.parse to expose input source text. - tc39/proposal-json-parse-with-source
github.com
November 18, 2025 at 2:09 AM