This article has been machine-translated from Chinese. The translation may contain inaccuracies or awkward phrasing. If in doubt, please refer to the original Chinese version.
This newsletter aims to be updated every Sunday. The website is still under construction… Currently, I recommend subscribing to this newsletter’s Quaily RSS via Folo. WeChat public account: FE Bits (前端周周谈 FE Bits). Click the “read original” link to view the original article. QQ discussion group 598022684 for casual frontend tech & life discussions. Feel free to submit your articles there too — it’s more of a fan group in nature. This newsletter is also open-sourced at fe-bits-weekly. Feel free to follow along.
Today is November 2, 2025, Sunday.
On Friday I went to Jiuzhaigou for a day trip — it was absolutely amazing. Even on a cloudy day, it didn’t diminish its beauty at all. No wonder they say “after Jiuzhaigou, you’ll never look at water the same way.” It really is stunning.
The most exhausting part about Jiuzhaigou is the transportation. It’s 1.5 hours by high-speed rail from Chengdu to Jiuzhaigou, and then another 2 hours from the train station to the scenic area. The round trip takes nearly 7 hours, so doing it as a day trip is absolutely brutal (I’d recommend two days). But even so, apparently the transportation is much better than it used to be — the high-speed rail station only opened in recent years.
The vehicle dispatching within the scenic area is really fast. Aside from a longer wait (about half an hour) when switching between the left and right routes, everything else was quite quick — just a few minutes before boarding. And this was during peak season with 40,000 visitors.
The weather in the mountains wasn’t as rainy as the forecast suggested — just a few light sprinkles here and there. I didn’t even use the umbrella I brought.
I was too lazy for an exhausting walk, so I first explored the middle route, then took the shuttle to finish the right route, and went to the left route to see Long Lake and Five-Colored Pool. This itinerary felt quite energy-efficient.
Jiuzhaigou autumn scenery


Lakes along the middle route:



Five-Colored Pool

Long Lake


