
JavaScript — 2026 Week 11
JS frameworks, React/Vue/Svelte, and runtime updates Compiled for immediate developer deployment.


Vite 8.0 is out!
lightningcss (now a normal dependency) and 5 MB from the Rolldown binary. New features include integrated Vite Devtools, built-in tsconfig paths resolution via resolve.tsconfigPaths, emitDecoratorMetadata support, Wasm SSR support, and browser console forwarding to the dev server terminal. @vitejs/plugin-react v6 drops Babel in favor of Oxc for React Refresh transforms. Full Bundle Mode, an experimental dev-server bundling mode promising 3x faster startup and 10x fewer network requests, is coming next.
Announcing Vite+ Alpha
vp binary. A single vite.config.ts file configures every tool, and the vp create, dev, check, test, build, and pack commands cover the full development cycle including runtime and package manager management. Vite+ also ships Vite Task, an open-source task runner with automated input fingerprinting for caching and dependency-aware execution across workspace packages. Performance figures cited are up to 7.7x faster production builds over Vite 7, 50–100x faster linting than ESLint via Oxlint, and up to 30x faster formatting than Prettier via Oxfmt. The team originally considered a paid license for companies but reversed course, citing friction and a preference for making JavaScript developers more productive without gates.
Node.js — Evolving the Node.js Release Schedule
27.0.0 in 2027, 28.0.0 in 2028. The primary motivation is volunteer sustainability — managing security backports across four or five concurrent release lines has become unsustainable.
Oxlint JS Plugins Alpha
@oxlint/migrate) converts existing eslint.config.js automatically.
Moving From Moment.js To The JS Temporal API — Smashing Magazine
RangeError instead of silently guessing), immutable objects (add() and withTimeZone() return new instances rather than mutating), and 1-based month indexing. Temporal's formatting delegates to Intl.DateTimeFormat, making it locale-adaptive but less terse than Moment's format-string tokens. Timezone support is built into Temporal.ZonedDateTime with no extra package needed, unlike Moment's separate moment-timezone dependency. Bundle-size comparison: the @js-temporal/polyfill is 44.1 kB gzipped versus moment's 75.4 kB and moment-timezone's 114.2 kB.
Why are devs excited about npmx when everyone seems to be sad about other OSS?
Host Jason Lengstorf sits down with npmx maintainers Pak, Daniel, and Salma (White Panther) to explore why a browser for the npm registry — launched just 40 days prior — has attracted over 200 code contributors and 630 Discord members. The panel attributes the energy to radical openness: Daniel merges PRs without bureaucracy, contributors need no permission to start, and the project has had a code of conduct and contributing guide from day one. The technical hook is an AT Protocol (atproto) backend for social features — likes for npm packages are stored as user-owned data, already surfaced on a third-party Blento dashboard, and any site can consume the lexicon without reinventing authentication. The conversation broadens into a critique of AI-as-productivity-maximizer, with the panelists arguing that taste and knowing what to build — not lines of code — is what distinguishes senior engineers.
Temporal Reaches Stage 4 | Igalia
The Temporal proposal advanced to Stage 4 at TC39's 113th plenary in New York, marking the end of a nine-year effort to replace JavaScript's broken Date API. Igalia co-championed the proposal through Philip Chimento and Ujjwal Sharma, with Bloomberg funding much of the engineering work. Temporal ships immutable date/time types, nanosecond precision, explicit timezone handling, and support for regional calendars including Hebrew, Persian, Chinese, and Japanese — backed by 4,500 test262 tests versus Date's 594. Companion proposals Intl.era and Intl.monthCode standardize era codes and month values for those calendars, and RFC 9557 (IXDTF) formalizes the serialization syntax with calendar annotations like [u-ca=hebrew]. Firefox v139, Chrome v144, Edge v144, and TypeScript 6.0 beta already ship the API, with a reference polyfill available for other environments.

