Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

expo-modules-autolinking

expo6.7mMIT2.1.10TypeScript support: included

Scripts that autolink Expo modules.

expo, expo-module, autolinking, unimodules

readme

Expo logo

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X   Expo on GitHub   Expo on Reddit   Expo on Bluesky   Expo on LinkedIn

Introduction

Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript.

This repository includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools. Expo Application Services (EAS) is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read the Expo Community Guidelines before interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

  • packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-go This is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace. When developing iOS, always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • docs The source code for https://docs.expo.dev
  • templates The template projects you get when you run npx create-expo-app
  • react-native-lab This is our fork of react-native used to build Expo Go.
  • guides In-depth tutorials for advanced topics like contributing to the client.
  • tools contain build and configuration tools.
  • template-files contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
  • template-files/ios/dependencies.json specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the Expo Go app!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

👏 Contributing

If you like Expo and want to help make it better then check out our contributing guide! Check out the CLI package to work on the Expo CLI.

❓ FAQ

If you have questions about Expo and want answers, then check out our Frequently Asked Questions!

If you still have questions you can ask them on our Discord and Forums or X @expo.

💙 The Team

Curious about who makes Expo? Here are our team members!

License

The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.

Star the Expo repo on GitHub to support the project

changelog

Changelog

Unpublished

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

💡 Others

2.1.10 — 2025-05-06

