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

Package detail

expo-module-scripts

expo182.1kMIT4.0.4TypeScript support: included

A private package for various tasks for Expo module packages like compiling and testing

babel-preset, jest-preset, expo

readme

expo sdk

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 LinkedIn   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

4.0.4 — 2025-02-14

This version does not introduce any user-facing changes.

4.0.3 — 2025-01-10

This version does not introduce any user-facing changes.

4.0.2 — 2024-11-11

This version does not introduce any user-facing changes.

4.0.1 — 2024-11-11

This version does not introduce any user-facing changes.

4.0.0 — 2024-10-22

🎉 New features

  • Add DOM.Iterable to TypeScript libs to support FormData. (#31117 by @EvanBacon)
  • Add support for passing platform and isServer to the Babel caller to support process.env.EXPO_OS and other standard Expo CLI transforms in Jest. (#29429 by @EvanBacon)

🐛 Bug fixes

💡 Others

3.5.2 - 2024-05-29

🎉 New features

  • Add support for building scripts directory (similar to cli, utils, and plugins). (#29099 by @brentvatne)

3.5.1 — 2024-04-23

This version does not introduce any user-facing changes.

3.5.0 — 2024-04-18

🎉 New features

  • Add support for package cli and utils subpackages (like plugins). (#27083 by @wschurman)

🐛 Bug fixes

  • Use appropriate version of tsc when executing expo-module build in monorepos with multiple typescript versions installed (#27779 by @peter.jozsa

💡 Others

  • Target Node 18 in the Babel CLI preset. (#26847 by @simek)
  • Update Babel dependencies to the latest version from 7.23 releases. (#26525 by @simek)

3.4.1 - 2024-02-01

🐛 Bug fixes

3.4.0 — 2023-12-12

🎉 New features

  • Add Node-specific Babel and Jest configurations. (#25458 by @byCedric)
  • Add Node override in ESLint config for root configuration files. (#25767 by @byCedric)

3.3.0 — 2023-11-14

🐛 Bug fixes

  • Remove watchPlugins from sub-projects when using multi-project runner. (#25302 by @EvanBacon)
  • Default to using jest-preset-plugin when running yarn test plugin with no plugin/jest.config.js file. (#25302 by @EvanBacon)

3.2.0 — 2023-10-17

🎉 New features

  • Preserve JSX in production exports to support jsx/createElement interception. (#24889 by @EvanBacon)

💡 Others

3.1.1 — 2023-09-18

This version does not introduce any user-facing changes.

3.1.0 — 2023-08-02

This version does not introduce any user-facing changes.

3.0.12 — 2023-07-26

This version does not introduce any user-facing changes.

3.0.10 — 2023-06-22

This version does not introduce any user-facing changes.

3.0.9 — 2023-06-02

🐛 Bug fixes

  • Fixed npx script failing when yarn is not installed. (#22582 by @tsapeta)

3.0.8 — 2023-05-08

This version does not introduce any user-facing changes.

3.0.7 — 2023-02-09

This version does not introduce any user-facing changes.

3.0.6 — 2023-02-03

📚 3rd party library updates

3.0.5 — 2022-12-30

This version does not introduce any user-facing changes.

3.0.3 — 2022-11-02

This version does not introduce any user-facing changes.

3.0.2 — 2022-10-30

💡 Others

  • Remove Enzyme plugin - it does not work with React 18. Not considered a breaking change because the Enzyme plugin has never worked with React 18 and so is already broken. (#19777 by @brentvatne)

3.0.1 — 2022-10-28

This version does not introduce any user-facing changes.

3.0.0 — 2022-10-25

🛠 Breaking changes

  • [plugin] Upgrade minimum runtime requirement to Node 14 (LTS). (#18204 by @EvanBacon)

💡 Others

  • Use the correct TSConfig package in dependencies to match one referred in tsconfig.plugin.json. (#19670 by @Simek)

2.1.1 - 2022-08-22

🐛 Bug fixes

  • Fixed with-node.sh doesn't keep quotes when passing arguments to Node.js and caused build errors when there are spaces in target name. (#18741 by @kudo)

2.1.0 — 2022-08-04

🎉 New features

  • Add templates/scripts/source-login-scripts.sh vendoring tool for node binary resolution in Xcode build phases scripts. (#15336 by @kudo)

🐛 Bug fixes

  • Fixed source-login-scripts.sh error when extendedglob is enabled in zsh config. (#17024 by @kudo)
  • Fixed expo-module prepare error if target packages contain temporary kotlin build files. (#17023 by @kudo)
  • Improved support of nvm sourcing in iOS shell scripts. (#17109 by @liamronancb)
  • Fixed source-login-scripts.sh ~/zlogin typo. (#17622 by @vrgimael)
  • Deprecated the unreliable source-login-scripts.sh and sourcing the Node.js binary path from .xcode.env and .xcode.env.local. (#18330 by @kudo)

💡 Others

  • Updated @testing-library/react-hooks to version 7.0.1. (#14552) by @Simek)