#678 — March 7, 2024
JavaScript Weekly
📒 Eloquent JavaScript Goes Fourth — Coming several years after the third edition, the latest version of, perhaps, the best ‘all rounder’ book for learning JavaScript is here: “adjusted to the realities of 2024 and generally touched up.” You can read it on the Web, but it’ll be available in print later on too.
Marijn Haverbeke
Deno Introduces JSR: A New JavaScript Registry — The JavaScript Registry (a.k.a. JSR) is a new TypeScript-first, ESM-only module registry designed for the entire JavaScript ecosystem. This post digs into what it’s all about and how it builds upon the success of npm.
Dahl, Casonato, and Whinnery
Advanced JavaScript Tools to Empower Your Applications — Build better web applications with powerful JavaScript developer tools including: SpreadJS Excel-like spreadsheet components, ActiveReportsJS reporting tools, Wijmo UI component suite, and Document Solutions viewers for PDF, Excel, Image, and more.
MESCIUS inc sponsor
‘Apple Backs Off Killing Web Apps, But The Fight Continues’ — Last week, we linked to an open letter imploring Apple to reverse its moves around breaking PWAs.. and it worked? Whatever the case, Apple continues to seem hostile to developers, and there’s more to be tackled in this area.
Open Web Advocacy
IN BRIEF:
JavaScript is the focus of a WIRED feature where the author ponders if JavaScript Runs the World – Maybe Even Literally.
The OpenJS Foundation says we should care about package metadata interoperability and has put together a ‘collab space’ to focus on it.
📅 This year’s JSHeroes conference takes place in Romania on May 23-24.
Is client side security dead, or a critical part of the future? asks Gal Weizman.
RELEASES:
Node.js v21.7 (Current) – Node gains a built-in way to output colored text, load and parse environment variables, and support multi-line values in .env files.
TypeScript 5.4 – Improved type narrowing, the NoInfer utility type, Object.groupBy, Map.groupBy, and more.
Mermaid 10.9 – Generate diagrams from text.
Bun v1.0.30, Vue Language Tools 2.0, Ember 5.7
Sentry Launch Week: Making Debugging Fun — We’ll be making debugging fun, raffling swag and talking about all things developer, every. single. day. (For one week.)
Sentry sponsor
📒 Articles & Tutorials
Ultimate Guide to Visual Testing with Playwright — ‘Ultimate’ is always a gamble in a title, but this tutorial is pretty thorough and will get you several steps down the road of fetching pages and making comparisons, all from JavaScript.
Mike Stop Continues (BrowserCat)
Streaming HTML Out of Order Without JavaScript? — An interesting, yet short and sweet, demo of a browser feature that enables a technique you may not have imagined possible without JavaScript – note that support is still rather fresh in Firefox.
Chris Haynes
Effortless GraphQL with Hasura and TypeScript Functions — Connect to your data sources, generate a GraphQL API, and deploy globally — instantly. Want to write and use TypesScript functions directly in your GraphQL API? With Hasura, you can. Check it out.
Hasura sponsor
▶ Drizzle ORM Explained in 100 Seconds — The latest bitesize video from the always educational Fireship channel covers Drizzle ORM, a fast, TypeScript-based way to work with a variety of database systems across numerous JavaScript platforms, from Node to Bun, Deno Deploy, Supabase Functions, Cloudflare Workers, and more. If you need more, there’s ▶️ a 13 minute ‘crash course’ to learning Drizzle, too.
Fireship
Fireship has a ▶️ Expo in 100 seconds video out too, providing a rapid explanation of what the React Native-based toolkit is about.
JavaScript Bloat in 2024 — What’s the average size of JavaScript code downloaded per website? Spoiler alert: it’s a lot and will make anyone from the 56k dialup days cry.
Nikita Prokopov
Tiny Predictive Text — Using 2MB of JavaScript with no AI or LLMs in sight (but using a variant of a Markov chain).
Adam Grant
Coroutines and Web Components — “We will see how coroutines can be used to model web components in a different way, and why you might like it.”
Laurent Renard
Using Web Bluetooth to Read BBQ Temperature Sensor Data
Rik Schennink
🛠 Code & Tools
Million Lint: A Linter for React Performance — Million’s mission is to make React apps faster and the new VS Code extension Million Lint takes a new approach: imagine ESLint but for suggesting performance improvements.
Aiden Bai
Your Google Translate for UI ↔️ Code — Don’t get lost in translation. Build UI with code and copy clean JSX off your design.
UXPin Merge sponsor
BlockNote 0.12: A ‘Notion-Like’ Block-Based Text Editor — 0.12.0 is a significant release for this ProseMirror and TipTap-based editor that lets you drag and drop blocks, add real-time collaboration, add customizable ‘slash command’ menus, and more. It has an all new homepage, too, along with new examples.
TypeCell
PixiJS v8: Build Striking 2D WebGL Experiences — PixiJS is a very mature, long standing rendering library that abstracts away all the pain of building fast 2D graphical experiences for the Web. v8 boasts significant performance improvements, a WebGPU-backed renderer, and a variety of API improvements. If you’re new to Pixi, there’s an interactive tutorial to show you the ropes.
PixiJS Team
NSFW JS 4.1: Client-Side Indecent Content Checking — A client-side TensorFlow.js-powered option for detecting potentially indecent images before they even go over the wire. It’s not fool proof but may help as another layer of protection for both you and your users. GitHub repo.
Infinite Red, Inc.
Plotly 2.30: A JavaScript Graphing Library — A high-level, declarative charting library, built on top of D3 and stack.gl, with over 40 chart types, including 3D charts, statistical graphs, and SVG maps.
Plotly, Inc.
ONBOARDING_LIB: A Headless Onboarding Library — An onboarding library for building accessible, customizable and persisted onboarding flows in React apps. The site itself is an example of such a flow.
Neftic Oy
Finder 3.2: CSS Selector Generator — Given an element, it produces the shortest possible, but precise, selector that reaches that element.
Anton Medvedev
Set Your JavaScript Job Hunt on Autopilot — First 2 Apply automatically monitors most popular job sites and sends you instant notifications for new listings. Try it for free.
First2Apply sponsor
Partytown 0.10.0 – Move intensive third-party scripts off the main thread and into a web worker.
AdminJS 7.7 – Automatic admin interface for Node.js apps.
visx 3.9 – Airbnb’s React-based visualization primitives.
NVM Desktop 3.2 – GUI for Node Version Manager.
melonJS 17.0 – Browser-based 2D game engine.
NodeBB 3.7 – Node.js based forum system.