Profile avatar
robpalmer.bsky.social
JavaScript Infrastructure & Tooling at Bloomberg. Co-chairing TC39. Likely to tweet tech stuff about JS & software performance. Opinions are my own.
284 posts 3,781 followers 679 following
Prolific Poster
Conversation Starter

Good day in London so far. Finally got to catch up with @robpalmer.bsky.social in person! And caught @justinfagnani.com for a beer! πŸ™Œ

How it’s going with ESM vs CJS today: 29.6% of the popular packages on npm now includes ESM. Up from 28.8% a quarter ago. ESM-only is up from 10.8% to 11.5%. It’s perhaps all a bit soon after Node 18 became EOL on April 30, making `require(esm)` available everywhere. Maybe next quarter shows more

βœ‹ [email protected] is out! - Browser Target Changed to Baseline Widely Available - Node 18 support dropped. Vite is now distributed as ESM only Plus fixes and deprecated feats removals, preparing for rolldown. Help us test the beta and report back πŸ™ github.com/vitejs/vite/...

@goose.icu showing some benchmark numbers at @webengineshackfest.org

ECMAScript Excitement πŸŽ‰ This week, at its 108th meeting, TC39 advanced these proposals:

Today we are excited to announce Rolldown-Vite: a technical preview of the version of @vite.dev entirely powered by the Rust stack we built over the past year (Oxc + @rolldown.rs) voidzero.dev/posts/announ...

ECMAScript excitement πŸ˜‰ This week TC39 advanced these proposals πŸŽ‰ 4️⃣ Array.fromAsync 4️⃣ Error.isError 4️⃣ Explicit Resource Management: `using` 3️⃣ Immutable ArrayBuffer 2️⃣ Number.prototype.clamp 2️⃣ Seeded Pseudo Random Number Generator 1️⃣ Inspector 1️⃣ Keep Trailing Zeros 1️⃣ More Random Functions

ECMAScript excitement πŸ˜‰ Congrats to @jakob.jingleheimer.dev on advancing the Inspector proposal to Stage 1 at TC39 today πŸŽ‰ Inspector is a subset of the larger Comparisons/Assertions proposal. It tackles the problem space of printing failed comparisons of objects πŸ‘ github.com/JakobJingleh...

ECMAScript Excitement πŸŽ‰ Today, TC39 advanced these proposals: 2️⃣ Math.clamp 2️⃣ Seeded Pseudo-Random Numbers 1️⃣ Random Functions

We're about to begin our next JSR open office hours. Come with questions and we'll share the upcoming roadmap! discord.gg/Xr2a5pHx?eve...

This is so random! and muuuuch needed A new Random namespace with 22 methods for working with randomness in JavaScript. proposal just hit Stage 1

ECMAScript excitement πŸ˜‰ Congrats to @goose.icu on advancing the Math.clamp proposal to Stage 2 at TC39 today πŸŽ‰ Math.clamp(number, min, max) constrains the number to be between the stated range πŸ‘ github.com/tc39/proposa...

And now for something completely different:

ECMAScript excitement πŸ˜‰ Congrats to @tabatkins.com on advancing the proposal for More Random Functions to Stage 1 at TC39 today πŸŽ‰ It provides a set of functions for proper generation of random numbers with control over ranges and distributions πŸ‘ github.com/tc39-transfe...

ECMAScript excitement πŸ˜‰ Congrats to @tabatkins.com on advancing the Seeded Pseudo-Random Numbers proposal to Stage 2 at TC39 today πŸŽ‰ It produces a series of pseudo-random numbers in a way that can be reproduced across program runs and different JS realms πŸ‘ github.com/tc39/proposa...

Interested in Signals? Enjoy learning by reading code? Check out github.com/jkup/learn-s...

As many of you know, I have set myself a mission in 2025 to try and raise Β£50,000 for education-related charities that are equipping young people as they navigate those tricky years into adult life and work. Thank you for all the support so far! - all details at www.givewheel.com/fundraising/...

The Chrome DevTools Performance panel just leveled up! πŸš€ Here's a 69-second taste of the new hotness.

ECMAScript Excitement πŸŽ‰ Today, TC39 advanced these proposals: 4️⃣ Explicit Resource Management 4️⃣ Array.fromAsync 4️⃣ Error.isError 1️⃣ Keep trailing zeros in Intl.NumberFormat and Intl.PluralRules

ECMAScript excitement πŸ˜‰ Congrats to @chronicles.org on conditionally advancing Explicit Resource Management to Stage 4 at TC39 today πŸŽ‰ It introduces `using` declarations and the Symbol.dispose protocol to deterministically and ergonomically release resources πŸ‘ github.com/tc39/proposa...

ECMAScript excitement πŸ˜‰ Congrats to champion JS Choi on conditionally advancing TC39 proposal Array.fromAsync to Stage 4 at TC39 today πŸŽ‰ It's like Array.from & works with async iterators. It's like the npm pkg it-all. It eliminates needing an adhoc for-await-of loop πŸ‘ github.com/tc39/proposa...

After *a decade* moving through @tc39.es, `Error.isError` is now stage 4! - github.com/tc39/proposa... - github.com/tc39/proposa... - npmjs.com/error.iserror

Trying to collect some data: what package that you know/maintain have transitioned to shipping ESM-only/ESM-first after it's unblocked by the support of require(esm)? Any tips/experiences to share?

ECMAScript excitement πŸ˜‰ Congrats to @jordan.har.band on advancing Error.isError to Stage 4 at TC39 today πŸŽ‰ Error.isError() allows you to test if a value is an Error instance. It works even if the Error originates from another Realm, similar to Array.isArray πŸ‘ github.com/tc39/proposa...

Object.propertyCount could significantly increase the performance of deep equality comparisons of objects.

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

ECMAScript excitement πŸ˜‰ Firefox 139 ships the TC39 Stage 3 Temporal proposal πŸŽ‰ It's about time. Congrats to those who worked on the implementation including Andre Bargull & Dan Minor πŸ‘ developer.mozilla.org/en-US/docs/M...

we've seen some great successes from the @e18e.dev community. here's a few. the growth of these has been incredible πŸŽ‰ - tinyexec 11M/week - tinyglobby 17M/week - fdir 20M/week - knip 2.4M/week - neotraverse 1.3M/week you can use `eslint-plugin-depend` to suggest these & more in your repo

Trip report of our Paris 2025 collaboration summit ✨ https://nodejs.org/en/blog/events/collab-summit-2025-paris Recordings: https://youtube.com/playlist?list=PLfMzBWSH11xZi7m2GPsgyi84BFP1bPLCI

This month, JavaScript turns 30 πŸŽ‚ Here are key moments showing how JavaScript evolved from a little scripting language to one of the world's most popular πŸ‘‡ deno.com/blog/history...

I'm looking for senior devs to join our UI Infra team in New York to work on the Bloomberg Terminal πŸ—½ This is building frontend toolkits using JS/Web in embedded Chromium. It's not app development. Experience with non-Web UI helps. DM me if you prefer "building React" to "using React" πŸ”₯

TypeScript excitement πŸ˜‰ The "tsgo" native Go port is now available on npm as an early preview πŸŽ‰ πŸ”· Checker: Most projects will see error parity with v5.8 πŸ”· Now supports JS and JSX πŸ”· LSP: Auto-completions work πŸ”· Perf: 10x win persists πŸ”· API: Sync access via a Node addon