1. X
  2. Joyee Cheung
Log inSign up
Joyee Cheung
2,967 posts
user avatar
Joyee Cheung
@JoyeeCheung
She/Her. I contribute to Node.js and V8.
Mostly on 🦋
joyeecheung.github.io/blog/
Joined August 2012
795
Following
5,049
Followers
RepliesRepliesMediaMedia

Log in or sign up for X

See what’s happening and join the conversation

Continue with phone
or
Log in with username or email
Terms·Privacy·Cookies·Accessibility·Ads Info·© 2026 X Corp.
  • Pinned
    user avatar
    Joyee Cheung
    @JoyeeCheung
    Nov 16, 2024
    🦋
    5.6K
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jul 8
    Made the new debug helper plugins work for Node.js + bleeding edge V8 🌟 Verified it works in LLDB (Linux, macOS) & GDB (Linux), both in live and coredump debugging Going to backport the patches to Node.js when the object inspection is more polished and it stablizes bit more..
    Using the plugin, bt in gdb shows the JS source info of JIT-compiled frames, mostly from the CJS loader (without plugin gdb only shows ???)
    In the plugin's `v8 inspect` command, it shows the this argument of the first frame is a function named "Module" (the CJS loader class i.e. require('module').Module)
    2.1K
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jul 7
    Landed some improvements to errors for require(esm) with top-level await (behind --experimental-print-required-tla for now): - No need to run the code to collect the TLA locations, so it can be enabled by default soon - Added require stack and location metadata to the error
    Before: extra noisy arrow pointing to internals, no require stack, needs to run the code to find the top-level await location
After: no more noisy arrows, added require stacks to the output, finds location without running the code
    New ERR_REQUIRE_ASYNC_MODULE includes error.requireStack and error.topLevelAwaitLocations metadata properties
    1.8K
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jun 11
    Today I gave a talk @thejsnation about the life cycle of ESM in Node.js, how it differs in other environments and the new features that will affect these stages. Slides:
    Image
    talks/jsnation_2026/life-of-an-esm-in-nodejs.pdf at master · joyeecheung/talks
    From github.com
    1.8K
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jun 6
    Moving along with the debug_helper-based LLDB & GDB V8 plugins, this now supports basic object inspection! It was fun to write tests that deliberately corrupt the memory and ensure the plugin falls back gracefully, something I've never tried before when maintaining other plugins!
    A screenshot showing the receiver (this) being displayed when doing bt in lldb using the plugin, and using v8 inspect to print JS objects
    913
  • See @JoyeeCheung's full profile

    Sign up
    Log in
Advertisement
Advertisement