Created by

A Repository for React
Native Pre-Built Artifacts

Speed up your builds and avoid compiling native libraries from scratch. RNRepo delivers pre-built artifacts so you can focus on building your app.

Up to 2x
Faster Builds
100%
Open Source
GPG
Signed Artifacts
Minimal
Setup Required

Getting Started

RNRepo is currently in Beta and available for Android only.

Please report any feedback or issues with your setup via our GitHub.

To start using RNRepo, you need to configure your Android project to include our Maven repository and use our Gradle plugin that will automatically swap out dependencies on supported libraries with pre-built artifacts downloaded from our repository.

If you are using Expo Continuous Code Generation (CNG) setup (generating your native android directory with expo prebuild command), you can use our Expo config plugin to automatically configure Android's project to use RNRepo.

First, install the Expo config plugin using your package manager or with expo install command:

terminal
$ npx expo install @rnrepo/expo-config-plugin

If not already added by the expo install command, manually add the plugin to your app.config.ts file (app.json or app.config.js depending on your setup):

app.config.ts (app.json or app.config.js)
{
    "expo" {
        ...
        plugins: [
+           "@rnrepo/expo-config-plugin"
        ]
    }
}

For standard React Native setups or when using Expo but managing your android folder by hand, you need to edit the following gradle files to us RNRepo.

First, add the RNRepo Maven repository to your main android/build.gradle file and register RNRepo's gradle plugin.

android/build.gradle

buildscript {
  repositories {
    ...
+   maven { url "https://packages.rnrepo.org/releases" }
  }
  dependencies {
    ...
+   classpath("org.rnrepo.tools:prebuilds-plugin:0.1.0")
}

allprojects {
  repositories {
    ...
+   maven { url "https://packages.rnrepo.org/releases" }
  }
}

Next, apply RNRepo's gradle plugin in your app's build.gradle file:

android/app/build.gradle

apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
+ apply plugin: "org.rnrepo.tools.prebuilds-plugin"

That's it! Now build your app as usual and enjoy faster builds.

For detailed instructions, visit our GitHub repository.

Why RNRepo?

Built for React Native developers who value speed, security, and simplicity.

2x Faster Android Builds

Skip compiling native code from source. RNRepo provides pre-built artifacts that dramatically reduce your build times.

Simplified Brownfield Projects

No more managing complex React Native dependency lists. Just reference the prebuilt artifacts and focus on your app.

Reduced Disk Space

Built directories are smaller because they don't need to contain intermediate build artifacts. Save your node_modules from gigabytes of compiler generated files.

Optimized Release Builds

Our published artifacts are release builds, better optimized than the debug builds you'd typically compile from source.

Security First

Isolated GitHub workflows, transparent builds, traceable artifacts, and GPG signing ensure your builds are secure and tamper-proof.

How It Works

A fully automated, transparent pipeline from source to prebuilt artifacts.

  • Library Configuration

    Our GitHub repository maintains a curated list of React Native libraries in libraries.json and supported versions in react-native-versions.json.

  • Automated Detection

    A cron job continuously monitors for new library releases and React Native versions, scheduling builds automatically.

  • Isolated Builds

    Each library is built against specific React Native versions in isolated GitHub workflow — fully transparent and traceable.

  • Maven Publishing

    Built artifacts are GPG-signed and published to our public Maven repository.

  • Client Fetching

    When you build your app, the RNRepo plugin fetches pre-built artifacts instead of compiling from source.

Transparent & Verifiable

Every artifact includes a link to its build workflow. You can verify the exact commit, build logs, and GPG signature of any prebuilt library.

No hidden steps, no black boxes.

Enterprise & Brownfield

Need a Custom Setup?

For enterprise and brownfield projects that require self-hosted Maven repositories, private access configuration, or custom library builds—we're here to help.

Self-hosted Maven Private Repository Access Custom Configurations
Contact Software Mansion

RNRepo is built and maintained by Software Mansion

Frequently Asked Questions

Everything you need to know about RNRepo.

What if I install RNRepo and run iOS build?

In the current version RNRepo only supports Android builds and does not interfere with the way iOS builds are performed. iOS builds will continue to build libraries from source as usual.

How do I verify that RNRepo is set up correctly?

Check your Android build logs for entries with the "[📦 RNRepo]" tag. The plugin logs which libraries it detects in your project and specifically lists which ones are being substituted with pre-built artifacts from the repository. If you see these logs during your build, RNRepo is working correctly.

How do I opt out of RNRepo for specific libraries?

You can opt out globally by setting the DISABLE_RNREPO environment variable. For granular control, you can exclude specific libraries using the JSON configuration file. This allows you to continue using RNRepo for most libraries while building specific ones from source when needed.

What happens if I have local patches for a library?

If your patches modify native code (Objective-C, Java, or Kotlin), you'll need to add that library to the opt-out list so it builds from your patched source. JavaScript-only patches don't require opting out since they don't affect the native build artifacts.

What if a library or React Native version isn't supported?

RNRepo has a transparent fallback mechanism. If a specific version isn't available in our repository, the build will automatically fall back to compiling from source—just like before RNRepo. Your builds won't fail; they'll just take longer for unsupported libraries.

Which React Native versions are supported?

We support all React Native versions 0.80.0 and above, plus the latest patch versions for 0.77.3, 0.78.3, and 0.79.7. If your React Native version is not supported, prebuilt artifacts will automatically fall back to building from source. For a complete list of all supported versions, refer to the react-native-versions.json file in Our GitHub repository.

How can I see which libraries are pre-built?

The complete list of supported libraries is maintained in the libraries.json file in our GitHub repository. This file contains all library names and the React Native versions we build against. Check Our GitHub repository for the current list.

How do I request a new library to be added?

Currently, library additions are a manual process. If you'd like a library added to RNRepo, please open an issue on our GitHub repository. We prioritize libraries based on community demand and compatibility with our build system.

Is RNRepo secure? How can I verify artifacts?

Security is a top priority. All builds run in isolated GitHub workflows that are fully transparent — you can inspect any build's logs and source. Every artifact is GPG-signed, allowing you to verify authenticity. When downloading, you can trace any artifact back to its exact build workflow.

Do library maintainers need to do anything?

No! RNRepo doesn't require any action from library maintainers. We build and publish libraries using our own GitHub Action workflows, pulling source code from the official repositories. It's completely transparent to library authors.

Can you just pre-build everything?

Unfortunately, not all libraries can be pre-built. Some libraries have build-time flags or link via C++ headers with other libraries. In these cases, the build is tied to a specific app's environment and cannot be published as a universal pre-built package. These libraries will automatically fall back to building from source.

Is iOS supported?

iOS support is currently in development. We're actively working on bringing the same build speed improvements to iOS. Follow Software Mansion on X to stay updated on our progress and be the first to know when iOS support launches.