A WebAssembly compiler in 192 bytes

#​721 — January 31, 2025

Read on the Web

JavaScript Weekly

Things People Get Wrong About Electron — A long-time maintainer of the wildly successful Electron cross-platform app framework stands by the technical choices Electron has made over the years and defends it against some of the more common criticisms here.

Felix Rieseberg

Standard Schema: A Common Interface to Schema / Validation Libraries — From the creators of Zod, Valibot and ArkType comes a fantastic bit of collaboration to define a common interface to use JavaScript and TypeScript schema libraries.

McDonnell, Hiller, and Blass

JavaScript: The Hard Parts — Take your knowledge to the next level with the most loved JavaScript course in the industry. Deepen your understanding of the most important aspects of JavaScript. This highly rated video course goes under the hood, looking at callbacks, higher-order functions, object-oriented JS, and more.

Frontend Masters sponsor

A WebAssembly Compiler That Fits in a Tweet — Or 192 bytes, if you prefer. This is a look into a fantastic little bit of JavaScript hacking that can compile arithmetic expressions into WebAssembly you can run very easily. You can learn a lot in so little time here.

Mariano Guerra and Patrick Dubroy

Announcing TypeScript 5.8 Beta — It’s that time again. What’s new? Support for using require() for ES modules in Node 22+, checked returns for conditional and indexed access types, startup and building optimizations & more. While not a huge release overall, it’s particularly good for Node devs.

Daniel Rosenwasser

💡 One neat 5.8 feature is –erasableSyntaxOnly, a way to ensure that ‘type stripping’ techniques still result in runnable code by disallowing TypeScript-exclusive features like enums.

IN BRIEF:

🎬 Remember Honeypot’s well-received Node.js documentary? (If not, watch it!) Now there’s a trailer for an Angular documentary due soon.

There’s been a lot of chatter about Create React App being effectively ‘deprecated’ due to a lack of updates from Meta. Turns out, it is deprecated, but the process is now being managed gracefully and some basic React 19 support will be merged in.

A developer came up with an approach to making npm packages 5% smaller using Zopfli compression and asked the npm team to consider it. Ultimately the decision was no for a variety of reasons.

⭐ The Syntax YouTube channel presents ▶️ a fun countdown of the top 15 most starred JavaScript projects on GitHub. This is so well put together.

RELEASES:

Astro 5.2 – The popular framework adds Tailwind CSS 4 support and more niceties.

pnpm 10.1 – The alternative, efficient package manager.

Prisma 6.3 – Popular ORM for Node.js and TypeScript.

Phaser v4 Beta 5, Node.js 23.7, npm 11.1, Neutralinojs 5.6

📒 Articles & Tutorials

The Modern Way to Write JavaScript Servers — The irony is that while Node popularized JavaScript on the server (though Netscape was doing it in the 90s) this modern, standardized cross-runtime approach doesn’t work on Node …yet 😉

Marvin Hagemeister

Introducing Mentoss: The fetch Mocker — A new approach to mocking global fetch() calls (in both browsers and server-side runtimes) inspired by previous attempts like Nock and MSW.

Nicholas C. Zakas

Wish Your AI Co-Pilot Actually Knew Your Codebase? — Try the most context-aware Developer AI. Augment deeply understands your codebase, documentation, and dependencies.

Augment Code sponsor

Lessons from Scaling WebSockets for a JavaScript App — Scaling WebSockets for real-time apps presents hidden complexities. Compose shares some lessons learnt the hard way.

Atul Jalan

📄 Computing with Tuples in TypeScript – A way to bring objects of different types together but in a lighter way than keyed objects. Dr. Axel Rauschmayer

📄 How Long is a Second in JavaScript? – What may seem like a straightforward query is actually one of surprising complexity. Iago Lastra

📄 Adding Maps to Your Pages with Leaflet.js – Quick, easy, and open source to boot. Raymond Camden

📄 How to Use Node’s fs in the Browser for Custom Playgrounds Ivan Chebykin

📄 Building a QR Code HTML Web Component Scott Jehl

📄 How to Build a CMS with React Admin Thibault Barrat

🛠 Code & Tools

docxtemplater: Generate docx and pptx Documents from Templates — Generate Word and PowerPoint files dynamically by merging against templates (ideal for invoices, contracts, certificates, etc.) It’s open source (MIT or GPLv3), but the creator has a commercial version with more extensions (e.g. to work with Excel). GitHub repo and feature demos.

Edgar Hipp

📊 Plotly 3.0: A JavaScript Graphing Library — A high-level, declarative charting library, built on top of D3 and stack.gl, with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. v3 is largely to remove deprecations, fix bugs, and a switch to esbuild.

Plotly, Inc.

Using Clerk SSO to Access Google Calendar and Other Service Data — Leverage Clerk’s social sign in providers to easily access service data on behalf of your users.

Clerk sponsor

Emittery 1.1: A Simple, Modern Async Event Emitter — A small, async event emitter for Node and the browser, and now with support for AbortController.

Sindre Sorhus

jsontr.ee: Visualize JSON Structures as Dynamic SVG Diagrams — You can try it out on this playground, which provides the option to download the diagram as PNG, or use it in an app with customizable styles.

Lou Alcalá

DBOS Transact v2: Lightweight Durable Execution in TypeScript — Durable execution means persisting the execution state of your program while it runs, so if it’s interrupted or crashes, it resumes from where it left off – ideal for long-running or business-critical workflows. Docs.

DBOS, Inc.

📰 Classifieds

Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Lattice, Bilt Rewards, etc.

Protect your SaaS app with advanced device fingerprinting from WorkOS Radar. Stop fake signups, free tier abuse, bot attacks and brute force attempts today.

jscanify 1.3: JavaScript Document Scanning Library — Given raw photos of documents, this can do paper detection (along with glare suppression), distortion correction, highlighting and extracting. See some visual examples or try it out here.

ColonelParrot

Ruck 9.0: A React Webapp Framework for Deno — A lean React-based way to build modern React apps with Deno using features like ESM, dynamic imports, HTTP imports, and import maps with no transpilation or bundling.

Jayden Seric

OpenPGP.js 6.1 – OpenPGP implementation for JavaScript.

wavesurfer.js 7.9 – Waveform rendering and playback.

Poku 3.0 – Cross-platform JavaScript test runner.

Leave a Reply

Your email address will not be published. Required fields are marked *