FE Bits Vol.15|Chrome Width/Height Animation Reflow Optimization, Node Type Stripping Goes Stable

发表于 2025-11-16 21:00 1088 字 6 min read

cos avatar

cos

FE / ACG / 手工 / 深色模式强迫症 / INFP / 兴趣广泛养两只猫的老宅女 / remote

FE Bits Vol.26 | Gatsby Supports React 19, Rspress 2.0 ReleasedFE Bits Vol.25 | Yarn 6 to Be Rewritten in Rust, CSS Grid Lanes ProgressFE Bits Vol.24 | Rolldown 1.0 RC, Anime.js v4.3 Auto Layout, and Chrome 145 100vw Scrollbar AwarenessFE Bits Vol.23 | jQuery 4 Released, Chrome Adds Vertical Tabs, Astro Acquired by CloudflareFE Bits Vol.22 | CSS @scope Now Widely Available, ViteLand December RecapFE Bits Vol.21 | Blog Christmas Effects and Moe Copy Update, AntV Launches InfographicFE Bits Vol.20 | Blog Updates and FEDAY Highlights, Shadcn Create ReleasedFE Bits Vol.19|New Site Features and React Discloses Two New RSC VulnerabilitiesFE Bits Vol.17|WebGPU Now Supported by All Major Browsers, Ant Design 6 Officially ReleasedFE Bits Vol.16|Cloudflare Incident Report Released, CSSWG Confirms Masonry Layout Syntax grid-lanesFE Bits Vol.15|Chrome Width/Height Animation Reflow Optimization, Node Type Stripping Goes StableFE Bits Vol.14|Chrome Supports Split Views, npm Enforces 2FA, Rspack 1.6FE Bits Vol.13|TypeScript Becomes GitHub's Most-Used Language for the First Time, VoidZero Raises $12.5M Series AFE Bits Vol.12|Next.js 16 Released, Docusaurus 3.9 AI Search, ChatGPT Atlas LaunchedFE Bits Vol.11|React Native 0.82 New Architecture Lands, Bun 1.3 Full-Stack RuntimeFE Bits Vol.10|React Compiler v1.0 Released, React Foundation Established, Vite Documentary and Vite+ LaunchFE Bits Vol.9|Chrome DevTools Launches MCP, Nuxt UI Pro Goes Open Source and FreeFE Bits Vol.8|PyCon Trip, Cloudflare's Big Bug, and NPM Sandworm AlertFE Bits Vol.7|Security Alerts for chalk, debug and Other npm Packages; Remotion Sponsors MediabunnyFE Bits Vol.6|What Changes and What Stays, Chrome's 17th Anniversary and CSS Mixins DraftFE Bits Vol.5|Nx Package Compromised, ESLint Multi-threaded Linting, and Firefox Experimental PWAFE Bits Vol.4|Next 15.5, RN 0.81, and Some Handy ToolsFE Bits Vol.3|CSS attr() Typed Evolution, PostCSS Retrospective After 12 YearsFE Bits Vol.2|V8 Speeds Up JSON.stringify 2x, Vite Weekly Downloads Surpass Webpack for the First TimeFE Bits Vol.1|Hello World, TanStack DB First Beta Release
This issue focuses on the newsletter site launch with a call for suggestions, pnpm 10.21 security improvements, TC39 Tokyo agenda, Node 25.2 Type Stripping going stable, Chrome width/height animation and CSS container query range progress, plus curated fun sites/Codepens including Visual Types and JS Engines Zoo.

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 16, 2025, Sunday.

The newsletter website has a preliminary version up. The domain will probably change. I’ll replace the old Hexo version once everything has been migrated.

I’ve added a newsletter section on top of the blog. Suggestions are welcome — there’s still a lot to optimize. Search and comments haven’t been added yet, but feel free to take a look and share your feedback.

The repo is at https://github.com/cosZone/astro-koharu

I’ve realized my procrastination hasn’t gotten any better — if I don’t publish it, I’ll just keep putting it off. So I’m publishing it to motivate myself.

