Sign in

Jiahan Chen

@chenjiahan.bsky.social
251 followers 162 following 239 posts

Creator of Rstack & Vant · Rstack lead @rspack.dev · Building JS tooling at ByteDance

PostsRepliesMedia
Jiahan Chen @chenjiahan.bsky.social · 11h
What you’ve been doing is really valuable. I’ve learned to mostly ignore AI spam and save my time and energy for genuine users
010
Jiahan Chen @chenjiahan.bsky.social · 12h
😭
000
Jiahan Chen @chenjiahan.bsky.social · 19h
Lots of “OSS is dead” talk lately. Being a maintainer can feel like more stress than fun, so seeing these numbers grow is a nice little boost to keep going
220
Reposted by Jiahan Chen
Rspack @rspack.dev · 05/10/2026
A small milestone: 10M weekly downloads for Rspack Thank you for building with us ❤️
082
Jiahan Chen @chenjiahan.bsky.social · 30/09/2026
Haha, maybe we should try the Sentry codebase and see what optimization opportunities we can find
020
Jiahan Chen @chenjiahan.bsky.social · 29/09/2026
We’re putting more focus on memory usage in Rspack and Rsbuild, especially for large codebases or when running multiple agents in parallel. Recent optimizations reduced peak dev memory by 19.5% in one large project, with faster startup and rebuilds too
0112
Jiahan Chen @chenjiahan.bsky.social · 23/09/2026
Codex also made circular versions of our Grokbot-style avatars. Available in our design resources repo: github.com/rstackjs/rst...
000
Jiahan Chen @chenjiahan.bsky.social · 22/09/2026
010
Jiahan Chen @chenjiahan.bsky.social · 22/09/2026
Rstack!
171
Jiahan Chen @chenjiahan.bsky.social · 21/09/2026
Check out the RFC for more details on how it works and the trade-offs involved: github.com/web-infra-de...
github.com
RFC: Reduce module duplication with `splitChunks.dedupDepth` · web-infra-dev rspack · Discussion #15802
Implementation PR: #15497 — feat(split-chunks): add configurable dedupDepth Summary Extend splitChunks candidate discovery to include intersections of chunk sets. This allows Rspack to extract shar...
000
Jiahan Chen @chenjiahan.bsky.social · 21/09/2026
Rspack's code splitting balances bundle size, chunk count, and build time. The next release adds `splitChunks.dedupDepth` to spend more time finding shared code and reducing duplication. In one real-world app with many routes, using this option cut total output size by 9.9%
1152
Reposted by Jiahan Chen
Rspack @rspack.dev · 17/09/2026
🦀 Rstest 0.12 is out! More you can test, and faster ways to run it. 🎭 E2E testing with @rstest/playwright 🧩 Test Module Federation remotes ⚡ vmThreads / vmForks: 9.5× faster on a 2,400-file suite 📦 jsdom / happy-dom load faster out of the box 🛠️ New JavaScript API for tools
131
Jiahan Chen @chenjiahan.bsky.social · 17/09/2026
We recently upgraded an internal monorepo from Rspack v1 to v2. Build time dropped ~45% Then we noticed the repo had added 4 million lines over the past 6 months. About 80% was TS, mostly written by agents Still plenty to do to keep Rspack and JS tooling fast enough for agents
081
Jiahan Chen @chenjiahan.bsky.social · 16/09/2026
github.com/swc-project/...
github.com
perf(es/preset-env): Reduce binary size with browserslist deflate by chenjiahan · Pull Request #12381 · swc-project/swc
Description: Reduce the native binary size by upgrading browserslist-rs from 0.20.0 to 0.21.2 and explicitly enabling deflate for its bundled browser data. @swc/core .node release size on aarch64-a...
010
Jiahan Chen @chenjiahan.bsky.social · 16/09/2026
SWC's binary just got 2.4MB smaller. Rspack and Turbopack could benefit too. Thanks @swwind233 for the optimizations
1101
Jiahan Chen @chenjiahan.bsky.social · 11/09/2026
github.com/swc-project/...
github.com
refactor(react-compiler): Use official packages by wbinnssmith · Pull Request #12168 · swc-project/swc
Description: Replace the unmaintained forked_react_compiler packages published by the Oxc team with the official react_compiler packages. The Oxc team now maintains its own separate fork. Related i...
000
Jiahan Chen @chenjiahan.bsky.social · 11/09/2026
Great to see Vercel contributing to React Compiler's Rust implementation! Official crates are now available, so SWC and Rspack have switched from forked crates to the official ones.
191
Jiahan Chen @chenjiahan.bsky.social · 10/09/2026
Thank you! Really appreciate the kind words ❤️
010
Jiahan Chen @chenjiahan.bsky.social · 10/09/2026
Our teammate built a Chrome extension that makes it super easy to see what tech stack a website uses: github.com/swwind/web-s...
github.com
GitHub - swwind/web-stack-detector: Shows which frontend framework and bundler a site was built with — React, Vue, Svelte, Next.js, Vite, webpack and friends — as the toolbar icon.
Shows which frontend framework and bundler a site was built with — React, Vue, Svelte, Next.js, Vite, webpack and friends — as the toolbar icon. - swwind/web-stack-detector
160
Jiahan Chen @chenjiahan.bsky.social · 10/09/2026
DeepSeek's web app is now on Rspack v2! 🐋 🦀
2131
Jiahan Chen @chenjiahan.bsky.social · 08/09/2026
github.com/TanStack/rou...
github.com
perf(start): optimize Rsbuild import protection reporting by SyMind · Pull Request #8164 · TanStack/router
🎯 Changes Refactors Rsbuild import-protection reporting into a lightweight violation-detection pass and a lazy diagnostic path. During processAssets, snapshot each module's outgoing Rspack con...
001
Jiahan Chen @chenjiahan.bsky.social · 08/09/2026
TanStack Start + Rsbuild keeps getting faster 🚀 @CongCongPan optimized import-protection reporting, making SSR builds 23.4% faster and client builds 10% faster in a real-world project
181
Jiahan Chen @chenjiahan.bsky.social · 04/09/2026
Today, Rslib 1.0 is here and already powers thousands of libs. Quite a journey!
000
Jiahan Chen @chenjiahan.bsky.social · 04/09/2026
We originally built Rslib to unify ByteDance’s web apps and JS libs around Rspack. Getting there wasn’t easy. Rspack inherited an architecture primarily designed for bundling apps, so we made many improvements to produce clean ESM for libs.
1132
Reposted by Jiahan Chen
Rspack @rspack.dev · 03/09/2026
🦀 Rslib 1.0 is here! 📦 Multiple output formats, including Module Federation 🔀 Bundled or bundleless ⚛️ Component libraries across frameworks 🎨 Built-in CSS and asset support 🔵 TypeScript 7 support for fast declarations See what's new in Rslib 1.0 👇 rslib.rs/blog/v1-0
rslib.rs
Announcing Rslib 1.0 - Rslib
Rslib 1.0 is here, focusing on library build capabilities across use cases and the developer experience, with upgrade guidance and a look at what's next.
1131
Jiahan Chen @chenjiahan.bsky.social · 01/09/2026
github.com/microsoft/Ty...
github.com
Support import attributes on ambient modules by gabritto · Pull Request #63931 · microsoft/TypeScript
Fixes #46135. This PR adds the ability for users to specify an import attributes type in pattern ambient module declarations: declare module "*" with { type: "css" } { decla...
040
Jiahan Chen @chenjiahan.bsky.social · 01/09/2026
Excited that TypeScript will finally support module types based on import attributes! Bundlers and frameworks can now provide accurate types for custom imports:
27116
Jiahan Chen @chenjiahan.bsky.social · 31/08/2026
🤩 trilon.io/blog/nestjs-...
0202
Jiahan Chen @chenjiahan.bsky.social · 28/08/2026
Interesting to see ESLint exploring a unified JS/TS parsing toolkit. Our approach in Rslint is to treat the TS 7 parser/compiler as the single source of truth. Linting and type checking share the same program, so each file only needs to be parsed once, and its AST can be reused
1161
Jiahan Chen @chenjiahan.bsky.social · 27/08/2026
github.com/getsentry/se...
github.com
build(ui): Use shorter production chunk IDs by scttcper · Pull Request #122759 · getsentry/sentry
Switches production module and chunk IDs to Rspack 2.2's compat-hashed strategy. Metric deterministic compat-hashed Change Emitted JS 47,584.1 KiB 47,406.1 KiB -178.0 KiB (-0.37%) Gzip...
010
Jiahan Chen @chenjiahan.bsky.social · 27/08/2026
Cool to see Sentry already trying Rspack 2.2's new compact ID strategy, cutting gzipped JS by 152KiB. If all goes well, it'll be the default in a future minor release. We made a silly API typo and used "compat" instead of "compact". Guess we'll support both names😂
1182
Jiahan Chen @chenjiahan.bsky.social · 26/08/2026
And Rstack ecosystem keeps shipping: 🦀 Rsbuild — Solid v2 support, Octane template 🦀 Rstest — Playwright E2E, Module Federation 🦀 Rslint — 500+ native rules, JS API 🦀 Rslib — TypeScript 7 support, v1.0 soon 🦀 Rspress — 100/100 agent-friendly score
0192
Reposted by Jiahan Chen
Rspack @rspack.dev · 26/08/2026
🦀 Rspack 2.2.0 is out! 30+ performance optimizations: ⚡ Production build ~5% faster 🎨 CSS parsing 3.7× faster 📁 CopyRspackPlugin 3–4× faster 🔥 HMR skips unnecessary CSS ~385 → ~6 ms rspack.rs/blog/announc...
rspack.rs
Announcing Rspack 2.2 - Rspack
Rspack 2.2 is now available, featuring performance and HMR improvements, shorter module IDs, import.meta enhancements, and support for more platforms.
0133
Jiahan Chen @chenjiahan.bsky.social · 24/08/2026
I used to see chunk splitting mainly as a browser optimization. This case showed me that chunk splitting can also benefit SSR builds with many route chunks. Thanks to @wulianwen1 for the feedback and the benchmark case: github.com/childrentime...
github.com
GitHub - childrentime/tanstack-start-rsbuild-ssr-chunk-duplication: Repro: TanStack Start rsbuild adapter emits duplicated shared modules in every ssr route chunk
Repro: TanStack Start rsbuild adapter emits duplicated shared modules in every ssr route chunk - childrentime/tanstack-start-rsbuild-ssr-chunk-duplication
010
Jiahan Chen @chenjiahan.bsky.social · 24/08/2026
In the next release, Rsbuild will enable chunk splitting by default for Node.js builds. This reduces duplicate code across chunks and makes SSR apps more efficient. The benchmark below is a TanStack Start stress test case with many routes and shared modules:
1141
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
The ecosystem is already moving: - MDX content mapper: github.com/remcohaszing... - Vize (Vue) content mapper: github.com/ubugeeei-pro...
051
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
The TypeScript content mappers PR just merged and is likely to land in 7.1 🎉 This could open a new chapter for everything built on and around TypeScript github.com/microsoft/ty...
github.com
Content mappers by andrewbranch · Pull Request #4712 · microsoft/typescript-go
Implements microsoft/TypeScript#63800 (comment) Overview Content mappers are external integrations that allow TypeScript to include otherwise unsupported file types in a program. They transform a f...
3449
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
haha you are right
000
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
Already using the Rstack Agent Plugin. Nice to see Codex automatically reach for the Rspress custom theme skill when I asked it to tweak my site’s UI
020
Jiahan Chen @chenjiahan.bsky.social · 20/08/2026
He’s only on X for now: x.com/wei_zhong41532 😂
010
Jiahan Chen @chenjiahan.bsky.social · 19/08/2026
Our designer is cooking up some fun new logos for the little crabs 🦀
2362
Reposted by Jiahan Chen
Rspack @rspack.dev · 18/08/2026
GitLab plans to replace webpack with Rspack as the single engine across dev, prod, and CI 👀 Benchmarks results: 🍃 Prod build: 26× faster 🍃 Dev startup: 7× faster 🍃 Emitted JS: 25% smaller 🍃 Peak memory: 23% lower gitlab.com/gitlab-org/g...
gitlab.com
Adopt Rspack: proposal & rollout plan (#604382) · Issues · GitLab.org / GitLab · GitLab
Summary Replace both...
091
Jiahan Chen @chenjiahan.bsky.social · 15/08/2026
Just noticed that Slack is using Rspack v2 Less than 4 months since launch, v2 already accounts for 30% of Rspack downloads and 40% of Rsbuild downloads Adoption is moving fast 🚀
0232
Jiahan Chen @chenjiahan.bsky.social · 14/08/2026
• Composable: Loaders can be combined and ordered as needed to build flexible transformation pipelines • Cacheable: Loaders are usually stateless, making their results easy to cache and reuse • Portable: The same loader can run on webpack, Turbopack, and Rspack
020
Jiahan Chen @chenjiahan.bsky.social · 14/08/2026
I used to dislike webpack’s loader design, but over time I’ve come to appreciate just how much it gets right: • Easy to parallelize: Loaders are standalone modules, so they can run in workers with little effort. I saw Rspack’s parallel loader feature cut babel-loader time by 80% in one large app
161
Reposted by Jiahan Chen
Rspack @rspack.dev · 12/08/2026
Building a library with WebAssembly? 🧙🏻Rslib 1.0 beta supports `.wasm` imports with two output modes for different consumer needs: - `compile` adds runtime loading glue - `preserve` keeps the import for the consumer's bundler Simple source. Consumer-ready output. 🦀
282
Jiahan Chen @chenjiahan.bsky.social · 12/08/2026
Smart move!
010
Jiahan Chen @chenjiahan.bsky.social · 12/08/2026
❤️
000
Jiahan Chen @chenjiahan.bsky.social · 12/08/2026
Reading AI-generated plans and endless code all day. My brain can barely keep up. I miss the slow days.
490
Jiahan Chen @chenjiahan.bsky.social · 11/08/2026
We’re migrating a large internal project from ESLint to Rslint. Even with ESLint plugins running in JS, Rslint is 10× faster 🚀
0233