Joyee Cheung
She/her. I contribute to Node.js and V8. I post about museums, food, plants and other stuff too. github.com/joyeecheung
- 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...
- This was fun to hack on - a gdb unwinder for V8 JIT-compiled frames on x64. chromium-review.googlesource.com/c/v8/v8/+/75... Also interesting to learn this trick from the gdb source: caller's rsp before call = callee's rbp + 16, and this seems to be a conventional CFA in debuggers
- I think I figured out what's going on. Here is another blog post about tinkering with Node.js Core on ARM64 Windows (and tips about reducing the wait time on Windows) joyeecheung.github.io/blog/2026/01...
- New blog post on the journey of the new --build-sea flag and how SEA injection works joyeecheung.github.io/blog/2026/01...
- This just landed! Thanks @addaleax.bsky.social and @legendecas.bsky.social for the reviews! It will be out in the next semver-minor release of 25, and likely backportable to older LTS - the new workflow is a compatible improvement to the existing postject-based SEA building workflows from v18.x.
- Made some progress in my hobby project 🎄 Moving single executable application building into Node.js core for better UX/DX, currently works on macOS and Linux and open for feedback! (No Windows yet because I don't take another laptop with me on vacation 😅) github.com/nodejs/node/...
- Reposted by Joyee Cheung[Not loaded yet]
- Now is the time to realize I have been compiling with host arch = x64 the whole time because for whatever reason I have been using x64 python the whole time to run the configure script 😅
- This release contains a bunch of PRs I recently submitted to mark features I contributed to as stable/release candidate. Here is a thread about them 🧵:
- Reposted by Joyee Cheung[Not loaded yet]
- Reposted by Joyee Cheung[Not loaded yet]
- Reposted by Joyee Cheung[Not loaded yet]
- Finished two retrospective blog posts on the journey of require(esm) before 2025 ends: joyeecheung.github.io/blog/2025/12... joyeecheung.github.io/blog/2025/12...
- Made some progress in my hobby project 🎄 Moving single executable application building into Node.js core for better UX/DX, currently works on macOS and Linux and open for feedback! (No Windows yet because I don't take another laptop with me on vacation 😅) github.com/nodejs/node/...
- Good news: I am leaving cold and rainy weather for vacation Bad news: it looks like the location I picked is still cold and rainy (just slightly less so)
- When the reproducibility of a serialized object breaks and 1. It doesn’t show up in debug builds 2. There is no obvious pattern in how the bits change Then that might be an uninitialised padding (Spent a couple of hours trying to fix this again…after I forgot how I fixed something similar before)
- Reposted by Joyee Cheung[Not loaded yet]
- Reposted by Joyee Cheung[Not loaded yet]
- WIP guide on making Node.js work in an enterprise network environment… github.com/nodejs/nodej... ⚒️
- Reposted by Joyee Cheung[Not loaded yet]
- Bumping the stability of a bunch of Node.js features that I've been contributing to...(some of them are about the time; some of them are just forgotten to be promoted to stable 😅)
- Got my new passport and said goodbye to the old one that was full 😬 Anecdote: I got my first passport to give a talk at NodeJS interactive in Austin, that was my first trip abroad, my first conference, my first conference talk, and my first English talk all at the same time
- Touring/climbing steps in Chongqing