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
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!
February 12, 2026 at 3:45 PM
Reposted by Rob Palmer
Made a few updates to the post - specifically:

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

bsky.app/profile/type...
February 11, 2026 at 10:01 PM
Reposted by Rob Palmer
February 5, 2026 at 3:03 PM
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...
February 11, 2026 at 8:35 PM
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
February 11, 2026 at 8:10 PM
Reposted by Rob Palmer
Our tsgo adoption at Vanta has been pretty high-impact. Everything is so, so much faster now.
February 11, 2026 at 5:12 PM
Reposted by Rob Palmer
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 🎉
February 9, 2026 at 10:35 AM
Reposted by Rob Palmer
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!
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
github.com
February 8, 2026 at 1:35 PM
Reposted by Rob Palmer
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...
ahead-of-time wasm gc in wastrel — wingolog
wingolog: article: ahead-of-time wasm gc in wastrel
wingolog.org
February 6, 2026 at 3:49 PM
Reposted by Rob Palmer
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.
February 7, 2026 at 8:22 AM
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...
Add types for `RegExp.escape` by lionel-rowe · Pull Request #62138 · microsoft/TypeScript
Closes #61321 Towards #61735
github.com
February 7, 2026 at 2:02 AM
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...
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...
github.com
February 7, 2026 at 1:53 AM
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...
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.
github.com
February 7, 2026 at 1:44 AM
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...
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...
github.com
February 7, 2026 at 1:30 AM
Reposted by Rob Palmer
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...
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...
github.com
February 6, 2026 at 6:40 PM
Reposted by Rob Palmer
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 🧵
February 4, 2026 at 9:41 AM
Reposted by Rob Palmer
🚀 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 🧵
February 3, 2026 at 4:40 PM
Reposted by Rob Palmer
🔥 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
February 2, 2026 at 4:59 PM
Reposted by Rob Palmer
we have the first guest to our new e18e & friends monthly show! any idea who it is? 😄
February 2, 2026 at 7:19 PM
Reposted by Rob Palmer
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 🙏
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...
github.com
February 1, 2026 at 8:13 PM
Reposted by Rob Palmer
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!
February 1, 2026 at 1:00 PM
Reposted by Rob Palmer
The @e18e.dev project, which systematically speeds up the Node.js ecosystem, has published its 2025 results.

Invisible heroes who make life better for all of us. They need our support.

e18e.dev/blog/the-yea...
February 1, 2026 at 10:35 AM
Reposted by Rob Palmer
It's been a fun week or two

- @npmx.dev launch
- @bomb.sh launch
- @e18e.dev project leads team created
- Google sponsors e18e

Much more to come I'm sure!
January 31, 2026 at 9:39 PM
Reposted by Rob Palmer
hey bluesky 👋
January 31, 2026 at 6:13 PM