#732 — April 18, 2025
🥚 A Good Friday, if you celebrate Easter at all. We’re taking a little break but didn’t want to take the entire week off, so we have a slimline issue for you today 🙂 We’ll be back to full service next Friday!
__
Peter Cooper, your editor
JavaScript Weekly
The ECMAScript Records and Tuples Proposal Has Been Withdrawn — Several years in the making, the record and tuples proposal offered two new deeply immutable data structures to JavaScript, but at this week’s TC39 meeting, the consensus was to drop it.
There have, however, been some more positive updates:
A proposal for introducing enums to JavaScript has advanced to stage 1. It seeks the adoption of a compatible form of TypeScript’s enum declaration. Slidedeck here.
The Deferred re-exports proposal has advanced to stage 2. There’s a slidedeck walking through the feature.
The Upsert and Composites proposals have been advanced.
It’s worth following Rob Palmer if you want to keep up to date with TC39 goings-on as he’s always sharing the latest news.
Plug & Play Image Editor For Your Web App — Save yourself the headache of building an image editor. Import the pintura module, give it an image source, and instantly get features like cropping, rotating, resizing, and annotation. Need help? Support has you covered. Try it for free today.
Pintura sponsor
Hako: A New High-Performance Embeddable JavaScript Engine — A fork of PrimJS (which is, itself, built on top of QuickJS) that compiles down to WebAssembly and can act as a portable, embeddable JavaScript engine for other apps (here’s an example of using it in a Go app).
Andrew Sampson
IN BRIEF:
Mozilla has enabled its Temporal implementation by default as of Firefox 139.
📘 Dr. Axel Rauschmayer has released Exploring TypeScript: TS 5.8 edition, a book bringing together all of his recent research into modern TypeScript development. You can buy the book but also read it all online for free in HTML form, if you prefer.
ESLint has added support for ‘bulk suppressions’, a way to make adopting stricter linting rules more manageable.
Dan Abramov is back with JSX Over The Wire, a fantastic meditation on the evolution of passing data and behavior between servers and clients and how things could get even better.
🤖 Microsoft’s Burke Holland ▶️ shows off VS Code’s new ‘agent mode’ feature which really makes Copilot far more powerful and a fine alternative to dedicated AI-powered editors. I’ve been using it a lot this week.
Google has made Firebase App Hosting generally available. It offers a streamlined, fully-managed deployment process for Angular and Next.js apps.
Sacha Greif, the name behind the State of JavaScript survey, has just launched the first ‘State of Devs’ survey. 🗳️ You can fill it out here.
RELEASES:
Astro 5.7 – The popular content framework gains an experimental fonts API, its sessions API is now stable, and there’s support for using local SVG files as components.
WebStorm 2025.1 – JetBrains’ JavaScript IDE – fresh with big AI, Angular, monorepo, and Next.js enhancements.
tldts 7.0 – URL parsing library to extract domains, subdomains, suffixes, etc.
gridstack.js 12.0 – Build responsive interactive dashboards quickly.
Lexe – Package a Node app into a single, small executable.
DOCX 9.4 – Generate Word documents from JavaScript.
Redux Toolkit 2.7, Bun v1.2.10, Babylon.js 8.3, Rambda 10.0
📖 Articles and Videos
A Flowing WebGL Gradient, Deconstructed — Even if you don’t want to render a neat plasma-style effect on the Web, this is a wonderfully deep exploration of the math and technology behind doing so using simple GLSL code that could be easily understood by any JavaScript developer.
Alex Harri
💡 If you like stuff like this, this CodePen of a GLSL-based swirl effect is neat too.
Advanced React in the Wild — A round-up of case studies showing how five different engineering teams have pushed React to the limit in production and their real-world wins in areas like performance, Core Web Vitals, caching, and more. A lot to enjoy here.
Addy Osmani and Hassan Djirdeh
📺 Building Single Page Apps with SvelteKit – And not only that, you can create SvelteKit apps in a single HTML file that can run without a Web server. (15 minutes) Stanislav Khromov
📄 How I Track My Blog’s Analytics with Val Town Orestis Papadopoulos
📄 Deploying TypeScript: Recent Advances and Possible Future Directions Dr. Axel Rauschmayer
📄 Zero-Config Debugging with Deno and OpenTelemetry Casonato and Jiang (Deno)
📄 Creating an AI Chat Experience with React and OpenAI Robin Wieruch