跪拜 Guibai
← All articles
Frontend · JavaScript · Performance Optimization

Astro 7 Ships a Full Rust Toolchain, Replacing Go Across Compiler, Bundler, and Markdown

By Web情报局 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

Astro's migration is the latest data point in a broader frontend-infrastructure shift where Rust is displacing Go as the default systems language for build tooling. Deno, Turborepo, and Vite have all made the same move, and Astro 7 ties them together into a single stack, which means faster cold builds and fewer silent template bugs for any team using the framework.

Summary

The Astro 7 release completes a wholesale migration from Go and JavaScript to Rust across its core build pipeline. A new Rust compiler built on Oxc replaces the old Go compiler, dropping implicit HTML error correction in favor of strict JSX parsing that catches malformed templates at build time. The framework also moves from Vite 7 to Vite 8, which swaps Go's esbuild and JavaScript's rollup for the Rust-native Rolldown and Oxc, delivering 10x to 30x faster bundling with rollup-compatible plugin APIs. A compatibility layer auto-converts legacy esbuild and rollupOptions config, so most projects upgrade without manual changes.

Markdown processing gets the same treatment. The new default engine, satteri, uses pulldown-cmark and Oxc under the hood, both Rust libraries. Previously plugin-dependent features like GitHub-flavored Markdown are now built-in. For sites heavy on Markdown content, the combined Rust compiler and Markdown pipeline deliver compounding speed gains that scale with content volume. A 6% compiler-only improvement on the Astro docs site undersells the real impact: Markdown volume, not .astro compilation, is the bottleneck for large content sites, and that path is now Rust end-to-end.

Takeaways
Astro 7's compiler is rewritten in Rust using Oxc, replacing the previous Go implementation.
The Rust compiler drops implicit HTML error correction; unclosed tags and malformed JSX now produce hard errors instead of silent rewrites.
Whitespace between inline JSX elements is collapsed to match React and other JSX frameworks.
Vite 8 replaces Go's esbuild and JS rollup with Rust-native Rolldown and Oxc, with a compatibility layer that auto-converts legacy config.
Rolldown's plugin API is rollup-compatible but runs 10x to 30x faster.
The default Markdown engine is now satteri, a Rust processor built on pulldown-cmark and Oxc.
GitHub-flavored Markdown and other previously plugin-dependent features are now built into the Rust Markdown pipeline.
On the Astro docs site, the Rust compiler alone improved build speed by about 6%, but the real bottleneck is Markdown volume, where combined Rust tooling delivers compounding gains.
Conclusions

Astro's move completes a pattern: Deno, Turborepo, Vite, and now Astro have all migrated core build infrastructure from Go to Rust, suggesting Go is losing its foothold in frontend tooling.

The decision to stop silently correcting malformed HTML is a deliberate trade-off: it breaks backward compatibility for sloppy templates but surfaces real bugs that the old Go compiler hid, which reduces production debugging time.

Rust's performance advantage in Markdown processing matters more for content-heavy sites than compiler speed alone, because Markdown volume scales with site size while .astro component count often does not.

The satteri engine's built-in GFM support signals a consolidation trend where Rust-native tools absorb plugin ecosystems into core, reducing dependency chains and configuration surface area.

Concepts & terms
Rustification (锈化)
A colloquial term in the Chinese developer community for rewriting software originally built in another language (often Go or JavaScript) in Rust, typically to gain native performance and memory safety.
Oxc
A high-performance Rust-based JavaScript/TypeScript toolchain created by VoidZero (Evan You's company), providing a parser, linter, and compiler used as the foundation for Astro 7's new Rust compiler and Vite 8's bundler.
Rolldown
A Rust-based JavaScript bundler designed as a drop-in replacement for Rollup, offering a compatible plugin API with 10x–30x speed improvements. It is the default bundler in Vite 8.
satteri
A Rust-native Markdown and MDX processing engine that uses pulldown-cmark for CommonMark parsing and Oxc for MDX expressions. It replaces unified/remark/rehype as Astro 7's default Markdown pipeline.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