#697 — July 18, 2024
JavaScript Weekly
Exploring JS: JavaScript Books for Programmers — You’ll know Dr. Axel from his fantastic blog posts over the years, or his once tenure as JavaScript Weekly’s editor, but he also has an impressive array of no-nonsense books that you can mostly read for free online, including the newly updated Exploring JavaScript (ES2024 Edition), Deep JavaScript, and Tackling TypeScript.
Dr. Axel Rauschmayer
Node.js v22.5.0 (Current) Released — A notable release for two reasons: first, the WebSocket feature in node:http is now exposed, but second, Node is embedding SQLite and now offers direct access to it via node:sqlite.
Antoine du Hamel
WorkOS: The Modern Identity Platform for B2B SaaS — Start selling to enterprise customers with just a few lines of code. WorkOS provides flexible, easy-to-use APIs to integrate SSO, SCIM, and RBAC in minutes. It’s used by hundreds of high-growth startups including Perplexity, Vercel, Drata, & Webflow.
WorkOS sponsor
▶ The Talks from dotJS 2024 — dotJS 2024 took place in Paris a few months ago, and now all the talks are available on YouTube. Highlights include Lea Verou talking about the parallels between API and UI design, David Flanagan on advancements in WebAssembly, and Minko Gechev on convergence of features in modern frameworks The talks are all short, so the takeaways are quick to get.
YouTube
IN BRIEF:
The annual JS1024 JavaScript golfing competition is currently running with submissions due tomorrow. You have to build a JavaScript demo in just 1KB and there are lots of links to tools and tutorials there to help.
The first beta of TypeScript 5.6 is expected next week – here’s the TypeScript 5.6 iteration plan if you want to get ahead on the features and schedule.
RELEASES:
ESLint v9.7.0 – Supports ES2025 duplicate capturing groups in regexes. Duy Ng also shares some tips on migrating to ESLint 9+.
Boa 0.19 – A JS engine written in Rust for embedding in other projects.
Meteor 3.0 – Full-stack framework for real-time apps.
jQuery 4.0 Beta 2, htmx 2.0.1, swc 1.7
📒 Articles & Tutorials
How to Make Complex Chrome Extensions — Spinning up a quick, simple browser extension isn’t that big of a deal nowadays, especially with tools like Extension to kick off a project. Larger extensions are a different story, so it’s neat to learn from the experiences of a team that’s built one.
Nina Torgunakova
Build a Task Manager with Next.js, Neon, & Clerk that Isolates Tasks to Specific Teams — Learn to build a multi-tenant task manager that solves team isolation, user role management, and authentication challenges.
Clerk sponsor
A TypeScripter’s Take on Zig — Rust might be the cool systems language on the block right now, but Zig has a lot going for it too (Bun, notably, is implemented in it.) A good primer from a TypeScript perspective.
Dan Vanderkam
How Fast is JavaScript? Simulating 20 Million Particles — “The challenge: simulate 1,000,000 particles in plain JavaScript at 60 FPS on a phone using only the CPU. Let’s go.” The sort of fun, detailed experimentation I’ll always support.
David Gerrells
A Guide to Reading and Writing Node.js Streams — Matteo reminds us of the benefits of using Node’s powerful streaming data features, where they make sense, and how to handle back-pressure and error management.
Matteo Collina
ViteConf Is Back! — ViteConf will be returning to the virtual stage on October 3rd. Get your tickets now.
StackBlitz sponsor
What React Devs Need to Know About React Native — While React and React Native share many similarities, they’re different under the hood. Here’s some of what you need to know to make the transition.
Kadi Kraman (Expo)
📄 NPM Supply Chain Security: Why We Can Be Optimistic About the Future Robat William
📄 How to Create Distortion and Grain Effects on Scroll with Shaders in Three.js Jan Kohlbach
📄 How to Build a JavaScript UI Component-First DevTool Startup in 2024 Corbado
🛠 Code & Tools
Poku 2.0: A Cross-Platform Test Runner for JS — Poku’s philosophy is to ‘bring the JavaScript essence back to testing.’ It runs the same way across Node, Bun and Deno, and auto-detects ESM, CommonJS and TypeScript.
Weslley Araújo
InfiniteGrid 4.12: Arrange Card Elements Infinitely in a Grid Layout — A mature and established way to create grids formed of card elements of varying sizes. Happy on both desktop and mobile and has integrations for React, Vue, Angular, Svelte, and others. GitHub repo.
NAVER
🤖 Micro Agent: An AI Agent That Writes Code for You — A Node.js-based tool that takes the approach of writing a test case first and then iterates upon a solution until the tests pass.
Builder․io
Your Fastest Path to Production — Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.
Render sponsor
Hyphenopoly 6.0: A Polyfill for Client-Side Hyphenation — Hyphenates text if the user agent or language doesn’t support CSS hyphenation (a feature that’s part of Baseline but with widely varying support). An interesting use of WebAssembly.
Mathias Nater
simplex-noise.js: A Fast Simplex Noise Implementation — Small, self contained, and fast, and you can use it in cool demos like this or for applying convincing grain/noise to images or other data, say.
Jonas Wagner
Maska 3.0: Zero-Dependency Input Mask Library — Several demos on the homepage. Lightweight and framework independent but offers Vue 2/3, Alpine.js and Svelte integrations. GitHub repo.
Form․io
Wasp 0.14 – Wasp is a Rails-like framework for React, Node.js and Prisma.
PKI.js 3.2 – Pure JS library for working with public key oriented systems. Certificates, signing, etc.
📷 Vision Camera 4.5 – Advanced camera control for React Native.
AlaSQL.js 4.5 – Isomorphic JavaScript SQL database.
Eruda 3.2 – A console/devtools for mobile browsers.
MUI X 7.10 – Popular React component suite.