JS0/JSSugar; converting CommonJS to ESM; top-level await in Node.js; Node.js v23.0.0; Bun v1.1.31;

Discussing JS0/JSSugar

docs.google.com

We linked to the JS0/JSSugar slides in last week’s issue. We now have reactions to those slides. It’s important to keep in mind that it’s not even a proposal yet, just first thoughts about a topic. One point in particular strikes me as worthy of discussion: What does it mean for the JavaScript ecosystem if so much of the code is compiled (Babel, TypeScript, bundling, etc.)?

The blog post “New TC39 proposal! Does JavaScript require a compiler soon?” by Nils Riedemann has a mostly positive take on JS0/JSSugar: “It will also help to prevent further language bloat; like I’d love pipes in JS, but since that proposal doesn’t seem to get anywhere, it might be better suited for JSSugar as they can easily be transpiled to JS we have today. Immutable Data Structures (Records/Tuples), however, those would be features of JS0 so that browser engines can optimize memory handling.”

The blog post “JS0/JSSugar: the tooling will continue until morale improves” by Caolan McMahon is more critical: “Quote: ‘No evidence suggesting tooling use would decrease in future.’ I imagine if you work at Google, that is true. But I suspect most developers are not professionals working at a tech giant but hobbyists doing their best in a confounding ecosystem of tooling. If we give up on shipping their simple code directly to a browser, what hope have they of putting down those tools in future?”

How to convert CommonJS to ESM

deno.com github.com/lambtron @deno_land@fosstodon.org

“In this blog post, we’ll show you how to migrate the syntax of a legacy CommonJS project to one that supports ESM and tools to help smooth out that process.”

In the future using top-level await might be cause a backwards compatibility break in Node

evertpot.com @evert@indieweb.social

You can now require() an ESM module in Node.js – but only if none of the modules it imports contain a top-level await (TLA). Thus, adding a TLA to an ESM module, breaks CommonJS modules that use it.

The blog post is critical of require(esm). However, given how much it helps with migrating libraries to ESM without breaking CommonJS code, I personally think the positives far outweigh the negatives.

New versions

Node.js v23.0.0 (current)

nodejs.org github.com/RafaelGSS @nodejs@social.lfx.dev

[Quoting the blog post:] Key highlights include:

  • Enabling require(esm) by default for Node.js applications
  • Removing support for Windows 32-bit systems
  • Stabilizing the node --run command
  • Enhancements to the test runner, including glob pattern support for coverage files

Bun v1.1.31

bun.sh github.com/electroid github.com/oven-sh

“This release fixes 41 bugs (addressing 595 👍). It includes node:http2 server and gRPC server support, ca and cafile support in bun install, Bun.inspect.table, bun build --drop, Promise.try, Buffer.copyBytesFrom, iterable SQLite queries, iterator helpers, and several Node.js compatibility improvements and bugfixes.”

ESLint v9.13.0 released

eslint.org github.com/fasttime @eslint@fosstodon.org

Highlights [quoting the blog post]:
  • The predefined array of config objects used by ESLint can be now accessed programmatically as ESLint.defaultConfig.
  • To speed up loading, the ESLint CLI will automatically enable V8’s code cache in newer versions of Node.js.
  • Custom languages can now provide their default options with the defaultLanguageOptions property. See the documentation about the Language object.

Turborepo 2.2

turbo.build github.com/vercel

Highlights [quoting the blog post]:
  • Repository queries [experimental]: Explore your repository like never before with turbo query.
  • Improved cache safety: Easily diagnose and fix missing environment variable dependencies, and incorrect cache configurations
  • Zero-configuration comparisons for affected packages: Automatically target packages with changes in GitHub workflows

This email was sent to you. You can unsubscribe from this list here or update your preferences.

Older messages

Deno 2; Open Source Pledge; TC39 meeting October; language evolution; ES2025; destructuring

Sunday, October 20, 2024

