Unbundling npm; new JS runtime by Amazon; Vite 5.1; February TC39 meeting; ES stage 2.7; Web IDL for

WorkOS, the modern API for auth and user identity.

workos.com Sponsor

WorkOS enables B2B SaaS companies to accelerate enterprise adoption with identity management and complex features like Single Sign-On, SCIM, and User Management. Built for developers tired of using legacy providers like Auth0, WorkOS delivers a unified platform with modern APIs and a predictable pricing model that will scale seamlessly with your enterprise motion.

Node.js community debate intensifies over enabling Corepack by default and potentially unbundling npm

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

“A heated debate is happening in the Node.js community over a proposal to enable Corepack by default that was opened in November 2023. This sparked the question of whether npm would be provided through Corepack moving forward, as some contributors hold the opinion that the eventual goal of its integration is to uncouple Node.js releases and npm releases.”

How does Corepack work? If it is enabled and you execute <some-package-manager> install inside a project directory, Corepack will intercept that command (quoting the Corepack readme):

  • If the local project is configured for the package manager you’re using, Corepack will silently download and cache the latest compatible version.
  • If the local project is configured for a different package manager, Corepack will request you to run the command again using the right package manager – thus avoiding corruptions of your install artifacts.
  • If the local project isn’t configured for any package manager, Corepack will assume that you know what you’re doing, and will use whatever package manager version has been pinned as “known good release”.

LLRT: Amazon’s new JavaScript runtime based on QuickJS

github.com github.com/richarddavison github.com/awslabs

LLRT (Low Latency Runtime):
  • Built in Rust, uses QuickJS as JavaScript engine
  • Supports ECMAScript 2020 and many Node.js APIs. Supporting all of them is not a goal of the project.
  • Focuses on fast startup and efficient memory usage for server-side code. QuickJS does not have a just-in-time compiler (JIT). That means that longer-running code is often slower. But it also has two benefits (quoting the project’s readme):
    • JIT compilation is a notably sophisticated technological component, introducing increased system complexity and contributing substantially to the runtime’s overall size.
    • Without the JIT overhead, LLRT conserves both CPU and memory resources that can be more efficiently allocated to code execution tasks, thereby reducing application startup times.

Vite 5.1 is out

vitejs.dev @vite@webtoo.ls

Highlights:
  • New Vite Runtime API is an upgrade for Vite’s current server-side rendering primitives with the following benefits (quoting the blog post):
    • Support for HMR during SSR.
    • It is decoupled from the server, so there is no limit on how many clients can use a single server - every client has its own module cache (you can even communicate with it how you want – using message channel/fetch call/direct function call/websocket).
    • It doesn’t depend on any node/bun/deno built-in APIs, so it can run in any environment.
    • It’s easy to integrate with tools that have their own mechanism to run code (you can provide a runner to use eval instead of new AsyncFunction for example).
  • Improved support for .css?url
  • build.assetsInlineLimit now supports a callback
  • Improved HMR for circular import
  • Support ssr.external: true to externalize all SSR packages
  • Expose close method in the preview server
  • Various performance improvements
  • Deprecated as option in import.meta.glob
  • Removed experimental build-time pre-bundling

Updates from the TC39 meeting in February 2024

dev.to github.com/hemanth

Stage changes:
  • Several proposals advanced to stage 1.
  • Stage 2: “Promise.try
  • Stage 3: “Uint8Array to/from base64 and hex”
  • Stage 4: “ArrayBuffer.prototype.transfer and friends”
  • Several proposals became inactive.

New ECMAScript proposal stage: 2.7

tc39.es @TC39@fosstodon.org

TC39 member Rob Palmer:
  • “Stage 2.7 is equivalent to what we used to call Stage 3. It means that the design is considered complete, we have a full specification, and we need to write code (tests and non-polyfill implementations) to gain feedback and make progress. It’s a strong signal.”
  • “Stage 3 has been strengthened and now also means that test262 conformance tests are ready. This is a useful signal to JS engines that a proposal is truly ready to be implemented.”
  • “Why did we do this? We separated out the ‘Approved in Principle: Spec Ready’ stage from the later ‘Recommended for Implementation: Tests Ready’ stage to reduce wasted effort in writing tests before spec stability, whilst also clarifying the test readiness message to engines.”
