terminal
Weekly Digest // JS_FRAMEWORKS — Week 12-2026
codeWeekly Report

JavaScript — 2026 Week 12

JS frameworks, React/Vue/Svelte, and runtime updates

calendar_todaysummarizeWeek 12-2026
FRAMEWORK

Next.js 16.2

Next.js 16.2 delivers substantial performance gains across the board, led by an ~87% faster next dev startup time and a 25-60% improvement in server render speed. The rendering speedup comes from a React contribution that replaces the JSON.parse reviver callback — which crossed the C++/JavaScript V8 boundary on every key-value pair — with a two-step plain JSON.parse followed by a pure JavaScript recursive walk. Additional highlights include Server Function logging in the dev terminal, a Hydration Diff Indicator using a +Client/-Server legend in the error overlay, and a 2-20x faster ImageResponse. The Link component gains a transitionTypes prop for View Transitions, and the Adapters API is now stable. Experimental additions include unstable_catchError() for component-level error boundaries and prefetchInlining to collapse per-segment prefetch requests into one.

Next.js 16.2
Read Articlearrow_forward
Video · TOOLCHAIN

The New Vite+ Is Kind of a Big Deal

This walkthrough by Erik introduces Vite+, the unified JavaScript toolchain launched by VoidZero that combines Vite 8, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown under a single vp binary. Erik installs Vite+ via curl, scaffolds a Vue project with vp create, and demonstrates how the single vite.config.ts file replaces separate config files for the formatter, linter, and test runner. He shows live formatting via the Oxfmt-based fmt config option, automatic import sorting on save, and running vp test for CI pipelines without installing individual tools. He also calls out a current limitation: Nuxt projects do not yet work with Vite+ because Nuxt ignores vite.config.ts, making Vite+ unsuitable for Nuxt until a future update resolves the conflict. The vp migrate command offers a path for teams with existing Vite projects looking to consolidate their tooling.

AI_INFOGRAPHIC
The New Vite+ Is Kind of a Big Deal — infographicWATCH_VIDEOarrow_forward
Article · RUNTIMEREAD TIME: 13m

Bun v1.3.11

Bun v1.3.11 ships two major new APIs alongside an extensive bugfix sweep. Bun.cron registers OS-level cron jobs using crontab on Linux, launchd on macOS, and Task Scheduler on Windows, following the Cloudflare Workers Cron Triggers API convention; Bun.cron.parse returns the next trigger date for any cron expression including named shortcuts like @daily. The new Bun.sliceAnsi replaces both the slice-ansi and cli-truncate npm packages, slicing terminal strings by column width while preserving ANSI SGR codes and grapheme cluster boundaries using a SIMD ASCII fast path for pure-ASCII input. Bun.markdown.render's listItem callback now receives index, depth, ordered, and start metadata, enabling nested numbering schemes without regex post-processing. Bug fixes address dgram UDP sockets on macOS, a native ARM64 shim for Windows, and dozens of Node.js compatibility issues covering fs, crypto, HTTP/2, and the JavaScript bundler.

READ_FULL_LOGarrow_forward
Article · TOOLCHAINREAD TIME: 4m

VoidZero March Launch Week Recap

VoidZero's March Launch Week shipped major updates across its entire JavaScript toolchain. Vite 8 is the headline release: the Rust-based Rolldown bundler now replaces both esbuild and Rollup, running 10-30x faster than Rollup, and companies like Linear and Beehiiv reported build time cuts of 85% and 64% respectively. Oxlint reached JS Plugins Alpha with near-100% compatibility with existing ESLint plugins, running up to 100x faster. Vitest 4.1 adds first-class Vite 8 support, test tags, async leak detection, and a GitHub Actions reporter. The new Vite+ CLI unifies the entire stack — Vite, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown — under a single vp binary and one vite.config.ts. Rounding out the week, Evan You announced Void, a deployment platform built specifically for Vite applications, with SSR, SSG, ISR, islands architecture, and MCP support.

READ_FULL_LOGarrow_forward
Article · ESMREAD TIME: 4m

Native JSON Modules Are Finally Real

