---
title: "Functional programming jargon, mapped out"
publication: "JavaScript Weekly"
issue: 802
published_at: "2026-09-15"
canonical_url: "https://javascriptweekly.com/issues/802"
---

Plus React 19.3, StyleX explained, and a check for your async/await assumptions.        

#​802 — September 15, 2026 

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

Together with [![Master.dev\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_245/co_white,e_outline:17/cgiteem1q7kgf8yoheqo.png)](https://master.dev/sale/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=buildersale)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yasnr77llfxhnd7g3ffz.jpg)](https://hemanth.github.io/functional-programming-jargon/)  

[Functional Programming Jargon, Mapped and Explained](https://hemanth.github.io/functional-programming-jargon/) — Currying, purity, functors, monads…? If FP terms ever go over your head, TC39 delegate Hemanth HM's [popular jargon reference](https://github.com/hemanth/functional-programming-jargon) is now an explorable map of concepts showing how they relate, each with a simple definition and JavaScript example. 

Hemanth HM   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/17105ae7.png)](https://master.dev/sale/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=buildersale) 

[Stay Sharp in the Age of AI](https://master.dev/sale/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=buildersale) — Master.dev instructors build at Anthropic, OpenAI, Netflix, Google, and Stripe. Learn from them with hundreds of courses, live workshops, and expanded AI learning paths. [New members get $100 off a yearly membership](https://master.dev/sale/?utm_source=javascriptweekly&utm_medium=newsletter&utm_campaign=buildersale). 

Master.dev sponsor   

[Modern Web Types: TypeScript Support for Newer Web APIs](https://philipwalton.com/articles/modern-web-types/) — TypeScript's DOM types only include APIs shipped in _multiple_ browser engines, so things like element-scoped `startViewTransition` and `fetchLater` throw up errors. [modern-web-types](https://github.com/philipwalton/modern-web-types) is a drop-in `lib.dom` replacement that adds missing interfaces/members shipped in any single browser engine. 

Philip Walton (Google)   

[React 19.3 Released](https://react.dev/blog/2026/09/09/react-19-3) — A significant minor release making view transitions and Fragment Refs stable, adding Trusted Types support, and more. We covered it in more depth in [last week's _React Status_](https://react.statuscode.com/issues/490). 

The React Team   

**IN BRIEF:** 

- 🔒 Attackers are [scanning for exposed Vite dev servers](https://www.f5.com/labs/articles/cloud-takeover-mass-scanning-for-exposed-vite-endpoints-cve-2026-39364) exploiting a `server.fs.deny` bypass (patched in Vite 7.3.2 and 8.0.5 earlier this year) to grab credentials from `.env` files. Vite listens on localhost by default, but double check your setup.
- [Safari 27](https://developer.apple.com/documentation/safari-release-notes/safari-27-release-notes) shipped yesterday (alongside macOS/iOS 27), bringing the module loader rewrite [we covered last week](https://webkit.org/blog/18227/fixing-top-level-await-in-safari/), so top-level `await` now works reliably in all major browsers.
- TC39 meets in Tokyo in two weeks. [Here's the agenda](https://github.com/tc39/agendas/blob/main/2026/09.md) with three iterator helper follow-ups ([join](https://github.com/tc39/proposal-iterator-join), [includes](https://github.com/tc39/proposal-iterator-includes) and [chunking](https://github.com/tc39/proposal-iterator-chunking)) all up for Stage 4, plus more.
- 🔒 Starting this Thursday, [the OpenJS Foundation's CVE team is taking a break](https://openjsf.org/blog/the-openjs-foundation-cna-is-taking-a-coordinated-break) till October 6 due to burnout driven by a surge of AI-generated reports. Actively exploited issues will still get a response.
- 🔒 [npm now places a temporary 72-hour 'security hold'](https://github.blog/changelog/2026-09-09-npm-extends-recovery-code-security-holds-to-all-accounts/) on _any_ account after a successful recovery-code sign-in.   

**RELEASES:** 

- [pnpm 12.4](https://pnpm.io/blog/releases/12.4) – The package manager can now manage Rust crates and Python packages alongside npm ones in a single workspace.
- [Playwright 1.63](https://github.com/microsoft/playwright/releases/tag/v1.63.0) – Tests can now declare a named `lock` so those sharing a resource never run concurrently.
- [Node.js v26.8.2 (Current)](https://nodejs.org/en/blog/release/v26.8.2) and [v24.21.0 (LTS)](https://nodejs.org/en/blog/release/v24.21.0) – Both include a security release of Undici to fix numerous vulnerabilities.
- [React Router 8.4](https://reactrouter.com/changelog#v840), [Vite 8.3](https://github.com/vitejs/vite/releases/tag/v8.3.0), [Moment.js 2.31.0](https://github.com/moment/moment/releases/tag/2.31.0) (security release).  

📖 Articles and Videos  

[A Design Space Exploration of `async`/`await`](https://cel.cs.brown.edu/blog/design-space-async-await/) — A simple `async`/`await` example produces different results in JavaScript, Rust, Python and Swift. Test your mental model with a quiz, then learn about the design choices behind the differences. 

Gavin Gray   

[Native is Now the Future of Mobile at Shopify](https://shopify.engineering/back-to-native) — Shopify is rewriting its React Native mobile apps in Swift/Kotlin. The main argument is coding agents have cut the cost of writing everything twice, while the upsides of native remain. 

Mustafa Ali (Shopify)   

[Workshop: From an Error to the Logs That Explain It](https://sentry.io/resources/beyond-logs-basics-workshop/?utm_source=javascriptweekly&utm_medium=paid-community&utm_campaign=logs-fy27q3-logsworkshop&utm_content=newsletter-sponsored-link-beyond-basics-register) — Reading logs next to traces and errors, holding context across services, and cutting the noise. 

Sentry sponsor   

[A Deep Dive into StyleX](https://flaviocopes.com/stylex/) — A hands-on tour of Meta's [StyleX](https://stylexjs.com/), which turns JavaScript style objects into plain atomic CSS at build time, and why it can be a good fit for coding agents in particular. 

Flavio Copes   

📄 ['Nobody Pays for Open Source: We Can Force Them To'](https://seldo.com/posts/nobody-pays-for-open-source-we-can-force-them-to/) – Laurie Voss ran npm for five years and thinks registries are an untapped lever for funding maintainers. Laurie Voss 

📄 [Anecdotally, Programmers Dislike `reduce`](https://evanhahn.com/posts/2026-09-13-programmers-dislike-reduce/) – `map` and `filter` sail through code review, but `reduce` draws complaints. Evan has a few theories why. Evan Hahn  

🛠 Code & Tools  

[SnapDOM 3.0: Turn DOM Elements Into Images, Canvas and More](https://snapdom.dev/) — Zero-dependency [html2canvas](https://github.com/niklasvh/html2canvas) alternative with support for pseudo-elements and Shadow DOM. [v3.0](https://github.com/zumerlab/snapdom/releases/tag/v3.0.0) adds 'incremental recapture' for faster repeat captures, automatic web font embedding, and `fromString()` for turning raw HTML markup into images. 

Zumerlab   

[Your App Didn't Get Slower. Your Data Got Bigger](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=javascript-weekly-newsletter) — TimescaleDB extends Postgres so queries stay fast at scale, even as your data grows. [Get $1000 credit to start](https://www.tigerdata.com/go/trial?utm_source=content-syndication&utm_medium=referral&utm_campaign=javascript-weekly-newsletter). 

Tiger Data (creators of TimescaleDB) sponsor   

[Fallow: Codebase Intelligence for TypeScript and JavaScript](https://docs.fallow.tools/) — A fast, zero-config Rust binary that finds dead code, duplication, circular dependencies and complexity hotspots in JS/TS projects. It's also pitched as a deterministic check for AI agent coding loops. [GitHub repo](https://github.com/fallow-rs/fallow). 

Bart Waardenburg   

🎨 [category-colors: Generate 'Least Wrong' Color Palettes for Charts](https://mattstromawn.com/writing/the-least-wrong-colors-version-2/) — Matt devised [this algorithm for picking categorical chart colors](https://mattstromawn.com/writing/how-to-pick-the-least-wrong-colors/) in 2022 while design director at Stripe. It's now available as [an npm package](https://github.com/ilikescience/category-colors), and you can [try it out on the Web here](https://categorycolors.com/). 

Matt Ström-Awn   

- [React DevTools 8.0](https://github.com/react/react/blob/main/packages/react-devtools/CHANGELOG.md#800) ([Chrome Web Store](https://chromewebstore.google.com/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)) – The Suspense tab is now on by default, the Timeline profiler is gone (use your browser's _Performance_ panel instead), and inspecting a DOM node now shows its matching React component.
- [Zod 4.6](https://zod.dev/blog/zod-4-6) – Adds `.validate()`, a boolean check that skips building errors and is up to 35x faster than `.safeParse().success` on invalid input with compiled schemas.
- [Javet 6.0](https://www.caoccao.com/Javet/) – Embed Node.js v26's runtime in the JVM for full interop with Java.
- [parse-xml 5.0](https://rgrove.github.io/parse-xml/) – The fast, compliant XML parser [goes ESM-only](https://github.com/rgrove/parse-xml/releases/tag/v5.0.0).
- 🕹️ [n64js 1.0](https://github.com/hulkholden/n64js) – A Nintendo 64 emulator in pure JavaScript.      

📰 Classifieds   

💻 [Free live coding workshop, Sept 16](https://fingerprint.com/webinar/workshop-new-account-fraud/?utm_source=JSWeekly09152026). Build signup protection with Fingerprint that catches fake signups, no matter how they cover their tracks. 

--- 

Flaky tests slowing down dev? [Meticulous](https://www.meticulous.ai/?utm_source=jsweekly&utm_medium=newsletter&utm_campaign=26q3&utm_content=classified) gives engineers confidence to ship faster by autonomously testing every edge case of your web app. 

--- 

⚡ [Zuplo](https://zuplo.link/iRC6nqO) puts every API, AI, and MCP request behind one gateway. Route traffic, guard your MCP servers, and cap your AI costs. [Try it free](https://zuplo.link/iRC6nqO).    

📢 Elsewhere in the ecosystem 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wwfey07te8tmpqvviapc.jpg)](https://js13kgames.com/2026/)  

- 🕹️ This year's [js13kGames](https://js13kgames.com/2026/) entries are in with a record [317 games squeezed into 13KB each](https://js13kgames.com/2026/blog/voting-open). Frank Force's [SP13KTRA](https://js13kgames.com/2026/games/sp13ktra) racer and the [Hornbound](https://js13kgames.com/2026/games/hornbound) roguelike are good places to start, and you can dig around the public repos of every project too.
- Chris Coyier rounds up [new and emerging HTML features worth knowing about](https://blog.master.dev/new-things-you-should-know-about-html-here-in-mid-2026/), like the `<geolocation>` and `<install>` elements, as well as HTML-in-Canvas and improvements to `<select>`customization.
- The first [Three.js Conference](https://threejs.paris/) took place in Paris last week, and Codrops has [a live-blog writeup of both days](https://tympanus.net/codrops/2026/09/10/inside-the-first-three-js-conference-in-paris/), including Mr.doob's talk. No recordings yet.
- Tailwind Labs, the team behind Tailwind CSS, [is joining Shopify](https://tailwindcss.com/blog/tailwind-is-joining-shopify). Tailwind CSS is to remain maintained and open source – phew! 😅          

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
