A variety of JS hacks and creative coding
#690 — May 30, 2024
JavaScript Weekly
How 1Password Used esbuild to Cut Browser Extension Build Times — 1Password is a popular password management tool that relies upon a browser extension to fill out passwords on the Web. At over a minute for a single build, things were starting to drag for the devs. Could esbuild help? A fun story with plenty of technical details.
Jarek Samic
Next.js 15 Release Candidate — The popular React meta framework gets ready for a major new release with a RC giving you an opportunity to experiment with React 19 (and React Compiler) support, executing code after a response with next/after, and a few potentially breaking changes.
Delba de Oliveira and Zack Tanner
Everything You Need to Know About Git — Join ThePrimeagen for this extensive video course and ensure you never run into an unsolvable Git problem again. You’ll learn advanced git abilities like interactive rebasing, bisecting, worktrees, the reflog, and more.
Frontend Masters sponsor
aem1k: A Variety of JS Hacks and Creative Coding — This is a fun one. Martin really captures the joy and expressiveness of JavaScript and the Web with his collection of projects, whether it’s offering a NSFW-named tool to convert your JavaScript into just six characters, rendering a spinning globe in 1KB of JS, the Game of Life in 176 bytes, and many more such experiments.
Martin Kleppe
IN BRIEF:
The folks behind the long standing Gulp build tool are running a survey to help make Gulp better and suit modern needs. It closes tomorrow.
🫠 JavaScript’s creator Brendan Eich popped up on Twitter/X to refute a claim that JS is “the most slop” by saying it’s only 50% so.. I don’t get it either.
If you haven’t gone down the JSR rabbit hole yet, let ▶️ Ryan Dahl convince you through his DevWorld 2024 talk. (29 minutes.)
Three.js introduces its own ‘TSL’ shader language as a way to write WebGPU shaders with JavaScript rather than the WebGPU Shading Language.
RELEASES:
Astro 4.9 – The framework that does everything now does even more, gaining React 19 enhancements, plus a Container API for rendering Astro components outside of Astro apps.
Node.js v18.20.3 (LTS) and v20.14.0 (LTS).
Rspack 0.7 – Fast Rust-based web bundler.
Storybook 8.1 – The frontend component workshop.
📒 Articles & Tutorials
10 Modern Node.js Runtime Features to Start Using in 2024 — If it ever feels like the new feature spotlight shines too much on Bun or Deno, never fear – Node.js has been taking huge strides forward too. Liran looks at lots of what’s new.
Liran Tal
ECMAScript 2023 Feature: Symbols as WeakMap keys — Dr. Axel continues his look at language features by explaining what WeakMaps are for and why using symbols for keys has added benefits.
Dr. Axel Rauschmayer
Introducing a New Fullstack TypeScript DX from AWS — Build every part of your app’s cloud backend with TypeScript: auth? TypeScript. Data? TypeScript. Storage? TypeScript.
AWS Amplify sponsor
▶ uBlock Origin: Let’s Read the Code — A prolific code reader spends some time digging into the popular ad blocker that’s almost entirely built in JavaScript.
Ants Are Everywhere
Why We Need a Standard JavaScript ORM for SQL Databases — ..and is it Drizzle?
Paul Scanlon (The New Stack)
Want Out of React Complexity? Try Vue — A high level piece that may provide some context if you haven’t dabbled with Vue yet.
Richard MacManus (The New Stack)
Stale Thinking Causes Teams to Thrash — You Need a Breath of Fresh Air ☀️ — Get fresh perspective from product managers who’ve been-there-done-that across tons of domains, use cases, and problems.
Test Double sponsor
📄 Why We Don’t Have a Laravel For JavaScript… Yet Vince Canger (Wasp)
📄 It’s Not Just You, Next.js is Getting Harder to Use Andrew Israel
📄 How to Create a Modal in React with HTML’s <dialog> Colby Fayock
📄 What’s New in Angular 18 Gergely Szerovay
🛠 Code & Tools
Regexper: Display JavaScript Regular Expressions as Railroad Diagrams — Might come in handy for learning regular expressions or if you have a complex regular expression and you don’t know what it does (not an uncommon situation..!)
Jeff Avallone
Hono 4.4: The Standards-Based JS Web App Framework for Everywhere — Hono is a small, fast web framework with a straightforward API, middleware support, and that runs pretty much on anything (Deno, Bun, Node, Cloudflare, and more). v4.4 brings it to JSR, adds timeout middleware, and a helper to get information about connected clients.
Yusuke Wada and Contributors
Your Fastest Path to Production — Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.
Render sponsor
Inertia.js 1.1: Build SPAs for Any Backend — Inertia acts as ‘glue’ between various frontend libraries (React, Vue, or Svelte, say) and server-side frameworks (e.g. Rails or Laravel).
Jonathan Reinink
ShareDB 5.0: Realtime Database Backend Based on Operational Transformation — For when you need real time synchronization of JSON documents (such as for behind a real time collaboration app).
ShareJS
PyMiniRacer v0.12.2 – Call your Python from your JavaScript from your Python.
Knip 5.17.0 – Finds and removes unused files, dependencies and exports. Now with more.
PM2 5.4 – Popular Node.js-based process manager for production.
Melange 4.0 – OCaml compiler for JavaScript developers.
Neutralinojs 5.2 – Lightweight cross-platform desktop app framework.
Billboard.js 3.12 – The popular chart library gets funnel charts.
Peaks.js 3.4 – BBC-created audio waveform UI component.
Happy DOM 14.12 – JS implementation of a web browser sans UI.
Retire.js 5.0 – Scans for JS libraries with known vulnerabilities.
React Native Boilerplate 4.2 – A starter template for RN apps.
RE:DOM 4.1 – Tiny library for creating user interfaces.
AlaSQL.js 4.4 – Isomorphic JavaScript SQL database.
is-what 5.0 – Simple, small JS type check functions.
FxTS 1.0 – Functional programming library.
⏰ And one for fun..
Qlock: A JavaScript Quine Clock — We linked to Martin’s array of creative JavaScript experiments earlier, but why not finish with one that particularly tickled us? A quine is a program that takes no input but manages to produce, as output, its own source code. Here’s a fun JavaScript example that isn’t merely a quine, but a clock too.
Martin Kleppe