#612 — October 28, 2022
Turbopack: A Rust-Based ‘Successor’ to Webpack — With over 3 billion downloads, webpack is currently the undisputed champion of the bundlers (though Vite has been rapidly advancing upon it). Vercel found it too slow so has funded work on Turbopack, powered by Rust (a synonym for ‘faster’ in some circles nowadays.. 😏) It’s a project to keep an eye on (especially if you’re a Next.js user) and boasts significant performance boosts over webpack and even Vite, but there are some limitations to take into account:
It’s arguable if it’s a “successor” to webpack, as Turbopack can’t do much of what Webpack can yet, and while they share a creator, webpack is an active project with maintainers of its own.
It’s very connected to React and Next.js 13 (also released this week – more on that next) – Vue and Svelte support is to follow.
The similarly Rust-powered SWC is used to transpile JS/TS.
Vite’s Evan You 🐦 casts some doubt on the perf difference claims. He also has 🐦 a thread with his thoughts on Turbopack generally.
In short, unless you are living on the Next.js edge, stick with webpack or Vite for now.
Koppers and Palmer (Vercel)
Node 18 Becomes Active LTS with v18.12.0 — Formerly a ‘current’ release getting all the newest features, version 18 is now the active ‘Long Term Support’ release and will remain so until October 2023. Its codename is Hydrogen – quite fitting as the most abundant element in the universe.
Ruy Adorno and Rafael Gonzaga
If you’re using an older LTS version and are wondering what Node 18 has to offer, Marian Villa presents 11 Features in Node.js 18 you need to try, including the fetch API, –watch, and the native Node test runner.
The SQLite project now has official WASM/JS documentation relating to SQLite’s presence in WebAssembly and browser contexts. sql.js has long been the go-to project in this space, but things are heating up.
Christian Heilmann reminds us that JSON.stringify can create nicely formatted, filtered, multi-line output strings.
Next.js 13 Unveiled at Next.js Conf — Next.js Conf 22 took place earlier this week and as well as Turborepo (above), Vercel unveiled the latest version of the site framework that has become ‘inextricably linked’ to React. It gains:
Support for an app/ directory to improve routing, layouts, and Server Components support – can coexist with existing approaches.
A new image component with on-demand optimization and the ability to display images without layout shift.
A brand new font system.
“Next.js is the framework for the web the way k8s is the framework for infrastructure” – Kelsey Hightower at Next.js Conf.
↳ The popular transpiler now supports TypeScript 4.9 and Deno as a compilation target.
Handsontable 12.2 – Popular spreadsheet-y data grid.
Deno 1.27 – JS server-side runtime that isn’t Node. (Or Bun.)
Qwik 0.12 – HTML-first framework.
📒 Articles & Tutorials
Which Serverless Edge Platform Has the Fastest Git Deployments? — The team behind Deno have tested some popular serverless edge computing providers (including their own Deno Deploy) to see which has the fastest git deployment time. As always with benchmarks, read the results with a cynical eye and repeat for yourself.
Andy Jiang (Deno)
How We Improved React Loading Times by 70% with Next.js — By replacing Create React App with Next.js, business planning platform Causal significantly improved their user experience by reducing load times. How? Well, just a little SSR can get you a long way.
How to Build a Blog with Fresh and Deno — In other Deno news, if you’ve felt like giving Deno a go for something but been unsure as to what, how about spinning up a simple blog atop the Fresh Web framework? Then deploy it really quickly to Deno Deploy 😉
Andy Jiang (Deno)
▶ A Next.js Crash Course — There are a lot of such videos, but this is a well recorded and up to date one so it might help you get the lay of the Next.js land (which seems to be all the rage this week in particular) if you’re just starting out with it. (2 hours 30 minutes)
Detect a System Theme Preference Change from JS — window.matchMedia and addEventListener to the rescue.
Advancements in Angular 14.2’s Router
Using Cloudinary’s Image APIs from Alpine.js
🛠 Code & Tools
npoint: Simple JSON Storage Bins with Schema Validation — You can use this as a lightweight backend as you prototype an app/site or play with a new library. You can even let other people make changes to the data, if you wish.
Downshift 7.0: Primitives to Build Accessible React Components — You get hooks that provide the stateful logic needed to create autocomplete, combo-box and ‘select’ dropdown components which you can then lean on for WAI-ARIA compliant goodness.
↳ Lists node_modules directories and lets you clean them up.
Wild Wild Path 3.3
↳ Object property paths with wildcards and regexps.
↳ Capture screenshots of websites with Puppeteer.
↳ MongoDB object modeling library for Node.js.
Become a Senior JS/TS Developer for a Leading Rich Text Editor — Take the next step in your career and help us migrate CKEditor 5 to TypeScript. Develop the software used by millions of users 🌎
Software Engineer — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.
Software Engineer (Security) — Join our “kick ass” team. Our software team operates from 17 countries and we’re looking for more exceptional engineers to join our Security team.
👻 And just in time for Halloween..
Creepyface: Makes Images of Faces ‘Follow’ the Pointer — This is an effect we’ve seen mostly on ‘about us’ pages where faces of team members follow your pointer around. If you want to recreate that, here you go.. and in a timely Halloween edition too. (React user? There’s a component for that.)