Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

This adds a new option to Metro's  `runServer` API providing a convenient hook to mount custom [`connect`]( middleware on Metro's HTTP server. This replaces the `server.enhanceMiddleware` Metro config option (deprecated in D46356577).

This option is `unstable_` as we work through using this option in integrating projects.

Changelog: **[Experimental]** Add `unstable_extraMiddleware` option to `runServer` API

Reviewed By: motiz88

Differential Revision: D46359829

fbshipit-source-id: 58aafcf1f33aed24a5163f8f4277976bff3717f4

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


MIT licensed npm package version Build status Code coverage Follow @MetroBundler on Twitter

πŸš‡ The JavaScript bundler for React Native.

  • πŸš… Fast: We aim for sub-second reload cycles, fast startup and quick bundling speeds.
  • βš–οΈ Scalable: Works with thousands of modules in a single application.
  • βš›οΈ Integrated: Supports every React Native project out of the box.


Metro is included with React Native β€” see the React Native docs to quickly get started ⏱️.

To add Metro to an existing project, see our Getting Started guide.


All available documentation, including on configuring Metro, can be found on the Metro website.

Source code for documentation is located in this repository under docs/.


Metro was previously part of the react-native repository. In this standalone repository it is easier for the team working on Metro to respond to issues and pull requests. See react-native#13976 for the initial announcement.

Code of Conduct

Meta has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing guide

Read our contributing guide to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes to Metro.


Larger discussions and proposals concerning React Native and Metro are discussed in @react-native-community/discussions-and-proposals.


Metro is MIT licensed, as found in the LICENSE file.