We have 8 links for you - Stay up-to-date on JavaScript and tools This Week In React - Keeps senior React devs up to date thisweekinreact.com Partner We keep over 43k mid/senior React devs up-to-date

Evan You’s VoidZero Inc.; ESLint checks JSON & Markdown; ESLint v9.12.0; e18e contributions

Tuesday, October 8, 2024

We have 8 links for you - Stay up-to-date on JavaScript and tools VoidZero Inc.: founded by Evan You (Vue, Vite) to build a unified open source toolchain for JavaScript voidzero.dev github.com/

AbortController; date-fns v4.0; bundling

Tuesday, October 1, 2024

We have 6 links for you - Stay up-to-date on JavaScript and tools Dear readers! Welcome back after our mid-year break! Axel & Jowe Don't Sleep on AbortController kettanaito.com github.com/

ECMAScript 2024; June TC39 meeting; Babel 7.25.0; subresource integrity; performance optimizations;

Tuesday, July 30, 2024

We have 13 links for you - Stay up-to-date on JavaScript and tools Dear readers! ECMAScript News is taking its mid-year break and will be back on October 1. We wish you a good time! Axel & Jowe

Subject

Tuesday, July 23, 2024

We have 4 links for you - Stay up-to-date on JavaScript and tools Node.js v22.5.0 (current): node:sqlite and more nodejs.org github.com/aduh95 @nodejs@social.lfx.dev Highlights: SQLite was added to

You Might Also Like

Daily Coding Problem: Problem #1703 [Hard]

Thursday, February 27, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Goldman Sachs. Given a list of numbers L , implement a method sum(i, j) which returns

Charted | The $124 Trillion Global Stock Market, Sorted by Region 📊

Thursday, February 27, 2025

In this graphic, we show the world's 48000 publicly-traded companies, collectively valued at $124 trillion. View Online | Subscribe | Download Our App Enjoying Visual Capitalist? You'll love

AI CAPTCHA Fails Are the Internet’s New Comedy Show!

Thursday, February 27, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, February 27, 2025? The

Say Goodbye to Type Erasure

Thursday, February 27, 2025

View in browser 🔖 Articles Practical Kotlin: When and How to Use inline reified, noinline, and crossinline Master Kotlin's inline reified functions to tackle type erasure and boost performance!

SRE Weekly Issue #464

Thursday, February 27, 2025

View on sreweekly.com A message from our sponsor, incident.io: For years, on-call has felt more like a burden than a solution. But modern teams are making a change. On Feb 26 at 1 PM EST, hear why—and

Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds, More

Thursday, February 27, 2025

Home | News | How To | Webcasts | Whitepapers | Advertise .NET Insight February 27, 2025 THIS ISSUE SPONSORED BY: ■ Visual Studio Live! Las Vegas: .NET Developer Training Conference ■ VSLive! 4-Day

Re: Tomorrow's Password Class: How to sign up!

Thursday, February 27, 2025

Hi there, Do you reuse passwords? Do you struggle to remember unique passwords across accounts? Have you tried setting up a password manager but found it to be a hassle? You might not realize how

Documenting Event-Driven Architecture with EventCatalog and David Boyne

Thursday, February 27, 2025

If you're wondering on how to document Event-Driven Architecture, or you don't know that you should, I have something for you. We discussed with David Boyne, why data governance practices and

wpmail.me issue#708

Thursday, February 27, 2025

wpMail.me wpmail.me issue#708 - The weekly WordPress newsletter. No spam, no nonsense. - February 27, 2025 Is this email not displaying correctly? View it in your browser. News & Articles Shaping

Hackers stole 1Password logins - here's how

Thursday, February 27, 2025

Amazon AI races ahead; Research agents; Smartwatch trade-in -- ZDNET ZDNET Tech Today - US February 27, 2025 thief stealing passwords Hackers stole this engineer's 1Password database. Could it