TC39 member Jordan Harband comments: “[Stage 2.7 is] explicitly without the signal that it’s safe to ship unflagged, or use in production (which includes publishing polyfills). Stage 3 remains the signal for these things.”

Using Web IDL for better web docs

openwebdocs.org github.com/wbamberg @openwebdocs@front-end.social

“In this post we’ll look at an investigation into the possibility of using data extracted from the W3C specifications to help make MDN more consistent, reliable, and maintainable. We’re not yet sure where this idea will end up, but we hope the post gives an insight into how we evaluate large-scale changes to such an extensive documentation set.”

V8 JavaScript engine: static roots – objects with compile-time constant addresses

v8.dev github.com/o- github.com/v8

“Did you ever wonder where undefined, true, and other core JavaScript objects come from? These objects are the atoms of any user defined object and need to be there first. V8 calls them immovable immutable roots and they live in their own heap – the read-only heap. Since they are used constantly, quick access is crucial. And what could be quicker than correctly guessing their memory address at compile time?”

Official trailer: “Node.js: The Documentary”

www.youtube.com @nodejs@social.lfx.dev

Premieres 21 March 2024 on YouTube.

What do you think of this issue?

If you have any comments or feedback, just reply to this email!

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

Older messages

Deno in 2023; Turborepo 1.12; Promise.withResolvers; import attributes; Christopher “vjeux” Chedeau

Tuesday, February 6, 2024

WorkOS, the modern API for auth and user identity. workos.com Sponsor WorkOS enables B2B SaaS companies to accelerate enterprise adoption with identity management and complex features like Single Sign-

Deno 1.40; esbuild v0.20.0; ES proposal: explicit resource management; deprecated npm packages

Tuesday, January 30, 2024

WorkOS, the modern API for auth and user identity. workos.com Sponsor WorkOS enables B2B SaaS companies to accelerate enterprise adoption with identity management and complex features like Single Sign-

Npm 2023 retrospective; Prettier 3.2; Rspack 0.5; Bun v1.0.23; library for immutable updaes; Bun

Tuesday, January 23, 2024

npm in review: a 2023 retrospective on growth, security, and quirky facts socket.dev github.com/Planeshifter @SocketSecurity@fosstodon.org “It's a new year! So let's look back at how npm, the

JavaScript’s birthday; TC39 FAQ; ESLint v8.55.0; Bun v1.0.15; Socket CLI v0.9.0; Turborepo 1.11

Tuesday, December 12, 2023

Dear readers! We are taking our end-of-the-year break and will be back on 23 January 2024. Be well and see you soon! Axel and Jowe 28 years ago (1995-12-04): “Netscape and Sun announce JavaScript, the

Prettier in Rust; Prettier performance improvements; Node v21.3.0; TC39 meeting November; esbuild...

Tuesday, December 5, 2023

Biome formatter wins the Prettier challenge (USD 22500) biomejs.dev @ematipico@fosstodon.org @biomejs@fosstodon.org Prettier challenge – “write a Prettier-compliant pretty printer in Rust”: USD 22500:

You Might Also Like

🖤 Laravel Black Friday Deals!

Wednesday, November 27, 2024

The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end

BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?

Wednesday, November 27, 2024

Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as

Mapped | Unemployment Rate By U.S. State in 2024 💼

Tuesday, November 26, 2024

As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!

🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint

Tuesday, November 26, 2024

Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny

JSK Daily for Nov 26, 2024

Tuesday, November 26, 2024

JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

NumPy, Loop Targets, Vector Animation, and More

Tuesday, November 26, 2024

NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to

Your Games Quarterly newsletter has arrived

Tuesday, November 26, 2024

What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16

Daily Coding Problem: Problem #1620 [Hard]

Tuesday, November 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with

Final Hours: Help Save "The Art of Data" From Falling Short 🙏

Tuesday, November 26, 2024

Will Visual Capitalist end up revealing the secrets behind data storytelling? There are 12 hours left to change the fate of "The Art of Data". View Online | Subscribe | Download Our App Help

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