#698 — July 25, 2024
JavaScript Weekly
Astro 4.12: Say Hello to Server Islands — The flexible Astro framework for building modern content-based sites continues to go from strength to strength. v4.12 includes a new concept of server islands, a way to integrate static HTML and server-side generated components together.
Erika and Phillips (Astro)
What’s New for JavaScript Developers in ECMAScript 2024 — High level analysis of developments in the ECMAScript spec, with insights from Ecma vice president Daniel Ehrenberg, TC39 co-chair Rob Palmer, and developer Ashley Claymore. A good, thorough roundup of the state of play.
Mary Branscombe (The New Stack)
💡 If you want to go a step further with what’s coming up next, Igalia presents a summary of the recent TC39 meeting in Helsinki with which language proposals were advanced and discussed.
Level Up Your Next.js Skills — Join Scott Moss for this detailed video course on intermediate Next.js. Learn how to build production-ready apps by diving into concepts such as server actions, data fetching, protected routes, form authentication, performance caching, and more.
Frontend Masters sponsor
A Post Mortem of What Broke Node v22.5.0 — Node’s ‘Current’ release line gives access to the latest Node has to offer, at the risk of encountering troublesome bugs too – v22.5 included two, alas, with Node v22.5.1 quickly following to resolve them.
Yagiz Nizipli et al.
IN BRIEF:
Rich Harris provides some details about the forthcoming Svelte 5 and shares his opinions on React Server Components (he thinks they’re “pretty phenomenal”).
Node.js has added an experimental feature to strip TypeScript types from the code it runs.
📊 The results of the State of React 2023 survey have been released including insights from over 13,000 respondents, as have the results of Stack Overflow’s 2024 developer survey.
RELEASES:
Mikro ORM 6.3 – Popular ORM for Node.js and TypeScript, now with an optional ‘schema-first’ approach.
Uppy 4.0 – Powerful, modular JavaScript file uploader.
Preact 10.23 – The 3KB React compatible alternative.
Node.js v20.16.0 (LTS), Storybook 8.2, pnpm 9.6, Meteor.js 3
📒 Articles & Tutorials
So You Think You Know Box Shadows? — The author indulges his creative side with some fun experiments into what he calls “some of the worst possible things” you can do with box shadows on a DIV element, coupled with JavaScript.
David Gerrells
▶ Don’t Use JS for That: Moving Features to CSS and HTML — Packed with code and examples. Some techniques aren’t universally supported yet, but there’s a lot that the browser can offer that you don’t need to reimplement yourself, like color picking, modals, and animations.
Kilian Valkhof
😘 Kiss Bugs Goodbye — Get 80% automated E2E test coverage in just 4 months with QA Wolf. With QA cycles complete in minutes (not days), bugs don’t stand a chance. Schedule a demo.
QA Wolf sponsor
How to Choose the Best Rendering Strategy for Your App — The differences between Static Site Generation (SSG), Server-Side Rendering (SSR), Client-Side Rendering (CSR), Incremental Static Regeneration (ISR), and Partial Prerendering (PPR).
Alice Alexandra Moore (Vercel)
A Practical Guide to Not Blocking the Event Loop — A look at the core principles of synchronous and asynchronous work in a single-threaded environment, stressing the importance of non-blocking code for efficient event loop utilization.
Slava Knyazev
Why is Spawning a New Process in Node So Slow? — The developers of the Val Town platform noticed that Node couldn’t spawn more than 40 external processes per second, whereas Deno and Bun could do a lot more..
Max McDonnell
Debugging Your Node.js Project with Sentry — Join us live today to learn all the basics to monitoring and debugging your Node.js projects with Sentry.
Sentry sponsor
📺 How to Engineer Your Developer Blog Posts to Have Bigger Impact – From a Postgres community perspective, but the advice is universal and well explained. Claire Giordano
📄 Bring Your Own API Key: Supporting User-Provided OpenAI Keys and Prompts in Browser Extensions Stephen Siegert
📄 How to Review Code Effectively: A GitHub Staff Engineer’s Philosophy Sarah Vessels (GitHub)
📄 How Airbnb Smoothly Upgrades React – It was no small task. Andre Wiggins (Airbnb)
🛠 Code & Tools
Ky: Tiny, Elegant Fetch-Based HTTP Client for Browsers — Makes the Fetch API tidier to use as shown here. If you want to tighten up your fetch calls, it’s worth a look.
Sindre Sorhus
React Native Filament: A 3D Rendering Engine for React Native — Fast, native 3D rendering with a React touch. Rendering takes place on a separate thread for efficiency. GitHub repo and pretty good docs, too.
Marc Rousavy
Tests Are Dead. Meticulous Is Here — Automatically creates & maintains e2e UI tests. Zero flakes. Backed by YC, CTO of GitHub, CPO of Adobe, CEO of Vercel.
Meticulous sponsor
Git Granary: A Personal Git LFS Server — A Deno-powered (but can run under Bun and Node) Git Large File Storage (LFS) server implementation written in TypeScript for self-hosted personal use cases.
David Bushell
litegraph.js: A Graph Node Engine and Editor — Useful if you need to create a system for users to create and manipulate graphs or interconnecting ‘nodes’ for things like graphics, audio or data pipelines. Demo.
Javi Agenjo
🤖 OpenAI Node v4.53.0 – The official Node library for OpenAI’s API adds support for their newest gpt-4o-mini model.
Rollup 4.19 – The ES module bundler gains support for decorators.
eslint-plugin-unicorn 55.0 – 100+ useful ESLint rules in one place.
eslint-plugin-promise 7.0 – Enforce best practices for promises.
pretty-ms 9.1 – Convert milliseconds to a human readable string.
Tinybase 5.1 – Powerful reactive data store for local‑first apps.
MiniSearch 7.1 – In-memory fulltext search engine. (Demo.)
swup 4.7 – Page transition library for server-rendered sites.
Jasmine 5.2 – Testing framework for browsers & Node.