🐛 Bug fixes

  • [Android] Fixed project properties were not being resolved correctly. (#36666 by @lukmccall)

2.1.9 — 2025-04-30

This version does not introduce any user-facing changes.

2.1.8 — 2025-04-28

🐛 Bug fixes

  • Fixed react-native-config linked result order. (#36442 by @kudo)

2.1.7 — 2025-04-25

This version does not introduce any user-facing changes.

2.1.6 — 2025-04-23

This version does not introduce any user-facing changes.

2.1.5 — 2025-04-21

🎉 New features

  • Removed restriction preventing local expo modules from being excluded from autolinking. (#36117 by @wuguishifu)

🐛 Bug fixes

  • Fixed Android building error on Windows. (#36179 by @kudo)

2.1.4 — 2025-04-14

This version does not introduce any user-facing changes.

2.1.3 — 2025-04-11

🎉 New features

  • [Android] Support android.enableEdgeToEdge field in app config. (#35958 by @behenate)

2.1.2 — 2025-04-09

This version does not introduce any user-facing changes.

2.1.1 — 2025-04-08

🐛 Bug fixes

2.1.0 — 2025-04-04

🛠 Breaking changes

  • Refactored how declaring multiple Android projects works. (#35138 by @lukmccall)

🎉 New features

💡 Others

2.0.8 - 2025-02-19

This version does not introduce any user-facing changes.

2.0.7 - 2025-01-20

This version does not introduce any user-facing changes.

2.0.6 - 2025-01-19

🐛 Bug fixes

  • Added Android BaseReactPackage for autolinking. (#33773 by @vonovak)
  • Resolve reactNativePath to its realpath to prevent incorrect relative paths from being generated for isolated dependencies. (#34203 by @kitten)

2.0.5 - 2025-01-10

This version does not introduce any user-facing changes.

2.0.4 - 2024-12-10

🐛 Bug fixes

  • Fix incorrect __dirname in react-native-config.(js|ts) (#33532 by @satya164)

💡 Others

  • Added library android.sourceDir support for react-native-config. (#33473 by @kudo)

2.0.3 - 2024-12-02

This version does not introduce any user-facing changes.

2.0.2 — 2024-11-13

🐛 Bug fixes

2.0.1 — 2024-11-13

💡 Others

  • Added local project dependencies support to react-native-config autolinking. (#32821 by @kudo)

2.0.0 — 2024-11-11

This version does not introduce any user-facing changes.

2.0.0-preview.3 — 2024-11-04

🐛 Bug fixes

2.0.0-preview.2 — 2024-10-28

🐛 Bug fixes

  • Fixed react-native core autolinking for react-native-unistyles on Android. (#32375 by @kudo)

2.0.0-preview.1 — 2024-10-25

🐛 Bug fixes

  • Fixed build error from gradleAarProjects. (#32349 by @kudo)

2.0.0-preview.0 — 2024-10-22

🛠 Breaking changes

  • Removed the deprecated generate-package-list command for Apple platforms. (#31518 by @kudo)

🎉 New features

  • Added AAR files autolinking as Gradle projects. (#30706 by @kudo)
  • Add support for react-native 0.76 (#31593 by @gabrieldonadel)
  • Added Apple code sign entitlements to generated ExpoModulesProvider.swift. (#31518 by @kudo)
  • Added searchPaths support to the react-native-config. (#32153 by @kudo)

🐛 Bug fixes

  • [Android] Fixed autolinking of Maven AWS S3 repository. (#30204 by @ElielC)
  • [Android] Fixed autolinking when using Gradle Kotlin script. (#30448 by @amrfarid140)
  • Fixed core autolinking for react-native-maps. (#31190 by @kudo)
  • Fixed broken searchPaths from package.json. (#31196 by @kudo)
  • Fixed react-native-config error when running on CNG projects without Android native files. (#31637 by @kudo)
  • Fixed react-native-config can't resolve version of the @react-native-community/cli-platform-android. (#32205 by @lukmccall)

💡 Others

  • Removed expo_patch_react_imports! and align more stardard react-native project layout. (#31699 by @kudo)
  • Exported a new findProjectRootSync API. (#31966 by @kudo)

1.11.2 - 2024-08-14

🎉 New features

  • Added react-native-config command to support core autolinking for react-native. (#29818 by @kudo)

🐛 Bug fixes

  • Added missing project.android.packageName in react-native-config for Android core autolinking. (#30913 by @kudo)

1.11.1 — 2024-04-23

This version does not introduce any user-facing changes.

1.11.0 — 2024-04-18

🎉 New features

  • Expand Android auto-linking to support new expo-build-properties (#26895 by @bpeltonc)

🐛 Bug fixes

  • Support custom debug build configuration for debugOnly pods (expo-dev-client for example) (#28085 by @Titozzz)

💡 Others

  • Read extraPods from Podfile.properties.json and extraMavenRepos from gradle.properties. (#28106 by @kudo)

1.10.3 - 2024-02-06

🐛 Bug fixes

  • Fixed generating a list of app delegate subscribers. (#26851 by @tsapeta)

1.10.2 - 2024-01-18

🐛 Bug fixes

  • Fixed a list of packages to include in the generated modules provider for tvOS and macOS platforms. (#26497 by @tsapeta)

1.10.1 - 2024-01-18

🎉 New features

  • Introduced a universal "apple" platform as a replacement for "ios", "macos" and "tvos". (#26398 by @tsapeta)

1.10.0 - 2024-01-10

🎉 New features

1.9.0 — 2023-12-12

🐛 Bug fixes

  • [iOS] Resolve expo-modules-autolinking from expo in the generated project integrator. (#25817 by @byCedric)

1.8.0 — 2023-11-14

🎉 New features

  • Added Expo CLI devtools plugins support. (#24649 by @kudo)

1.7.0 — 2023-10-17

💡 Others

1.6.0 — 2023-09-15

🐛 Bug fixes

  • Maintain hierarchical order when linking isolated modules (#24351 by @byCedric)

💡 Others

  • [iOS] Disable packager and bundle JS when EX_UPDATES_NATIVE_DEBUG set. (#24366 by @douglowder)

1.5.2 — 2023-09-04

🐛 Bug fixes

💡 Others

  • [Android] Made generateExpoModulesPackageList task cacheable. (#23847 by @lukmccall)

1.5.1 - 2023-08-22

🐛 Bug fixes

  • Fixed expo_patch_react_imports! missing some lines with spaces before or after the imports. (#23923 by @liamjones)

1.5.0 — 2023-06-21

🎉 New features

  • Added support for React Native 0.72. (#22588 by @kudo)
  • Added extra CocoaPods dependencies and Maven repositories from expo-build-properties. (#22785 by @kudo)

1.4.0 — 2023-06-13

🎉 New features

  • Added support for React Native 0.72. (#22588 by @kudo)

1.3.0 — 2023-05-08

🎉 New features

  • Generating ExpoModulesProvider.swift in the build phase script instead of only pod install. (#21108 by @tsapeta)

1.2.0 - 2023-04-13

🎉 New features

  • Added Gradle plugin autolinking support for Android. (#21377 by @kudo)

1.1.2 — 2023-02-14

💡 Others

  • Suppress node warnings about deprecated exports mapping in 3rd-party dependencies. (#21222 by @tsapeta)

1.1.1 — 2023-02-09

This version does not introduce any user-facing changes.

1.1.0 — 2023-02-03

This version does not introduce any user-facing changes.

1.0.2 — 2023-01-10

🐛 Bug fixes

1.0.1 — 2022-12-30

🐛 Bug fixes

1.0.0 — 2022-11-03

This version does not introduce any user-facing changes.

0.12.0 — 2022-10-25

🎉 New features

  • Automatically use modular headers for pod dependencies when the package has Swift modules to link. (#19443 by @tsapeta)

💡 Others

  • Bump @tsconfig/node to match other Expo Modules packages development setup. (#19671 by @Simek)

0.11.0 — 2022-10-06

🎉 New features

  • Added includeTests option to use_expo_modules! to include test specs from autolinked modules. (#18496 by @tsapeta)

🐛 Bug fixes

  • Fixed node executable resolution errors on iOS when pod install is executed from package.json scripts. (#18580 by @kudo)

0.10.1 — 2022-07-25

🎉 New features

  • Added a feature to automatically generate .xcode.env.local with correct $NODE_BINARY path when running pod install. (#18330 by @kudo)

0.10.0 — 2022-07-07

🐛 Bug fixes

  • Added support for React Native 0.69.x (#17629 by @kudo)
  • Use regex to match ignored modules in expo_patch_react_imports! and fix iOS build errors when the project is inside react-native named folder. (#17968 by @dmnkgrc)

0.9.0 — 2022-06-23

🎉 New features

  • The searchPaths and nativeModulesDir options now support direct paths to specific module directories. (#17922 by @barthap)

0.8.1 — 2022-05-12

🐛 Bug fixes

  • Fixed an infinite loop when the package.json is placed at the root path. (#17440 by @tsapeta)

0.8.0 — 2022-05-06

🎉 New features

  • Add ios.debugOnly to module config. (#17331 by @lukmccall)
  • Setting EXPO_CONFIGURATION_DEBUG or EXPO_CONFIGURATION_RELEASE Swift flags on project targets. (#17378 by @tsapeta)

🐛 Bug fixes

  • Fix debug-only modules weren't installed if the DEBUG flag wasn't present in OTHER_SWIFT_FLAGS. (#17383 by @lukmccall)
  • Fix iOS build if project config name is other than RELEASE or DEBUG (#17439 by @uloco)

💡 Others

0.7.0 — 2022-04-18

  • Update require logic to find transitive deps that would not be hoisted at the top of the monorepo (#16419 by @Titozzz)
  • Fix cannot cast object 'ExpoAutolinkingManager@' with class 'ExpoAutolinkingManager' to class 'ExpoAutolinkingManager' on Android when a project is using buildSrc. (#16545 by @lukmccall)

🎉 New features

  • Add ios.swiftModuleName to module config. (#16260 by @esamelson)
  • Added support for linking multiple podspecs and Gradle projects in a package. (#16511 by @kudo)

🐛 Bug fixes

  • Fixed expo_patch_react_imports! not work when the app project is in a folder with spaces. (#16794 by @Kudo)

0.6.0 — 2022-01-26

⚠️ Notices

  • Expose findModulesAsync from expo-modules-autolinking/build/autolinking again. (#15950 by @EvanBacon)
  • Deprecated modulesClassNames in favor of modules in the Expo module config. (#15852 by @tsapeta)

0.5.5 — 2022-01-05

🐛 Bug fixes

  • Fix umbrella directory '../../Public/React-Core/React' not found build error when in use_frameworks! mode. (#15773 by @kudo)

0.5.4 — 2021-12-29

🐛 Bug fixes

  • Add expo_patch_react_imports! support for React-Native 0.66. (#15724 by @kudo)

0.5.3 — 2021-12-28

🐛 Bug fixes

  • Fix expo_patch_react_imports! error when there are pods with absolute path. (#15699 by @kudo)

0.5.2 — 2021-12-22

🐛 Bug fixes

  • Introduce expo_patch_react_imports! to transform double-quoted React imports into angle-brackets in order to fix third-party libraries incompatibility with SDK 44. (#15655 by @kudo)

0.5.1 — 2021-12-15

This version does not introduce any user-facing changes.

0.5.0 — 2021-12-03

🎉 New features

  • Patch React podspecs on the fly to support Swift integration. (#15299 by @kudo)
  • Add nativeModulesDir option to specify app's custom native modules location. (#15415 by @barthap)

0.4.0 — 2021-11-17

🎉 New features

  • Added "silent" property for silencing resolution warnings. (#14891 by @EvanBacon)
  • Listing module's app delegate subscribers in the generated ExpoModulesProvider.swift. (#14867 by @tsapeta)
  • Search for Android package in the entire source code other than just src directory. (#14883 by @kudo)
  • Introduce React Native bridge delegate handlers on iOS. (#15138 by @kudo)

🐛 Bug fixes

  • Fix Gradle error when running Gradle from outside of the project directory. (#15109 by @kudo)

0.3.3 — 2021-10-21

🐛 Bug fixes

  • Resolved race condition when generating ExpoModulesProvider.swift. (#14822 by @awinograd)