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

Gartner's 2025 tech trends: Adapt - and fast

Tuesday, October 22, 2024

iPhone 16 Camera Control secrets; Lyft Election Day discount; Best TVs -- ZDNET ZDNET Tech Today - US October 22, 2024 future-tunne-gettyimages-108356213 Gartner's 2025 tech trends show how your

⚙️ Microsoft, Google & AI Agents

Tuesday, October 22, 2024

Plus: Europeans would let an AI vote for them ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Post from Syncfusion Blogs on 10/22/2024

Tuesday, October 22, 2024

New blogs from Syncfusion Automate Flowchart Creation from External Data with Blazor Diagram By Suganthi Karuppannan Learn how to automate flowchart creation from external data using the Syncfusion

Urgent: VMware Releases vCenter Server Update to Fix Critical RCE Vulnerability

Tuesday, October 22, 2024

THN Daily Updates Newsletter cover See Yourself in Cyber: Security Careers Beyond Hacking ($17.00 Value) FREE for a Limited Time A one-of-a-kind discussion of how to integrate cybersecurity into every

Edge 441: SSMs Beyond Language

Tuesday, October 22, 2024

In this issue: ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

New Blogs on ThomasMaurer.ch for 10/22/2024

Tuesday, October 22, 2024

View this email in your browser Thomas Maurer Cloud & Datacenter Update This is the update for blog posts on ThomasMaurer.ch. Azure Hybrid Cloud Pre-Day at Microsoft Ignite 2024 By Thomas Maurer on

BetterDev #270 - Should We Chat, Too? Security Analysis of WeChat’s MMTLS Encryption Protocol

Tuesday, October 22, 2024

Better Dev #270 Oct 21, 2024 Hi all, Welcome to another issue of BetterDev! This week I come across Colmi, a smart ring where you can write your own software to interact with it. It's also have a

JSK Daily for Oct 21, 2024

Monday, October 21, 2024

JSK Daily for Oct 21, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Getting Started with Piecesjs: Building Native Web Components with a Lightweight Framework

📑 Microsoft Word Helps Me Overcome Writer's Block — VR Mods That'll Make You Want a Headset

Monday, October 21, 2024

Also: How to Check Your iPhone's Battery Health, and More! How-To Geek Logo October 21, 2024 Did You Know The brand name "Crayola" was created by Alice (Stead) Binney, the wife of the