Ecosystem & Community Updates
-
New in Chrome 142: Chrome 142 introduces several new features for frontend development, including the
:target-beforeand:target-afterpseudo-classes for scroll markers, CSS style container queries with comparison operators and range syntax for theif()function, as well as theinterestforattribute for interaction triggers. -
Octoverse: A new developer joins GitHub every second, AI leads TypeScript to #1: The 2025 GitHub annual report — pretty interesting. Here are a few highlights:
- GitHub has reached 180 million total users, with 36 million new users in the past year, hitting an all-time high growth rate. One new developer joins every second, with India contributing over 5 million new users, accounting for 14% of global growth.
- Generative AI has become standard in development. Over 1.1 million public repositories are using LLM SDKs, with 693,867 new projects added in just the past 12 months (a 178% year-over-year increase). Developers also merged a record 518.7 million pull requests (up 29% YoY), and 80% of new developers started using Copilot within their first week.
- TypeScript has become GitHub’s most-used language for the first time, surpassing Python and JavaScript. Even so, Python still dominates in AI and data science workloads, while the JavaScript/TypeScript ecosystem’s overall activity remains higher than Python alone.
- A total of 395 million public repositories hosted 1.12 billion contributions and 518.7 million merged pull requests — each a record.
There’s so much more data — I highly recommend reading the original article if you’re interested.
-
[VoidZero Raises 12.5M Series A funding round, aimed at accelerating the stable release of their unified JavaScript toolchain “Vite+” and driving the continued development of their open-source projects. The team has brought in several excellent engineers, including the author of
napi-rsand multiple OSS core contributors. -
Vercel now supports the Bun runtime: Vercel has officially announced support for Bun Runtime, allowing developers to run Bun-based applications directly on Vercel.
-
ViteConf 2025 Recap: A recap of ViteConf 2025, covering Vite+, Oxlint JS plugins, Vite DevTools, Nitro v3, Vitest 4, and new progress on the performance toolchain.
-
React Conf 2025 Recap: A recap of React Conf 2025, showcasing the latest achievements in the React ecosystem, including React Compiler v1.0 official release, the establishment of React Foundation, and major updates to React 19.2 and the new React Native architecture.
-
Electron 39: Electron 39 released, with upgrades to Chromium 142.0.7444.52, V8 14.2, and Node 22.20.0.
Articles & Videos
-
Springs and Bounces in Native CSS: Explains how to use the native CSS
linear()function to achieve spring and bounce animation effects similar to physics simulations, and discusses the pros, cons, and use cases. -
Pure CSS Tabs with Details, Grid, and Subgrid: Demonstrates how to build accessible tabs using only the HTML
<details>element with CSS Grid/Subgrid. -
Start implementing View Transitions on your websites today: A deep dive into how to apply the View Transition API to achieve smooth page-to-page transition animations on your website.
-
My experience using Claude Code to develop Rolldown: Thoughts and experience sharing from intensive real-world development using Claude Code in the Rolldown project. I found this article from Weekly Review #102 - How I Use AI. I think all the points made are quite valid. AI really is an excellent copilot now. I’m also using codex / claude code / cursor simultaneously and it feels incredible.
-
Junior Dev Tip: “Scroll Up”: A story about a junior developer debugging an error, reminding us all to “scroll up a bit more and actually read the error messages.”
Most of the time, the tools give you the information you need. It really only takes a few extra seconds to carefully read the messages.
-
Directives and the Platform Boundary | TanStack Blog: Explores the trend of frameworks creating custom directives like “use server” and “use client”. While they look like platform features on the surface, they lack standard specifications, blurring the line between language and framework, causing ecosystem confusion, tooling burden, and portability risks. The author argues that directives should remain minimal and standardized at the language level, while parameterized, policy-driven, or extensible features should use explicit APIs (great article — No Directive!).
-
I Built the Same App 10 Times: Evaluating Mobile Performance Frameworks: The author systematically tests the mobile performance differences of ten modern frontend frameworks by building the same Kanban app ten times.
-
A man who keeps predicting the death of the Web: A look back at Forrester founder George Colony’s absurd 30-year history of repeatedly predicting “the Web is dead” — from initially criticizing the Web as static and lacking interactivity, to championing “XInternet” in the 2000s, then “App Internet” in the 2010s, and claiming generative AI would replace the Web in the 2020s — revealing the cyclical nature of technology pessimism and the enduring vitality of the Web.
CSS New Features
-
Getting screen width and height without JavaScript: Explains how to get screen width and height (in pixel values) using pure CSS without JavaScript. Note that on Safari you should use
dvhfor accuracy. It uses the CSS Typed Arithmetic technique — dividing100vw/1pxto get a pure numeric pixel value. CSS Typed Arithmetic support: Safari 26 / Chrome 140, Firefox not yet supported. -
Perfectly Pointed Tooltips: A Foundation: This article details how to use the modern CSS Anchor Positioning API to create tooltips that can intelligently position themselves and avoid overflow — all without JavaScript. (This is a summary of the previous CSS Tips anchor positioning tutorial series, all written by Temani Afif, but this one goes into more detail.)
Fun Projects & Tools
-
spoilerjs | Beautiful Spoiler Effects: A framework-agnostic Web Component that implements elegant “spoiler” effects using particle animations.
-
vue-command: A fully-featured, feature-rich terminal emulator component built with Vue.js.
Codepen Picks
Details & Summary ::details-content/content-visibility
Jhey Tompkins built an excellent interactive demo for details & summary, using
::details-content/content-visibilityin pure CSS, no JavaScript needed.

Chris Bolson shared two variants of a curved scrollbar theme: one super curved, and one more subtle. “The scrollbar follows the container’s border radius, and its length is calculated based on the amount of content.”
The core principle is to hide the native scrollbar, overlay an SVG layer on top of the container, draw a path along the container’s rounded outline, and render the scrollbar as a sub-path on that path. The scrollbar length is calculated using the ratio of viewport height to content height.
When dragging, the scroll proportion is calculated based on the pointer’s vertical position and written back to scrollTop. The path is recalculated when scrolling or window size changes, while colors and thickness are controlled by CSS variables and interaction state.
It’s pretty cool, but the UX feels a bit unintuitive?

Mads Stoumann demonstrated his “circular range slider custom element with optional indexes and labels,” showcasing circular range sliders from partial curves to full circles.

MOZZARELLA recreated a Frutiger Aero style glossy card using CSS, featuring soft gradient lighting effects.
Such a bright style.

Bence Szabo released a wood grain texture in just 353 bytes of SVG, part of his #PetitePatterns (minimalist texture series).

喜欢的话,留下你的评论吧~