Why are devs excited about npmx when everyone seems to be sad about other OSS?
Host Jason Lengstorf sits down with npmx maintainers Pak, Daniel, and Salma (White Panther) to explore why a browser for the npm registry — launched just 40 days prior — has attracted over 200 code contributors and 630 Discord members. The panel attributes the energy to radical openness: Daniel merges PRs without bureaucracy, contributors need no permission to start, and the project has had a code of conduct and contributing guide from day one. The technical hook is an AT Protocol (atproto) backend for social features — likes for npm packages are stored as user-owned data, already surfaced on a third-party Blento dashboard, and any site can consume the lexicon without reinventing authentication. The conversation broadens into a critique of AI-as-productivity-maximizer, with the panelists arguing that taste and knowing what to build — not lines of code — is what distinguishes senior engineers.
Vite 8.0 is out!
Vite 8 ships Rolldown as its single, unified Rust-based bundler, replacing the longstanding dual-bundler approach of esbuild (dev) and Rollup (production). Benchmarks show 10–30x faster builds, with real-world data confirming the gains: Linear cut production build times from 46s to 6s, Ramp saw a 57% reduction, and Beehiiv a 64% reduction. The install size grows by roughly 15 MB — 10 MB from lightningcss (now a normal dependency) and 5 MB from the Rolldown binary. New features include integrated Vite Devtools, built-in tsconfig paths resolution via resolve.tsconfigPaths, emitDecoratorMetadata support, Wasm SSR support, and browser console forwarding to the dev server terminal. @vitejs/plugin-react v6 drops Babel in favor of Oxc for React Refresh transforms. Full Bundle Mode, an experimental dev-server bundling mode promising 3x faster startup and 10x fewer network requests, is coming next.
Announcing Vite+ Alpha
VoidZero is open-sourcing Vite+ under the MIT license, a unified command-line toolchain that bundles Vite 8, Vitest 4.1, Oxlint 1.52, Oxfmt beta, Rolldown, and tsdown behind a single vp binary. A single vite.config.ts file configures every tool, and the vp create, dev, check, test, build, and pack commands cover the full development cycle including runtime and package manager management. Vite+ also ships Vite Task, an open-source task runner with automated input fingerprinting for caching and dependency-aware execution across workspace packages. Performance figures cited are up to 7.7x faster production builds over Vite 7, 50–100x faster linting than ESLint via Oxlint, and up to 30x faster formatting than Prettier via Oxfmt. The team originally considered a paid license for companies but reversed course, citing friction and a preference for making JavaScript developers more productive without gates.
Node.js — Evolving the Node.js Release Schedule
Starting with Node.js 27 (releasing April 2027), the project moves from two major releases per year to one, retiring the odd/even distinction that has confused newcomers for a decade. Every release will now become LTS, with a 30-month support window and total EOL at 36 months from initial Current release. A new 6-month Alpha channel (October through March) replaces the old odd-numbered release role: it allows semver-major changes, is signed and tagged, and runs through CITGM (Canary in the Goldmine) to catch ecosystem breakage before it reaches users. Node.js 26 (April 2026) is the last release under the current model. Version numbers will align with the calendar year of their Current release: 27.0.0 in 2027, 28.0.0 in 2028. The primary motivation is volunteer sustainability — managing security backports across four or five concurrent release lines has become unsustainable.
Oxlint JS Plugins Alpha
Oxlint's JavaScript plugin support has reached alpha, offering an ESLint-compatible plugin API that lets existing ESLint plugins run without modification inside the Rust-based linter. The team benchmarked the Node.js repository — 6,298 files, 104 native Oxlint rules, 75 JS plugin rules, and 23 custom rules — and clocked Oxlint at 21 seconds versus ESLint's 1 minute 43 seconds (4.8x speedup on an M4 Mac Mini). Conformance test pass rates are 100% against ESLint's own 33,006 built-in rule tests, React hooks (5,007 tests), and Testing Library (17,016 tests). The performance improvement hinges on "raw transfer," a new low-overhead mechanism for moving AST data between Rust and JavaScript. Current limitations include limited support for Svelte/Vue/Angular file formats and no custom type-aware rules; Windows users may encounter out-of-memory errors. A migration tool (@oxlint/migrate) converts existing eslint.config.js automatically.
Moving From Moment.js To The JS Temporal API — Smashing Magazine
Joe Attardi provides a recipe-style migration guide from Moment.js to the new Temporal API, comparing both APIs across creation, parsing, formatting, arithmetic, comparison, and timezone conversion. Key behavioral differences include Temporal's strict ISO 8601 / RFC 9557 parsing (non-compliant strings throw RangeError instead of silently guessing), immutable objects (add() and withTimeZone() return new instances rather than mutating), and 1-based month indexing. Temporal's formatting delegates to Intl.DateTimeFormat, making it locale-adaptive but less terse than Moment's format-string tokens. Timezone support is built into Temporal.ZonedDateTime with no extra package needed, unlike Moment's separate moment-timezone dependency. Bundle-size comparison: the @js-temporal/polyfill is 44.1 kB gzipped versus moment's 75.4 kB and moment-timezone's 114.2 kB.
Week 11 marks a watershed moment for JavaScript's relationship with time: Temporal officially reached Stage 4 at TC39's 113th plenary, ending a nine-year effort to replace the notoriously broken Date API. Firefox v139, Chrome v144, and TypeScript 6.0 beta already ship it natively, and a detailed migration guide from Smashing Magazine shows how to move from Moment.js to Temporal's immutable, nanosecond-precise types — at a bundle size of just 44.1 kB gzipped versus Moment's 75.4 kB.
The tooling story was equally dramatic. Vite 8 shipped Rolldown as a unified Rust-based bundler, delivering 10–30x faster build times — Linear cut production builds from 46 seconds to 6 seconds — while VoidZero open-sourced Vite+ under MIT, wrapping Vite 8, Vitest 4.1, Oxlint, and Rolldown behind a single vp binary. Oxlint's JavaScript plugin alpha completed the picture, offering ESLint-compatible plugin support at 4.8x the speed. Node.js also announced a major schedule shift: starting with v27, one annual release replaces the old odd/even split, with every release becoming LTS.
Beneath the headlines, the npmx video surfaced a quieter but telling conversation: the project's rapid community growth — 200 contributors in 40 days — was attributed to radical openness and an AT Protocol backend, while its panelists questioned whether AI-as-productivity-maximizer is the right frame when taste and engineering judgment remain the scarce resource.
- Temporal is Stage 4 and shipping in Firefox v139, Chrome v144, and TypeScript 6.0 beta — the Date API replacement is real and migration guides are ready.
- Vite 8 and the MIT-licensed Vite+ toolchain unify dev and production bundling under Rolldown, delivering 10–30x build speed improvements.
- Node.js moves to one major release per year from v27, with every release becoming LTS and a new Alpha channel replacing the odd-numbered stream.