---
title: "JavaScript's Rust tool belt"
publication: "JavaScript Weekly"
issue: 702
published_at: "2024-08-29"
canonical_url: "https://javascriptweekly.com/issues/702"
---

Plus generators explained, improvements to date handling in JS, and taking a code hike. |        

#​702 — August 29, 2024 

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

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/frontend-system-design/?utm_source=email&utm_medium=javascriptweekly&utm_content=fsd)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dh55dxaasnkegvs8qipe.jpg)](https://rspack.dev/blog/announcing-1-0)  

[Rspack 1.0: The Rust-Powered JavaScript Bundler](https://rspack.dev/blog/announcing-1-0) — Far from being ‘yet another bundler’ with its own approach and terminology to learn, Rspack prides itself on being webpack API and ecosystem compatible, while offering many times the performance. The team now considers it production ready and encourages you to try your webpack-based projects on it. 

Rspack Contributors   

💡 Rspack also has [a family of ancillary tools](https://rspack.dev/blog/announcing-1-0#rspack-stack) worth checking out, such as [Rsdoctor](https://rsdoctor.dev/), a tool for analyzing and visualizing your build process (for both Rspack _and_ webpack!)  [![\](https://copm.s3.amazonaws.com/0b70ecf1.png)](https://frontendmasters.com/courses/frontend-system-design/?utm_source=email&utm_medium=javascriptweekly&utm_content=fsd) 

[Front-End System Design](https://frontendmasters.com/courses/frontend-system-design/?utm_source=email&utm_medium=javascriptweekly&utm_content=fsd) — Learn to create scalable, efficient user interfaces in this extensive video course by Evgennii Ray. Explore the box model, browser rendering, DOM manipulation, state management, performance and much more. 

Frontend Masters sponsor   

[How to Create an NPM Package in 2024](https://www.totaltypescript.com/how-to-create-an-npm-package) — Sounds simple, but there are a lot of steps involved if you want to follow best practices, introduce useful tools, and get things just right. Matt Pocock walks through the process here, and there’s a 14-minute screencast too, if you’d prefer to watch along. 

Matt Pocock   

**IN BRIEF:** 

- 🤖 [v0](https://v0.dev/) is an AI-powered tool from Vercel for, originally, generating `shadcn/ui`-powered React components based upon prompts you supply. Now, however, [it has basic Vue.js support](https://x.com/v0/status/1828469187083202673) too.
- [Deno 1.46 has been released](https://deno.com/blog/v1.46) and promises to be the final 1.x release before the [much awaited Deno 2.0.](https://stackoverflow.blog/2024/08/20/ryan-dahl-deno-20-scale-improve-npm-nodejs/) Deno's Node compatibility improves even more (it now supports Playwright and [many more things](https://deno.com/blog/v1.46#nodejs-and-npm-compatibility)) and ships with V8 12.9.
- 📊 IEEE has published its latest annual [list of top programming languages](https://spectrum.ieee.org/top-programming-languages-2024). JavaScript takes third place, but TypeScript has leapt up several places to fourth.   

**RELEASES:** 

- [Prisma 5.19](https://www.prisma.io/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm) – The popular ORM for Node.js and TypeScript adds 'TypedSQL', a way to write raw SQL queries in a type-safe way.
- 📈 [billboard.js 3.13](https://netil.medium.com/billboard-js-3-13-release-new-area-step-range-chart-7c796fe4a874) – Popular D3 chart library adds area-step-range charts.
- [pnpm 9.9](https://github.com/pnpm/pnpm/releases/tag/v9.9.0) – Fast, space efficient package manager.
- [React Email 3.0](https://resend.com/blog/react-email-3), [Ember 5.11](https://blog.emberjs.com/ember-released-5-11/), [Bun v1.1.26](https://bun.sh/blog/bun-v1.1.26)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/lohlaa7cae110fcjx2gh.jpg)](https://docs.timetime.in/blog/js-dates-finally-fixed/)  

[JS Dates are About to Be Fixed](https://docs.timetime.in/blog/js-dates-finally-fixed/) — Handling dates and times is famously [a painful area for programmers](https://falsehoodsabouttime.com) and JavaScript hasn’t done a lot to make it easier. Libraries like [Moment.js](https://momentjs.com/) help a lot, but Iago looks at how the [Temporal proposal](https://github.com/tc39/proposal-temporal) and its features will begin to help a lot more over time. 

Iago Lastra   

[Weekly Chats on the Art and Practice of Programming](https://stackoverflow.blog/podcast) — Your home for weekly conversations with fascinating guests about how technology is made and where it’s headed. 

The Stack Overflow Podcast sponsor   

[JavaScript Generators Explained](https://www.reactsquad.io/blog/understanding-generators-in-javascript) — Jan was frustrated by the quality of documentation and articles explaining _generators_ in JavaScript, and set out to explain things in a way that a more advanced developer could appreciate. 

Jan Hesters   

[Implementing a React-a-Like from Scratch](https://www.rob.directory/blog/react-from-scratch) — While it's unlikely you'll _actually_ want to do this, at least thinking about it can prove instructive as to what’s going on in React’s engine room. 

Robby Pruzan   

▶[How to Implement the 2048 Game in JavaScript](https://www.youtube.com/watch?v=RC_SglXG4Y8) — Ania is back with one of her usual easy to follow walkthroughs of implementing a complete game in JavaScript. This time it’s the [2048](https://en.wikipedia.org/wiki/2048_%28video_game%29) sliding puzzle game. _(Two weeks ago [she did Tic-Tac-Toe](https://www.youtube.com/watch?v=jwfoRCtMF78) as well.)_ 

Ania Kubów   

[Learn Role-Based Access Control and Simplify Permissions Management](https://go.clerk.com/j8OTUdI) — Enhance security and streamline access by managing user roles with Clerk Organizations. 

Clerk sponsor   

📄 [The Only Widely Recognized JS Feature Ever Deprecated](https://www.trevorlasn.com/blog/the-only-javascript-feature-that-was-deprecated) – Spoiler: It’s `with`. Trevor Lasn 

📄 [Generating Unique Random Numbers in JavaScript Using Sets](https://www.smashingmagazine.com/2024/08/generating-unique-random-numbers-javascript-using-sets/) Amejimaobari 

📺 [21 Talks from the _Chain React 2024_ Conference](https://www.youtube.com/playlist?list=PLE7tQUdRKcyb81ybEVsrk6PfxXu7pJs1i#chainreact2024) – A React Native event. YouTube 

📄 [Exposing Internal Methods on Vue Custom Elements](https://jai.me/blog/2024-08-21-vue-custom-element-internal-methods/) Jaime Jones 

📄 [The Interface Segregation Principle in React](https://alexkondov.com/interface-segregation-principle-in-react/) Alex Kondov  

🛠 Code & Tools  

[TypeScript 5.6 Release Candidate](https://devblogs.microsoft.com/typescript/announcing-typescript-5-6-rc/) — As always, Daniel presents an epic roundup of what’s new. We’ll focus more on it next week though, as the final release is [anticipated to land](https://github.com/microsoft/TypeScript/issues/59250) next Tuesday (September 3). 

Daniel Rosenwasser (Microsoft)   

[Vuestic UI 1.10: A Vue.js 3.0 UI Framework](https://vuestic.dev/) — Features 60 customizable and responsive components and with [the v1.10 release](https://www.epicmax.co/post/vuestic-ui-1-10) it’s gained a significant bundle size optimization, a custom compiler that improves build time performance, and other minor enhancements. [GitHub repo.](https://github.com/epicmaxco/vuestic-ui) 

Vuestic UI   

[✅ Bye Bye Bugs](https://www.qawolf.com/?utm_campaign=KissBugsGoodbye08292024&utm_source=jsweekly&utm_medium=newsletter) — Get 80% automated E2E test coverage for mobile and web apps in under 4 months with [QA Wolf](https://www.qawolf.com/?utm_campaign=KissBugsGoodbye08292024&utm_source=jsweekly&utm_medium=newsletter). With QA cycles complete in minutes (not days), bugs don’t stand a chance. [Schedule a demo](https://www.qawolf.com/?utm_campaign=KissBugsGoodbye08292024&utm_source=jsweekly&utm_medium=newsletter). 

QA Wolf sponsor   

[Material UI v6: The Popular React UI Design/Component System](https://mui.com/blog/material-ui-v6-is-out/) — At ten years old, the popular design system has its latest major release. There's a focus on improved theming, color scheme management, container queries, and React 19 support. There are [revamped templates](https://mui.com/material-ui/getting-started/templates/) to be inspired by, too. 

García, Bittu, Andai, et al.   

[npm-check-updates 17.0: Update `package.json` Dependencies to Latest Versions](https://github.com/raineorshine/npm-check-updates) — That is, as opposed to the _specified_ versions. It includes a handy `-i` interactive mode so you can look at potential upgrades and then opt in to them one by one. 

Raine Revere   

[Code Hike 1.0: Turn Markdown into Rich Interactive Experiences](https://codehike.org/blog/v1) — Aimed at use cases like code walkthroughs and interactive docs, [Code Hike](https://codehike.org/) bridges the gap between Markdown and React when creating technical content that takes full advantage of the modern web. 

Rodrigo Pombo   

[Calendar.js: A Calendar Control with Drag and Drop](https://github.com/williamtroup/Calendar.js) — A responsive calendar with no dependencies, full drag and drop support (even between calendars), and many ways to manage events with recurring events, exporting, holidays, and more. 

William Troup   

- 📊 [Perspective 3.0](https://github.com/finos/perspective/releases/tag/v3.0.0) – Data visualization and analytics component. The core is written in C++ and compiled to WebAssembly where it can [be used from JavaScript](https://perspective.finos.org/docs/js.html). Their [homepage](https://perspective.finos.org/) shows it off well with a live example.
- [json-viewer 3.5](https://viewer.textea.io/) – Display JSON data in a readable, user-friendly way.
- ♟️ [Stockfish.js 16.1](https://github.com/nmrugg/stockfish.js) – A JavaScript chess engine.
- [jest-dom 6.5](https://github.com/testing-library/jest-dom) – Jest matchers to test DOM state.
- [Marked 14.1](https://github.com/markedjs/marked) – Fast Markdown compiler / parser.
- [Javet 3.1.5](https://github.com/caoccao/Javet) – Java + V8. Embed JS into Java.
- [Pixi.js 8.3.4](https://github.com/pixijs/pixijs) – Fast 2D on WebGL engine.          

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
