---
title: "Dr. Axel's JavaScript flashcards"
publication: "JavaScript Weekly"
issue: 741
published_at: "2025-06-20"
canonical_url: "https://javascriptweekly.com/issues/741"
---

Plus Biome v2, Astro 5.10, and the art of compiling JavaScript ahead-of-time. |        

#​741 — June 20, 2025 

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

Together with [![Palette\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_339/co_white,e_outline:7/dowxdvuogpggbf84je5w.png)](https://palette.dev/blog/improving-notion-typing-performance)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xsopw1iyhxj3sktjufko.jpg)](https://exploringjs.com/js/)  

📖 [Exploring JavaScript (ES2025 Edition)](https://exploringjs.com/js/) — Dr. Axel is back with his latest book covering all things relating to modern JavaScript at the language level (think built-in data types, modularity, how objects, classes and promises work, etc.). As with all of Axel's books, it’s available to buy but also to [read online in HTML form for free](https://exploringjs.com/js/book/index.html). He’s also produced [a set of flashcards](https://exploringjs.com/js/downloads/exploring-js-cards-topics-preview.html) to help you learn language features in both HTML and Anki forms. 

Dr. Axel Rauschmayer   

💡 The two sets of [flashcards](https://exploringjs.com/js/downloads/exploring-js-cards-topics-preview.html) (including [API flashcards](https://exploringjs.com/js/api.html)) are worth a look on their own as you'll almost certainly learn/remember something useful looking through them.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/7c67f295.png)](https://palette.dev/blog/improving-notion-typing-performance) 

[How Notion Cut Typing Latency By 15%](https://palette.dev/blog/improving-notion-typing-performance) — Stop guessing why your web app is slow. Palette’s production JS profiler tells you why, down to the line of code. [Get started for free today](https://palette.dev/blog/improving-notion-typing-performance). 

Palette sponsor    

[Biome v2: The First Type-Aware Linter That Doesn't Require `tsc`](https://biomejs.dev/blog/biome-v2/) — Boasts being the first JavaScript and TypeScript linter that doesn’t require the TypeScript compiler, while still offering type-aware linting rules. There’s a lot to enjoy here, including initial support for linter plugins and improved monorepo support, though note that Vue and Svelte templates aren’t yet supported. 

Emanuele Stoppa   

**IN BRIEF:** 

- The Google Chrome team shares [an update to the HTML specification](https://developer.chrome.com/blog/escape-attributes) around the escaping of < and > in HTML attributes.
- Collaborative design tool company [Figma has acquired Payload](https://payloadcms.com/posts/blog/payload-is-joining-figma), creators of the popular eponymous [open source](https://github.com/payloadcms/payload) Next.js backend framework/CMS.
- 🇳🇱 Vite's official conference, [ViteConf](https://viteconf.amsterdam/), takes place this October 9-10 in Amsterdam. Its CFP is open till July 1.
- [JSON module scripts are now Baseline 'Newly Available'](https://web.dev/blog/json-imports-baseline-newly-available).   

**RELEASES:** 

- [Bun v1.2.16](https://bun.sh/blog/bun-v1.2.16) – The high performance JS runtime adds support for returning files for routes via `Bun.serve`, along with a slew of bugfixes and Node compatibility improvements.
- [Astro 5.10](https://astro.build/blog/astro-5100/) – The content-driven JS framework makes its responsive images feature stable, and adds a new experimental feature: live content collections.
- [ESLint v9.29.0](https://eslint.org/blog/2025/06/eslint-v9.29.0-released/) – Now supports the syntax used for explicit resource management (`using` and `await using`).
- [Hono 4.8](https://github.com/honojs/hono/releases/tag/v4.8.0), [Relay v20](https://github.com/facebook/relay/releases/tag/v20.0.0), [Fastify 5.4](https://github.com/fastify/fastify/releases/tag/v5.4.0), [NeutralinoJS 6.1](https://neutralino.js.org/docs/release-notes/framework/#v610), [Axios 1.10.0](https://github.com/axios/axios/releases/tag/v1.10.0)  

📖 Articles and Videos 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sq7lwyobjyfftvt7cz8h.jpg)](https://www.youtube.com/watch?v=RU5N5O-O5Zw)  

▶[Compiling JavaScript Ahead-of-Time](https://www.youtube.com/watch?v=RU5N5O-O5Zw) — The creator of the [Porffor](https://porffor.dev/) JavaScript compiler talks about the various ways to make JavaScript faster to execute, before digging into Porffor’s approach. 

Oliver Medhurst   

[Using `await` at the Top Level in ES Modules](https://allthingssmitty.com/2025/06/16/using-await-at-the-top-level-in-es-modules/) — Top-level await is supported in all modern browsers and in Node.js (beyond v16) in `.mjs` files or `.js` files specified as modules. 

Matt Smith   

[Clerk OAuth Gets a Big Upgrade — Now Fully MCP-Ready](https://go.clerk.com/WTsJt3Q) — Clerk OAuth now supports token revocation, consent screens, dynamic clients, & more—now fully MCP-ready. [Learn more here](https://go.clerk.com/WTsJt3Q). 

Clerk sponsor   

[JavaScript Broke the Web (and Called It Progress)](https://www.jonoalderson.com/conjecture/javascript-broke-the-web-and-called-it-progress/) — An esteemed SEO consultant shares his thoughts on the complexity of the modern Web and JavaScript’s role in particular. 

Jono Alderson   

[How TypeScript Solved Its Global `Iterator` Name Clash](https://2ality.com/2025/06/typescript-iterator-types.html) — ES2025 adds an `Iterator` class containing iterator helper methods. However, this class conflicts with TypeScript’s existing types for iterators.. 

Dr. Axel Rauschmayer   

📄 ['How Cursor Upgraded Our Storybook in Just 2 Hours'](https://honeybook.engineering/goodbye-upgrade-fatigue-how-cursor-upgraded-our-storybook-in-just-2-hours-f1c2ca1e8dc7) – If you’re going to use AI, it might as well be to speed up boring tasks. Uri Klar 

📄 [Coding a 3D Audio Visualizer with Three.js, GSAP and Web Audio API](https://tympanus.net/codrops/2025/06/18/coding-a-3d-audio-visualizer-with-three-js-gsap-web-audio-api/) Filip Zrnzevic 

📄 [Bringing React's <ViewTransition> to Vanilla JS](https://plainvanillaweb.com/blog/articles/2025-06-12-view-transitions/) Joeri Sebrechts  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zccqhjfg4czjxbvcst3s.jpg)](https://andreruffert.github.io/syntax-highlight-element/)   

[<syntax-highlight>: A Custom Element for Syntax Highlighting](https://andreruffert.github.io/syntax-highlight-element/) — A custom element that uses the [CSS Custom Highlight API](https://developer.mozilla.org/en-US/docs/Web/API/CSS_Custom_Highlight_API) ([supported by most](https://caniuse.com/mdn-api_highlight_has) modern browsers) for syntax highlighting so you don’t need to retreat to the age-old method of wrapping every token in spans. [GitHub repo.](https://github.com/andreruffert/syntax-highlight-element) 

André Ruffert   

[React Native 0.80 Released](https://reactnative.dev/blog/2025/06/12/react-native-0.80) — React Native 0.80 lands with React 19.1, a new opt-in set of stricter TypeScript types, and experimental support for prebuilt dependencies on iOS to speed up builds. The legacy architecture is now officially 'frozen', with warnings for APIs slated for future removal. 

Cohen, Cucci, Dall'Agnol, and Falch   

[Handsontable: Spreadsheet-Like JavaScript Data Grid for Your App](https://handsontable.com/docs/react-data-grid/?utm_source=jsweekly&utm_medium=newsletter&utm_campaign=jsw20.06.25) — Feature-rich data grid for developers seeking a powerful, customizable, and accessible solution to manage complex data. 

Handsontable sponsor   

[react-searchable-dropdown: A Customizable Dropdown Component](https://react-searchable-dropdown.netlify.app/) — A modern, accessible, and customizable dropdown component that supports large datasets with virtualization, lets users create new options, works with both simple and complex data, and is easy to style and extend. [GitHub repo.](https://github.com/luciodale/react-searchable-dropdown) 

Lucio D'Alessandro   

[WelsonJS: Build Windows Apps Using Windows' Built-In JS Engine](https://github.com/gnh1201/welsonjs) — WelsonJS = **W**indows + **El**ectr**on**-like + **JS**. Optimized for environments with limited computing power. 

Go Namhyeon   

- [MockRTC 0.5](https://github.com/httptoolkit/mockrtc) – Intercept, assert on and mock WebRTC peers.
- [State in URL 5.0](https://github.com/asmyshlyaev177/state-in-url) – Store any user state in query parameters. v5 adds Remix support, but it also supports Next.js and React Router.
- [LogTape 0.12](https://hackers.pub/@hongminhee/2025/logtape-0-12) – Logging library for JavaScript and TypeScript with zero dependencies and support for multiple environments.
- 📊 [Ant Design Charts 2.4](https://github.com/ant-design/ant-design-charts) – React chart library. [Demos and code samples.](https://ant-design-charts.antgroup.com/examples)
- 📊 [Chart.js 4.5](https://github.com/chartjs/Chart.js) – Simple Canvas-based charting. ([Samples.](https://www.chartjs.org/docs/4.5.0/samples/information.html))
- [tiff 7.0](https://github.com/image-js/tiff) – Pure JS TIFF image decoding library.      

📰 Classifieds   

[Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort](https://www.meticulous.ai?utm_source=javascript_weekly&utm_campaign=june20th2025). Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc. 

--- 

🚀 Build VueJS forms your way with [Enforma](https://encolajs.com/enforma/) — UI-agnostic (PrimeVue, Vuetify, Quasar), schema-ready, repeatable fields, powerful validation. 

--- 

🎤 First speakers at JSNation US: Addy Osmani, Scott Tolinski, Ryan Carniato & more! Nov 17 & 20 in NYC & online. [Early Bird going fast!](https://jsnation.us/?utm_source=Newsletter&utm_medium=JSWeekly%20)    

👀 Elsewhere...  

Here's a selection of things from the broader ecosystem this week: 

- The creators of the CKEditor JavaScript rich-text editor explain, in depth, [how they made their editor's bundle 40% smaller.](https://ckeditor.com/blog/how-we-reduced-ckeditor-bundle-size/)
- Ernie Smith tells [the story of why JPEGs still rule the Web.](https://spectrum.ieee.org/jpeg-image-format-history)
- 🤖 Cloudflare has unveiled [a way to connect any React app to an MCP server](https://blog.cloudflare.com/connect-any-react-application-to-an-mcp-server-in-three-lines-of-code/) in just three lines of code, using its [use-mcp hook.](https://github.com/modelcontextprotocol/use-mcp)
- Microsoft recently released [a new VS Code extension for working with Postgres](https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-a-new-ide-for-postgresql-in-vs-code-from-microsoft/4414648). There's now also [▶️ a presentation showing off how it can be used.](https://www.youtube.com/watch?v=wzyY7GNV7Xo)
- [Git 2.50.0](https://about.gitlab.com/blog/what-s-new-in-git-2-50-0/) has been released and it's quite a significant release. [GitHub also rounded up](https://github.blog/open-source/git/highlights-from-git-2-50/) some of what's new.
- A thorough [tutorial to using and creating Makefiles.](https://makefiletutorial.com/)         

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 

_**[Love and Mercy](https://www.theguardian.com/music/2025/jun/11/brian-wilson-greatest-songs)**_
