#718 — January 10, 2025 |
🗓️ Friday is the new Thursday! If you were a JavaScript Weekly reader several years ago, you might remember it always landed on Fridays and after getting caught out by a variety of big news items landing on Thursdays in recent years, we're back ;-) |
|
JavaScript Weekly |
⭐ 2024's JavaScript Rising Stars — It’s time to fully wave goodbye to 2024, but not before Michael Rambeau’s annual analysis of which JavaScript projects fared best on GitHub over the past year. Even if you dislike GitHub stars as a metric for anything, this remains a great way to get a feel for the JavaScript ecosystem and see what libraries and tools have mindshare in a variety of niches. A fantastic roundup as always. Michael Rambeau |
A Look at Import Attributes — It’s always a pleasure to see Dr. Axel blogging about JavaScript again, and he’s back with one of his typical deep dives into a newer ECMAScript feature: import attributes. This feature provides an inline syntax for attaching metadata to module imports such as for importing non-JavaScript modules (e.g. JSON, WASM or CSS). Dr. Axel Rauschmayer |
How to Enable End-to-End Testing with Synthetic Monitoring — Synthetic Monitoring helps you launch new features with confidence and speed. Learn how you can create robust end-to-end test suites, spend less time on false positives, and proactively catch errors before they get to production. Datadog sponsor |
Node’s New Built-in Support for TypeScript — Node.js v23.6.0 (Current) has just been released and makes Node’s new type-stripping features work by default, so you can just run Dr. Axel Rauschmayer |
IN BRIEF:
|
RELEASES:
|
📒 Articles & Tutorials |
The Future of htmx — htmx is an increasingly popular way to enhance HTML and actually write less JavaScript on the frontend. This post reflects on how htmx would like to be ‘the new jQuery’, not least in the sense that one of the project’s goals is to push the ideas of htmx into the HTML standard itself, as in this set of proposals. Gross and Petros |
You Don't Need Next.js — As much as Next.js is considered the React meta-framework of choice, if your requirements are modest, simply going with plain React offers numerous benefits in terms of simplicity and speed, as seen here. Benny Kok |
Introducing Clerk SDKs for Vue and Nuxt — Official Clerk sponsor |
Using TypeScript Without Build Tools — Chris Coyier enjoys the benefits of TypeScript while developing, but actually compiling it to JavaScript in various scenarios is less endearing. We’ve learnt (above) that Node can now run Chris Coyier |
📄 Using a JavaScript Component Inside a Haskell App – Did you know Haskell’s main compiler supports integrating with JavaScript? Mateusz Goślinowski 📄 Crafting a Dreamy Particle Effect with Three.js and GPGPU Dominik Fojcik 📄 Build Your Own Site Speed Testing Tool with Puppeteer Henry Price 📄 Sharing a Variable Across HTML, CSS, and JavaScript Chris Coyier 📄 Benchmarking GraphQL Solutions in the JS/TS Landscape Tomasz Nieżurawski 📄 Shallow Clones vs Structured Clones Phil Nash |
🛠 Code & Tools |
PostalMime: A Universal Email Parsing Library — An email parsing library happy in most JS runtimes. Takes the raw source of emails and parses them into their constituent parts. Postal Systems |
Christian Heilmann |
Fully Customizable Form Builder that Blends Seamlessly with Your JS App — Need a survey solution you control? With SurveyJS, customize your form builder’s look and functionality. Try it for free. SurveyJS sponsor |
Introducing Shane Friedman |
Tipex: An Advanced Rich Text Editor for Svelte — Based on the popular Tiptap editor framework, it’s customizable, has theming support, and is Svelte 5-ready. Here’s a live example. Friend of Svelte |
React-Toastify 11: In-Page Notifications Made Easy — There’s an elaborate demo page here but essentially it’s a flexible, easy to style ‘toast’ style notifications system with many years under its belt. GitHub repo. Fadi Khadra |
Electrobun: A New JS Cross-Platform Desktop App Toolkit — A fresh take on the concept covered by Electron and Neutralinojs, except based around Bun. It’s early days, though, with only ARM-based Macs supported for now. Blackboard Technologies inc. |
Tagify 4.33: An Elegant Input Component for Tags — The polished demos show a lot of effort has been put in here. GitHub repo. Yair Even-Or |
|
|
🎁 And one for fun? |
📄 Play Tetris in a PDF File — (direct link to PDF) |
I'll let you decide if this one is fun or frightening! Whether or not this will work depends on your PDF reader or browser support, but it works with Chrome and Firefox, at least. The PDF document format supports embedded JavaScript and this experiment uses it to implement a game of Tetris. The developer, Thomas Rinsma, has used Python to output the PostScript that includes the game's JavaScript. Couple that with the fact many browser PDF renderers are themselves implemented in JavaScript (e.g. PDF.js) and you have a veritable Matryoshka doll of technologies at play here. |