#733 — April 25, 2025
JavaScript Weekly
p5.js 2.0: The JavaScript Library for Creative Coding — A popular Processing-inspired creative coding library that makes it easy to create interactive, visual experiences (examples). v2.0 improves its font support, adds more ways to draw and manipulate text, adds a way to write shaders in JavaScript, and much more. p5.js 2.0: You Are Here has more details on the release and where the project is headed next.
p5.js Team
💡 p5.js is simultaneously useful and fun. It provides a great abstraction for interactive, visual experiences and is easy to play with using its online editor. A pastime of mine is asking AI models to create demos. For example, load this p5.js sketch and hit play to see a JS logo glitch experiment OpenAI’s o3 just made for me.
Unbork Your Laravel App (Live) — Laravel is so in right now. Join us for a hands-on debugging session using a demo app, Unborked. We’ll track errors, replay sessions, trace slowdowns, and maybe even let the robots help. Bring your bugs.
Sentry sponsor
Big Updates in the React World — You know it’s been a big week in the React world when the React Compiler hitting Release Candidate is the second most important story. In this latest React Labs post, we learn about two new features ready to try out today in react@experimental: View Transitions and the <Activity> component.
Ricky Hanlon
IN BRIEF:
SolidJS creator Ryan Carniato reflects on a decade running the SolidJS project, four years after hitting v1.0.
Back in March, the Node.js project suffered a security incident relating to its CI/testing setup. They’ve now written up the details of what happened.
With Deno 2.3 just around the corner, the Deno team shares a few updates on recent improvements.
RELEASES:
⭐ pnpm 10.9 – The alternative, efficient package manager. It can now be used to install JSR packages.
jsvu 3.0 – Tool to install versions of various JavaScript engines.
SmallJS 1.6 – A Smalltalk-80 implementation that runs in JavaScript.
Bun v1.2.10, Node.js v22.15.0 (LTS), Next.js 15.4 Canary
📖 Articles
Creating a 3D Split-Flap Display with JavaScript — A split-flap display is a electro-mechanical display commonly associated with live timetable displays and it makes for a neat effect on the Web too. Jhey breaks down how to replicate it, or you can hit up this live demo.
Jhey Tompkins
Impossible Components — Dan Abramov digs into the idea of so-called ‘impossible’ components that mix server-only and client-only features and how React Server Components can help bridge the divide, culminating in an example you can experiment with for yourself.
Dan Abramov
How to Build a Multi-Tenant App Using Clerk + Supabase — Clerk and Supabase empower you to build B2B apps with only a few small changes to your codebase. Learn how in this guide.
Clerk sponsor
Optimizing Node Performance with V8 GC Optimization — Matteo recently ▶️ gave a talk about Node’s memory usage and has written it up into this blog post. He notes that high memory usage doesn’t necessarily mean you have a memory leak, explains how V8’s garbage collection works, and how to tune things for your own use case.
Matteo Collina
Abusing DuckDB-WASM by Making SQL Draw 3D Graphics (Sort Of) — Oh, this is a fun experiment. DuckDB is a small and powerful in-process SQL database (think SQLite but for analytical tasks) and has a native WebAssembly build. Couple that with some JavaScript, and you too could do some rather bizarre things..
Patrick Trainer
💡 Lest you think this is just a fun item, you could use the techniques learnt here to integrate DuckDB more seriously into other Web projects.
📄 A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript – A bold title for sure, but with a neat story behind it. Forward Email
📄 Float16Array in JavaScript – Understanding the 16-bit floating point array type. Trevor I. Lasn
📄 When to Use map() vs. forEach() Matt Smith
📄 Zero-Config Debugging with Deno and OpenTelemetry Casonato and Jiang (Deno)
🛠 Code & Tools
JavaScript Font Picker — A surprisingly featureful control for letting users pick fonts from a range of system fonts, Google fonts, and custom fonts of your choice. You can play with a code demo here or go to the GitHub repo.
Zygomatic
🎨 The folks behind this project have also built JS Color Picker.
Scala.js 1.19.0: A Way to Bring Scala and JavaScript Together — Scala is a powerful language that never quite seemed to make it big to me, but it has a devoted fanbase and has grown beyond its JVM roots to also have JavaScript and native runtimes. Scala.js is a Scala to JavaScript compiler and the homepage has some neat code and feature comparisons.
Scala.js Team
Penpot Launches Native Design Tokens! — Simplify your design & code collaboration with Penpot design tokens: the key to consistency and scalability.
Penpot sponsor
Spectacle: Create Sleek React-Powered Presentations — A React-based library for creating sleek presentations using JSX syntax that gives you the ability to live demo your code, add interactive elements, scrollable code blocks, graphics effects, and more.
Nearform
Frimousse: A Lightweight, Unstyled, and Composable Emoji Picker for React — The picker is accessible and won’t display any emojis that aren’t supported on the device. You can explore some demos here.
liveblocks
c15t (Consent Management) – A React approach to transforming privacy consent from a mere checkbox into a fully observable system.
bignumber.js 9.3 – Arbitrary-precision decimal and non-decimal arithmetic.
Milkdown 7.9 – Plugin-driven WYSIWYG Markdown editor framework.
Koota 0.4 – Performant real-time ECS-based state management.
tablesort 5.6 – Plain JS table row sorting mechanism.
📺 React Lite YouTube Embed 2.5
📰 Classifieds
Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.
✉️ FYI: We publish two other JavaScript related newsletters if you work with Node.js or React: Node Weekly and React Status.
📢 Elsewhere
A quick roundup of other interesting updates and useful resources from across the broader developer landscape:
🤔 The Microsoft Edge team is looking for feedback on a new console.context() method to enable “helpful contextual logging” within the devtools.
🔭 David Cummings of the Jet Propulsion Laboratory gave a talk about ▶️ how they diagnosed and fixed a problem on the Voyager 1 space probe while it was 15 billion miles away. If you ever think debugging a local app is difficult, this is next level.
🔐 The maximum lifetime of TLS certificates is set to be reduced to 47 days in a gradual process between early 2026 and 2029.
🤯 Google may be forced to sell Chrome, and guess who’s interested in buying it? OpenAI, among others.
TIL you can interact with GitHub’s GraphQL API with the GitHub CLI tool.