Plus an ES2022 book, Jasmine 4, AVA 4, Ember.js 4.1, and more. |

#​571 — January 7, 2022

Unsubscribe  |  Read on the Web

JavaScript Weekly

2021's JavaScript Rising Stars — Back for the 6th year running is this popular look at JavaScript projects that have continued to be popular on GitHub. Stars aren’t the only way to determine what projects are good, but it’s one way, and we tend to find it surfaces some worthwhile projects and libraries to check out. 2021 was a strong year for JavaScript and particularly for projects like Next.js, Vite, and zx!

Michael Rambeau

The ES2022 Edition of 'JavaScript for Impatient Programmers' — Dr. Axel has updated his popular book to ES2022 standards (ES2022 is to be finalized as a standard later this year) and you can still read (nearly) the whole book online. Here’s the what’s new in ES2022 section.

Dr. Axel Rauschmayer

AI-Enabled Chatbots as Easy as “Hello World” — Build a conversational interface for your website or application with Botpress, the open-source platform designed for developers. Create production-ready, reliable, and scalable chatbots — without a team of data scientists or ML experts.

Botpress sponsor

Fuite: A Tool for Finding Memory Leaks in Web Apps — Given the choice of “load up DevTools and do lots of work in the Performance tab” vs “run this script”, the latter sounds like the easier option.. and Fuite aims to make the process of detecting memory leaks in your Web pages as easy as that.

Nolan Lawson

IN BRIEF:

RELEASES:

Ember.js 4.1, following Ember 4.0 in December.
ESLint 8.6.0
Jasmine 4.0 – Testing framework for Node and browser.
AVA 4 – Node test runner.
History 5.2 – Manage session history with JS.
fast-json-stringify 3.0 – A faster JSON.stringify().
Chart.js 3.7 – Simple canvas-based HTML5 charts.

💻 Jobs

Senior Frontend Engineer - React (Remote) — We are a small team that's building next-generation performance testing tools for other developers.
Grafana Labs

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team

Find JavaScript Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

📒 Articles & Tutorials

The JS Self-Profiling API In Practice — It’s an API that allows webapps to control a sampling profiler for measuring client-side JavaScript execution times. Unsurprisingly it’s in Chrome 94+ only for now.

Nic Jansma

Build a Monitoring App in 2 Hours — Free, live hands-on training on how to build an IoT, application, or infrastructure monitoring time series application.

InfluxData sponsor

A Smarter JavaScript Mapper: array.flatMap() — You may be on the fence as to whether this approach is smarter or not, but it’s worth knowing.

Dmitri Pavlutin

Is It Time for the JavaScript Temporal API?“Date handling in JavaScript is a pain, it’s time for a proper Temporal API.”

Craig Buckler

Introducing Metho: A Way to Add 'Superpowers' to JS — Every place I’ve seen this mentioned people have said “very clever, but please don’t use this in production code.” Take that as you will, but Metho certainly lets you twist JS in some rather nifty ways, but maybe you’d want to get your team onside first ;-) GitHub repo.

Jon Randy

React Calendar Vs. Scheduler: What’s the Difference & When to Use Them

Progress KendoReact sponsor

Using Node.js ES Modules and Top-Level await in AWS Lambda — Serverless AWS Lambda functions now support ES modules by way of the Node.js 14.x runtime.

Dan Fox

▶  Imperative vs Declarative Programming in 5 Minutes — Snappy, to the point, and will keep your attention.

Tyler McGinnis

An Evaluation of SvelteKit for Full-Stack Web App Development
Casey Primozic

🛠 Code & Tools

Perspective 1.1: Fast Streaming Data Visualization via WebAssembly — Originally built for J.P. Morgan, Perspective is for building real-time high performance interactive visualizations, powered by a C++ engine compiled to WASM under the hood. GitHub repo (with lots of examples).

The Fintech Open Source Foundation

jsPDF 2.5: Client-Side JavaScript PDF Generation — Create tickets, documents, certificates, etc. all on the fly. There’s a live demo on the project’s homepage.

Parallax

Tired of Egregious Egress? Try Vultr Instead — Instances start as low as $2.50 in select locations. Redeem your $100 credit to try Vultr for 14 days.

Vultr sponsor

Vanta.js: 3D WebGL Background Animations For Your Sites — Choose from one of the predefined background animations, then use the UI to tweak the settings. Certainly something you’d use sparingly, but a neat set of effects for when you need them.

teng bao

Solid 1.3: The VDOM-Less Declarative JS UI Library — Billed as a ‘big one’, this release focuses on improving Solid’s server side rendering story with support for HTML streaming and multiple isolated async hydration roots. Project homepage.

Solid

Choices.js 10.0: A Configurable Select Box/Text Input Plugin — Lots of examples here, or you can go straight to the GitHub repo.

Josh Johnson

Try JavaScript Online: Simple Web-Based JavaScript Console Input — This is a console side-by-side with a web page, so you can run script snippets while learning. The default example web page is Eloquent JavaScript but you can enter any online resource.

Jakub T. Jankiewicz

🎮 And for some fun..

PrinceJS: The Prince of Persia in the Browser — The Prince of Persia is a game I first saw in the early 90s and despite the limited graphics of the time, the mood of the game and the fluidity of the motion of the main character impressed me a lot. Now it’s on the Web. And I’m still terrible at it. Here's the JS source.

As an aside, Jordan Mechner (the creator of Prince of Persia) wrote a fantastic book about the creation of the game that I hugely enjoyed a few years ago. It's well worth a read if the diaries of a game developer sound at all interesting to you.

Klemenz, Mechner, et al.

o