#652 — August 17, 2023
🏝️ 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 Accelerator — htmx 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.
📒 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)
😭 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 😉).