Ecosystem & Community Updates

  • pnpm 10.21: Can now automatically install the Node version required by dependencies based on engines.runtime, and introduces trustPolicy to prevent supply chain attacks.

    When dependencies declare a specific Node.js version (in the engines.runtime field), pnpm will automatically install that version and bind it to the CLI application runtime, ensuring dependency and runtime environment consistency. If there are postinstall scripts, they will also execute under the matching Node.js version. Trust Policy settings: A new configuration option that can be set to no-downgrade — when a package’s trust level drops compared to its previous version, the installation will be blocked to prevent potential security risks.

  • TC39 (the JavaScript language standardization committee) will hold its 111th meeting in Tokyo in November 2025. The meeting agenda has been published.

Stage 4 candidate proposals:

  1. Iterator Sequencing
  2. JSON.parse source text access
  3. Temporal status update
  4. Locale Info API

Stage 0 new topics:

  1. Iterator support improvements (Iterator Join, TypedArray Concatenation, FindWithin)
  2. Class spread syntax
  3. Class field introspection
  4. Several new Intl proposals (Energy Units, Unit Protocol, etc.)

Articles & Videos

But there’s been an exciting animation/performance improvement in recent Chrome Canary builds:

In Chrome 144.0.7512.0 (current Canary), we expanded the width / height check to verify whether the width or height has actually changed. If the width / height hasn’t changed, there’s no need to compute layout, so there’s no need to force the animation to run on the main thread.

  • Crafting Generative CSS Worlds | Codrops: Build 3D isometric terrain worlds using pure CSS, constructing pixel-style generative worlds through layered grids and 3D transforms. The author covers the complete technical path from camera perspective setup, to multi-layer grid architecture, terrain cell geometry definitions, noise-generated height maps, and performance optimization. The website is CSS Terrain Generator.

  • Perfecting Baseline: A technical essay about how the Web platform feature “Baseline” concept was born, evolved, and optimized, helping developers understand its value and limitations.

  • JavaScript Engines Zoo: Aggregates data, performance, and development history of over 100 JS engines, with Dockerfiles for direct experimentation. (Great name!)

  • Visual Types: An interactive visual notebook that explains core TypeScript type system concepts in an intuitive way, turning abstract type relationships into set theory analogies. The author breaks down modules including basic types, union types, intersection types, generics (Type Alias/Generic), conditional types, and more, guiding developers from the fundamental idea that “types are sets of values” to a step-by-step understanding of TypeScript’s compile-time inference and constraint mechanisms.

CSS New Features

This means you can now do the following:

/* Range query for rain percent (new) */
@container style(--rain-percent > 45%) {
  .weather-card {
    background: linear-gradient(140deg, skyblue, lightblue);
  }
}
  • Responsive List of Stacked/Overlapping Images: Build responsive overlapping avatar lists using modern CSS (like container-type and cqw units). The spacing between images adjusts automatically based on container width and element count — no fixed values or “magic numbers” needed. The layout is both flexible and visually balanced.

Fun Sites & Codepen Picks

Messenger

“Messenger” is an interactive webpage themed around an asteroid delivery person. It won the Awwwards Site of the Day (SOTD) on November 10, 2025. The work creates an immersive exploration experience through an ingenious character system and dynamic NPC setup. Using only two primary colors, it’s minimalist yet narrative. The technical implementation balances animation smoothness, responsive design, and accessibility. With an overall score of 7.92/10, it excels in art direction, interaction, and animation implementation — an excellent example of web storytelling and visual creation.

It’s a tiny planet, but someone’s gotta deliver.

Red Alp [448]

Code golfing a tiny demo using maths and a pinch of insanity: The author used extreme code compression and mathematical tricks to squeeze a GLSL shader down to just 448 characters, creating a mesmerizing 3D mountain landscape with cloud and fog effects.

You can view the demo here.

Hopping Marbles

Hopping Marbles: A looping pure CSS + SVG hopping marble animation — very creative!

“A pseudo-3D loop animation starring marbles, designed as a preloader-like effect. Additionally, special SVG clip paths are used at the bottom of the holes, along with some secretly alternating paths.” — Jon Kantner

Refs

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

© 2020 - 2026 cos @cosine
Powered by theme astro-koharu · Inspired by Shoka