QR Code
OWT Web Services       http://owtweb.com
[Skip to Content]

Industry News

12/18/2024





















#​717 — December 19, 2024

Read on the Web



🎄 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:





RELEASES:








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:








Boost Semantic Search with MongoDB Atlas Vector Search — Create embeddings, index them, and run semantic queries—just follow the quick start tutorial.


MongoDB sponsor







🥇 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.delightBy 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.










12/11/2024





















#​716 — December 12, 2024

Read on the Web





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:





RELEASES:




📒 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 DenoSolidJS 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 WebAssemblylibvips 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














📰 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.













12/04/2024





















#​715 — December 5, 2024

Read on the Web



🗓️ 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:





RELEASES:




📒 Articles & Tutorials





🤖 Using Transformers.js for AI in the BrowserTransformers.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 AppsInteraction 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.












11/20/2024





















#​714 — November 21, 2024

Read on the Web



🦃 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:





RELEASES:




📒 Articles & Tutorials





Exploring JavaScript SymbolsSymbols 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.