title: "Frontend & JS Digest — Week 17"
date: 2026-04-21T18:00:00.000+01:00
week_number: 17
links:
- tag: news
title: "Bun v1.3.12 — Headless Browser Automation"
url: https://bun.com/blog/bun-v1.3.12#bun-webview-headless-browser-automation
comment: "Bun 1.3.12 shipsBun.WebView—native headless browser automation with WebKit (macOS default) and Chrome (cross-platform) backends. Navigate, click, screenshot, evaluate JS; input is dispatched as OS-level events so sites seeisTrusted: true. Real alternative to Playwright for basic scraping and testing." - tag: news
title: "TanStack RSC — React Server Components Done Differently"
url: https://tanstack.com/blog/react-server-components
comment: TanStack Start takes a different angle on RSC—treats server components as client-controlled data primitives you fetch, cache, and render like JSON, not server-owned architecture. Explicit server functions instead of implicit'use server'. Looks like a saner model for those burned by Next.js opinions. - tag: news
title: "Encore — Rust Runtime for TypeScript"
url: https://encore.dev/blog/rust-runtime
comment: Encore moved infrastructure (routing, databases, pub/sub, tracing) out of Node's event loop into a Rust runtime—121K req/s, 2.3ms P99 latency, 9x Express throughput with 80% less latency. 67K lines of Rust handling the hot path; TypeScript still writes your handlers. - tag: library&tools
title: "react-infinite-scroll-component"
url: https://github.com/ankeetmaini/react-infinite-scroll-component
comment: Tiny React infinite scroll at 4.15 kB with pull-to-refresh and IntersectionObserver-based triggering; zero runtime deps. 3.1K stars, used by 109K+ projects—quiet workhorse. - tag: library&tools
title: "officeParser"
url: https://officeparser.harshankur.com/
comment: Node and browser library that parses DOCX, PPTX, XLSX, ODT, ODP, ODS, PDF, and RTF into a structured AST; extracts metadata, tables, lists, images with OCR, and Base64 embedded attachments. CLI and programmatic API, callback or async/await. - tag: library&tools
title: "FluidCAD"
url: https://fluidcad.io/
comment: Parametric 3D CAD platform where you design geometry in JavaScript—interactive prototyping, feature history navigation, STEP file export. Targets both CAD pros and developers who would rather write code than click through menus. - tag: library&tools
title: "phantom-ui"
url: https://aejkatappaja.github.io/phantom-ui/frameworks/react/
comment: Framework-agnostic skeleton loading library for React—drops in aphantom-uicomponent via JSX and auto-generates TypeScript types through a postinstall script. Handles the loading-to-rendered transition without manual wireframing. - tag: library&tools
title: "QR Genny"
url: https://tools.rmv.fyi/tools/qr-genny
comment: Browser QR generator with custom colors, shapes (rounded, dotted, calligraphic), logos, and error correction tuning. Supports URLs, email, phone, WiFi, SMS, and geo inputs; exports PNG or SVG. No backend, no account. - tag: library&tools
title: "micro-ml"
url: https://github.com/AdamPerlinski/micro-ml
comment: 16 ML algorithms (regression, classification, clustering, smoothing, forecasting) in ~56KB gzipped, built with Rust/WASM and zero deps. For web apps that need ML without dragging in TensorFlow.js. - tag: article
title: "Parse, Don't Validate — TypeScript Edition"
url: https://cekrem.github.io/posts/parse-dont-validate-typescript/
comment: Applies the classic "parse, don't validate" idea to TypeScript using branded types and discriminated unionResulttypes—validate at boundaries, encode the proof in the type system, and let the compiler block unvalidated data from reaching trusted code. Kills scattered defensive checks. - tag: article
title: "The Uphill Climb of Mamking Diff Lines Performant"
url: https://github.blog/engineering/architecture-optimization/the-uphill-climb-of-making-diff-lines-performant/
comment: GitHub cut pull request diff INP by ~78% by reducing React components per line from 8 to 2, trimming DOM nodes by 10%, and adding window virtualization—10x less JS heap on massive PRs. Refreshing to see "render less" beat "render smarter" again. - tag: article
title: "CSSposition: stickyPer-Axis"
url: https://www.bram.us/2026/03/30/css-sticky-per-axis/
comment: "position: stickycan now track a different scrolling container per axis—sticky table headers and sticky first columns simultaneously, no JS, no duplicated markup. Long-standing data-table pain point finally solved at the spec level." - tag: article
title: "Agentic Engine Optimization"
url: https://addyosmani.com/blog/agentic-engine-optimization/
comment: Addy Osmani on structuring docs so coding agents can actually consume them—llms.txtindexes,skill.mdcapability files, token counting per page, separate agent-traffic analytics, and robots.txt audits so you don't accidentally block Claude or Cursor. SEO's younger, weirder sibling. - tag: article
title: "Squash and Stretch in UI Animation"
url: https://www.joshwcomeau.com/animation/squash-and-stretch/
comment: Josh Comeau applies Disney's squash-and-stretch principle to SVG icons—CSS transitions on thedattribute (79% browser support) or Motion library with spring physics for that rubbery elastic feel. Key insight—subtlety wins, and event-based triggers feel better than state-based ones. - tag: article
title: "SVG Filters Guide — Getting Started"
url: https://frontendmasters.com/blog/svg-filters-guide-getting-started-with-the-basics/
comment: Frontend Masters beginner guide to SVG filters—filter containers,fe-prefixed primitives, filter regions, and primitive input/output chaining. If you've avoided<filter>because of the cryptic element names, this is the entry point. - tag: other
title: "windows95"
url: https://github.com/felixrieseberg/windows95
comment: Windows 95 running in an Electron app on macOS, Linux, and Windows via the v86 virtualization engine. 24K+ stars. The author admits it "should have been a native app"—the most honest Electron take I've seen.
notes: |
TL;DR: Bun ships headless browser automation, TanStack rethinks RSC as client-controlled data, and Encore's Rust runtime hits 9x Express throughput. Plusposition: stickyper-axis in CSS, parsing over validating in TypeScript, and documentation for AI agents as the new SEO.
My favorite from this week is the micro-ml, but I'm still not sure how can I use it, but the idea of having a ML library in browser sounds really interesting.