---
title: "Svelte 5 is going to be radical"
publication: "JavaScript Weekly"
issue: 651
published_at: "2023-08-10"
canonical_url: "https://javascriptweekly.com/issues/651"
---

Plus TypeScript 5.2 RC, more HTMX excitement, making ASCII diagrams beautiful, and graphing package dependencies. |        

#​651 — August 10, 2023 

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

Together with [![Dynaboard logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_500,h_100/e_make_transparent/co_white,e_outline:7/xh5y6qe2tcrjx1vxyfer.png)](https://dynaboard.com/?utm_source=cooperpress-jw&utm_medium=email&utm_campaign=60seconds-q32023)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/byzhwtpnmq0n5himkq9t.jpg)](https://blog.isquaredsoftware.com/2023/08/esm-modernization-lessons/)  

[My Experience Modernizing Packages to ESM](https://blog.isquaredsoftware.com/2023/08/esm-modernization-lessons/) — What a post! Mark, well known for his work on React, Redux, and [much more](https://blog.isquaredsoftware.com/about/), details the painful experiences and hard-earned lessons he picked up while migrating the Redux packages to ES modules. 

Mark 'acemarke' Erikson   

[Things You Forgot (or Never Knew) Because of React](https://joshcollinsworth.com/blog/antiquated-react) — _“I’ve written before about how React is the new default frontend framework, and how I don’t think most people using React on a regular basis realize quite how much it’s fallen behind.”_ High level thoughts about the React ‘bubble’ and some reasons to look beyond it, including a round up of some of the alternative options. 

Josh Collinsworth   [![\](https://copm.s3.amazonaws.com/1a3a7195.png)](https://dynaboard.com/?utm_source=cooperpress-jw&utm_medium=email&utm_campaign=60seconds-q32023) 

[Build Web Apps in 60 Seconds with Dynaboard AI](https://dynaboard.com/?utm_source=cooperpress-jw&utm_medium=email&utm_campaign=60seconds-q32023) — Dynaboard's low-code IDE offers 40+ built-in UI components. Quickly connect to REST & GraphQL APIs, SQL databases, and spreadsheets. Write custom code or use AI to generate any SQL, JS, or CSS. 

Dynaboard sponsor   

**⚡️ IN BRIEF:** 

- _"Svelte 5 is going to be radical,"_ [🐦 tweets](https://twitter.com/Rich_Harris/status/1688581184018583558) Rich Harris.
- Server side JS runtime [Deno 1.36 has been released](https://deno.com/blog/v1.36) with extended security options, a polyfill for `node:test`, completion of the `node:os` polyfill, and many other minor Node.js compatibility improvements.
- Google has unveiled a [sneak peek of a new IDE it's developing](https://developers.googleblog.com/2023/08/introducing-project-idx-experiment-to-improve-full-stack-multiplatform-app-development.html) called [Project IDX.](https://idx.dev/) It has VS Code at its base but with strong JS framework support, simulators, and lot of 'AI smarts' on top, [🐦 says Addy Osmani.](https://twitter.com/addyosmani/status/1688976969495683072)
- A revived but early stage [proposal for introducing observables](https://github.com/domfarolino/observable) to JavaScript. Your feedback is sought, so file an issue if you have any.
- A fun walk through front-end history with [a blog post containing every HTML element](https://www.patrickweaver.net/blog/a-blog-post-with-every-html-element/) _(well, almost – sorry_ `applet`_)._
- [Nim 2.0 has been released.](https://nim-lang.org/blog/2023/08/01/nim-v20-released.html) Nim is a C++ and Python inspired, statically typed systems language, that [supports being compiled to JavaScript](https://nim-lang.org/features.html#javascript-compilation).   

**🎉 RELEASES:** 

- [TypeScript 5.2 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2-rc/) – TS 5.2 is nearly set for its final release. [Explicit resource management with `using`](https://github.com/tc39/proposal-explicit-resource-management) is the headline feature, but there's more, as usual.
- [esbuild 0.19.0](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md#0190) – The high-perf bundler can now import paths containing wildcards and [supports advanced CSS `@import` rules.](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md#01820) Note that this release contains _backwards-incompatible changes._
- [Astro 2.10](https://astro.build/blog/astro-2100/) – There's also a [first beta of Astro 3.](https://astro.build/blog/astro-2100/#first-look-at-astro-30)
- [Node.js Security Releases](https://nodejs.org/en/blog/vulnerability/august-2023-security-releases) – v20.5.1 (Current), v18.17.1 (LTS) and v16.20.2 (LTS) are all part of this set of releases including OpenSSL security updates and fixes, mostly, around permission policies.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/x2fdvzze2zetboofskfb.jpg)](https://blog.stackblitz.com/posts/bringing-sharp-to-wasm-and-webcontainers/)  

[Bringing Sharp to WebAssembly and WebContainers](https://blog.stackblitz.com/posts/bringing-sharp-to-wasm-and-webcontainers/) — A look at how it’s possible to bring [Sharp](https://sharp.pixelplumbing.com/), a popular Node.js image manipulation module, into the browser. Welcome to the future. 

Ingvar Stepanyan   

[A Compilation of Outstanding JS Testing Articles](https://practica.dev/blog/a-compilation-of-outstanding-testing-articles-with-javaScript/) — An opinionated list of _10 outstanding testing articles_, all with a JS slant to them. He also mentions his own [list of JavaScript and Node.js Testing Best Practices](https://github.com/goldbergyoni/javascript-testing-best-practices#readme) which is worth revisiting too. 

Yoni Goldberg   

[🚀 JavaScript Moves Fast—and So Should You. Let Us Help You Upgrade](https://www.upgradejs.com/?utm_source=cooperpress&utm_medium=paidplacement&utm_campaign=techdebt&utm_term=&utm_content=textonly) — React, Vue, Next, Node - our expert devs have it covered! Technical debt mounting? We're your tech debt busters! 👊 

Reduce Tech Debt. UpgradeJS now. sponsor   

▶[A Look at HTMX: A 'Game-Changing' Alternative to React?](https://www.youtube.com/watch?v=DuGyH5RvfbY) — One of Jack’s typically well produced, short tours (just 14-minutes). He likes [htmx](https://htmx.org/) and thinks it’s worth learning in order to have more options in your toolbox. 

Jack Herrington   

📝 Prefer a traditional writeup? [James Hibbard has one here](https://www.sitepoint.com/htmx-introduction/).  

[Node.js's 'Config Hell' Problem](https://deno.com/blog/node-config-hell) — Andy ponders why a Next.js project has over 30 configuration files and what we can do to avoid it (unsurprisingly, it involves using [Deno](https://deno.land/), but I enjoy the boldness). 

Andy Jiang (Deno)   

[Creating a Screen + Camera Recorder with the Document Picture-in-Picture API](https://www.getcontrast.io/learn/using-document-picture-in-picture-and-insertable-streams-apis-to-record-your-screen-and-camera) — This is more powerful than I was expecting. You can basically record a screencast using browser APIs. In Chrome, at least. 

Sébastien Jalliffier Verne   

[React Authentication — Without Complexity](https://userfront.com/tutorials/react-authentication?&utm_source=javascriptweekly-com&utm_medium=newsletter&utm_campaign=brief_link&utm_content=react_authentication) 

Userfront sponsor   

▶[Build and Deploy a Full Stack MERN Next.js 13 _Threads_ Clone](https://www.youtube.com/watch?v=O5cmLDVTgAs) — An extensive, five hour screencast walking through the creation of a Threads/Twitter/X-style app using Next.js 13 and [Clerk](https://clerk.com/) for user management. 

Adrian Hajdin   

▶[Turbopack vs Webpack](https://www.youtube.com/watch?v=Zwd_8Jy7b-c) — Being involved with the development of both bundlers, Tobias Koppers has some interesting things to say about the differences and explains why [Turbopack](https://turbo.build/pack) is necessary. 

Tobias Koppers and Jack Herrington   

[Autogenerating Rust-JS Bindings with UniFFI](https://hacks.mozilla.org/2023/08/autogenerating-rust-js-bindings-with-uniffi/) 
Ben Dean-Kawamura (Mozilla)   

[Migrating My Blog from Gatsby to Astro](https://sapegin.me/blog/gatsby-to-astro/) 
Artem Sapegin  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dkyvwbdpeelytaxfhpwp.jpg)](https://github.com/nolanlawson/fuite)  

[Fuite 3.0: A Tool for Finding Memory Leaks in Web Apps](https://github.com/nolanlawson/fuite) — A CLI tool that you can point at any URL to analyze for memory leaks. [Introductory blog post here](https://nolanlawson.com/2021/12/17/introducing-fuite-a-tool-for-finding-memory-leaks-in-web-apps/), and there’s also [a video tutorial](https://www.youtube.com/watch?v=H0BHL2lo89M). 

Nolan Lawson   

[Luxon 3.4: Date and Time Manipulation Library](https://github.com/moment/luxon) — If you’re familiar with Moment.js, it’s like that but with immutable objects, 1-indexed months, `Intl`-powered localization (so no locale or timezone files needed) and more. 

Moment.js   

[JavaScript Frontend Error Monitoring 101](https://sentry.io/resources/javascript-frontend-error-monitoring-101?utm_medium=paid-community&utm_source=javascriptweekly&utm_campaign=frontend-fy24q2-ebook&utm_content=newsletter-frontend101-read) — Take a crash (pun intended) course on frontend error monitoring with Sentry. [Read on](https://sentry.io/resources/javascript-frontend-error-monitoring-101?utm_medium=paid-community&utm_source=javascriptweekly&utm_campaign=frontend-fy24q2-ebook&utm_content=newsletter-frontend101-read). 

Sentry sponsor   

[Filesize.js: Generate Human Readable Strings From File Sizes](https://filesizejs.com/) — For example, 123456 bytes could turn into `"120.56 KB"` - though different standards of conversion can also be used. [GitHub repo](https://github.com/avoidwork/filesize.js). 

Jason Mulligan   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ojkyhkq1ae2vzma70zm7.jpg)](https://google.github.io/typograms/)  

[Typograms: A Way to Render ASCII Diagrams More Elegantly](https://google.github.io/typograms/) — An intriguing project where you ‘draw’ diagrams in plain ASCII text within special `script` tags and these get rendered into much nicer looking versions. An interesting approach if [Mermaid](https://mermaid.js.org/) is too full on for your needs. 

Sam Goto / Google   

💡 Talking of Mermaid, the [latest release](https://github.com/mermaid-js/mermaid/releases/tag/v10.3.0) supports [Sankey diagrams.](https://mermaid.js.org/syntax/sankey.html)  

[d3-graphviz 5.1: Graphviz DOT Rendering and Animated Transitions](https://github.com/magjac/d3-graphviz) — Renders SVGs from DOT-defined graphs using a WebAssembly port of Graphviz, a popular graph visualization tool. 

Magnus Jacobsson   

🔊 [Meyda: Audio Feature Extraction Library](https://meyda.js.org/) — Supports both offline feature extraction as well as real-time feature extraction using the Web Audio API. You can play with a demo right on the homepage. 

Rawlinson, Segal, Fiala, Wray, et al.    

💻 Jobs  

[Find JavaScript Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=find-your-next-job) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired   

[Senior Software Engineer (Frontend Lead)](https://www.ycombinator.com/companies/emerge-tools/jobs/zDcS7ia-senior-software-engineer-frontend-lead) — Lead [Emerge's](https://www.emergetools.com/) web platform, used by teams like DoorDash, Square, & Airbnb (Our stack: Next.js, React, TS, Vercel). 
🛸 Emerge Tools   

🧑‍💻 Got a job listing to share? _[Here's how](https://booking.cooperpress.com/jobs)_.     

[ggml.js: Run `ggml`-Ported ML Models Directly in Your Browser](https://rahuldshetty.github.io/ggml.js/#/) — We're going to do a feature on ML/AI related stuff in JS next week, so watch this space.. 

Rahul D Shetty   

- [React Virtuoso 4.5](https://virtuoso.dev/) – Powerful virtual list component.
- [Perspective 2.4](https://perspective.finos.org/) – Fast, streaming real-time data visualization.
- [express-rate-limit 6.9](https://github.com/express-rate-limit/express-rate-limit) – Basic rate limiting for Express apps.
- [PLV8 3.2](https://github.com/plv8/plv8) – Use JS as a procedural language in PostgreSQL.
- [Puppeteer 21.0](https://pptr.dev/) – Headless Chrome automation in Node.js.  

📊 Well, that's handy.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/djeyqe8gadkukxv5qmyd.jpg)](https://npmgraph.js.org/)  

[npmgraph: A Fun Way to Visualize Package Dependency Graphs](https://npmgraph.js.org/) — A Web tool that accepts one or more package names (or a `package.json`) and renders a visualization of their (possibly intersecting) dependency graphs. Packages can be colored by various criteria (such as number of maintainers, if you want to see how fragile the world is) and you can download SVGs of the output. 

Kieffer, Brigante, et al.         

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
