---
title: "New JavaScript features of the past few years"
publication: "JavaScript Weekly"
issue: 629
published_at: "2023-03-10"
canonical_url: "https://javascriptweekly.com/issues/629"
---

Plus there's a new jQuery release, common beginner mistakes with React, and using machine learning models from JavaScript. |        

#​629 — March 10, 2023 

[Read on the Web](https://javascriptweekly.com/issues/629)  

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/next-js-v2/?utm_source=javascriptweekly&utm_medium=email&utm_content=nextjsv2)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ghxvw3xymh7guvhnkywn.jpg)](https://betterprogramming.pub/all-javascript-and-typescript-features-of-the-last-3-years-629c57e73e42)  

[JavaScript Features from the Past Few Years](https://betterprogramming.pub/all-javascript-and-typescript-features-of-the-last-3-years-629c57e73e42) — Packed with examples, this post tackles the changes and tweaks to JavaScript _and_ TypeScript over the past several years (some as far back as ES6/ES2015, like tagged template literals). 

Linus Schlumberger   

[Astro's 2023 Web Framework Performance Report](https://astro.build/blog/2023-web-framework-performance-report/) — The folks working on [Astro](https://astro.build/) looked at data from thousands of sites to understand how sites built around Astro, Gatsby, Next.js, Nuxt, Remix, SvelteKit _and_ WordPress perform on common Web performance metrics. Shipping less JS equals more performance. 

Fred Schott (Astro)   

In other Astro related news, [Astro 2.1](https://astro.build/blog/astro-210/) has just been released with experimental automatic image optimization support, plus they've [visually rebranded the project.](https://astro.build/blog/welcome-world/)  [![\](https://copm.s3.amazonaws.com/cfbfa503.jpg)](https://frontendmasters.com/courses/next-js-v2/?utm_source=javascriptweekly&utm_medium=email&utm_content=nextjsv2) 

[A Fresh Introduction to Next 13+](https://frontendmasters.com/courses/next-js-v2/?utm_source=javascriptweekly&utm_medium=email&utm_content=nextjsv2) — Learn Next.js, the complete full-stack framework to create basic blog websites up to full-blown apps and APIs! Plus if you are already familiar with Next.js, we have a course [building a full app on Next 13+](https://frontendmasters.com/courses/fullstack-app-next-v2/?utm_source=javascriptweekly&utm_medium=email&utm_content=nextjsv2). 

Frontend Masters sponsor    

[TypeScript's Migration to Modules](https://devblogs.microsoft.com/typescript/typescripts-migration-to-modules/) — TypeScript has restructured its codebase to use ES modules. For this, we get smaller package sizes, quicker build times, and little disruption to end users. A CommonJS API is provided for now so that build scripts don't break. This post goes _deep_ in to what the move entailed. 

Daniel Rosenwasser and Jake Bailey   

**IN BRIEF:** 

- A quick look at [the 12 most popular Node.js frameworks, as of 2023.](https://stackdiary.com/node-js-frameworks/) Don't feel left out if you prefer Deno, [there's a roundup of Deno frameworks, too.](https://stackdiary.com/deno-frameworks/)
- [Jest 29.5](https://github.com/facebook/jest/releases/tag/v29.5.0) has added a feature to [randomize the order in which tests are run](https://github.com/facebook/jest/pull/12922) – why? Your tests should be isolated and not depend upon each other – this will unearth any problems.
- Three things are certain: death, taxes, and jQuery. Still the most heavily deployed JS library, [jQuery 3.6.4 has been released](https://blog.jquery.com/2023/03/08/jquery-3-6-4-released-selector-forgiveness/) with a reversion to how it determines browser support for CSS selection features.
- 📅 [UtahJS Conf 2023](https://www.utahjs.com/conference/) is taking place in September, and their [call for speakers](https://sessionize.com/utahjs-conf-2023/) is open till April 3.
- 🔒 A [neat approach to creating a static, password protected page](https://robinmoisson.github.io/staticrypt/) with AES‑256.
- The folks at [Moddable](https://www.moddable.com/) went to FOSDEM to make the case for [using JavaScript in embedded systems.](https://blog.moddable.com/blog/fosdem2023/)   

**RELEASES:** 

- [TestCafe 2.4](https://github.com/DevExpress/testcafe/releases/tag/v2.4.0) – E2E web testing tool now with a visual selector debugger.
- [SWR 2.1](https://github.com/vercel/swr/releases/tag/v2.1.0) – React hooks for data fetching. Now with [subscription mode.](https://swr.vercel.app/docs/subscription)
- [Mantine 6.0](https://mantine.dev/changelog/6-0-0/)
 ↳ 100+ React component library.
- [Node.js 18.15.0 (LTS)](https://nodejs.org/en/blog/release/v18.15.0)
- [Ember.js 4.11](https://blog.emberjs.com/ember-released-4-11/)  

📒 Articles & Tutorials  

[Common Beginner Mistakes with React](https://www.joshwcomeau.com/react/common-beginner-mistakes/) — Experienced React educator Josh has seen all the problems people encounter and here he digs into _“9 of the most dastardly gotchas”_ and how to resolve them. 

Josh W Comeau   

▶[Coding Kenta Toshikura’s Glass Effect with Three.js](https://tympanus.net/codrops/2023/03/06/coding-kenta-toshikuras-glass-effect-with-three-js/) — Yet more creative noodling with Three.js and shaders that goes over my head. 

Yuri Artiukh   

[React Authentication, Simplified](https://userfront.com/tutorials/react-authentication?utm_source=javascriptweekly.com&utm_medium=newsletter&utm_campaign=sponsored_link&utm_content=react_authentication) — In this article, we lay out a new approach to authentication (plus access control & SSO) in React applications. 

Userfront sponsor   

[How to Change the Favicon When Switching Browser Tabs](https://www.amitmerchant.com/change-favicon-on-switching-browser-tabs/) — Originally inspired by Astro, you can see the concept at work on [notepad.js.org](https://notepad.js.org/) 

Amit Merchant   

▶[Progressive Web Apps (PWA) for Beginners](https://www.youtube.com/playlist?list=PLlrxD0HtieHjqO1pNqScMngrV7oFro-TY#pwacourse) — Beginner-focused series on building PWAs, covering their capabilities, pros and cons, and more over 17 videos. 

Microsoft Developer   

[How to Make Slow React Native Apps Faster](https://retool.com/blog/retool-mobile-react-native-apps-faster/) — The folks over at Retool recently released an app to build native apps in a similar way to Web-based ones. This post covers a few optimizations they made to make it app faster. 

James Lee (Retool)   

[Full-Stack TypeScript with tRPC and React](https://www.robinwieruch.de/react-trpc/) — How to create a CRUD app with Express on the server and React on the client using [tRPC](https://trpc.io) to communicate between the two. 

Robin Wieruch   

[Building an Image Recognition App with Pinecone, Hugging Face, and Vercel](https://www.pinecone.io/learn/pinecone-vision-app/) 
Roie Schwaber-Cohen   

[Using Zod and TypeScript for More Than User Input Validation](https://scastiel.dev/zod-typescript) 
Sebastien Castiel   

[Building Complex Forms in Vue](https://www.smashingmagazine.com/2023/03/building-complex-forms-vue/) 
Olufunke Moronfolu  

🛠 Code & Tools  

[HuggingFace.js: Use Lots of ML Models from JavaScript](https://github.com/huggingface/huggingface.js) — [Hugging Face](https://huggingface.co/) is a popular online community and repository of machine learning models. The goal of this library is to open up those models more easily to JavaScript. 

Hugging Face   

[Dynaboard: A Visual Web App IDE Made for Developers](https://dynaboard.com/?utm_source=cooperpress-jw&utm_medium=email&utm_campaign=visualide-q12023) — Build high performance public and private web applications in a collaborative — full-stack — development environment. 

Dynaboard sponsor   

[Chrono: A Natural Language Date Parser](https://github.com/wanasit/chrono) — Give it a string like “today”, “last Friday”, “2 weeks from now”, or even an entire date and time, and it’ll come up with a date object to suit. 

Wanasit Tanakitrungruang   

[Embetty 4.0: A Privacy-Conscious Way to Show Third Party Embeds](https://github.com/heiseonline/embetty) — Tweets, and Facebook, Video or YouTube thumbnails ([see demo here.](https://heiseonline.github.io/embetty/)) The privacy comes from using a proxy server you host yourself. 

heise online   

[Finder 3.0: CSS Selector Generator](https://github.com/antonmedv/finder) — Given an element, it produces the shortest possible selector that reaches (solely) that element. 

Anton Medvedev   

[Tuple, a Lightning-Fast Pairing Tool Built for Remote Developers](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=sponsorship-blitz&utm_content=JavaScript+Weekly_Brief+Link) 

Tuple sponsor   

[Feathers 5: Node.js API & Real-Time App Framework](https://blog.feathersjs.com/introducing-feathers-5-the-api-and-real-time-application-framework-101ae2deaaeb) — [Feathers](https://feathersjs.com/) is a great option if you want to spin up a CRUD app tied to a database and now it’s _“TypeScript all the way down”_ too (you can choose to use JS, as you prefer). Leap into the [quick start guide](https://feathersjs.com/guides/basics/starting.html) to see what it’s about. 

David Luecke   

[FormKit: The Open-Source Form Framework for Vue](https://formkit.com/) — Ships with production-ready scaffolding like inputs, forms, submission and error handling, and validation rules. 

FormKit, Inc.     

💻 Jobs  

[Software Engineer](https://jobs.ashbyhq.com/stickermule/1539721e-7c7d-4f45-a5b0-17e5c02d7bd0?utm_source=Cooperpress) — 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. 
Stimulus   

[Find JavaScript Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired   

🧑‍💻 Got a job listing to share? _[Here's how](https://booking.cooperpress.com/jobs)_.     

- [ClearScript 7.4](https://github.com/microsoft/ClearScript)
 ↳ MS library to add JS scripting to .NET apps.
- [Million 2.0](https://github.com/aidenybai/million)
 ↳ Fast virtual DOM that makes React faster.
- [Video.js 8.2](https://videojs.com/)
 ↳ Flexible media player control.
- [Embla Carousel 7.1](https://github.com/davidjerleke/embla-carousel)
 ↳ Smooth carousel library. ([Examples.](https://www.embla-carousel.com/examples/static/))
- [Deck.gl 8.9](https://deck.gl/)
 ↳ WebGL2-powered data viz framework.
- [MUI X 6.0](https://github.com/mui/mui-x/releases/tag/v6.0.0)
 ↳ Suite of advanced React UI components.
- [ReacType 14.0](https://github.com/open-source-labs/ReacType/releases/tag/v14.0.0)
 ↳ Rapid React prototyping tool.
- [Lebab 3.1.2](https://github.com/lebab/lebab)
 ↳ Turn ES5 into ES6. It's Babel backwards!
- [Rimraf 4.4](https://github.com/isaacs/rimraf)
 ↳ Cross platform `rm -rf` for Node.js.  

😎 A Bonus Item 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gfwgivo1qyqh0lwgkgjb.jpg)](https://github.com/vadimdemedes/ink)  

[Ink 4.0: Use the React Approach for Building Interactive CLI Apps](https://github.com/vadimdemedes/ink) — Build your command line apps using React-style components. As of [v4.0](https://github.com/vadimdemedes/ink/releases/tag/v4.0.0), Ink is now pure ESM, requires React 18, and requires Node 14.16+. 

Vadim Demedes         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
