---
title: "Can you understand this JavaScript?"
publication: "JavaScript Weekly"
issue: 727
published_at: "2025-03-14"
canonical_url: "https://javascriptweekly.com/issues/727"
---

Plus the TypeScript team looks to Go for performance. |        

#​727 — March 14, 2025 

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

Together with [![Clerk\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_220,h_64/e_make_transparent/co_white,e_outline:5/j3vhv1hnwqeffgkzzlvu.png)](https://go.clerk.com/MyCdDoR)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ssfidifg2hmcjrvpv92s.jpg)](https://www.hillelwayne.com/post/javascript-puzzle/)  

[A Perplexing JavaScript Parsing Puzzle](https://www.hillelwayne.com/post/javascript-puzzle/) — It looks deceptively simple – just 14 characters of JavaScript – but after working with JavaScript for 29 years, I got it wrong. A clue: it goes back to a browser-related quirk from _30_ years ago.. 

Hillel Wayne   

[TypeScript's Compiler to Get 10x Faster](https://devblogs.microsoft.com/typescript/typescript-native-port/) — TypeScript has shaken up the JavaScript ecosystem in recent years with an increasing number of developers relying on its strong typing and added structure. TypeScript’s compiler isn’t particularly fast, though, but the TypeScript team at Microsoft are changing that by porting it to Go! 

Anders Hejlsberg (Microsoft)   

💡 Dr. Axel Rauschmayer [takes a closer look at the details](https://2ality.com/2025/03/typescript-in-go.html) behind the port.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/1588b39c.png)](https://go.clerk.com/MyCdDoR) 

[Build a Secure Project Management](https://go.clerk.com/MyCdDoR) — Learn a security-first approach to building web applications by building a secure project management platform with Next.js. 

Clerk sponsor   

**IN BRIEF:** 

- [Node.js v20.19.0 (LTS)](https://nodejs.org/en/blog/release/v20.19.0) is a notable release for a maintenance branch of Node as an exception has been made to the maintenance policy for backporting `require(esm)` support, which is now enabled by default.
- The latest version of Chrome (and preview versions of Firefox and Safari) support [two new HTML attributes, `command` and `commandfor`](https://developer.chrome.com/blog/command-and-commandfor), for adding declarative actions to HTML buttons without directly requiring JavaScript.   

**RELEASES:** 

- [Nuxt 3.16](https://nuxt.com/blog/v3-16) – Popular Vue meta-framework. Now with a new `create-nuxt` tool for starting projects.
- [Bun 1.2.5](https://bun.sh/blog/bun-v1.2.5) – Now with much better Node-API compatibility, CSRF generation and verification, plus numerous perf improvements and fixes.
- [Melange 5](https://melange.re/blog/posts/announcing-melange-5) – An OCaml-to-JavaScript compiler.
- [Astro 5.5](https://astro.build/blog/astro-550/), [Transformers.js 3.4](https://github.com/huggingface/transformers.js/releases/tag/3.4.0), [Capacitor 7.1](https://github.com/ionic-team/capacitor), [Nuxt UI v3](https://nuxt.com/blog/nuxt-ui-v3)  

📒 Articles & Tutorials  

[Building APIs with Next.js](https://nextjs.org/blog/building-apis-with-nextjs) — A detailed, official introduction to the concepts behind using Next.js’ App Router and route handlers to build public APIs you can expose to web, mobile, and third-party clients. 

Lee Robinson   

[How _The New York Times_ Migrated from Enzyme to React Testing Library](https://open.nytimes.com/how-the-new-york-times-systematically-migrated-from-enzyme-into-react-testing-library-b3ea538d001c) — A thorough look at the technical challenges and strategies the NYT used to perform a piecemeal upgrade of its React testing approach without disrupting either end users or other developers. 

Felipe Buenaño (NYT Open Team)   

[Which AI Model Is Best for Fixing Unit Test Errors? Claude, o3-mini, GPT-4o?](https://wallabyjs.com/blog/wallaby-ai.html?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — Better context wins every time. Wallaby enters the chat to give AI what it needs - test coverage and runtime values - to debug smarter. 

Wallaby Team sponsor   

[How ECMAScript Engines Optimize Your Variables](https://boajs.dev/blog/2025/03/05/local-variables) — From the authors of the [Boa JS](https://boajs.dev/) Rust-powered JavaScript engine. 

Boa Developers   

📄 [Use Cases for the Document Picture-in-Picture API](https://developer.chrome.com/blog/document-pip-use-case) – A way to open a floating, always-on-top window (‘picture-in-picture’) that can display arbitrary HTML content. Chrome only, though. Jad Joubran 

📄 [Using `Intl.DurationFormat` to Format Time Durations with Locale Support](https://www.trevorlasn.com/blog/intl-durationformat-javascript-time-durations-with-locale-support) Trevor I. Lasn 

📄 [Learn Zod So You Can Trust Your Data and Your Types](https://didoesdigital.com/blog/zod-overview/) Diana MacDonald 

📄 [10 Hidden Gems in Angular That You Should Use](https://medium.com/@ie33/10-hidden-gems-in-angular-that-you-should-use-152fcffde7d3) IE 33 

📄 [Underrated Angular Features](https://www.angularspace.com/underrated-angular-features/) Armen Vardanyan  

🛠 Code & Tools  

[Refractor 5.0: Robust Virtual Syntax Highlighting using Prism](https://github.com/wooorm/refractor) — Wraps the powerful [Prism](https://prismjs.com/) syntax highlighter to output objects instead of an HTML string so you can manipulate and render it as you wish (e.g. in a VDOM or at the terminal). [Lowlight](https://github.com/wooorm/lowlight), by the same author, offers the same functionality but backed by [highlight.js.](https://highlightjs.org/) 

Titus Wormer   

[svg2pdf.js: SVG to PDF Conversion in the Browser](https://github.com/yWorks/svg2pdf.js) — There’s an [online playground](http://raw.githack.com/yWorks/svg2pdf.js/master/) to give you a feel for what it can do. 

yWorks GmbH   

[🔒 Protect Against AI Bots, Fraud, and Abuse in Real Time](https://workos.com/radar?utm_source=cpjs&utm_medium=newsletter&utm_campaign=q12025) — WorkOS Radar protects your app with advanced device fingerprinting — stop fake signups, free tier abuse, bot attacks and brute force attempts today. 

WorkOS sponsor   

[⌘K: A Fast, Composable, Unstyled 'Command Menu' Control](https://cmdk.paco.me/) — The home page includes some neat examples in a variety of styles. [GitHub repo](https://github.com/pacocoursey/cmdk). Needs React 18+. 

Paco Coursey   

🔎 [Node Modules Inspector](https://node-modules.dev/) — A tool that runs pnpm _inside your browser_, “installs” a package, then analyzes its dependencies. This can be useful for analyzing packages you already use, but also for simplifying your own projects, as [11ty’s Zach Leatherman did here.](https://bsky.app/profile/zachleat.com/post/3ljleqm7tsk2p) 

Anthony Fu   

[PGlite: Run Postgres in WebAssembly](https://github.com/electric-sql/pglite) — PGlite packages a WASM build of Postgres into a TypeScript library that can be run directly from Node.js (or Bun, Deno, and even the browser) and it’s only a few megabytes in size. 

ElectricSQL / Neon   

- [Gleam 1.9](https://gleam.run/news/hello-echo-hello-git/) – Type-safe functional programming language that targets both the Erlang VM and JavaScript runtime.
- [<css-doodle> 0.42](https://github.com/css-doodle/css-doodle) – Web component for drawing patterns with CSS.
- [Faker 9.6](https://fakerjs.dev/) – Generate fabricated data to your heart's content.
- [Choices 11.1](https://choices-js.github.io/Choices/) – Configurable select box/text input plugin.
- 🕒 [Spacetime 7.8](https://github.com/spencermountain/spacetime) – Lightweight timezone library.
- [Ink 5.2](https://github.com/vadimdemedes/ink) – Use React to build CLI apps.      

📰 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=march14th). Relied on by 1000s of orgs, including Dropbox, Lattice, Bilt Rewards and many more. 

--- 

Current PDF setup slowing you down? [Try Nutrient's PDF SDK](https://www.nutrient.io/sdk?utm_campaign=issue-727-JW-2025-03-14&utm_source=cooperpress&utm_medium=sponsoring) — it's used by IBM, SAP, DocuSign and countless others to open, edit, and customize with ease across platforms. 

--- 

👀 Give your eyes a break! [MonoLisa](https://monolisa.dev/?utm_source=jsw03) is a font optimized for developers. [Try now](https://monolisa.dev/?utm_source=jsw03).     

📢 Elsewhere  

A quick roundup of some of other interesting updates or useful resources in the broader developer landscape:  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/r4iv0h0uumlxzsw0hyu4.jpg)](https://planetscale.com/blog/io-devices-and-latency)  

- ⭐ [A fantastic introduction to latency in IO devices](https://planetscale.com/blog/io-devices-and-latency) _(above)_ over on the _PlanetScale_ blog, complete with _very_ useful interactive diagrams built in JavaScript.
- The _Evil Martians_ explain [things you can consider to make your open source project more popular.](https://evilmartians.com/chronicles/how-to-make-your-open-source-popular)
- 🤖 Esteemed LLM-whisperer Simon Willison [drops a ton of insights and tips](https://simonwillison.net/2025/Mar/11/using-llms-for-code/) on how he uses LLMs to help him write code.         

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
