Recently, we took a significant step forward by adopting gRPC in N|Solid —a widely used open-source protocol for efficient communication between systems.
Category: News
Introducing the Latest N|Solid Release V6.1 with upgraded AI-Powered Insights and gRPC Integration
We’re thrilled to announce a new release of N|Solid, this release introduces two major features, gRPC and AI-Powered Profiling for CPU and Heap Insights
N|Solid Launches AI Powered Profiling: Unleashing the Power of CPU and Heap Insights
With N|Solid’s AI-powered profiling tools, you gain more than just data—you get actionable recommendations to diagnose and resolve issues.
Node.js v22: “Jod” Binaries Available
Node.js v22: “Jod” Binaries Available
State of Node.js Performance 2024
This article revisits the State of Node.js performance, focusing on comparing versions 20 through 22. Providing how Node.js has evolved over the past year.
A 2024 JavaScript retrospective
#717 — December 19, 2024
🎄 We’ve made it to the end of 2024! In this issue, we’re being reflective, leading with a few news items but then looking at what made 2024 special in the world of JavaScript, and covering some of the biggest things we linked to this year.
Then we’re on a Christmas break for two weeks and will be back in your inbox on Friday, January 10, 2025, — yes, we’re moving back to Fridays for 2025! We hope you have a Merry Christmas and a Happy New Year.
__
Peter Cooper and the Cooperpress team
JavaScript Weekly
The State of JavaScript 2024 Results — We recently encouraged you to take the annual State of JavaScript survey; the results are now out. 14,015 folks took part and we get to see what language features folks are using, experiences with popular libraries, build tool popularity, AI preferences, popular podcasts, runtime usage, and perhaps controversially, how more JavaScript developers are using TypeScript than not. There’s a lot to dig through here.
Sacha Greif
Complete Intro to React v9: New Project, Modern Stack — Join Brian Holt in building a pizza delivery app from scratch. Master hooks, TanStack Router, testing, and React 19 features in this comprehensive guide to modern React development. No prior React experience needed.
Frontend Masters sponsor
IN BRIEF:
🥇 JetBrains’ recent State of Developer Ecosystem report shows that JavaScript is “the most used programming language”, reports InfoWorld‘s Paul Krill. The report also claims “despite its gains, TypeScript will not replace JavaScript”.
🗓️ We’ve just finished 2024 wrap ups in the latest issue of Node Weekly and React Status, if you want more depth into those topics.
🤖 GitHub has made its Copilot AI assistant available for free (with limits). We also learn that there are now 150 million developers on GitHub.
🇵🇱 If you’re in Poland, consider heading along to the next WarsawJS meetup on January 8. Esteemed Polish computer scientist Andrzej Blikle will be speaking, amongst others.
🤖 Vercel is running a State of AI developer survey they’d like you to take.
RELEASES:
JerryScript 3.0 – ‘Ultra lightweight’ JS engine for IoT/embedded use cases with full ES 5.1 compliance and 84% Test262 conformance.
🤖 Transformers.js v3.2 – Run machine learning models in the browser. Now supporting Moonshine real-time speech recognition and Phi 3.5 Vision.
Bun 1.1.39 and 1.1.40 – The fast JS runtime gets a human-readble lockfile format, fetch bodies can now be streams, and Node compatibility improves.
Prisma 6.1 – Popular ORM for Node.js and TypeScript. Tracing is now GA.
pnpm 10.0 RC 0, ESLint v9.17.0, Recharts 2.15
Introducing Authentication Support for React Router — Add authentication and authorization to your React Router application in minutes with pre-built components and more.
Clerk sponsor
📄 Introducing TanStack Start – A new full-stack React framework powered by TanStack Router. Adam Rackis
📄 How to Create Multi-Step Forms with Vanilla JS and CSS Fatuma Abdullaho
📄 Summarizing Text with Transformers.js Raymond Camden
🗓️ What Happened to JavaScript in 2024
The JavaScript world has had a busy 2024, as you’d expect for the world’s most used programming language (despite the threat of being split into two). We looked back over the year and remembered some things that occurred:
In February, the React team posted a mega ‘React Labs’ update which framed the whole of React’s year, explaining the goals of the React Compiler and the eventual React 19 release (which went stable this month).
Alternative JavaScript runtimes had a great 2024, particularly Bun which introduced Bun Shell, Windows support and the ability to compile and run native C from JavaScript. Deno had a big year too, with the release of Deno 2 which included stronger Node.js/npm compatibility and package management tooling. Other systems continuing to progress this year include Boa JS, QuickJS, and Porffor.
Over at TC39, lots of language proposals were advanced this year (and that’s just a sample – here’s some more!). The ES2025 future is bright.
Boost Semantic Search with MongoDB Atlas Vector Search — Create embeddings, index them, and run semantic queries—just follow the quick start tutorial.
MongoDB sponsor
Deno decided to take the JavaScript trademark fight to Oracle and formally filed a petition with the USPTO to cancel it. We hope to see some developments here in 2025, but Oracle are prepared to defend it.
Not content to merely work on an edge platform, JS runtime, and fight Oracle, Deno also unveiled JSR, a fresh attempt at providing a registry for JavaScript packages.
There were lots of big releases generally for major JavaScript projects including Svelte v5, Node.js v23.0, Astro 5.0, TypeScript 5.7, Vite 6.0, React Native 0.76, Next.js 15, React Router v7, Rspack 1.0, Vue.js 3.5, and Angular 19.
The OG of JavaScript libraries jQuery 4.0 went into beta too! We keep our fingers crossed for a jQuery 4.0 final release in 2025.. 😉
🥇 Our Top Items of 2024
Next up is a walk through the top items we included in 2024, ordered by level of reader engagement. No editorial judgments here – these are the things you cared about most:
1. console.delight — By far our most popular link of the year with over 20,000 clicks(!) – but who doesn’t use and love console.log? This post showed us how in the browser console it’s not merely for printing plain text, but can be used to render things like SVGs and HTML.
Zach Saucier
2. JavaScript Visualized: Promise Execution — A well-diagrammed article coupled with an (optional) 8 minute video that went into how promises work under the hood. Hugely popular as most of Lydia’s content tends to be.
Lydia Hallie
WorkOS: Sell to Enterprises with a Few Lines of Code — The modern identity platform for B2B SaaS, offering flexible, easy-to-use APIs to integrate SSO, SCIM, and FGA in minutes instead of months.
WorkOS sponsor
3. Is htmx Just Another JavaScript Framework? — Despite being five years old, htmx has seen a surge in popularity in 2023 and 2024, partly due to framework fatigue, but also as its simple HTML-oriented approach to adding functionality to pages appeals to a diverse group of developers. v2.0 landed in June.
Alexander Petros
4. Ecma International Approves ECMAScript 2024: What’s New? — In June, the Ecma General Assembly approved the latest ECMAScript / JavaScript spec, officially making it a standard. As with ES2023, it was a reasonably small step forward, but Dr. Axel rounded up what was new.
Dr. Axel Rauschmayer
5. JavaScript’s ??= Operator: Default Values Made Simple — The ??= nullish coalescing assignment operator snuck into JavaScript a few years ago via ES2021 and has been broadly supported almost everywhere for ages. Trevor showed off how it can tighten up your assignments.
Trevor I. Lasn
6. Eloquent JavaScript: The Fourth Edition — Coming several years after the third edition, the latest version of what is, perhaps, the best ‘all rounder’ book for learning JavaScript arrived in March “adjusted to the realities of 2024 and generally touched up.”
Marijn Haverbeke
7. 33 JavaScript Concepts Every Developer Should Know — A curated collection of links to tutorials on 33 different areas it’s worth understanding well, including types, closures, equality, scope, and different engines.
Leonardo Maldonado
8. How Google Handles JavaScript In Its Indexing Process — At one point if you wanted Google to index your content it needed to be directly written in HTML and not dynamically rendered with JavaScript. Things have since changed, of course, but by how much?
Zecchini, Moore, Siddle, Ubl (Vercel)
📰 Classifieds
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
Hookdeck: An alternative to Amazon API Gateway + Lambda + SQS. With local dev, debugging, and observability built-in.
🤗 Many thanks for reading JavaScript Weekly in 2024, sending in your links, and generally supporting us. We look forward to seeing you again early next year. Remember, we’re moving back to Fridays (long term subscribers may remember we used to go out on Fridays for the first several years) so we’ll be back on Friday, January 10.
Benchmarking Node’s recent performance enhancements
#716 — December 12, 2024
JavaScript Weekly
Boa v0.20: An Alternative JavaScript Compiler — Under development for several years, Boa has a few missions: be a Rust ECMAScript implementation, be easy to embed in Rust projects, and be a fast, safe JS engine overall. v0.20 sees a bump up to 89.92% compliance in the Test262 suite, improves Temporal support, adds Atomics.pause, and more. This is no toy engine.
Boa Developers
React v19 Now Stable — First teased in a February 2024 update, React 19 has been in beta for 8 months, so there’s already a wealth of content about it, from the React 19 upgrade guide or an explanation of its compiler to cheat sheets and Vercel’s roundup of what’s new in React 19.
The React Team
Build with Gemini at Lightning Speeds — With the largest context window available, Google Gemini provides JavaScript developers multimodal processing of images, videos and text. Start using Google Gemini in minutes using AI Studio.
Google Gemini sponsor
IN BRIEF:
🎮 If you ever do any game development with JavaScript, it’s time to take the Gamedev.JS Survey 2024. If you don’t, you can head to JS13KGames and enjoy other people’s creative efforts instead 🙂
Apple has released Safari 18.2 which introduces a few enhancements to JavaScript support including Float16Array, more methods for Uint8Array, Promise.try, RegExp.escape, and more.
Did you know Douglas Crockford is Not Your Dad? Well, at least when it comes to putting comments in JSON..
RELEASES:
VS Code November Release – Now when you copy and paste JS/TS code, VS Code can add imports for the pasted code.
Next.js 15.1 – The popular React framework gets full React 19 support.
Node v23.4.0 (Current) – Say hello to assert.partialDeepStrictEqual and –trace-env for tracing environment variable usage.
Sheriff v25 – Opinionated TypeScript-first ESLint configuration. Now supporting ESLint v9.
Undici 7.1 – HTTP/2 support now marked as stable in the Node.js HTTP library.
pnpm 9.15, Dependency Cruiser 16.8, Redux Toolkit 2.5, YouTube.js 12.2
📒 Articles & Tutorials
The State of Node.js Performance in 2024 — A thorough set of benchmarks covering recent performance advancements made in Node.js. The improvements between Node 18 and 20 up to version 22 might surprise you – it’s clear the team has put a lot of work into this area.
Gonzaga and Parody (NodeSource)
How to Reduce TTFB? — High “time to first byte” affects web vitals. Learn to identify and fix issues slowing your TTFB.
Sentry sponsor
Publishing a Simple Client-Side JS Package to npm with GitHub Actions — As part of the process of building Prompts.js, a new library for creating simple await-able alternatives to alert(), confirm() and prompt(), Simon wanted to make it easy to publish as an npm package too.
Simon Willison
How to Build a SolidJS App with Deno — SolidJS is a declarative library for creating user interfaces that emphasizes fine-grained reactivity and minimal overhead and it plays well with Deno.
Andy Jiang
Get Cooking! Generative AI with MongoDB — See how MongoDB, the world’s most popular document database, integrates with RAG pipelines and cutting-edge AI agents.
MongoDB sponsor
📄 Building Your Own npm create Package – You’ll have seen (or used) various scaffolding tools using this technique. (A Different) Alex Chan
📄 What We Learned Migrating From Webpack to Vite Roman Zaynetdinov
📄 Understanding the Browser’s Main Thread Amrik Malhans
📺 An Honest Review of TanStack Start vs Next.js Ankita Kulkarni
📄 How React Compiler Performs on Real Code Nadia Makarevich
🛠 Code & Tools
Termo: An Easy to Use Terminal Control for Websites — If you want to offer a terminal emulator style feature on your site (maybe for advanced users, to enhance your docs, or even just as an easter egg), Termo enhances Xterm.js and presents a slick experience.
Raj Nandan Sharma
🖼️ wasm-vips: libvips Image Processing via WebAssembly — libvips is an efficient image processing library written in C. This build offers an isomorphic route to using it in the browser, as well as Node and Deno, all thanks to WebAssembly. (There’s an interactive demo here.)
Kleis Auke Wolthuizen
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
Civet 0.9: Code More with Less Using a TypeScript Superset — Two years old and well maintained, Civet offers an interesting approach. Think JavaScript but with Python style indentation, chained comparisons, built-in JSX, & more. This example alone shows off the potential for tighter, easier-to-write code.
Daniel X Moore and Contributors
Rockpack 5.0: An Alternative React App Starter — A Create React App-style tool aiming to get React project setup time as low as possible, complete with server side rendering support, bundling, linting and testing. GitHub repo.
Alex Sergey
jsesc: Get a Stringified, ASCII-Safe Representation of Any Data — Think JSON.stringify() but instead it returns JavaScript meaning it can support things like maps, sets, and BigInts.
Mathias Bynens
📊 Perspective 3.2 (above) – Data visualization and analytics component. The core is written in C++ and compiled to WebAssembly where it can be used from JavaScript. Their homepage shows it off well with a live example. Now supports newline delimited JSON (ndjson).
☎︎ International Telephone Input 25.2 – Component for entering and validating international phone numbers. Vue, React, and vanilla.
debug 4.4 – Tiny debugging utility modelled after Node.js core’s debugging approach (but for the browser too).
ExpressoTS 3.0 – TypeScript framework for server-side Node.js apps.
InversifyJS 6.2 – Inversion of control container for JavaScript.
📊 ApexCharts 4.2 – Popular JS charting library. (Demos.)
Vue3-Carousel 0.9 – Customizable, lightweight Vue 3 carousel component.
html-react-parser 5.2 – Isomorphic HTML to React parser.
AlaSQL.js 4.6 – Isomorphic JavaScript SQL database.
📰 Classifieds
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
If your work leans more towards the frontend, be sure to check out the latest issue of Frontend Focus, our sister newsletter focused on all things browser-side.
Oracle engages its lawyers and JavaScript turns 29
#715 — December 5, 2024
🗓️ If you missed last week’s issue, don’t worry, it didn’t exist – we took a week off for Thanksgiving! We’re now back all the way through to the Christmas break 🙂
__
Your editor, Peter Cooper
JavaScript™ Weekly
Deno v. Oracle: Cancelling the JavaScript Trademark — Did you know Oracle formally owns the ‘JavaScript’ trademark? There have been a few efforts to change this over the years but Oracle isn’t listening, so the Deno team formally filed a petition to cancel the trademark.
Deno
⚖️ And, as of this week, it looks like Oracle is lawyering up to defend it [PDF].
🎂 JavaScript Turns 29 Years Old — If you’re wondering why Oracle has the JavaScript trademark, it’s because Sun owned the name and Oracle acquired Sun (which is also why it owns Java). As someone who was posting inane questions in comp.lang.javascript in 1996, this news makes me feel old – no-one could have anticipated what JavaScript would be today.
Netscape and Sun Microsystems
Add Excel-like Spreadsheet Functionality to Your JavaScript Apps — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. View demos now.
SpreadJS from MESCIUS inc sponsor
Astro 5.0: The Web Framework for Content-Driven Sites — Astro has taken the front-end world by storm and v5.0 keeps up its rapid pace of development. Content Layer makes it easy to load content from any source and Server Islands can combine cached, static content with dynamic content. There’s now a type-safe way to manage environment variables and Vite 6 is along for the ride too. You can play with Astro 5 using the astro.new site.
The Astro Team
Take the State of JavaScript 2024 Survey — Each year, Devographics runs a popular survey to see what JS features and tools you know about, use, and love/hate. It’s structured such that you can learn something just from taking it and the results are always interesting (see 2023’s). It’s open for a few more days, despite what the page says. (Or ▶️ watch someone else taking it?)
Devographics
IN BRIEF:
npmjs.com has a ‘new, streamlined search experience. It’s mostly a tweaking of the ‘sort’ options – so take a search like this one for ‘svg’, you can now sort by recent download counts and dependency levels.
TC39 News: Import Sync (explained here) is being promoted to stage 1, Error.isError moves to stage 3, and Intl.DurationFormat moves to stage 4.
🎄 Adrian Roselli has a roundup of development-themed advent calendars for you to enjoy this month, including Advent of TypeScript. ‘Tis the season!
Porffor is an interesting ahead-of-time JavaScript compiler, now complete with a snazzy new homepage.
test262.fyi presents a technical view of how different JS engines fare on the official ECMAScript conformance suite.
RELEASES:
TypeScript 5.7 – The final release of the typed JavaScript superset.
Node.js v22.12.0 (LTS) – A noteworthy release as it’s the first Node LTS release with require(esm) enabled by default.
Radon IDE 1.0 – Turn VS Code or Cursor into a fully-fledged React Native IDE.
Prisma 6 – Powerful Node.js + TypeScript ORM.
Vite 6.0, React Router 7.0, Undici 7, ESLint v9.16.0, Meteor.js 3.1, Relay 18.2, Tailwind CSS v4.0 Beta, Redux Toolkit 2.4, Bun 1.1.38, NeutralinoJS 5.5
📒 Articles & Tutorials
🤖 Using Transformers.js for AI in the Browser — Transformers.js is a seriously impressive project we link from time to time that lets you run pretrained machine learning models in the browser. Here’s a practical look at actually playing with it yourself right now.
Raymond Camden
Working with JavaScript’s Scheduler API — A look at an API only available in Chromium/Edge for now, but that promises a way to prioritize and control task execution in a more refined way than was possible till now.
Trevor I. Lasn
Quokka V2: Deeper Code Insights & Interactive Timeline with New UI — The #1 JavaScript scratchpad just got better! Quokka v2 brings a new UI, interactive timeline, and tools for faster prototyping.
Wallaby Team sponsor
📉 How To Improve ‘Interaction to Next Paint’ in React Apps — Interaction to Next Paint (INP) is a Web performance metric based on the responsiveness of an app to user interactions – Google uses it as part of its ranking mechanism. Jacob offers up advice and resources for improving your INP scores in React apps.
Jacob ‘Kurt’ Groß
How Airtable Scaled TypeScript to Thousands of Projects — “Today we have nearly 3000 TypeScript projects. That’s why we’re sharing our journey to so many projects, and how it reduced our typechecking time by 65%.”
Michael Mitchell (Airtable)
▶ Building a Teleprompter App in 30 Minutes with AI — Building apps with AI powered tools isn’t unusual nowadays, but if you’ve never been through the process, this is a good look at how it works all the way through to deployment.
Kilian Ekamp
Build Fully Functional Apps in Minutes, Not Months — Create, run, edit, and deploy full-stack web apps with Bolt.
StackBlitz sponsor
📺 Four Talks from the London TypeScript Meetup – All top notch talks. Bloomberg
📄 Optimize JS Module Loading with link rel=’modulepreload’ Trevor I. Lasn
📄 Running Your Next.js SSR App on Deno Deploy Orriols and Jiang (Deno)
📄 From Jekyll to Astro: An AI-Assisted Migration Kevin London
🛠 Code & Tools
Linkify 4.2: Link Up URLs, Emails, and More in Plain Text — Given plain text containing things like links, hashtags, IP addresses, and email addresses, this will generate the correct code to display it on the Web. GitHub repo.
Hypercontext
Skia Canvas 2.0: A ‘Browserless’ Canvas Environment for Node.js — Based on Google’s Skia engine and offers end results similar to Chrome’s own canvas system. GPU accelerated and can render images, paths, fonts, shapes, etc. v2.0 adds support for WOFF/WOFF2 fonts, WEBP, and more. GitHub repo.
Christian Swinehart
Introducing <Waitlist/> Mode – A Virtual Queue for Your App — Launching a new product but not ready to open it up to everyone yet? Waitlist Sign-up mode is your solution.
Clerk sponsor
Math.js 14.0: An Extensive Math Library — Work with complex numbers, fractions, units, matrices, symbolic computation, etc. A long standing library continuing to get frequent updates. GitHub repo.
Jos de Jong
Onlook: ‘Figma’-Like Design App for React — A new open source, local-first design app (for Windows, Linux & macOS) targeting React apps. Design layouts directly on a live page and instantly write your changes to code. GitHub repo.
On Off Inc.
🕒 SpaceTime 7.7: A Lightweight Timezone Library — Use this to calculate times in other timezones. Has a Moment-like API but is immutable. No dependencies. Now updated for 2025. GitHub repo.
Spencer Kelly
BunBuster: A Fast Web and TCP Fuzzer for Brute Forcing Servers — As always, use these sorts of things in a responsible way, but it’s interesting to see tools like this now being built in JavaScript, thanks to Bun’s speed and ease of distributing binaries.
Tiago Rangel
Kaluma: A Tiny JS Runtime for the Raspberry Pi Pico — Can a JS runtime squeeze into 64KB to run on the RP2040-based Raspberry Pi Pico? Kaluma can, even while offering Node.js-style niceties.
Kaluma Project
Todoctor: A Tool to Analyze and Track TODO Comments — A CLI tool designed to collect and monitor TODO/FIXME-style comments in JavaScript and TypeScript projects. GitHub repo.
Azat S
📰 Classifieds
🪝 Hookdeck: A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps.
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
🐍 PythonMonkey 1.1 – Embed the SpiderMonkey JS engine into Python’s VM.
nrm 1.5 – Fast switching between registries: npm, cnpm, nj, taobao.
LogTape 0.8 – Simple logging library for all major JS runtimes.
Faker 9.3 – Generate fabricated data to your heart’s content.
np 10.1 – A better npm publish. Now supports Bun too.
DOCX 9.1 – Generate .docx / Word files from JavaScript.
Preact 10.25 – The 3KB React-compatible alternative.
Exploring JavaScript symbols
#714 — November 21, 2024
🦃 We’re taking next week off for Thanksgiving. We don’t celebrate it in our country, but we know many of you do, so it seemed a good time for a break. We’ll be back on Thursday December 5.
__
Your editor, Peter Cooper
JavaScript Weekly
Importing a Frontend JavaScript Library Without a Build System — Many developers prefer to eschew complex, modern build processes and use JavaScript in a more old-school way. You can definitely get by without a build system, and Julia explores some ways to import libraries in such a setup.
Julia Evans
Angular v19 Released — The latest version of the popular enterprise-scale app framework is here with a ▶️ 22 minute introductory video running through what’s changed and what’s new, including incremental hydration (in preview), two new core reactivity primitives, event replay, and the ability to specify which routes are rendered server or client side.
Minko Gechev
Ship Code Confidently When You Take Testing Fundamentals — Join Steve Kinney for this video course on test-driven development workflows and nail the testing fundamentals. You’ll learn about automation, equality, mocks and spies, integration testing, the tools to help you along the way, and much more.
Frontend Masters sponsor
IN BRIEF:
🗳️ The latest State of JS survey is now open and taking your responses. It’s open until December 3.
🇫🇷 dotJS 2025 is taking place next April in Paris, France. If you’d like to speak, the CFP is open until November 29.
AWS Lambda, the serverless functions platform, turns ten years old this week. Its first runtime was JavaScript-based.
Nova is an interesting new JavaScript engine that takes a CPU cache friendly data-oriented approach.
RELEASES:
Bun v1.1.35 – The fast JavaScriptCore-based runtime adds native support for Musl and Alpine Linux, the Bun binary is a lot smaller, console.group and groupEnd are now supported, and fs.readFile is faster on small files.
Payload 3.0 – Headless Next.js-native CMS platform.
📊 Mantine v7.14.0 – The popular React component suite adds new ‘angle slider’, radial bar chart, funnel chart, and stacking modal/drawer components.
Node.js v23.3.0 (Current) and v20.18.1 (LTS)
Ionic 8.4, ESLint v9.15.0, Turborepo 2.3, Deno 2.1, QuickJS 0.7
🤞 It wasn’t released by the time we hit ‘send’ but we suspect TypeScript 5.7 will be out later today – you can check on the TypeScript blog.
📒 Articles & Tutorials
Exploring JavaScript Symbols — Symbols were a new ‘quirky little primitive’ (as Trevor puts it) that arrived with ES6 ten years ago, but they continue to be poorly understood. Trevor boils them down really well, including a little side quest into the likely-to-be-deprecated ‘species.’
Trevor I. Lasn
Breakpoints and console.log Is the Past, Time Travel Is the Future — Next-level testing in any editor, 15x faster with Interactive Time Travel Debugger, real-time insights & advanced coverage in a new UI.
Wallaby Team sponsor
Building Self-Contained Executable Programs with Deno — One of Deno’s compelling features is its deno compile command that can turn JavaScript and TypeScript programs into single, easy to distribute cross-platform binaries. Here’s a bit more about what makes it tick.
Ryan Dahl and Andy Jiang
Mapping Over Promises in JavaScript — A quick look at three approaches: for..of, Promise.all, and p-map
Peter Mbanugo
Explore Sentry Launch Week: New Products and Community Highlights — Join us for daily video drops on YouTube at 9am PT, and on Discord to chat live with the engineers building Sentry.
Sentry sponsor
📄 Migrating from VuePress to VitePress Henry Bley-Vroman
📄 Why Alpine is the ‘New jQuery’ and Why That’s Awesome Raymond Camden
📄 How to Prerelease an npm Package Scott Vandehey
📄 Precise Decimal Math in JavaScript with Fraction.js Trevor I. Lasn
📄 How to Avoid Flaky Tests in Playwright Zanini and Ackerson
📄 Adding Interactive Charts in Astro Pavlin BG
🛠 Code & Tools
Viselect: Let Users Visually Select DOM Elements — If you’ve got a variety of elements and you want users to be able to select them in groups, individually, or even in multiple groups, this lets you offer that functionality easily. Can be used in a vanilla fashion or with integrations for P/React or Vue.js.
Simon Reinisch
Perfectionist 4: ESLint Plugin for Sorting Things in Your Code — It doesn’t care what you want to sort (props, imports, types, decorators, modules..) but if you want to enforce something is sorted using ESLint, this is for you. It supports alphabetical and natural sorting, plus sorting by line length which results in this sort of aesthetic.
Azat S.
Your Vectors Are Too Big — Are your massive full-fidelity vectors slowing down your search? Compress, cut costs, and boost speed with MongoDB Atlas!
MongoDB sponsor
React Scan: Detect Performance Issues in Your App — A pure JavaScript tool you can drop into your app to automatically ‘scan’ for problematic renders without doing lots of integration work. There’s a simple demo on the homepage or you can see Aiden’s view of Twitter/X being scanned. GitHub repo.
Aiden Bai
💬 Discordeno v19: A Powerful Discord API Library — A long-standing way to work with, and build bots for, the popular Discord chat system. v19 is a big update with breaking changes. GitHub repo.
Discordeno Team
🤖 Vercel’s AI Chatbot Starter Template — An open source AI chatbot app template built using Next.js. It uses Vercel’s AI SDK and other Vercel APIs for the heavy lifting.
Vercel
Glide.js 3.7: A Dependency-Free Slider and Carousel Control — “Designed to slide. No less, no more” says the creator. MIT licensed and mature.
Jędrzej Chałubek
📰 Classifieds
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
Hookdeck: An alternative to Amazon API Gateway + Lambda + SQS. With local dev, debugging, and observability built-in.
pretty-ms 9.2 – Convert milliseconds to human readable strings. Now with options to hide years, seconds and days, as preferred.
☕ Javet 4.1 – Embed Node.js and V8 into Java. Updates to Node v22.11.0 and adds Float16 support.
Embla Carousel 8.5 – Lightweight carousel library with fluid motion.
Sortable 4.0 – Make tables sortable with class=”sortable”
📊 Vue Data UI 2.4 – Vue 3 data visualization components.
Capacitor 6.2 – Build cross-platform native apps with JS.
Peggy 4.2 – Parser generator for JavaScript.
Will we care about frameworks in an AI world?
#713 — November 14, 2024
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:
🤖 Microsoft has introduced Copilot Edits in VS Code – it provides a way to work across multiple files in a project at once.
Jawsm is an early-stage, experimental JavaScript to WebAssembly compiler (akin to Porffor) but that aims to use the most advanced WASM features off the bat, such as WasmGC and exception handling.
💜 CSS now has an official logo!
RELEASES:
Expo SDK 52 – Toolset for building modern React Native apps, now supporting React Native 0.76 and the New Architecture.
Node.js v18.20.5 (LTS) – Lots of dependency updates and now import attributes and JSON modules are marked stable.
No announcement, but it looks like Ember 6.0 is about to land.
Node.js v23.2.0 (Current), pnpm 9.13, Parcel 2.13.0
📒 Articles & Tutorials
JavaScript Import Attributes (ES2025) Explained — Import 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
📊 visx 3.12 – Airbnb’s suite of React visualization components now includes a Sankey diagram component.
🖼️ Fabric.js 6.5 – Makes HTML5 Canvas elements more interactive with an object model and operations. GitHub repo.
DOMPurify 3.2 – Fast, tolerant XSS sanitizer for HTML and SVG. Demo.
MikroORM 6.4 – Popular TypeScript ORM for Node.js.
Marked 15.0 – Fast Markdown compiler / parser.
📰 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 Happy – Townie 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!