For years, importing JSON files in JavaScript looked native but was secretly handled by bundlers at build time. With the import attributes proposal now shipping in browsers, Node.js, Deno, and Bun, JSON can be imported as a first-class runtime module: import config from './config.json' with { type: 'json' }. The explicit with { type: 'json' } clause removes ambiguity — the engine no longer needs to guess whether to execute or parse the file — and aligns JSON imports with standard ESM caching semantics, so the same module is parsed once and shared across all import sites. Unlike bundler-based imports, native JSON modules are fetched at runtime and subject to normal CORS and Content-Type rules. Bundlers still add value through inlining, asset hashing, and code splitting, but for raw JSON import the platform has caught up. The same import attributes pattern already extends to CSS module scripts and sets the stage for other structured module types.

READ_FULL_LOGarrow_forward
Article · BENCHMARKREAD TIME: 11m

React SSR Framework Benchmark: TanStack Start, React Router, Next.js

Platformatic built the same eCommerce app — a trading card marketplace with 10,000 cards and 50,000 listings — in TanStack Start, React Router, and Next.js, then load-tested all three at 1,000 req/s on AWS EKS. TanStack Start (v1.157.16, after targeted optimizations) emerged as the clear leader with 13ms average latency and a 100% success rate, having recovered from a prior 75% success rate that saw p95 requests hitting the 10-second timeout ceiling — a 252x improvement across 7 minor versions. React Router handled the load reliably with zero failures. Next.js 15.5.5 averaged 8-11 second response times with ~40% failure, but upgrading to v16.2.0-canary.66 more than doubled throughput and cut average latency sixfold. A key finding: sharing flamegraphs with framework teams directly triggered fixes, including the JSON.parse reviver removal in React's RSC deserialization that yielded a 75% speedup benefiting all React Server Components users.

READ_FULL_LOGarrow_forward
Article · PERFORMANCEREAD TIME: 7m

5x SSR Throughput: Profiling SSR Hot Paths in TanStack Start

The TanStack team documents their methodical process for improving TanStack Start's server-side rendering throughput, using @platformatic/flame CPU profiling and autocannon load testing to drive over 20 pull requests. Three patterns produced the highest impact: replacing unconditional new URL() construction with a cheap isSafeInternal predicate that skips full WHATWG URL parsing for common internal paths; gating reactive store subscriptions behind an isServer build-time constant so the server takes a plain snapshot instead of subscribing to state changes; and replacing delete on hot-path objects with assignment to undefined to avoid V8 HiddenClass transitions that force dictionary-mode property access. End results from the links-100 benchmark at 100 concurrent connections: throughput rose from 477 to 1,041 req/s, average latency dropped from 3,171ms to 13.7ms, p90 from 10,001ms to 23ms, and the success rate improved from 75.5% to 100%.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

Week 12 was dominated by major performance breakthroughs across the JavaScript ecosystem. Next.js 16.2 landed with an ~87% faster dev startup and 25-60% server render speedup — a direct result of replacing JSON.parse's reviver callback with a pure JavaScript two-step walk, eliminating costly C++/V8 boundary crossings. That same fix, surfaced by Platformatic's SSR benchmark comparing TanStack Start, React Router, and Next.js at 1,000 req/s on AWS EKS, yielded a 75% speedup for all React Server Components users. TanStack Start itself went from 75.5% success rate to 100% across 20+ PRs by targeting V8 HiddenClass transitions, hot-path URL parsing, and reactive store subscriptions.

VoidZero's March Launch Week unified the entire frontend toolchain: Vite 8 ships Rolldown replacing both esbuild and Rollup at 10-30x the speed, Oxlint reached JS Plugins Alpha with near-100% ESLint compatibility running up to 100x faster, and the new Vite+ CLI (vp binary) consolidates Vite, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown under a single vite.config.ts. Real-world teams reported 64-85% build time reductions. Bun v1.3.11 added OS-level cron scheduling via Bun.cron and a native Bun.sliceAnsi terminal string slicer. Meanwhile, native JSON modules via import attributes (with { type: 'json' }) are now a first-class runtime feature across browsers, Node.js, Deno, and Bun — aligning JSON imports with standard ESM caching semantics for the first time.

Key Takeaways
  • The JSON.parse reviver removal in React's RSC deserialization — discovered through Platformatic's benchmark flamegraphs — delivered a 75% server render speedup benefiting every React Server Components user.
  • VoidZero's Vite+ (vp binary) unifies Vite 8, Vitest, Oxlint, Oxfmt, Rolldown, and tsdown under one config file; real teams at Linear and Beehiiv reported 85% and 64% build time cuts.
  • Native JSON modules via import attributes (with { type: 'json' }) now ship natively in browsers, Node.js, Deno, and Bun, giving JSON imports standard ESM caching semantics without bundler workarounds.