When 8 chunks weigh more than 355
#801 — September 8, 2026
JavaScript Weekly
How Turbopack Chunks Your JavaScript — Starting from the Network tab and working up, a look at chunking strategy and the tradeoffs bundlers make between fewer requests and less code (e.g. 8 chunks can weigh more than 355 do), backed by numbers from bundling the official Next.js site itself.
Sam Poder
Catch Runtime Bugs Before Your JS PR Merges — Greptile now runs your code to find bugs. T-Rex runs your PR branch in a sandbox, uses browser agents to click through your UI, and attaches screenshots and videos as evidence of the issue directly in the PR.
Greptile sponsor
Vitest 5.0 Focuses on Speed and Test Debugging — A major release for the Vite-native test runner, with a benchmark repo showing up to 53% faster runs on dependency-heavy apps. The new Trace View replays Browser Mode tests step by step, and vitest doctor recommends settings to make your suite run faster.
Vitest Team
How Safari Fixed Top-Level await — Safari's module loader was originally built on an abandoned spec proposal and adding top-level await caused years of "cannot access before initialization" errors. Safari 27 brings full spec compliance for it, but it took a ground-up rewrite and this post explains the complexity.
Kai Tamkun (WebKit)
IN BRIEF:
- 🎂 jQuery 1.0 is 20 years old. InfoQ looks back at how
$()helped us dodge the browser wars and why many sites still use it. Ten years further back, Microsoft shipped JavaScript in Internet Explorer as JScript to dodge trademark issues. - Two men have been arrested over the TeamPCP npm supply chain attacks. TeamPCP is suspected of cloning the Shai-Hulud worm, resulting in the 'Mini Shai-Hulud' waves.
- VoidZero's latest update celebrates Vitest passing 100m weekly downloads, React Compiler support reaching Vite, and the latest on Rolldown, Vite+ and ViteConf (taking place online this October 15th).
RELEASES:
- deck.gl 9.4 – The GPU-powered data visualization library extends its experimental WebGPU support in what's expected to be the final v9 release.
- Bun 1.4.1 and 1.4.2 – Big idle memory usage drops, smaller
bun buildbundles,Bun.servespeaks HTTP/2 on the same port as HTTP/1.1, and more. - NVM for Windows 2.0 – A Node version manager for Windows. No longer needs admin privileges in v2.
- Astro 7.3, ESLint 10.10.0, Storybook 10.6, Vuetify 4.2
📖 Articles and Videos
▶ The Story of VS Code — An official movie-length documentary on Visual Studio Code's journey from a Swiss skunkworks to now. Its founding engineers cover the decisions made in areas like Electron, LSP, and the extension API, plus candid talk about the various forks now springing up.
Microsoft and Stefan Kingham
😅 We also learn that at the 2015 launch they drank a beer per 100 Hacker News upvotes… and had to stop at 1,400 (votes, not beers!)
Half Past Fetch: What await fetch() Waits For — Did you know await fetch(url) waits for the headers, not the full body? Gabor digs into some surprising consequences of that for connections, clone(), aborts, and timeouts.
Gábor Koós
Your AI Writes Tests That Pass but Prove Nothing. Fix It — Wallaby CLI makes test generation 10x smarter with live coverage and runtime data, using 3x fewer tokens. One skill to install.
Wallaby Team sponsor
10 Anti-'Slop' Moves for Frontend Projects — A walkthrough of automated checks that cut how much code you have to review, covering OpenAPI codegen, layer boundaries, mutation testing, and using CI to make it all stick.
Yuri Mikhin (Evil Martians)
The Browser's Main Thread is Expensive — A thorough look, complete with demos, at spending your main thread time well, including splitting, batching, prioritizing, and deferring tasks, then getting work off it entirely.
Lee Sun-Hyoup
📄 Why I Ported Moonshine to JavaScript – Pete’s low-latency speech to text runtime now runs in the browser to avoid round trips to a server. Pete Warden
📺 How Can Someone Actually Change JavaScript? – A 2 minute explainer from a TC39 delegate. Mikhail Barash
🛠 Code & Tools
Dropzone.js 6.x: The Drag and Drop Uploader Returns — A major update for the library that handles the browser side of drag and drop uploading. After a 5 year(!) beta, v6.0, 6.1, and 6.2 landed over two days, bringing no dependencies, smaller bundles, and fixes for chunked uploads that could corrupt files.
Mat Simon
Rslib 1.0: A Build Tool for Shipping JavaScript Libraries — From the Rspack team, a unified build pipeline that handles the irritating parts of publishing packages, like getting ESM and CJS working side by side, Module Federation output, and component CSS across React, Vue, Svelte and Solid.
Chenwei Dai, Elecmonkey, et al.
Balance build time with your time — Our technologists do meaningful work, and we give them the support to have a meaningful life, too.
Fidelity Careers sponsor
vgpu: Render WebGPU Shaders in the Browser or Node.js — Provides a way to use the same shader in the browser or render headlessly with Node (to a high-resolution PNG or MP4 video). WGSL modules import and export like TypeScript does.
Vercel
SimpleWebAuthn 14.0: Now with Post-Quantum Passkeys — The passkeys library now verifies post-quantum ML-DSA passkeys and, on Node 24.7 and up, prefers ML-DSA-44 at registration by default.
Matthew Miller
- ESLint Config Inspector 3.4 – Adds timing analysis making it easier to identify the rules slowing down your lint runs.
- GPUIX 0.7 – Build native GPU-accelerated desktop apps with React and TypeScript atop the framework used by Zed.
- memlab 2.0.5 – Meta's framework for finding memory leaks in both browser and Node.js JavaScript apps.
- 🎵 Astro LilyPond – Build-time rendering of text to musical notation for Astro.
- 📊 vue-echarts 8.3 – Vue.js component for Apache ECharts.
📰 Classifieds
💻 Join Fingerprint on Sept 16. Learn how to stop fake signups with Device Intelligence, and build protection that works, for free.
Flaky tests slowing down dev? Meticulous gives engineers confidence to ship faster by autonomously testing every edge case of your web app.
Charts crawling as your data grows? TimescaleDB extends Postgres to stay fast at scale, straight from live data. Get $1000 credit.
📢 Elsewhere in the ecosystem
- ✨ GitHub has a new privacy-safe star history API, so charting a repo's growth over time no longer means scraping or approximating it. Star-History shares a little more background and you can use it to chart projects' star counts, as above (for example).
- Robin Wieruch argues that, due to the advent of agentic coding, building things from primitives rather than high-level libraries makes more sense, using D3 vs Recharts as an example.
- You don't need
initial-scale=1.0in your viewport meta tag, claims Declan Chidlow, as it worked around quirks in old versions of iOS. - Got a browser-compatibility pain point? Submit it as an Interop 2027 idea (by September 23).
- 👕 TIL you can buy official Vue.js merch!