Plus vlt's new package manager, TypeScript 5.7 RC, and import attributes explained. |

#​713 — November 14, 2024

Read on the Web

Together with  Mescius

JavaScript Weekly

Component Party: A Rosetta Stone of UI Libraries — A long-standing comparison of many different frameworks (like React, Vue, Svelte, Angular, Qwik, Solid.js, etc.) by way of simple code snippets to perform various tasks. Now including Svelte 5 and Angular 17/Renaissance.

Mathieu Schimmerling

Will We Care About Frameworks in the Future? — Paul wonders if the increasing use of LLMs and agents in software development will lead to a reduction in the need for new frameworks and extra developer-focused abstractions.

Paul Kinlan

Advanced JavaScript Tools to Empower Your Applications — Build better web applications with powerful JavaScript developer tools including: SpreadJS Excel-like spreadsheet components, ActiveReportsJS reporting tools, Wijmo UI component suite, and Document Solutions viewers for PDF, Excel, Image, and more.

MESCIUS inc sponsor

The vlt Package Manager and Serverless Registry — A very experienced team, including npm creator Isaac Schlueter, launched Vlt to ‘build the future’ of JavaScript package management. The first results have appeared in the shape of the vlt client (which can replace npm), as well as a serverless package registry you can self host to serve up your own packages.

Clarke, Adorno, Schlueter, and Karrys

💡 Sarah Gooding shares some more background on Vlt's story here.

TypeScript 5.7 Release Candidate — The popular typed JS superset adds support for ES2024 as a target, can report errors when variables aren't initialized, adds path rewriting for relative paths, and can use Node’s compile caching to save on parsing work. The final release is expected in a week or two.

Microsoft

IN BRIEF:

RELEASES:

📒 Articles & Tutorials

JavaScript Import Attributes (ES2025) ExplainedImport Attributes (now at stage 4 at TC39 and already supported in some runtimes) add a way to supply useful metadata about modules you’re importing.

Trevor I. Lasn

💡 Trevor is on quite a run of great posts. He also digs into Promise.try and how JavaScript's bitwise shifting operators work.

Creating an ASCII Shader Using OGL — An incredibly cool effect demonstrated in a great tutorial on getting started with shaders and using OGL, a lightweight WebGL library.

Andrico Karoulla

Guide to Error & Exception Handling in React — Learn common errors and best practices for recovering from them in a user-friendly way.

Sentry sponsor

How a BBC Navigation Bar Component Broke Depending on Which External Monitor It Was On — A look at an interesting bug related to external monitor positioning. The lesson is that “browsers have an interoperability issue in how they represent screen coordinates in multi-monitor setups”.

Josh Tumath

How to Set Up Next.js 15 for Production in 2024 — Share in this author’s experience in scaling up Next.js apps to over 100k monthly active users and millions of monthly visitors.

Jan Hesters (ReactSquad)

▶  From Next.js to htmx: A Real World Example — An interesting case study explained in a 50-minute screencast: “Replacing my components with the equivalent HTML elements powered by htmx wasn’t exactly an easy task, but one that was worth the time.”

Pouria Ezzati

📄 How to Optimize Performance in Vue Apps Jakub Andrzejewski

📄 How to Build a Database App with Drizzle ORM and Deno Andy Jiang

📄 Essential tsconfig.json Options You Should Use Duy NG

📺 Building a Rich Text Editor with Svelte 5 Michael Aufreiter

🛠 Code & Tools

Lexical 0.20: An Easy-to-Extend Text Editor Framework from Meta — A text editor framework built by Meta with extensibility, accessibility, and cross platform support in mind (there’s even a Swift variant for iOS). There’s a live playground if you want to give it a try. React support is first class, but it can be adapted to work elsewhere (as with svelte-lexical).

Meta / Facebook

Introducing @clerk/nextjs v6, with Support for Next.js 15 — With v6, auth() helper is async, <ClerkProvider> defaults to static rendering, and partial pre-rendering is supported.

Clerk sponsor

Storybook 8.4 Released — A minor release for the powerful frontend component workshop but “one of our most feature-packed minor releases” with one click component testing, Svelte 5 support, and React Native Storybook 8.

Michael Shilman

🗓️ Schedule-X 2.5: Material Design Calendar and Date Picker — Available in the form of React/Preact, Vue, Svelte, Angular, or plain JS components. Open source but with a premium version with extra features. GitHub repo.

Tom Österlund

🎵 music-metadata: Stream and File-Based Music Metadata Parser — Supporting formats like MP3, FLAC, Ogg, WAV, WMA, AAC and AIFF, this library extracts metadata like ID3v1 and iTunes tags for processing however you want. Yes, it even works in the browser.

Borewit

Looking for a DIY Survey Solution? SurveyJS Has You Covered — Build, customize, and store surveys with ease. Total data control, JSON-driven, no backend restrictions—integrates into any JavaScript app.

SurveyJS sponsor

Micromark 4.0.1: A Small Compliant Markdown Parser — 100% compliance with the CommonMark standard, supports extensions (such as for GitHub Flavored Markdown), and full test coverage.

Titus Wormer

jsep 1.4: JavaScript Expression Parser“Think of jsep as a tool to parse the kinds of expressions that would be written in individual Excel cells.”

Stephen Oney

📰 Classifieds

🎹 STRICH: Add blazing fast and reliable 1D/2D Barcode Scanning to your web apps. Free demo app and 30-day trial available.


Never miss a Shopify, Stripe, GitHub, Paddle… or any webhook again with Hookdeck's serverless queue infrastructure. Learn more.


Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.

😀 More fun at Val Town

I've written about Val Town several times and am a huge fan. It's a site where you can write and deploy TypeScript from your browser and describes itself as "if GitHub Gists could run, and AWS Lambda was fun."

It's been a delight to watch its progression from a prototype to what is now a solid platform used in production use cases and I want to call out some recent posts that keep it on my radar:

Building a Code-Writing Robot and Keeping it HappyTownie is an AI assistant for building apps on Val Town. This post digs into how it works, some of the problems encountered in its creation, and how its results are evaluated.

Val Town Town – Could you implement something like Val Town on Val Town itself? At the risk of eating its own tail, it turns out you can.

If you're stuck for something to do or check out, check out Val Town – it's fun!

n