这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@anthonyshew
Copy link
Contributor

What

Turborepo now natively supports microfrontends development, allowing you to run multiple frontend applications simultaneously with automatic routing between them. By adding a microfrontends.json configuration file to your workspace, you can define which applications handle specific URL paths (like /docs, /blog, or /dashboard) and Turborepo will automatically start a local proxy that routes requests to the correct development server.

The proxy handles both HTTP requests and WebSocket connections, ensuring features like hot module replacement work seamlessly. You can work entirely offline with Turborepo's built-in proxy, or integrate with @vercel/microfrontends when you're ready to deploy to production—using the same configuration file for both environments.

Sub-features include:

  • A production fallback for when you don't run an app
  • An error page when an app is unreachable
  • HTTP and websocket support
  • A smooth upgrade path to @vercel/microfrontends

Why

Modern web applications increasingly adopt microfrontends architectures where multiple independent applications compose a single user experience. Developing these locally requires a proxy server to route requests to appropriate development servers based on URL patterns.

Without native Turborepo support, teams face challenges manually managing multiple servers, configuring separate proxies, and ensuring WebSocket connections work for hot module replacement. This feature eliminates these pain points with first-class support that works standalone or integrates with @vercel/microfrontends for production deployments.

How

The implementation uses a trie-based router supporting exact matches, parameterized segments, and wildcards for efficient route matching. Built on Hyper, the proxy forwards HTTP requests with proper headers and handles WebSocket connections bidirectionally with graceful shutdown support (max 1000 concurrent connections).

During task graph construction, Turborepo scans for configuration files and automatically starts the proxy before executing development tasks. Smart mode detection determines whether to use Turborepo's built-in proxy or defer to Vercel's implementation when @vercel/microfrontends is present, enabling offline development while maintaining production compatibility.

Testing Instructions

There are many tests added as a part of this PR. Additionally, this has been hand-tested using:

  • create-turbo with modifications that use a microfrontends configuration
  • This example repo that demonstrates the @vercel/microfrontends package
  • A large internal monorepo at Vercel that uses the @vercel/micrfrontends package
  • Many attempts at trying to break the congfiguration and feature with alterations to the test subjects described above

Future work

We would be delighted to have more providers work with us on implementations that integrate with their production systems! Please reach out if you are an infrastructure provider and are interested!

Copy link
Member

@tknickman tknickman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really good job, let's get this out and ITG it!

@anthonyshew anthonyshew merged commit f2ddd55 into main Oct 21, 2025
59 of 60 checks passed
@anthonyshew anthonyshew deleted the shew/f7e3b branch October 21, 2025 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Improvements or additions to documentation area: examples Improvements or additions to examples area: site

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants