JSConf is back
#712 — November 7, 2024
JavaScript Weekly
JavaScript’s ??= Operator: Default Values Made Simple — The ??= nullish coalescing assignment operator snuck into JavaScript a few years ago via ECMAScript 2021 and has been broadly supported almost everywhere for ages. Trevor shows off how it can tighten up your assignments here.
Trevor I. Lasn
💡 He also took a similar look at the pipeline operator |>, but this feature is still only in draft as a proposal.
🇺🇸 JSConf is Back; Here’s the Details — Two months ago, the OpenJS Foundation announced that the popular JSConf brand was joining the foundation and a new North American JSConf event would happen in due course. Now you can mark your calendars for October 14-16, 2025 for an event taking place in the Chesapeake Bay area of Maryland, USA.
OpenJS Foundation
Handsontable: A Powerful Data Grid for Internal Apps — Speed up the development of your React app with a feature-rich data grid – sorting, filtering, multiple cell types, built-in formulas, CRUD operations, and an extensive API. Come visit our booth at React Summit US on Nov 19th to see it in action!
Handsontable sponsor
Announcing Rspack 1.1 — Rspack is a fast, Rust-powered alternative to Webpack but with the same API. v1.1 boasts being 10% faster than v1.0 and has an improved, though still experimental, incremental build feature. If super fast build times are your bag, this needs to be on your radar.
The Rspack Team
IN BRIEF:
🏆 The OpenJS Foundation has honored six JavaScript developers with awards in categories including Unsung Hero and Pathfinder for Education.
The working group behind the JSR package registry has met to outline plans for an open governance model and a roadmap to enhance JS package management.
⚠️ Phylum takes a look at yet another (ongoing) typosquatting campaign to try and trick JavaScript developers into installing malicious packages.
There’s fewer than two weeks left to take the State of React 2024 survey.
Storybook offers a sneak peek at their Storybook Test tool for fast UI testing.
RELEASES:
VitePress 1.5 – Evan You’s Vite and Vue-powered static site generator.
create-vue 3.12 – The recommended way to start a Vite-powered Vue project. Now with an experimental Oxlint integration.
ESLint v9.14.0 – Now supporting import attributes and regexp modifiers.
Mermaid 11.4 – The popular diagram / charting tool adds Kanban diagrams.
React Navigation 7, Electron 33.1, TinyMCE 7.5.0, Bun v1.1.34
📒 Articles & Tutorials
Wasmer Adds Node.js and Bun Support — Wasmer is a Rust-powered WebAssembly runtime and Wasmer 5.0 adds V8 and JavaScriptCore backend support, meaning you can try all sorts of things like, say, running Clang, Python, or even compiled JavaScript apps inside your own JavaScript app..
Syrus Akbary
Why Would Anyone Need Generator Functions? — A golden oldie that I enjoyed revisiting because it covers an oft misunderstood and not particularly commonly encountered JavaScript feature.
James Sinclair
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
The Most Effective Ways to Improve Core Web Vitals — Everyone wants their site to be as performant as possible, especially when Google factors performance into its rankings, but how? Google shares a variety of practical techniques to improve your INP, LCP, and CLS metrics here.
Why Code Security Matters – Even in Hardened Environments — A well diagrammed dive into a technique that allows malicious parties to turn a file write vulnerability in a Node.js app into a remote code execution exploit even when the file system is read-only.
Stefan Schiller (Sonar)
Generating Random Mazes with JavaScript — A fun, well-presented walkthrough of a basic maze generation process.
Paul Hebert
Along similarly fun lines is Chris MMO’s Generating Lever-Door Puzzles.
MongoDB Helps Devs Build Better AI Agents with LangChain & Hybrid Search — It’s easier than ever to build AI agents with LangChain, perform hybrid search and ingest large-scale documents.
MongoDB sponsor
🚗 Hacking Cars in JavaScript – Or “Running Replay Attacks in the Browser with the HackRF.” Charlie Gerard
📄 How Bun Supports V8 APIs Without Using V8 (Part 2) Ben Grant (Bun)
📄 How to Create an Organic Text Distortion Effect with Infinite Scrolling – There’s a live demo of the striking, though disorienting, effect. Jorge Toloza
📄 Vercel Makes Changes to Next.js to Simplify Self-Hosting Loraine Lawson (The New Stack)
📄 The Latest in Angular Change Detection – All You Need to Know Krzysztof Skorupka
🛠 Code & Tools
npmpackage.info: Detailed Package Info on a Single Page — Give this online tool the name of an npm package and you get a quick ‘dashboard’ style view of the project’s main statistics, covering areas like quality scores, commits, open issues, releases, bundle size, and more.
Shrinath Nayak
📊 NPM Chart is another cool new site focused on showing npm package download stats.
Prompt, Run, Edit, and Deploy Full-Stack Web Apps with bolt.new — StackBlitz recently released an in-browser AI web development agent: bolt.new! Give it a try today.
StackBlitz sponsor
Docusaurus 3.6: The Docs-Oriented Static Site Generator — Meta’s Docusaurus is a popular way to build docs sites (like these). v3.6 is focused on performance, now using tools like Rspack and SWC to make builds super fast.
Meta
Immutable.js 5.0: Immutable Collections for JavaScript — Provides numerous persistent immutable data structures including a list, stack, map, ordered map, set, ordered set, and records.
Lee Byron and Contributors
Sonner 1.7: The Toast Notification React Component — There’s a live demo to try on the homepage, or see the GitHub repo. v1.7 focuses on animation improvements, browser support, and React 19.
Emil Kowalski
Quaternion.js: A JavaScript Quaternion library — Last week we featured the author’s Fraction.js library, now we go a step deeper with a way to work with 3D rotations using quarternions.
Robert Eisele
BlockNote 0.19 – ‘Notion-style’ block-based editor. Now supporting column-based layouts and client-side export to .docx and PDF. There’s a demo on the project’s homepage.
🔐 OpenPGP.js 6.0 – OpenPGP implementation for JavaScript now supporting the new version of the OpenPGP spec, RFC 9580.
Fastify 5.1 – The fast, low overhead Node.js web framework.
xr 6.4 – Bring VR/AR to React Three Fiber apps.
📰 Classifieds
⚙️ Create entire web apps with Reactile and let it handle your widgets and windows within a single browser tab. 1-month free trial. Try it now.
Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.
Pythagora is an AI dev tool that builds production-ready tools (not demo apps). It writes the code and talks to you in the process.
📗 We’re also reading..
We’ve also had some tabs open that aren’t JavaScript specific but you might find interesting nonetheless:
🫣 Weird Lexical Syntax by Justine Tunney. Justine is building a syntax highlighter and set out to learn 42 programming languages in a single month to help figure out the edge cases. She recounts the surprising things she discovered about the syntax of various languages, including JavaScript.
👻 Before You Buy a Domain, Check if it’s Haunted by Bryan Braun. Buying a domain for a side project is always fun, but it’s far less fun when the domain was previously used for nefarious purposes and comes with baggage..
🤔 What Has Case Distinction But is Neither Uppercase or Lowercase? by Raymond Chen. It sounds like a riddle, but there are actually Unicode characters that have case distinction yet are neither uppercase nor lowercase themselves.