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

Spyglass Dispatch: Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer

Tuesday, November 26, 2024

Meta's Bluesky • Apple's China AI Problem • Apple's Chinese iPhone Problem • Perplexity Voice Pin • Susan's Message on Lung Cancer The Spyglass Dispatch is a free newsletter sent out

🎁 Say Goodbye to Adobe and Hello to UPDF's Universal PDF Editor— 50% Off This Black Friday!

Tuesday, November 26, 2024

Promoted by UPDF How-To Geek Logo November 26, 2024 This email is sponsored by UPDF. Product choices and opinions expressed are from the sponsor and do not necessarily reflect the views of the How-To

What's coming in Go 1.24

Tuesday, November 26, 2024

Plus Brad Fitzpatrick on complexity and Go. | #​533 — November 26, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly GoMLX: ML in Go without Python — Eli recently wrote about Go's

Nvidia Disappoints

Tuesday, November 26, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 26, 2024? The HackerNoon

Tech in 2024: The winners and losers

Tuesday, November 26, 2024

Retesting AI detectors; Linux support options; Android home screen launchers -- ZDNET ZDNET Tech Today - US November 26, 2024 Meta Ray-Ban Smart Glasses ZDNET Tech winners and losers of 2024: The year

LW 160 - How to Edit Shopify Code So It’s Easy to Update Your Theme Later

Tuesday, November 26, 2024

How to Edit Shopify Code So It's Easy to Update Your Theme Later ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ Shopify Development news and

State of JavaScript 2024; ECMAScript Internationalization API; JS without build system

Tuesday, November 26, 2024

We have 9 links for you - Stay up-to-date on JavaScript and tools Survey: State of JavaScript 2024 (Nov 13 – Dec 3) survey.devographics.com @sachagreif@front-end.social Intl [ECMAScript

The military adopts Claude AI 💪

Tuesday, November 26, 2024

plus, AI doctors get better 🖖 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Post from Syncfusion Blogs on 11/26/2024

Tuesday, November 26, 2024

New blogs from Syncfusion All Things Open 2024 Takeaways, Part 2: Transparency By Marissa Keller Outten Discover the importance of transparency, learn how to build it, and overcome barriers to drive

⚙️ New Nvidia

Tuesday, November 26, 2024

Plus: Study on LLM reasoning ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