#627 — February 24, 2023
Felix Roos et al.
💡 If you do decide to brave the spec, this guide on ‘how to read the ECMAScript specification’ will get you on the right path.
Frontend Masters sponsor
Let’s Build a Chrome Extension That Steals Everything — Indulging in what they call “DIY whole hog data exfiltration”, Matt, the author of Building Browser Extensions demonstrates that in spite of Manifest v3, a whole lot of bad stuff is still possible when it comes to building browser extensions. Be aware of it and don’t actually do it, of course.
What to Expect from Vue in 2023 — Vue.js creator Evan You explains how Vue 3 is different from Vue 2, and in particular how its use of the Virtual DOM has evolved.
Richard MacManus (The New Stack)
Node.js 19.7.0 (Current) landed this week complete with npm 9.5, a new URL parser called Ada and (experimental) support for packing up Node apps into a single distributable executable.
Colin Ihrig of the Node.js core team gave a ▶️ ‘State of Node.js Core’ presentation earlier this week.
A look at how Storybook 7 has significantly revamped Storybook Docs. This is a great way to show UI components off.
↳ Rust-powered build system for JS/TS.
↳ The popular text to diagram rendering toolkit goes ESM only.
📒 Articles & Tutorials
▶ Astro 2.0, Island Architecture, and React with Fred K. Schott — Fred talks with us about how Astro uses an HTML-first approach to create content-focused websites and new Astro v2 features.
Whiskey Web and Whatnot sponsorpodcast
▶ NPM Library Speedrun – 90 Minutes to Build, CI & Publish — You could throw a bare project up on npm in a few minutes, but it’s fun watching Matt do it with testing, CI, TypeScript, writing a README and building something useful. (He starts around 17-minutes into the video.)
You Don’t Need Ruby on Rails to Start Using Hotwire — Hotwire, an ‘HTML over the wire’ approach to making Web pages more dynamic (explained here), is closely tied to the Ruby on Rails framework, but you can use it to add dynamism to a static site with no Ruby in sight, as demonstrated here.
Performance Analysis of Type-Driven Data Validation Libraries — The author’s tRPC/React project was getting sluggish and after some investigation he narrowed it down to Zod and decided to benchmark it against Superstruct, Yup, Light-Type and Typebox.
Why 2023 is the Time to Migrate from AngularJS to Angular — AngularJS went EOL a year ago so hopefully this is old news..
Bartosz and Łukasz
Migrating from Enzyme to React Testing Library
Priscila Oliveria and Scott Cooper (Sentry)
Building a Lightbox with the <dialog> Element
🛠 Code & Tools
Vuestic 1.6: An Open Source UI Library for Vue 3 — A library of more than 50 customizable components. v1.6 is a big release focused on Tailwind CSS and Nuxt support. Official homepage.
React Libraries for 2023 — The React ecosystem is so large that it’s helpful to be presented with some sound, standard options when selecting libraries for a new project. This is the latest annual update of an established list Robin maintains.
Build Business Software 10x Faster with Retool — Trusted by Amazon and Plaid. Try it for free (up to 5 users) or get $25,000 in credits for paid plans if you’re an early-stage startup.
Kobalte: A UI Toolkit for SolidJS — The components are unstyled and follow WAI-ARIA authoring practices. You also have granular access to each component part, allowing you to add event listeners, props, etc. GitHub repo.
Urban Bot 1.0: React-Based Universal Chatbot Library — Rather than messing around with the APIs for Telegram, Discord, Slack or Facebok Messenger, write React components instead and get chatbot functionality on each.
OrgChart 3.5 ⌃
↳ Render org charts. (Lots of demos.)
↳ Make tables sortable with class=”sortable”
Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut
Shortcut (formerly Clubhouse.io) sponsor
↳ Offline-first, reactive database for JS apps.
↳ End-to-end typesafe APIs made easy.
Software Engineer — Join our happy team. Stimulus is a social platform started by Sticker Mule to show what’s possible if your mission is to increase human happiness.
👀 Elsewhere This Week
Did you know we have several other newsletters we publish each week? We thought we’d do a quick roundup of what’s going on with each of them in case they’re of interest to you:
REACT: In this week’s React Status we wondered if ‘React is the new IBM’, got to build a word scrambling game, and detected unnecessarily mounted React components.
POSTGRES: In this week’s Postgres Weekly we learnt how to create Mermaid diagrams from SQL, create type constraints at the database level, and found out what the real ‘billion dollar mistake’ is. It’s not nulls!
FRONTEND: In this week’s Frontend Focus we focused on iOS and iPadOS’s forthcoming Web Push API support, creating accessible carousels, and a surprisingly easy way to create a ‘dark mode’ theme for your site.
NODE.JS: In this week’s Node Weekly we discovered two new ways to make type-safe MongoDB queries, and found a way to have Node play endless clicker games on your behalf.
RUBY: In this week’s Ruby Weekly, a Rails core team member told us why we shouldn’t indulge in monkey patching, we learnt to create an intelligent FAQ with GPT-3, and met the Rails Foundation’s new executive director.
JAMSTACK: In this week’s JAMstacked, Brian Rinaldi pondered React’s role in the whole Jam space, and shared a few useful tools with us.
GO: In this week’s Go Weekly, we played a game of Solitaire on the terminal, discovered a Go-powered Web browser, and learnt more about what’s new in Go 1.20.
RUST: Sorry, we don’t have a Rust newsletter, but we get asked that a lot!
Thanks for reading, thanks to everyone who submitted items for this issue, and thanks to Frontend Masters, Whiskey Web and Whatnot, Shortcut, and Retool for supporting this issue. See you next week!