Rob Palmer's Avatar

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.

7,360 Followers  |  754 Following  |  627 Posts  |  Joined: 03.05.2023  |  2.1183

Latest posts by robpalmer.bsky.social on Bluesky

Preview
build: enable Temporal by default by richardlau Β· Pull Request #61806 Β· nodejs/node Enabling Temporal support requires cargo and rustc, which are new build toolchain requirements. Add a --v8-disable-temporal-support option to configure.py to explicitly opt-out of Temporal support ...

It's nearly time for Node.js

github.com/nodejs/node/...

13.02.2026 20:22 β€” πŸ‘ 52    πŸ” 5    πŸ’¬ 1    πŸ“Œ 1

The "export defer" TC39 proposal aims to introduce a similar optimization *at the language level*, so that you can rely on it in all the tools and environments that you might run your code with.

Just because you need one thing from a module, you shouldn't pay the cost of all the others!

12.02.2026 15:45 β€” πŸ‘ 31    πŸ” 6    πŸ’¬ 0    πŸ“Œ 0

Both are deprecated.

12.02.2026 17:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hello Dave!

Which API resources are you following?

(and why can't I DM you? πŸ˜‰)

11.02.2026 22:50 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Made a few updates to the post - specifically:

- es2025 target
- new library additions/updates
- deprecation of node10

bsky.app/profile/type...

11.02.2026 22:01 β€” πŸ‘ 18    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

This looks like it assumes const object bindings imply the values are `as const`-style immutable containers.

Which no other DTS-generator assumes.

11.02.2026 22:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail
05.02.2026 15:03 β€” πŸ‘ 147    πŸ” 43    πŸ’¬ 5    πŸ“Œ 9

TypeScript 6.0 introduces a new flag: --stableTypeOrdering

It's a migration-assist flag to allow comparison of *.d.ts files made by TS 6.0 vs the future TS 7.0 Go compiler βš–οΈ

TS 7.0 relies on consistent type sorting across the many parallel compiler threads 🧡

devblogs.microsoft.com/typescript/a...

11.02.2026 20:35 β€” πŸ‘ 22    πŸ” 4    πŸ’¬ 2    πŸ“Œ 0

TypeScript 6.0 Beta is out πŸŽ‰

πŸ”Ά Temporal
πŸ”Ά Map#getOrInsert
πŸ”Ά RegExp.escape
πŸ”Ά #/ prefix for Package Imports

New defaults!
πŸ”Ά --target=ES2025
πŸ”Ά "use strict"
πŸ”· --strict

Deprecations!
πŸ—‘οΈ baseUrl, outFile
πŸ—‘οΈ import assertions
πŸ—‘οΈ `module` namespaces
πŸ—‘οΈ module: amd
πŸ—‘οΈ moduleResolution: node
πŸ—‘οΈ target: ES5

11.02.2026 20:10 β€” πŸ‘ 84    πŸ” 10    πŸ’¬ 3    πŸ“Œ 1
A line chart showing many lines, each representing the time take to type check a package, all decreasing over a one-month span.

A line chart showing many lines, each representing the time take to type check a package, all decreasing over a one-month span.

Our tsgo adoption at Vanta has been pretty high-impact. Everything is so, so much faster now.

11.02.2026 17:12 β€” πŸ‘ 28    πŸ” 3    πŸ’¬ 3    πŸ“Œ 2

Excellent. Thank you for the updated numbers. At a first glance, they now seem credible and broadly make sense.

Is there a write up on how you avoid the need for Isolated Declarations? Are you performing cross-file analysis?

11.02.2026 08:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is the first rule of benchmark club.

The second rule - more of a courtesy really - is to share the code and results privately with other candidates before any public announcement. It significantly increases credibility if fix ups occur before the claim, rather than iteratively updating later.

09.02.2026 13:56 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Our first guest on the "e18e & friends" show is Josh Goldberg. Streaming on the 10th February at 7pm CET.

Our first guest on the "e18e & friends" show is Josh Goldberg. Streaming on the 10th February at 7pm CET.

very excited for our first guest of the e18e & friends show to be @joshuakgoldberg.com!

He's done so many great things for open source already, so we're super happy to have him join us to chat about what he's been up to lately!

tune in tomorrow πŸŽ‰

09.02.2026 10:35 β€” πŸ‘ 39    πŸ” 4    πŸ’¬ 1    πŸ“Œ 2

How does the performance compare to TS-Go?

09.02.2026 01:16 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
GitHub - e18e/action-dependency-diff: A GitHub action to report dependency changes and potential problems A GitHub action to report dependency changes and potential problems - e18e/action-dependency-diff

new release of the @e18e.dev github action πŸš€

you can use this to diff changes in your dependencies. e.g. trust/provenance, duplicates, significant size increases, etc.

check it out!

08.02.2026 13:35 β€” πŸ‘ 34    πŸ” 9    πŸ’¬ 0    πŸ“Œ 0

Coming soon!

07.02.2026 16:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

All JS features in V8 ultimately make their way to the active Chromium browsers such as Arc, Brave, Edge, Opera, Vivaldi, as well as the active V8 non-browser runtimes such as Node & Deno.

07.02.2026 16:34 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
ahead-of-time wasm gc in wastrel β€” wingolog wingolog: article: ahead-of-time wasm gc in wastrel

you have probably heard that webassembly supports garbage collection. are you looking for an ahead-of-time compiler for wasm with gc? as it happens, i have written a little monograph on the topic wingolog.org/archives/202...

06.02.2026 15:49 β€” πŸ‘ 18    πŸ” 10    πŸ’¬ 2    πŸ“Œ 0

communities grow fueled by the value they create for themselves. npmx is useful to us, and that is enough to bind us together and take care of our website long term. we already won.

07.02.2026 08:22 β€” πŸ‘ 46    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Preview
Add types for `RegExp.escape` by lionel-rowe Β· Pull Request #62138 Β· microsoft/TypeScript Closes #61321 Towards #61735

TypeScript excitement πŸ˜‰

Congrats to Lionel-Rowe on landing support for RegExp.escape in upstream TypeScript πŸŽ‰

Heading for TS 6.0 Beta next week πŸ‘

github.com/microsoft/Ty...

07.02.2026 02:02 β€” πŸ‘ 20    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Preview
Introduce ES2025 target & Add missing ScriptTargetFeatures by petamoriken Β· Pull Request #63046 Β· microsoft/TypeScript Fixes #61735 This PR includes the addition of 2 type files: es2025.regexp.d.ts es2025.intl.d.ts Related issues and (stalled) PRs ES2025 RegExp.escape (es2025.regexp.d.ts) Closes #61321 Closes #62...

TypeScript excitement πŸ˜‰

Congrats to @moriken.dev on landing support for the ES2025 target in upstream TypeScript πŸŽ‰

Heading for TS 6.0 Beta next week πŸ‘

github.com/microsoft/Ty...

07.02.2026 01:53 β€” πŸ‘ 23    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Add proposal-upsert methods to lib.esnext.collection by Renegade334 Β· Pull Request #62612 Β· microsoft/TypeScript proposal-upsert is now stage 3, shipped in Safari 18.4, shipping in Firefox 144, and staging in Chromium.

TypeScript excitement πŸ˜‰

Congrats to Renegade334 on landing support for @tc39.es "Upsert" in upstream TypeScript. Heading for TS 6.0 Beta next week πŸŽ‰

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

It sets a default value on a map key with no overwriting.

github.com/microsoft/Ty...

07.02.2026 01:41 β€” πŸ‘ 12    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
Add lib.esnext.temporal by Renegade334 Β· Pull Request #62628 Β· microsoft/TypeScript Closes #60164. No custom calendar support, as per the latest spec changes. There are lots of places in the spec where property bags have "at least one of" constraints (eg. either month or...

TypeScript excitement πŸ˜‰

Congrats to Renegade334 on landing type declarations for @tc39.es Temporal - the new JS Date-Time API - in upstream TypeScript πŸŽ‰

Heading for TS 6.0 Beta next week πŸ‘

Temporal is available in Firefox & Chrome today.

github.com/microsoft/Ty...

07.02.2026 01:30 β€” πŸ‘ 40    πŸ” 11    πŸ’¬ 1    πŸ“Œ 3
Preview
src: initial support for ESM in embedder API by joyeecheung Β· Pull Request #61548 Β· nodejs/node This patch extends LoadEnvironment to support loading ES modules, and adds the following new types: enum class ModuleFormat : uint8_t { kCommonJS, kModule, }; // Data for specifying an entry p...

Started iteration on ESM support in the Node.js embedder API with new overloads that likely will be less prone to ABI breakages as more features are added..
github.com/nodejs/node/...

Initial support has released in 25.6.0
nodejs.org/en/blog/rele...

06.02.2026 18:40 β€” πŸ‘ 9    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

From Chrome 145 (on general release next week!), DevTools we will start to show so called "soft" navigations and "Soft LCP" in the Performance Panel traces.

These are for SPAs which don't do a full page load, but instead "fake it" by updating the current page and pushing a new history entry.

1/5 🧡

04.02.2026 09:40 β€” πŸ‘ 46    πŸ” 12    πŸ’¬ 2    πŸ“Œ 1
Rolldown - Lazy Barrel Optimization

Rolldown - Lazy Barrel Optimization

πŸš€ Lazy Barrel Optimization in Rolldown

Barrel files, files that re-export from other modules, are common in modern JavaScript projects but a nightmare for your build time.
Rolldown now has Lazy Barrel Optimization to fix this.

Here's how it works 🧡

03.02.2026 16:40 β€” πŸ‘ 86    πŸ” 12    πŸ’¬ 2    πŸ“Œ 5
Post image

πŸ”₯ NEW BANTER: "Scaling Node.js with the Right Signals: ELU"

CPU utilization is lying to you.

Your auto-scaler adds pods while your actual bottleneck gets worse.

Luca and I explain why ELU is the metric you should be watching.

πŸ“… Feb 4th

02.02.2026 16:59 β€” πŸ‘ 15    πŸ” 5    πŸ’¬ 2    πŸ“Œ 1
Who's the first guest? e18e & friends - the community show. February 10th 2026, 7pm CET

Who's the first guest? e18e & friends - the community show. February 10th 2026, 7pm CET

we have the first guest to our new e18e & friends monthly show! any idea who it is? πŸ˜„

02.02.2026 19:19 β€” πŸ‘ 23    πŸ” 5    πŸ’¬ 3    πŸ“Œ 2
Preview
Sponsor @patak-dev on GitHub Sponsors Hey! I'm one of the Project Stewards of [npmx](https://npmx.dev). We're building a modern browser for the npm registry, by fostering an ever growing community of developers and trying to set an exa...

We have a unique opportunity with npmx. We're building something very special together. I want to give myself the chance to focus on helping steward the project. I'm going to be working as an independent open source developer this year. Support my work and help me focus on npmx long-term πŸ™

01.02.2026 20:12 β€” πŸ‘ 73    πŸ” 23    πŸ’¬ 3    πŸ“Œ 4
100 Contributors, with avatars showing the GitHubs accounts of npmx contributors

100 Contributors, with avatars showing the GitHubs accounts of npmx contributors

we're 100 contributors in 10 days in the repo.npmx.dev πŸ™Œ

join us! let's build together the browser for the npm registry we deserve!

01.02.2026 13:00 β€” πŸ‘ 95    πŸ” 10    πŸ’¬ 2    πŸ“Œ 2

@robpalmer is following 20 prominent accounts