---
title: "Do the (ESLint) Evolution"
publication: "JavaScript Weekly"
issue: 696
published_at: "2024-07-11"
canonical_url: "https://javascriptweekly.com/issues/696"
---

Plus the THX note, the backend data store to solve all your backend problems, and pnpm gets even better. |        

#​696 — July 11, 2024 

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

Together with [![Code Rabbit\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_2959,h_645/e_make_transparent/co_white,e_outline:140/mokro9a3rxmnqminzfmk.png)](https://coderabbit.ai?utm_source=newsletter&utm_medium=Cooperpress-typescript)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/meh9tuguvhystsbhvwtf.jpg)](https://github.com/toss/es-toolkit)  

[es-toolkit: A Modern JavaScript Utility Library](https://github.com/toss/es-toolkit) — Think [Lodash](https://lodash.com/) but newer, faster, smaller, and with tree shaking and built-in TypeScript support. The [reference guide](https://es-toolkit.slash.page/reference/array/chunk.html) shows off the supported functions so far – it’s not quite as extensive as Lodash, but it’s getting there with the goal being _“to achieve full feature parity with Lodash.”_ 

Viva Republica, Inc   

[What's Coming Next for ESLint](https://eslint.org/blog/2024/07/whats-coming-next-for-eslint/) — At eleven years old, ESLint is preparing itself for another eleven years by continuing to evolve into a language-agnostic linter that anyone can write plugins for. The new configuration system introduced in [ESLint 9.0](https://eslint.org/blog/2024/04/eslint-v9.0.0-released/) is “_just the beginning of significant changes_” on the way. 

Nicholas C. Zakas   [![\](https://copm.s3.amazonaws.com/697d17e9.png)](https://coderabbit.ai?utm_source=newsletter&utm_medium=Cooperpress-typescript) 

[Cut Code Review Time & Bugs in Half with AI](https://coderabbit.ai?utm_source=newsletter&utm_medium=Cooperpress-typescript) — AI-first pull request reviewer that offers context-aware, line-by-line feedback, and smart chat. Trusted by 1000's of developers, it’s the most installed AI app on GitHub and GitLab marketplaces. Start your seven-day free trial today! It's forever free for open-source projects. 

CodeRabbit sponsor   

[Speeding up the JavaScript Ecosystem: Isolated Declarations](https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-10/) — _“TypeScript’s new isolated declaration feature is a game changer for sharing code among developers.”_ The latest in Marvin’s [fantastic series](https://marvinh.dev/blog/speeding-up-javascript-ecosystem/) about finding performance wins in how we do things in the JS world. 

Marvin Hagemeister   

**IN BRIEF:** 

- ▶️ [A side-by-side comparison of publishing a module to npm vs JSR.](https://www.youtube.com/watch?v=dzycAeRdOSM)
- 🎙️ Vue creator [Evan You went on the DejaVue podcast](https://share.transistor.fm/s/6b6bab42) to talk about the last ten years of Vue.
- 🗣️ [JavaScript-powered text-to-speech in the browser](https://huggingface.co/spaces/diffusionstudio/vits-web) is getting very good.
- Efforts are being made to [integrate SQLite into Node.js.](https://github.com/nodejs/node/pull/53752)   

**RELEASES:** 

- [pnpm 9.5](https://socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers) – The efficiency-focused package manager introduces _Catalogs_, a way to have shareable dependency version specifiers.
- [Node.js v22.4.1 (Current)](https://nodejs.org/en/blog/release/v22.4.1), [v20.15.1 (LTS)](https://nodejs.org/en/blog/release/v20.15.1) and [v18.20.4 (LTS)](https://nodejs.org/en/blog/release/v18.20.4)
- [Deno 1.45](https://github.com/denoland/deno/releases/tag/v1.45.0), [Angular 18.1](https://github.com/angular/angular/releases/tag/18.1.0)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ugf9k0lfvjwby0wthmxp.jpg)](https://keliris.dev/articles/deep-note)  

[Recreating the THX 'Deep Note' in JavaScript](https://keliris.dev/articles/deep-note) — A fun bit of sound generation with [Tone.js.](https://tonejs.github.io/) Note that people have reported mixed results on different browsers, but it works for me. Just be careful it doesn’t [▶️ explode your teeth.](https://www.youtube.com/watch?v=j1ZV-zVVnok) 

Alexander Keliris   

[Introducing `@let` in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f) — The new `@let` syntax extends Angular’s built-in template syntax with a better way to define variables inside component templates. 

Mark Thompson and Kristiyan Kostadinov   

[Building a Hybrid Sign-Up/Subscribe Form with Stripe Elements](https://go.clerk.com/nVCFkNQ) — A practical guide on how to use custom flows, webhooks, and user metadata to build a single form that automatically subscribes new users using Stripe Elements. 

Clerk sponsor   

[Sneaky React Memory Leaks: How the React Compiler Won’t Save You](https://schiener.io/2024-07-07/react-closures-compiler) — While the new and exciting [React Compiler](https://react.dev/learn/react-compiler) can tackle a lot of issues and make most codebases more performant, it pays to be aware of tricky edge cases. 

Kevin Schiener   

📄 [Resizing and Transferring ArrayBuffers](https://2ality.com/2024/06/array-buffers-es2024.html) – Dr. Axel continues his exploration of ECMAScript 2024. Dr. Axel Rauschmayer 

📄 [Protecting Against Third Party Code Changes with Script Integrity](https://frontendmasters.com/blog/script-integrity/) Chris Coyier 

📄 [How to Create a Chrome Extension with Vanilla JavaScript](https://webdesign.tutsplus.com/how-to-create-a-chrome-extension-with-vanilla-javascript--cms-108762t) Esther Vaati 

📄 [Learn React Suspense by Building a Suspense-Enabled Library](https://www.bbss.dev/posts/react-learn-suspense/) Slava Knyazev 

📄 [Running a Successful Meetup](https://github.com/remix-run/meetup-guides/blob/main/running-a-successful-meetup.md) – From the team behind [Remix](https://remix.run). Bob Ziroll 

📄 [Moving from Express to Fastify](https://blog.val.town/blog/fastify/) Tom MacWright (Val Town)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/paygomm24cyplzqxqjrn.jpg)](https://www.xyflow.com/blog/react-flow-12-release)  

[React Flow 12: Create Node-Based Editors & Interactive Diagrams](https://www.xyflow.com/blog/react-flow-12-release) — Part of [xyflow](https://www.xyflow.com/), this makes it easy to create node-based UIs where you have interactive components wired together however you choose. There's [a Svelte version](https://svelteflow.dev/)too. 

Moritz Klack and John Robb   

[❤️ Loving console.log Is Easy, but Hate 😡 Losing Context to View Messy Output](https://wallabyjs.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — Developer productivity tools [Wallaby.js](https://wallabyjs.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly), [Quokka.js](https://quokkajs.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) and [Console Ninja](https://console-ninja.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) show console.log values and errors right next to your code. 

Wallaby Team sponsor   

[Croner 8.1: 'Cron' Triggering and Evaluation](https://croner.56k.guru/) — Trigger functions to the schedule of your choice using [cron syntax.](https://en.wikipedia.org/wiki/Cron#CRON_expression) It can also evaluate cron expressions to give you a list of upcoming times. 

Hexagon   

[TinyBase 5.0: A Reactive Data Store for Local-First Apps](https://tinybase.org/guides/releases/#v5-0) — A data store that acts as a reactive backend to your apps if you want less headache building out backends. v5.0 includes a new [mergeableStore type](https://tinybase.org/guides/releases/#the-new-mergeableStore-type) that can wrap your data as a Conflict-Free Replicated Data Type (CRDT). [Homepage.](https://tinybase.org/) 

James Pearce   

[PLV8: Use JavaScript Functions in PostgreSQL](https://plv8.github.io/) — Did you know you can use JavaScript within Postgres for things like stored procedures and triggers? PLV8 is the extension that makes it happen. [PLV8ify](https://github.com/divyenduz/plv8ify) adds an extra layer by converting JS/TS files into PLV8 ready SQL. 

PLV8JS Development Group   

[😘 Kiss Bugs Goodbye](https://www.qawolf.com/?utm_campaign=Automated4Months07112024&utm_source=jsweekly&utm_medium=newsletter) — Get 80% automated E2E coverage in just 4 months with [QA Wolf](https://www.qawolf.com/?utm_campaign=Automated4Months07112024&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=Automated4Months07112024&utm_source=jsweekly&utm_medium=newsletter). 

QA Wolf sponsor   

- [file-type 19.1](https://github.com/sindresorhus/file-type) – Detect file type from a `Buffer`, `Uint8Array`, or`ArrayBuffer`. It can now read from [web streams too.](https://github.com/sindresorhus/file-type/pull/635)
- 🗓️ [Schedule-X 1.50](https://schedule-x.dev/) – Material Design event calendar and date picker.
- [getJS 2.0](https://github.com/003random/getJS) – Go-powered tool to grab Javascript sources/files from a site.
- [wa-sqlite 1.0](https://github.com/rhashimoto/wa-sqlite) – WebAssembly SQLite with support for browser storage extensions.
- [QuickJS 1.2](https://github.com/sebastianwessel/quickjs) – Execute JavaScript code in a WebAssembly [QuickJS](https://bellard.org/quickjs/)sandbox.
- [True Myth 7.4](https://github.com/true-myth/true-myth) – Safe, idiomatic null and error handling in TypeScript.
- [tinyqueue 3.0](https://github.com/mourner/tinyqueue) – Small and simple priority queue in JavaScript.
- [MiniSearch 7.0](https://lucaong.github.io/minisearch/) – In-memory fulltext search engine. ([Demo](https://lucaong.github.io/minisearch/demo/).)
- [Jotai 2.9](https://github.com/pmndrs/jotai/releases/tag/v2.9.0) – Simple, flexible state management for React.
- [Eruda 3.1](https://github.com/liriliri/eruda) – A console/devtools for mobile browsers.         

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
