We’re taking a few weeks off, but..

#​652 — August 17, 2023

Read on the Web

🏝️ I’m taking two weeks off and will be back on Thursday, September 7. So if you don’t see the newsletter turn up for a while, it’s our fault 😉 As I’ve had to produce much of this issue a few days in advance, I’m mixing in some ‘golden oldies’ and popular items from earlier this year to keep things interesting, so this is a less newsy issue than usual. See you again in September! 👋
__
Peter Cooper, your editor

JavaScript Weekly

How Dropbox Reduced the Size of Its JavaScript Bundles by 33% — The folks at Dropbox realize that when you’re operating at scale, small annoyances and delays add up, and their web perf team narrowed down some of Dropbox’s perf issues to their module bundling process.

Nadeem and Hong (Dropbox)

htmx is Part of the GitHub Acceleratorhtmx is a perfect example of a library that isn’t brand new, but one that becomes popular once the time is right. Its success is only continuing following acceptance into the first class of GitHub’s open-source Accelerator initiative, an opportunity that will enable the development of htmx 2.0. GitHub repo.

Big Sky Software

You Might Not Need a Framework — Maximiliano Firtman shares the vanilla approach in this video course on building rich web apps and sites without depending on libraries of frameworks. It covers the DOM, event handling, routing, web components, and more.

Frontend Masters sponsor

You Don’t (May Not) Need Lodash or Underscore — Inspired by the popular You Might Not Need jQuery, this extensive document provides pure JavaScript alternatives to almost 100 different functions as you’d find in popular utility libraries like Lodash.

You Don’t Need

⚡️ IN BRIEF:

It’s still a few weeks away, but we’re told Bun 1.0 is almost here” and there’s 📅 a live presentation by Bun’s creator, Jarred Sumner, on September 7 you can sign up for now.

If you like to keep up with other languages than JavaScript, renowned C++ expert Herb Sutter recently ▶️ gave a fantastic talk about modernizing and improving C++ more quickly by creating a Typescript-esque superset with better abstractions and features.

🕹 React Jam was a React-oriented gamejam that took place last week and here are the winning games.

👾 Talking of gaming, the annual js13kGames JS coding competition has just started. You can join in the fun, though, as it doesn’t end till September 13.

Robin Wieruch shared his 10 Web development trends in 2023 back in January – how are they shaping up so far? As Larry David might say.. pretty, pretty good.

In “The “Skeleton Squad” is now targeting NPM“, the team at Socket take a look at how a group is attacking the npm package ecosystem.

🐦▶️ Playing with the earliest JavaScript in Netscape 2.0.

🎉 RELEASES:

Fresh 1.4
↳ The Deno-powered web framework.

jest-dom 6.0
↳ Custom matchers to test the state of the DOM.

NodeBB 3.3 – Node.js-powered forum software.

Electron 26.0

Angular 16.2

Playwright 1.37.0

📒 Articles & Tutorials

Discover three.js: A Complete Guide to Creating 3D Web Experiences — The breadth of the content on offer here had me looking for the price, but it’s all online and free. There’s a lot to dig through here if you want to get started (or just get better) at using three.js. If you’re already familiar with three.js, you may enjoy the three.js tips and tricks page.

Lewy Blue

JSX Without React — Exploring a new tool called NakedJSX that will allow you to render JSX without the need for the full React framework.

Chris Coyier

React Authentication — Without Complexity — Userfront streamlines authentication & access control so engineers can focus on their core business. Read the docs now.

Userfront sponsor

You’ve Got Options for Removing Event Listeners — Reviewing some of the most common approaches available to remove event listeners in JavaScript.

Alex MacArthur

Prepare Your Firefox Desktop Extension for the Upcoming Android Release“Firefox will become the only major Android browser to support an open extension ecosystem.”

Scott DeVaney (Mozilla)

Application State Management with Angular Signals

Yevgeny / Oz

▶  Six (or so) New Approved and Proposed JavaScript APIs

Syntax Pocast podcast

The Importance of Verifying Webhook Signatures

Marcelo Oliveira (Snyk)

Writing JavaScript Without a Build System

Julia Evans

🛠 Code & Tools

Croner 7.0: Cron for JavaScript and TypeScript — Trigger functions upon the schedule of your choice using the classic cron syntax. Works in Node, Deno, Bun and the browser, across time zones, offers error handling and overrun protection, and more. There’s an live demo on JSFiddle. v7.0 adds support for specifying the n-th weekday.

Hexagon

Linkify 4.1: Link Up URLs, Email Addresses, and More in Plain Text — Given some plain text containing things like links and emails, Linkify will generate the correct code to display it on the Web. Not just URLs or emails, but hashtags, @mentions, IP addresses, and more – see the homepage for examples. GitHub repo.

Hypercontext

🦘JavaScript Scratchpad for VS Code: New Logpoints Feature! — Seeing runtime values has never been so easy. Simply place a breakpoint on a line, no debugger required: zero setup/configuration.

Wallaby.js sponsor

deno_python: Python Interpreter Bindings for Deno — A seamless Deno-Python integration via the Python/C API. The latest release supports installing and importing pip packages. This feature has been described as “slightly cursed” but it’s certainly interesting.

Denosaurs

Tagger: A Zero Dependency, Vanilla JavaScript Tagging Library — You can play with a live demo here.

Jakub T. Jankiewicz

Over 100 Algorithms and Data Structures Demonstrated in JS — Examples of many common algorithms (e.g. bit manipulation, Pascal’s triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations. Available in other languages too like Chinese, Korean, French, and Spanish.

Oleksii Trekhleb et al.

Deliver Interactive Real-Time Live Streams with Amazon IVS

Amazon Web Services (AWS) sponsor

Proto Tree: A Way to Observe the JS Prototype Chain — Gal explains the motivation for this tool in 🐦 this Twitter thread.

Gal Weizman

Barba.js: For Smooth Visual Transitions Between Pages — You certainly can’t say the project’s homepage doesn’t show off all of its features. For such a dramatic set of effects, things feel smooth and surprisingly nice 😁 GitHub repo.

De Rosa, Michel, et al.

Stritch: A JavaScript Barcode Scanning Library — It’s a commercial library, but featureful and well presented with support for a variety of 1D and 2D barcode types.

Pixelverse LLC

#Script: A JS-Inspired Scripting Language for .NET — An embeddable scripting language mostly targeting template use cases. It can also be used in a Lisp style.

ServiceStack

💻 Jobs

Find JavaScript Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.

Hired

🧑‍💻 Got a job listing to share? Here’s how.

ngraph.path: Path Finding Through Graphs — There’s a live demo if you want to see how it tackles the road network of several global cities.

Andrei Kashcha

SVGR 8.1
↳ Transform SVGs into React components.

BlockNote 0.9
↳ “Notion-style” block-based editor built atop Prosemirror. (Demo)

React Number Format 5.3
↳ Input formatter library for numbers.

Tinypool 0.8
↳ Minimal/tiny Node.js worker thread pool.

melonJS 15.9 – Lightweight HTML5 game engine.

Sortable 2.3 – Vanilla JS table sort. (Demo)

Preact 10.17.0

😭 Last week I promised a JavaScript AI/ML feature, but time hasn’t worked out in my favor (note to self: don’t send an issue while on vacation 😆). Keep your fingers crossed and it’ll be in one of the next issues. So much has been happening in the JavaScript AI/ML space that we want to shine a spotlight on it sooner than later.

👋 We’ll be back in three weeks on September 7, 2023. See you soon! If you have anything to submit for the next issue, hit reply and let us know (but appreciate we may be slow to reply since we’ll be on vacation 😉).