---
title: "Package managers, the new todo app?"
publication: "JavaScript Weekly"
issue: 680
published_at: "2024-03-21"
canonical_url: "https://javascriptweekly.com/issues/680"
---

Plus Angular takes a Wiz, looking at cross-runtime JS feature support, and creating JS from CSS. |        

#​680 — March 21, 2024 

[Read on the Web](https://javascriptweekly.com/issues/680)  

Together with [![Postman logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_330,h_100/e_make_transparent/co_white,e_outline:7/ym5p9yhtqry2ntuhfxk4.png)](https://www.postman.com/postcon/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=q1-newsletter-sponsorships&utm_term=march132024&utm_content=primary-placement)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/s7lxzcnwdj3atnm03abn.jpg)](https://runtime-compat.unjs.io/)  

[Runtime Compatibility Across JavaScript Runtimes](https://runtime-compat.unjs.io/) — Several developers have come together to build this convenient way to visualize the compatibility of different Web APIs and JavaScript features across the ever increasing number of different runtimes (e.g. Bun, Deno, Node, LLRT..) 

Tom Lienard et al.   

✅ The item above reminds me of [node.green](https://node.green/), a visualization of JS feature support across versions of Node / V8, though it is nearly entirely green/Yes these days!  

[Introducing the Vlt (/vōlt/) Team](https://blog.vlt.sh/blog/the-team) — Last summer, Darcy Clarke (who used to work on the `npm` CLI team) wrote about [a massive bug at the heart of the npm ecosystem](https://blog.vlt.sh/blog/the-massive-hole-in-the-npm-ecosystem) around the security of manifests. Now, he’s teamed up with npm creator Isaac Z. Schlueter and fellow npm CLI team alumnus Ruy Adorno to work on… a new package manager and registry. (Yes, Brenda, [▶️ another one!](https://www.youtube.com/watch?v=H6-IQAdFU3w)) 

vlt /vōlt/   [![\](https://copm.s3.amazonaws.com/e88f5b08.jpeg)](https://www.postman.com/postcon/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=q1-newsletter-sponsorships&utm_term=march132024&utm_content=primary-placement) 

[Register for POST/CON 24! (April 30 - May 1, 2024)](https://www.postman.com/postcon/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=q1-newsletter-sponsorships&utm_term=march132024&utm_content=primary-placement) — Postman’s annual user conference will be one of 2024’s biggest developer events and a chance to network while growing your API skills! Connect with the global API community, hear from industry leaders, and take part in hands-on workshops. 

Postman sponsor   

**IN BRIEF:** 

- Angular's [ngConf 2024](https://ng-conf.org/) is taking place _right now_ and some interesting announcements have been coming out, including [some AI integrations](https://twitter.com/AngularUniv/status/1770489729621909679) and [a merger with another Google framework](https://twitter.com/sarah_edo/status/1770478763253379488) called _Wiz._
- As of Chrome 123, [WebAssembly JSPI is entering origin trial](https://v8.dev/blog/jspi-ot). JSPI (JavaScript Promise Integration) allows WebAssembly code to directly use asynchronous Web APIs (via promises).
- ▶️ The _Stack Overflow_ podcast [interviewed Node's creator Ryan Dahl](https://stackoverflow.blog/2024/03/19/why-the-creator-of-node-js-r-created-a-new-javascript-runtime/) about why he moved on to creating [Deno](https://deno.com/), as well as JSR, edge functions, and the future of JavaScript generally.
- [sh.mhs / shorthand javascript](https://gist.github.com/tangentstorm/4f271600fc20404150e05c373109551d) is a cute example of some JavaScript _golfing_ using some well considered, but still readable, aliases.
- [▶️ Honeypot's Node.js documentary](https://www.youtube.com/watch?v=LB8KwiiUGy0) premieres on YouTube later today (_but just after we go to press_).
- Last week we featured the [v1.0 release of WinterJS](https://wasmer.io/posts/winterjs-v1), a SpiderMonkey-based JS runtime, but [how fast it compared to the alternatives?](https://wasmer.io/posts/winterjs-vs-alternatives-is-blazing-fast)
- 🤖 The W3C is working on a [Web Neural Network API](https://www.w3.org/TR/webnn/). 

**RELEASES:** 

- [Nuxt 3.11](https://nuxt.com/blog/v3-11) – The full-stack Vue framework, and the last release before 4.0, but a significant release nonetheless.
- [Angular 17.3](https://github.com/angular/angular/releases/tag/17.3.0) landed last week, but [here's what's new](https://dev.to/this-is-angular/whats-new-in-angular-173-1148).
- [Preact 10.20.0](https://github.com/preactjs/preact/releases/tag/10.20.0), [Express.js 4.19.0](https://github.com/expressjs/express/releases/tag/4.19.0).   

[Save 30% on Your POST/CON Ticket!](https://www.postman.com/postcon/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=q1-newsletter-sponsorships&utm_term=march132024&utm_content=secondary-placement) — Time is running out to save 30% on POST/CON 24. Don't miss out on Postman’s biggest user conference ever. 

Postman sponsor  

📒 Articles & Tutorials  

📉 [Optimizing JavaScript for Fun and for Profit](https://romgrk.com/posts/optimizing-javascript) — A tour of several things to avoid to keep your code running fast and smooth, complete with examples. While the performance ground upon which we walk is often shifting, many of these things are good, common sense practices. 

Rom Grk   

[Bringing `require(esm)` to Node.js](https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/) — Joyee writes about landing [experimental support for `require()`-ing synchronous ES modules](https://github.com/nodejs/node/pull/51977) in Node, a feature that has been a long time coming. 

Joyee Cheung   

[FusionAuth’s New Vue, React And Angular SDKs](https://fusionauth.io/blog/javascript-sdks?utm_medium=newsletter&utm_source=jsweekly&utm_campaign=mar24_newsletter) — These JavaScript SDKs simplify authentication integration into React, Angular, or Vue apps, allowing you to focus on user features while ensuring top-tier security. 

FusionAuth sponsor   

[How Figma Built a Custom Permissions DSL](https://www.figma.com/blog/how-we-rolled-out-our-own-permissions-dsl-at-figma/) — Figma has a complex permissions setup, the implementation of which was causing tech debt, bugs, and delays. After not finding any open source answers, they built a DSL that isolated policies and data while also being cross-platform (Ruby and TypeScript.) 

Jorge Silva (Figma)   

[Building a Node App with TypeScript](https://www.totaltypescript.com/typescript-and-node) — How to set up a seamless TypeScript development experience for bundling modern Node apps with pnpm and ES modules, by someone who certainly knows a few things about TypeScript. 

Matt Pocock   

[Type Predicate Inference: The TS 5.5 Feature No One Expected](https://www.totaltypescript.com/type-predicate-inference) — And another from Matt, who’s getting excited about the forthcoming inclusion of type predicate inference from function bodies in TypeScript 5.5. 

Matt Pocock   

[WebSockets vs Server Sent Events vs Long-Polling vs WebRTC vs WebTransport](https://rxdb.info/articles/websockets-sse-polling-webrtc-webtransport.html) 
RxDB Docs  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/aeajv2segczslpjgwlwv.jpg)](https://www.fiala.space/atrament/demo/)  

[Atrament 4.0: Library for Smooth Canvas Drawing and Handwriting](https://www.fiala.space/atrament/demo/) — A small library for beautiful drawing and handwriting on canvas elements. It’s been around for several years but [v4.0](https://github.com/jakubfiala/atrament/releases/tag/v4.0.0) is almost a complete rewrite. [GitHub repo](https://github.com/jakubfiala/atrament). 

Jakub Fiala   

[MistCSS: Write React Components with Just CSS](https://typicode.github.io/mistcss/) — Forget about CSS-in-JS.. what about JS-_from_-CSS? This approach provides a way to compile CSS-only React components into a TypeScript equivalent. ([Code example.](https://typicode.github.io/mistcss/getting-started.html)) 

Typicode   

[MicroDiff: No Dependency Object and Array Comparison Library](https://github.com/AsyncBanana/microdiff) — Given two objects or arrays, it returns the differences (think `diff` but for JavaScript objects). Boasts high performance and TypeScript support. There’s also an article from 2022 [about how it works](https://byteofdev.com/posts/microdiff/). 

AsyncBanana   

[Transformational Auth & Identity | Userfront](https://userfront.com/?&utm_source=javascriptweekly.com&utm_medium=newsletter&utm_campaign=sponsored_link&utm_content=transformational) — Userfront is an auth & identity platform that transforms your business to serve free, freemium and enterprise customers. 

Userfront sponsor   

[oneRepo 1.0: A New Suite of Monorepo Tools for Teams](https://onerepo.tools/) — There always seems to be discontent when JS monorepo management tools get discussed, but maybe [Paul’s approach could win you over?](https://paularmstrong.dev/blog/2024/02/27/2024-02-27-introducing-onerepo-the-javascript-typescript-monorepo-toolchain-for-safe-strict-fast-development/) 

Paul Armstrong   

[Eta 3.4: Embedded JS Template Engine for Node, Deno, & Browsers](https://eta.js.org/) — Boasts being lighter and faster than EJS but with many of the same features (it looks a _lot_ like Ruby’s ERB, if you like that vibe). [GitHub repo](https://github.com/eta-dev/eta). 

Ben Gubler   

[TanStack Virtual 3.2: Headless UI for Virtualizing Large Element Lists](https://tanstack.com/virtual/latest) — Supporting TS/JS, React, Solid, Svelte and Vue, this is a way to build 60 fps experiences even with large numbers of elements while retaining full control over markup and style. 

Tanner Linsley   

[React Data Grid: A Fast Excel-Style Data Grid Component](https://adazzle.github.io/react-data-grid/#/common-features) — A fantastic live demo shows off all of this component’s unique features, from grouping rows and columns to [handling a million cells](https://adazzle.github.io/react-data-grid/#/million-cells) without slowdowns. Works with React 18+. [GitHub repo](https://github.com/adazzle/react-data-grid). 

Adazzle   

- [VanJS 1.5](https://github.com/vanjs-org/van/releases/tag/1.5.0) – The small but sweet reactive UI framework. ([Homepage.](https://vanjs.org/))
- [Mercurius 14.0](https://github.com/mercurius-js/mercurius) – Implement GraphQL servers and gateways on Fastify.
- [Happy DOM 14.2](https://github.com/capricorn86/happy-dom) – JS implementation of a web browser _sans_UI.
- [Encoding.js 2.1](https://github.com/polygonplanet/encoding.js) – Character encoding conversion and detection.
- [Javet 3.1](https://www.caoccao.com/Javet/) – Embed Node and V8 into Java apps.         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
