#667 — December 14, 2023 |
✍️ Christmas is almost here, so we're preparing our annual roundup issue for next week, before we take some time off! Keep an eye out for that next Thursday :-) |
|
JavaScript Weekly |
Oxlint: A New JS Linter '50-100x Faster' than ESLint? — Making tools as fast as possible is a common theme in the JavaScript world, and it's the MO for the JavaScript Oxidation Compiler toolkit. Oxlint is one of their tools that’s now GA. It's still early days, but when Evan You says “the performance is absolutely nuts” when running against the Vue 3 codebase, we sit up and listen. Boshen |
Bun v1.0.18: The JS Runtime Preparing to Take Over the World — I might have overegged the headline, but Bun is on a serious mission to replace Node.js, at least, with their 'one goal for 2024' being to “flip the default backend JavaScript runtime from Node.js to Bun.” They are also placing a focus on shipping Windows support ASAP. Jarred Sumner et al. |
New TypeScript Courses: Take the Learning Path — Join Mike North (Tech Lead at Stripe) for this series of brand new TypeScript courses. You'll get hands-on practice covering both the fundamentals and advanced features like utility types and advanced generics. Learn best practices to configure and evolve your TS codebase! Frontend Masters sponsor |
Visual Studio Code November 2023 — The latest VS Code release has some handy enhancements for JS developers, including a V8 heap snapshot visualizer, the ability to drag tabs into their own new windows (a.k.a. ‘floating editor windows’), and TypeScript 5.3. Microsoft |
Deno 1.39: The Return of WebGPU — Deno introduced WebGPU support in Deno 1.8 but it was removed for various reasons. It’s back and gives you a tidy way to work with the GPU directly from JavaScript (behind the The Deno Team |
IN BRIEF:
|
RELEASES:
|
📄 Articles & Tutorials |
The Await Event Horizon in JavaScript — You know someone’s getting heavy when they start a JavaScript article by talking about the event horizon around black holes and how “a similar boundary exists around every JavaScript Promise.” Enjoy. Charles Lowell |
Benchmarking, Profiling, and Optimizing JS Libraries — As part of this year’s Web Performance Calendar, take a journey with Stéphane to learn about optimizing a library (globalize, in his case) by way of benchmarking and profiling. Stéphane Goetz |
[Live Today] Fix Slow Code and Improve Browser JavaScript Performance Sentry sponsor |
The New TC39 FAQs — TC39 is the committee responsible for evolving and maintaining the ECMAScript spec, the standardized form of JavaScript, and its members have started a disclaimer-riddled FAQ. You can suggest new topics by opening an issue, or learn a little from the nine questions covered so far, including Will JS ever add JSX notation? and Will WebAssembly replace JS? Ecma TC39 |
You Don't Need JavaScript for That — “Just because you know something needs JavaScript, doesn’t mean it still does. You can make better websites if you test those assumptions every now and then.” Killian Valkhof |
What Vue’s Creator Learned the Hard Way with Vue 3 — Evan You shared some of the lessons he learned from the release and reception of Vue 3 around things like including a lot of small breaking changes, to choosing deprecation over breaking changes. Loraine Lawson (The New Stack) |
▶ Deploying Node.js with Google's Duet AI — Duet AI is Google’s AI-based assistive agent that works both in the IDE and within Google Cloud. Google Cloud |
Stop Nesting Ternaries in JavaScript
|
🛠 Code & Tools |
RE:DOM 4.0: The 2K UI Library — We first linked to this library over 6 years ago but it’s still going, so if you want something to help with creating and syncing DOM elements that’s ‘close to the metal’, it’s worth a look. v4.0 enables tree shaking and adds Juha Lindstedt and contributors |
TS Docs: Online Reference Docs for npm Packages — Browse reference TypeScript documentation for any package or version of a library. Shubham Kanodia |
Add Authorization, MFA, Biometrics and More to Your JavaScript App in Just Minutes — It's about time that somebody talked some sense about OAuth and JavaScript. So we did. You're welcome. FusionAuth sponsor |
Seroval 1.0: Stringify JS Values — A handy utility library for turning JavaScript values into strings that can handle far more complex things than JSON, say. Alexis H. Munsayac |
SpaceTime 7.5: A Lightweight Timezone Library — Use this to calculate times in other timezones. Has a Moment-like API but is immutable. No dependencies. GitHub repo. Spencer Kelly |
React Responsive Pagination: Component for Smart Pagination — A responsive pagination component which intelligently adjusts to the available width. The homepage is a live demo, or you can hit the GitHub repo. Jon Elantha |
Svelte SPA Router: A Router for Svelte 3 and 4 SPAs — Previously for Svelte 3 only, Svelte 4 support has now been added. Upgrade guide. Alessandro (Ale) Segala |
📊 vue-chartjs: A Vue.js Wrapper for Chart.js — Using Vue? Want charts? Consider this. Demos here. Jakub |
Bringing Performance, Reliability, and CI/CD to Data — Managed infrastructure for versioning, access controls, and performance. Subscribe now. Patch sponsor |
|
😍 Beautiful Planets |
Three.js Procedural Planets — This is gorgeous! You can have a lot of fun adjusting the parameters to change the outcome, or you can spin up and play with your own copy using the source code. If you don’t want to stress out your browser, you can see how it looks ▶️ in this video. Daniel Greenheck |