Bundling dependencies; keyword `using`; Intl.DurationFormat; vlt client; Deno npm module specifiers;

Dear readers!

We moved the publication day of ECMAScript News from Tuesday to Wednesday – which works better with our schedules. Apologies for the sudden change and thanks for reading!

Axel and Jowe

Secure your JavaScript dependencies.

socket.dev Sponsor

Open source code makes up 90% of most codebases. Socket detects what traditional vulnerability scanners can’t, including 70+ indicators of open source supply chain risk like malware, typosquatting, hijacked packages, obfuscated code, privileged APIs, and more. Install our free GitHub app today to instantly enable protection on all updates and new dependencies added in PRs.

Bundling dependencies (and when not to do it)

e18e.dev @e18e@m.webtoo.ls

Clean room tests with JavaScript’s using keyword

blog.disintegrator.dev @disintegrator@mastodon.social

A little while ago the “Explicit Resource Management” proposal was promoted to stage 3 and with it the introduction of the using keyword. Support for this feature was then introduced into TypeScript 5.2. I love this feature and, almost instantly, it gave me the idea to incorporate it into my testing to cleanly encapsulate the process of creating test databases, mock servers and so on and then tearing them down to avoid conflicts, contentions and runaway resource usage.

Using Intl.DurationFormat for localized durations

www.raymondcamden.com @raymondcamden@mastodon.social

vlt client for managing packages: new GUI features

blog.vlt.sh github.com/ejkorol @vltpkg@fosstodon.org

Now recommended for Deno: npm: module specifiers

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


// Old recommendation:
import React from 'https://esm.sh/react@19';

// New recommendation:
import React from 'npm:react@19';
  • Interesting benefit: You can write stand-alone scripts that don’t need a config file to specify package versions.
  • As soon as a project has more than one file, you probably want to use an import map – mentioning the package version for each import seems tedious.

Node.js

Node v23.8.0 (current): URL Pattern API, zstd compression, named threads and more

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

Highlights:
  • URL Pattern API: currently an import from node:url, available as a global in Node.js 24.
  • Support for the zstd compression algorithm
  • “Threads created by the Node.js process are now named to improve the debugging experience. Worker threads will use the name option that can be passed to the Worker constructor.”

require(esm) backported to Node.js 20, paving the way for ESM-only packages

socket.dev @sarahgooding@fosstodon.org @SocketSecurity@fosstodon.org

“The long-standing divide between CommonJS (CJS) and ECMAScript Modules (ESM) in the Node.js ecosystem just took a major step toward resolution. Thanks to the incredible efforts of Joyee Cheung, require(esm) has been backported to Node.js 20.”

“This change means that when Node.js 18 reaches end-of-life (EOL) in April 2025, library maintainers can finally drop their CJS builds and ship ESM-only packages with confidence.”

Interesting npm packages

unloader: Node.js loader framework with a Rollup-like interface

github.com @sxzz@webtoo.ls

Quote: “unloader is designed to be a general-purpose loader, which can be used to develop various loaders, such as Oxc loader, TypeScript loader, etc.”

Unplugin: unified plugin system for Vite, Rollup, Webpack, esbuild, Rolldown, and more

unplugin.unjs.io github.com/unjs

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

Older messages

Alternatives to npm; TC39 meeting; Rust and JS plugins; long-term software maintenance; WeakMaps; JS

Thursday, February 27, 2025

We have 14 links for you - the latest on JavaScript and tools Is npm enough? Why startups are coming after this JavaScript package registry redmonk.com @kateholterhoff@hachyderm.io @redmonk@mastodon.

JSR open governance board; ESM-only packages; breaking up long tasks; Prettier 3.5; esbuild v0.25.0;

Friday, February 14, 2025

We have 9 links for you - Stay up-to-date on JavaScript and tools Introducing the JSR open governance board deno.com github.com/ry @lcasdev@mastodon.social github.com/crowlKats @deno_land@fosstodon.org

State of JS 2024; compiling JS via Porffor; source map format specification; December TC39 meeting;

Thursday, December 19, 2024

We have 9 links for you - Stay up-to-date on JavaScript and tools Dear readers! We are taking our end-of-the-year break and will be back on 21 January 2025. Be well and see you soon! Axel and Jowe

Require(esm) in Node.js LTS; simplified npm search; JS videos; Rolldown v0.15.0; oxlint v0.14.0

Tuesday, December 10, 2024

We have 6 links for you - Stay up-to-date on JavaScript and tools Node.js v22.12.0 (LTS): require(esm) is enabled by default nodejs.org @ruyadorno@fosstodon.org @nodejs@social.lfx.dev require(esm)

Canceling JS trademark; mapping over Promises; scheduler API; Oniguruma regexes; multi-file support

Tuesday, December 3, 2024

We have 11 links for you - Stay up-to-date on JavaScript and tools Deno v. Oracle: Canceling the JavaScript Trademark deno.com github.com/ry @deno_land@fosstodon.org “On November 22, 2024, Deno

You Might Also Like

Reminder: What developer productivity metrics actually measure

Thursday, February 27, 2025

You are receiving this email because you subscribed to microservices.io. Considering migrating a monolith to microservices? Struggling with the microservice architecture? I can help: architecture

⚡ THN Weekly Recap: Google Secrets Stolen, Windows Hack, New Crypto Scams & More

Thursday, February 27, 2025

From Google espionage to crypto scams, this week's Cyber Recap uncovers it all—read more now ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌

Guest-post: Open-source Python Development Landscape

Thursday, February 27, 2025

30 must-know tools for Python development ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

⚙️ IBM's AI can reason, now

Thursday, February 27, 2025

Plus: A bit of AI legislation ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Post from Syncfusion Blogs on 02/17/2025

Thursday, February 27, 2025

New blogs from Syncfusion ® How to Add a Context Menu to .NET MAUI ListView? By Jayaleshwari N This blog explains how to implement a context menu in the .NET MAUI ListView control with code examples.

⚙️ AI chip giant slips

Thursday, February 27, 2025

Plus: How workers use GenAI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

JSter #237 - Libraries and more

Thursday, February 27, 2025

My JavaScript. Keep on coding. Libraries Vento - a new templating engine for Deno Modern.js - Inspire Creativity in Modern Web Development cloudflare/workers-graphql-server: 🔥Lightning-fast, globally

Post from Syncfusion Blogs on 02/27/2025

Thursday, February 27, 2025

New blogs from Syncfusion ® Build a Stunning Music Track UI Using .NET MAUI ListView By Jayaleshwari N This blog explains how to create a stunning music track UI using the .NET MAUI ListView control

Import AI 400: Distillation scaling laws; recursive GPU kernel improvement; and wafer-scale computation

Thursday, February 27, 2025

The hardest thing about seeing a portal is getting others to see it ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

GCP Newsletter #438

Thursday, February 27, 2025

Welcome to issue #438 February 17th, 2025 News Gemini Official Blog Security Enhance Gemini model security with content filters and system instructions - Google Cloud's Gemini model offers enhanced