#672 — January 25, 2024
JavaScript Weekly
Better JavaScript Shell Scripting with Bun Shell — Performance-focused server-side runtime Bun continues its rapid evolution with a side quest into the world of shell scripting by making it easier, cross-platform friendly, and less verbose. zx offers similar (but less integrated and focused) functionality to Node users, if you should prefer.
Jarred Sumner (Bun)
Announcing AdonisJS v6 — If you want a backend Web framework with amazing docs and packed with features, Adonis is a good choice. v6 is a big step forward moving to ESM by default, with more type safety overall (including for routes and middleware references), a new validation library, and more.
Harminder Virk
Learn Vite, The Fast Build Tool for Modern Web Projects — Join Steve Kinney for this video course tour of Vite’s capabilities, including a look at bundling, optimizing static assets, hot module reloading, and its plugin ecosystem. You’ll come away proficient at using Vite to build scalable, performant apps.
Frontend Masters sponsor
QuickJS: The Small, Embeddable JavaScript Engine — Several years ago, Fabrice Bellard, the genius behind FFMPEG and JSLinux, built a tiny and complete JavaScript engine in C. It now supports ES2023 and its latest release adds top-level await in modules and its REPL, as well as support for some cutting edge JS features (changelog).
Fabrice Bellard
IN BRIEF:
@npm_malware on Twitter/X shares malicious packages detected in real time.
JetBrains has opened up its Early Access Program for WebStorm 2024.1, its commercial JS/TS IDE.
📅 React Conf 2024 takes place this May 15-16 online and at Lake Las Vegas.
RELEASES:
Astro 4.2 – The framework that never ceases to amaze.
Node.js 21.6.1 (Current) – A bug fix for Undici.
Puppeteer 21.9 – Now using Chromium 121.
Next.js 14.1, Qwik 1.4, Expo Router v3, Redux Toolkit 2.1
📒 Articles & Tutorials
Web Components in Earnest — This is.. epic! If you want to really get a walk through the journey of building an entire app using Web Components and JavaScript, this is it. The app in this case is simple, but complete, and the author shows off the realities of going all in with Web Components here.
David Bryant Copeland
▶ An Alpine, HTMX, and Astro-Based Wordle App — Popular dev YouTuber Jack demonstrates building a Wordle clone with a modern Alpine, HTMX and Astro-based stack. Or you can go straight to the code, if you prefer.
Jack Herrington
Complete Your AI Coding Experience with Wallaby.js — Get instant test feedback and powerful debugging for AI code suggestions.
Wallaby Team sponsor
How to Start a React Project in 2024 — Robin explains the pros and cons of a few common approaches, including using Vite, Astro, and Next.js.
Robin Wieruch
Build a Next.js App in Storybook with React Server Components and Mock Service Worker — How to develop, document, and test RSC apps in isolation, while using MSW to mock network requests.
Michael Shilman
Reversing and Tooling a Signed Request Hash in Obfuscated JS
Brett Buerhaus
Create a Currency Converter with HTML, CSS, and Vanilla JavaScript
Esther Vaati
🛠 Code & Tools
Jint 3.0: A JavaScript Interpreter for .NET — Run JavaScript within a .NET app and expose .NET objects and functions to JavaScript code. v3 arrives after seven years of work and is the most standards-compliant JS engine running entirely within .NET.
Sébastien Ros
Mutative: A Library for Efficient Immutable Updates — A library for efficient immutable updates, boasting being 2-6x faster than naive handcrafted reducers, and even more than 10x faster than Immer. GitHub repo.
Michael Lin
Auth Without Complexity — Authentication in a Straightforward Platform — Userfront streamlines authentication & access control so engineers can focus on their core business. Read the docs now.
Userfront sponsor
React Email 2.0: Build Better Emails with React — React Email is a collection of unstyled components for creating emails using JSX and React (this example shows you the basic idea).
Gabriel Miranda (Resend)
workerpool 9.1: Offload Tasks to a Pool of Workers — A long established thread pool library that works not only on Node but also in the browser.
Jos de Jong
Microsoft TypeSpec: A TypeScript-Inspired Way to Define APIs — A language for concisely describing cloud service APIs and generating other API description languages (e.g. OpenAPI), client and service code, docs, and more. Formerly known as CADL. – GitHub repo.
Microsoft
Receive, Authenticate, Transform, Filter, Route, and Deliver Webhooks — The Hookdeck Event Gateway is a reliable platform to support event-driven application development across the full development lifecycle.
Hookdeck sponsor
Partytown 0.9: Run Third Party Scripts in a Web Worker — A way to run resource intensive scripts on a separate thread (in a web worker) to let the main thread remain responsive. GitHub repo.
Partytown
pretty-ms 9.0: Convert Milliseconds to Readable Strings — 1337000000 → 15d 11h 23m 20s
Sindre Sorhus
nmea.js: A Library to Parse Maritime Electronics Data — I’d never even heard of NMEA till now, but if you work with sonars, gyrocompasses, and similar marine electronics, this is for you.
Bruno Vieira
Zustand 4.5 – Barebones flux-y state management.
Mongoose 8.1 – MongoDB object modelling approach.
EverShop 1.0 – Node.js-based ecommerce platform.
pretty-quick 4.0 – Run Prettier on changed files.
wavesurfer.js 7.7 – Waveform rendering and playback.
Flatbush 4.3 – Fast spatial index for 2D points/rectangles.
Culori 4.0 – Comprehensive color library.