Signup here for the newsletter to get the weekly digest right into your inbox.

weeklyfoo #161 is here: your weekly digest of all webdev news you need to know! This time you'll find 41 valuable links in 5 categories! Enjoy!

🚀 Read it!

  • Building an isolated preview for AI-generated HTML: A srcdoc iframe runs model-written HTML on your own origin, so a security engineer breaks the naive approach and rebuilds it with sandbox and a strict CSP by Keshav Malik / security, ai, html / 14 min read

📰 Good to know

🧰 Tools

  • Rapier JXL: Dependency-free JPEG XL encoder in JavaScript, about 30 KB gzipped, with WebGPU quality search, lossless, HDR and JPEG transcoding by jackskip22 / images, javascript, webgpu
  • TanStack Redact: Build plugin that swaps React and React DOM for a smaller synchronous reimplementation, with reported 20-70% smaller client builds by TanStack / react, performance
  • Structs: Usable implementation of the Stage 2 TC39 shared structs proposal, so workers can share objects instead of serializing copies by Erik Arvidsson / javascript, concurrency
  • Biome 2.6: Adds formatting for Markdown, YAML and SCSS, plus JavaScript plugins for custom lint rules as a preview by Biome / tooling, linting
  • webframe: Run browser-dependent scripts from the command line by Jeff Lindsay / cli, browser
  • Verdaccio 7.0: Self-hosted npm registry and proxy adds staged publishing, 2FA and stricter ownership checks by Verdaccio / npm, security, registry
  • Ghostty 1.4: Complete Kitty graphics support, security fixes, faster terminal I/O and scrollback compression that cuts memory use by 70-90% by Ghostty / terminal, tools
  • Expo Agent CLI: Experimental CLI that helps agents pick the right build, launch an app and smoke-test it, with structured output and runtime inspection by Expo / ai, agents, react-native
  • Accessible components library: Accessible components with working examples, code, guidance and the test scenarios to check them by TetraLogical / accessibility, components, frontend
  • browser-whisper 2.0: Runs Whisper, Moonshine and other speech models in the browser over WebGPU with WASM fallback, timestamps and live mic input by Tanpreet Singh Jolly / ai, webgpu, audio
  • pgvolvra: Trigger-based row history to preview and undo bad updates, deletes or migrations by transaction ID, no superuser needed by pgEdge / postgres, databases
  • mcdview: Turns a Postgres, Prisma, pgModeler or Rails schema into a searchable, shareable interactive ER diagram by Gheop / postgres, diagrams
  • Bundle: Freeze a Node app and its dependency tree into a signed ZIP that Node 26's virtual file system runs directly, no npm install by Philipp Dunkel / nodejs, packaging
  • sqlite-js-stream: Litestream ported to TypeScript on node sqlite by an AI agent, streaming the SQLite WAL to S3 by Matteo Collina / sqlite, nodejs, ai
  • html: HTML parser 3-6x faster than other JavaScript parsers, with source offsets and CSS selectors by Luke Edwards / javascript, html, parsing
  • vinext 1.4: Vite-based Next.js reimplementation now uses 43% less server CPU per request in its HN clone benchmark by James Anderson / nextjs, vite, performance
  • OpenTUI 0.8: Terminal UI library with React bindings behind OpenCode now repaints only what changed by Anomaly / terminal, react, tui

🤪 Fun

  • Reverse engineering a Beyblade launch tracker: Bluetooth teardown from hardware inspection to captured payloads to decoding how the accessory reports launches by Simone / reverse-engineering, bluetooth, hardware / 20 min read
  • tstst: A TypeScript compiler running inside the TypeScript type system by zzj3720 / typescript, experiments / 8 min read

📺 Videos

Want to read more? Check out the full article here.

To sign up for the weekly newsletter, visit weeklyfoo.com.