ES.nextNews: the latest in JavaScript and cross-platform tools
Curated by Dr. Axel Rauschmayer and Johannes Weber.

ES.next News

The latest in JavaScript and cross-platform tools

Private fields, proxies: pick one, you can’t have both
lea.verou.me@LeaVerou
Important caveat of private fields: You can’t use them together with proxies.


Node v20.2.0 (current): test.skip(), test.only() and more
nodejs.org@targos, @nodejs
Highlights:
  • Test API:
    • test.skip('name', () => {}) is equivalent to
      test('name', {skip: true}, () => {})
    • test.only('name', () => {}) is equivalent to
      test('name', {only: true}, () => {})
    • test.todo('name', () => {}) is equivalent to
      test('name', {todo: true}, () => {})
  • URLSearchParams:
    • It’s now possible to delete all entries that have both a given key and a given value (vs. only a given key): urlSearchParams.delete(key, value)
    • Similarly, we can check if an entry exists that has both a given key and a given value: urlSearchParams.has(key, value)


Bun v0.6.0: bundler, minifier, standalone executables and more
bun.sh@Jarred-Sumner, @oven-sh
Highlights:
  • New JavaScript bundler and minifier
  • Standalone executables
  • Use import.meta.main to check if the current file is the entry point that started bun.


Updates from the TC39 meeting in May 2023
dev.to@hemanth
Stage changes:
  • Stage 4: The first ECMAScript 2024 features!
    • Well-formed unicode strings
    • Asynchronous atomic wait
    • RegExp v flag with set notation + properties of strings (blog post)
  • Stage 3:
    • Decorator metadata
    • Float16Array
  • Stage 2:
    • Uint8Array to/from base64 and hex
    • Promise.withResolvers()
    • Handling time zone canonicalization changes
    • Array grouping (blog post): temporarily demoted from stage 2 until web compatibility issues are solved


ESM-CJS interop test: Node.js, Babel, Webpack, Rollup, esbuild
sokra.github.io@sokra

Tests how well legacy CommonJS modules interoperate with ECMAScript modules on various JavaScript platforms.

For more information on this topic, check out “How to write CommonJS exports that can be name-imported from ESM”.



State of Node.js performance 2023
blog.rafaelgss.dev@RafaelGSS
“The year is 2023 and we’ve released Node.js v20. It’s a significant accomplishment, and this article aims to use scientific numbers to assess the state of Node.js’ performance.”


Javy: JavaScript to WebAssembly toolchain
github.com@bytecodealliance
“Run your JavaScript on WebAssembly. Javy takes your JavaScript code, and executes it in a WebAssembly embedded JavaScript runtime. Javy can create very small Wasm modules in the 1 to 16 KB range with use of dynamic linking. The default static linking produces modules that are at least 869 KB in size.”



Looking for deeply qualified employees or customers? Advertise on ES.next News!
ES.next News reaches over 15,000 highly skilled and motivated developers. We take their trust seriously and have high editorial standards.
Check out our media data and get directly in touch with us.
Follow on Twitter

This email was sent to {{ email | default }}. Want to change how you receive these emails?
You can unsubscribe from this list