MCPcopy Index your code
hub / github.com/expo/expo

github.com/expo/expo @main sqlite

repository ↗ · DeepWiki ↗
25,442 symbols 92,707 edges 7,628 files 1,797 documented · 7% 146 cross-repo links
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

Extension points exported contracts — how you extend this code

InternalModule (Interface)
Interface for "Expo" modules -- modules available over ModuleRegistry, implementing some external-package interf [10 implementers]
packages/expo-modules-core/android/src/main/java/expo/modules/core/interfaces/InternalModule.java
Item (Interface)
Marker interface for Items. @param represented Java type @see <a href= "https://greenbytes.de/tech/ [7 implementers]
packages/expo-structured-headers/android/src/main/java/expo/modules/structuredheaders/Item.java
Renderer (Interface)
(no doc) [70 implementers]
tools/src/Markdown.ts
NavigationRefActionListenerHandle (Interface)
(no doc) [22 implementers]
packages/expo-observe/src/integrations/react-navigation/actionListener.ts
MetadataWorker (Interface)
(no doc) [6 implementers]
packages/@expo/metro-file-map/src/types.ts
DoctorCheck (Interface)
(no doc) [51 implementers]
packages/expo-doctor/src/checks/checks.types.ts
Client (Interface)
(no doc) [6 implementers]
packages/expo-updates/utils/src/vcs.ts
Item (Interface)
(no doc) [7 implementers]
apps/native-component-list/src/screens/GestureHandlerSwipeableScreen.tsx

Core symbols most depended-on inside this repo

r
called by 5628
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js
join
called by 3790
packages/expo-file-system/src/pathUtilities/index.ts
push
called by 2573
packages/expo/src/winter/TextDecoder.ts
map
called by 2509
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js
e
called by 2271
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js
t
called by 1982
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js
i
called by 1739
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js
log
called by 1575
packages/expo-task-manager/src/ts-declarations/console.d.ts

Shape

Function 16,534
Method 5,591
Class 1,684
Interface 1,454
Enum 179

Languages

TypeScript93%
Java7%

Modules by API surface

packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/entry-6b462075328bf796a095088ecb34b129.js1,378 symbols
packages/expo-sqlite/dev-plugin-dist/_expo/static/js/web/worker-aaddcc908d9758af99bee8e068c81a7f.js322 symbols
packages/expo-sqlite/web/wa-sqlite/wa-sqlite.js302 symbols
packages/expo/virtual/streams.js207 symbols
apps/test-suite/tests/JSPrivateProperties.js118 symbols
packages/expo-ui/src/swift-ui/modifiers/index.ts117 symbols
packages/expo-file-system/mocks/FileSystem.ts108 symbols
packages/expo-sqlite/web/wa-sqlite/types/index.d.ts103 symbols
apps/expo-go/modules/react-native-webview/android/src/newarch/com/reactnativecommunity/webview/RNCWebViewManager.java99 symbols
apps/test-suite/tests/JSPrivateMethods.js96 symbols
packages/expo-type-information/src/typescriptGeneration.ts80 symbols
packages/@expo/metro-file-map/src/types.ts79 symbols

Dependencies from manifests, versioned

@apidevtools/json-schema-ref-parser11.9.3 · 1×
@babel/cli7.20.0 · 1×
@babel/code-frame7.20.0 · 1×
@babel/core7.26.0 · 1×
@babel/generator7.20.5 · 1×
@babel/helper-module-imports7.25.9 · 1×
@babel/plugin-proposal-decorators7.12.9 · 1×
@babel/plugin-proposal-export-default-from7.24.7 · 1×
@babel/plugin-syntax-dynamic-import7.8.3 · 1×
@babel/plugin-syntax-export-default-from7.24.7 · 1×
@babel/plugin-syntax-nullish-coalescing-operator7.8.3 · 1×
@babel/plugin-syntax-optional-chaining7.8.3 · 1×

For agents

$ claude mcp add expo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact