History log of /expo/packages/@expo/ (Results 1 – 25 of 553)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
8e07b09525-Sep-2023 Mark Lawlor <[email protected]>

feat(metro-config): Enable isCSSEnabled by default (#24489)

# Why

ENG-9887

# How

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<!--
Please describe h

feat(metro-config): Enable isCSSEnabled by default (#24489)

# Why

ENG-9887

# How

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>

show more ...

1c8e3ea025-Sep-2023 Mark Lawlor <[email protected]>

feat(cli): Enable tsconfigPaths by default (#24490)

# Why

ENG-9888

# How

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<!--
Please describe how you t

feat(cli): Enable tsconfigPaths by default (#24490)

# Why

ENG-9888

# How

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>

show more ...

6fbb1ad125-Sep-2023 Brent Vatne <[email protected]>

[changelog] Sync from sdk-49


/expo/.github/CODEOWNERS
/expo/.github/workflows/issue-stale.yml
/expo/android/expoview/src/main/java/host/exp/exponent/experience/DetachedModuleRegistryAdapter.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/HomeActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/utils/ScopedPermissionsRequester.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/ExperiencePackagePicker.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/ExpoModuleRegistryAdapter.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedExpoNotificationCategoriesModule.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedExpoNotificationPresentationModule.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedNotificationScheduler.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedNotificationsEmitter.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedNotificationsHandler.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedServerRegistrationModule.kt
/expo/android/expoview/src/main/res/values/strings.xml
/expo/apps/bare-expo/ios/BareExpo/Info.plist
/expo/apps/native-component-list/package.json
/expo/apps/native-component-list/src/navigation/ExpoApisStackNavigator.tsx
/expo/apps/test-suite/TestModules.js
/expo/apps/test-suite/package.json
/expo/apps/test-suite/tests/Application.js
/expo/docs/common/error-utilities.ts
/expo/docs/components/plugins/EasJsonPropertiesTable.tsx
/expo/docs/constants/navigation.js
/expo/docs/deploy.sh
/expo/docs/pages/archive/managed-vs-bare.mdx
/expo/docs/pages/build-reference/local-builds.mdx
/expo/docs/pages/build/eas-json.mdx
/expo/docs/pages/debugging/tools.mdx
/expo/docs/pages/eas/json.mdx
/expo/docs/pages/index.tsx
/expo/docs/pages/submit/eas-json.mdx
/expo/docs/pages/workflow/android-studio-emulator.mdx
/expo/docs/public/static/data/unversioned/expo-application.json
/expo/docs/public/static/data/v48.0.0/expo-application.json
/expo/docs/ui/components/Home/resources/index.tsx
/expo/home/package.json
/expo/home/screens/DiagnosticsScreen/GeofencingDiagnosticsScreen.tsx
/expo/home/screens/DiagnosticsScreen/LocationDiagnosticsScreen.tsx
/expo/home/utils/PermissionUtils.ts
/expo/ios/Podfile
/expo/ios/Podfile.lock
package-manager/CHANGELOG.md
/expo/packages/expo-application/CHANGELOG.md
/expo/packages/expo-application/android/src/main/java/expo/modules/application/ApplicationModule.kt
/expo/packages/expo-application/build/Application.d.ts
/expo/packages/expo-application/build/Application.d.ts.map
/expo/packages/expo-application/build/Application.js
/expo/packages/expo-application/build/Application.js.map
/expo/packages/expo-application/build/ExpoApplication.d.ts
/expo/packages/expo-application/build/ExpoApplication.d.ts.map
/expo/packages/expo-application/build/ExpoApplication.js
/expo/packages/expo-application/build/ExpoApplication.js.map
/expo/packages/expo-application/expo-module.config.json
/expo/packages/expo-application/src/Application.ts
/expo/packages/expo-application/src/ExpoApplication.ts
/expo/packages/expo-asset/CHANGELOG.md
/expo/packages/expo-asset/tools/hashAssetFiles.js
/expo/packages/expo-calendar/CHANGELOG.md
/expo/packages/expo-calendar/ios/EXCalendar/EXCalendar.m
/expo/packages/expo-calendar/ios/EXCalendar/EXCalendarPermissionRequester.m
/expo/packages/expo-calendar/ios/EXCalendar/EXRemindersPermissionRequester.m
/expo/packages/expo-calendar/plugin/build/withCalendar.js
/expo/packages/expo-calendar/plugin/src/withCalendar.ts
/expo/packages/expo-dev-client/CHANGELOG.md
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/ios/EXDevLauncherController.m
/expo/packages/expo-dev-launcher/ios/ReactDelegateHandler/ExpoDevLauncherAppDelegateSubscriber.swift
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/ModuleRegistry.kt
/expo/packages/expo-notifications/CHANGELOG.md
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/Exceptions.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/NotificationsPackage.java
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/Utils.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/badge/BadgeModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/background/ExpoBackgroundNotificationTasksModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/categories/ExpoNotificationCategoriesModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelGroupManagerModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelManagerModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/emitting/NotificationsEmitter.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/handling/NotificationsHandler.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/scheduling/NotificationScheduler.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/serverregistration/ServerRegistrationModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/service/NotificationsService.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/tokens/PushTokenModule.kt
/expo/packages/expo-notifications/expo-module.config.json
/expo/packages/expo-splash-screen/CHANGELOG.md
/expo/packages/expo-splash-screen/android/src/main/java/expo/modules/splashscreen/SplashScreenView.kt
/expo/packages/expo-updates/build/Updates.js
/expo/packages/expo-updates/build/Updates.js.map
/expo/packages/expo-updates/src/Updates.ts
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/bundledNativeModules.json
/expo/templates/expo-template-bare-minimum/android/app/build.gradle
/expo/templates/expo-template-bare-minimum/android/build.gradle
/expo/templates/expo-template-bare-minimum/android/settings.gradle
a2441f5f21-Sep-2023 Mark Lawlor <[email protected]>

feat: separate Expo Web & Metro types from router (#24255)

# Why

[ENG-9978
](https://linear.app/expo/issue/ENG-9978/split-the-typed-environment-feature-out-of-typed-routes)

Expo Router includ

feat: separate Expo Web & Metro types from router (#24255)

# Why

[ENG-9978
](https://linear.app/expo/issue/ENG-9978/split-the-typed-environment-feature-out-of-typed-routes)

Expo Router included TypeScript definitions for Expo Web and Metro. I'm
not 100% sure the best place to move these types too, so I'm open to
suggestions.

`expo` for Expo Web, as there is no Expo Web package and these are
global environment types.
`@expo/metro-config`. Its a bit weird putting these types in the config
package, but this is also where a lot of the related code is.

# How

<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...

34a1b52d21-Sep-2023 Mark Lawlor <[email protected]>

fix(router): correctly clone hoisted groups (#24218)

# Motivation

Fixes: https://github.com/expo/router/issues/805

Hoisted routes inside array groups were not being correctly cloned. The
matc

fix(router): correctly clone hoisted groups (#24218)

# Motivation

Fixes: https://github.com/expo/router/issues/805

Hoisted routes inside array groups were not being correctly cloned. The
matcher was not detecting the hoisted route and the cloning logic
assumed one set of groups, but a hoisted route may have many.

# Execution

* Updated `matchGroupName` regex to allow for leading/trailing folder
names.
* Updated `fileNodeToRouteNode` logic to extrapolate multiple array
groups

# Test Plan

Modified the example in https://github.com/expo/router/issues/805 to
include a set of nested groups as well.

File tree is

```
events/_layout // <Slot />
events/(manage,preview)/_layout // <Slot />
events/(manage,preview)/[eventId]
events/(manage,preview)/(a,b)/_layout // <Slot />
events/(manage,preview)/(a,b)/test
```

Current (2.0.4) Sitemap:

![localhost_8081__sitemap
(1)](https://github.com/expo/router/assets/3946701/e32d867f-055f-40f5-a25f-94113e39c40b)

After:


![localhost_8081__sitemap](https://github.com/expo/router/assets/3946701/2ed2c4ce-f63d-4df0-aca1-97443c4a329e)

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


/expo/.github/workflows/pr-labeler.yml
/expo/android/app/src/main/res/layout/error_fragment.xml
/expo/android/expoview/src/main/java/host/exp/exponent/exceptions/ExceptionUtils.kt
/expo/android/expoview/src/main/java/host/exp/exponent/exceptions/ManifestException.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/BaseExperienceActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/ErrorActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/ErrorFragment.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/ExponentError.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/ExponentErrorMessage.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/Kernel.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/ExperiencePackagePicker.kt
/expo/apps/bare-expo/ios/Podfile.lock
/expo/docs/pages/get-started/expo-go.mdx
/expo/ios/Exponent/Kernel/AppLoader/CachedResource/EXManifestResource.h
/expo/ios/Exponent/Kernel/AppLoader/CachedResource/EXManifestResource.m
/expo/ios/Exponent/Kernel/Views/EXErrorView.m
/expo/ios/Exponent/Kernel/Views/EXErrorView.xib
/expo/ios/Podfile.lock
cli/CHANGELOG.md
cli/src/export/__tests__/exportStaticAsync.test.ts
cli/src/export/exportStaticAsync.ts
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/plugin/build/withDevLauncher.d.ts
/expo/packages/expo-dev-launcher/plugin/build/withDevLauncher.js
/expo/packages/expo-dev-launcher/plugin/jest.config.js
/expo/packages/expo-dev-launcher/plugin/src/withDevLauncher.ts
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/plugin/build/withDevMenu.d.ts
/expo/packages/expo-dev-menu/plugin/build/withDevMenu.js
/expo/packages/expo-dev-menu/plugin/jest.config.js
/expo/packages/expo-dev-menu/plugin/src/withDevMenu.ts
/expo/packages/expo-image/CHANGELOG.md
/expo/packages/expo-image/build/ExpoImage.web.d.ts
/expo/packages/expo-image/build/ExpoImage.web.d.ts.map
/expo/packages/expo-image/build/ExpoImage.web.js
/expo/packages/expo-image/build/ExpoImage.web.js.map
/expo/packages/expo-image/build/Image.types.d.ts
/expo/packages/expo-image/build/Image.types.d.ts.map
/expo/packages/expo-image/build/Image.types.js.map
/expo/packages/expo-image/build/utils/blurhash/useBlurhash.d.ts
/expo/packages/expo-image/build/utils/blurhash/useBlurhash.d.ts.map
/expo/packages/expo-image/build/utils/blurhash/useBlurhash.js
/expo/packages/expo-image/build/utils/blurhash/useBlurhash.js.map
/expo/packages/expo-image/build/web/ImageWrapper.d.ts.map
/expo/packages/expo-image/build/web/ImageWrapper.js
/expo/packages/expo-image/build/web/ImageWrapper.js.map
/expo/packages/expo-image/build/web/ImageWrapper.types.d.ts
/expo/packages/expo-image/build/web/ImageWrapper.types.d.ts.map
/expo/packages/expo-image/build/web/ImageWrapper.types.js.map
/expo/packages/expo-image/build/web/hooks.d.ts
/expo/packages/expo-image/build/web/hooks.d.ts.map
/expo/packages/expo-image/build/web/hooks.js
/expo/packages/expo-image/build/web/hooks.js.map
/expo/packages/expo-image/src/ExpoImage.web.tsx
/expo/packages/expo-image/src/Image.types.ts
/expo/packages/expo-image/src/utils/blurhash/useBlurhash.tsx
/expo/packages/expo-image/src/web/ImageWrapper.tsx
/expo/packages/expo-image/src/web/ImageWrapper.types.ts
/expo/packages/expo-image/src/web/hooks.ts
/expo/packages/expo-modules-core/android/src/main/cpp/JSIInteropModuleRegistry.cpp
/expo/packages/expo-modules-core/android/src/main/cpp/JavaScriptRuntime.cpp
/expo/packages/expo-modules-core/android/src/main/cpp/JavaScriptRuntime.h
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/build/getRoutes.d.ts.map
/expo/packages/expo-router/build/getRoutes.js
/expo/packages/expo-router/build/getRoutes.js.map
/expo/packages/expo-router/build/matchers.js
/expo/packages/expo-router/build/matchers.js.map
/expo/packages/expo-router/src/__tests__/loadStaticParamsAsync.test.node.ts
/expo/packages/expo-router/src/__tests__/matchers.test.node.ts
/expo/packages/expo-router/src/__tests__/navigation.test.tsx
/expo/packages/expo-router/src/getRoutes.ts
/expo/packages/expo-router/src/matchers.tsx
1a3a1db520-Sep-2023 Evan Bacon <[email protected]>

Update tsconfigs to node 18 (current LTS) (#24471)

# Why

Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.

<!--
Please describe the motivation for this PR,

Update tsconfigs to node 18 (current LTS) (#24471)

# Why

Expo supports Node.js LTS, this is currently Node 18. This PR updates
from 14 to 18.

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


cli/CHANGELOG.md
cli/bin/cli.ts
cli/package.json
cli/src/config/configAsync.ts
cli/src/config/index.ts
cli/src/customize/generate.ts
cli/src/customize/typescript.ts
cli/src/export/embed/index.ts
cli/src/export/index.ts
cli/src/export/web/index.ts
cli/src/install/installAsync.ts
cli/src/login/index.ts
cli/src/logout/index.ts
cli/src/prebuild/index.ts
cli/src/prebuild/prebuildAsync.ts
cli/src/register/index.ts
cli/src/run/android/index.ts
cli/src/run/ios/index.ts
cli/src/start/index.ts
cli/src/start/server/metro/MetroBundlerDevServer.ts
cli/src/utils/cocoapods.ts
cli/src/whoami/index.ts
fingerprint/CHANGELOG.md
fingerprint/build/utils/Path.js
fingerprint/build/utils/Path.js.map
metro-config/CHANGELOG.md
metro-config/build/transform-worker/css-modules.js
metro-config/build/transform-worker/css-modules.js.map
metro-config/build/transform-worker/postcss.js
metro-config/build/transform-worker/postcss.js.map
metro-config/build/transform-worker/transform-worker.js
metro-config/build/transform-worker/transform-worker.js.map
metro-config/src/transform-worker/css-modules.ts
metro-config/src/transform-worker/postcss.ts
metro-config/src/transform-worker/transform-worker.ts
package-manager/CHANGELOG.md
package-manager/build/ios/CocoaPodsPackageManager.js
package-manager/build/ios/CocoaPodsPackageManager.js.map
package-manager/build/node/BasePackageManager.js
package-manager/build/node/BasePackageManager.js.map
package-manager/build/node/BunPackageManager.js
package-manager/build/node/BunPackageManager.js.map
package-manager/build/node/NpmPackageManager.js
package-manager/build/node/NpmPackageManager.js.map
package-manager/build/node/PnpmPackageManager.js
package-manager/build/node/PnpmPackageManager.js.map
package-manager/build/node/YarnPackageManager.js
package-manager/build/node/YarnPackageManager.js.map
prebuild-config/CHANGELOG.md
prebuild-config/build/plugins/unversioned/expo-ads-admob/expo-ads-admob.d.ts
prebuild-config/build/plugins/unversioned/expo-branch/expo-branch.d.ts
prebuild-config/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.d.ts
prebuild-config/build/plugins/unversioned/expo-splash-screen/expo-splash-screen.d.ts
prebuild-config/build/plugins/unversioned/expo-system-ui/expo-system-ui.d.ts
server/CHANGELOG.md
server/build/environment.js
server/build/environment.js.map
/expo/packages/create-expo-module/package.json
/expo/packages/create-expo-module/tsconfig.json
/expo/packages/expo-module-scripts/CHANGELOG.md
/expo/packages/expo-module-scripts/package.json
/expo/packages/expo-modules-autolinking/CHANGELOG.md
/expo/packages/expo-modules-autolinking/build/ExpoModuleConfig.js
/expo/packages/expo-modules-autolinking/build/ExpoModuleConfig.js.map
/expo/packages/expo-modules-autolinking/package.json
/expo/packages/expo-modules-autolinking/tsconfig.json
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/build/global-state/routing.js
/expo/packages/expo-router/build/global-state/routing.js.map
/expo/packages/expo-router/src/__tests__/navigation.test.tsx
/expo/packages/expo-router/src/global-state/routing.ts
/expo/packages/expo-task-manager/CHANGELOG.md
/expo/packages/expo-test-runner/build/BundlerController.js
/expo/packages/expo-test-runner/build/BundlerController.js.map
/expo/packages/expo-test-runner/build/ConfigReader.js
/expo/packages/expo-test-runner/build/ConfigReader.js.map
/expo/packages/expo-test-runner/build/TemplateEvaluator.js
/expo/packages/expo-test-runner/build/TemplateEvaluator.js.map
/expo/packages/expo-test-runner/build/TemplateFile.js
/expo/packages/expo-test-runner/build/TemplateFile.js.map
/expo/packages/expo-test-runner/build/TemplateProject.js
/expo/packages/expo-test-runner/build/TemplateProject.js.map
/expo/packages/expo-test-runner/package.json
/expo/packages/expo-test-runner/tsconfig.json
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/cli/cli.ts
/expo/packages/expo-updates/cli/configureCodeSigning.ts
/expo/packages/expo-updates/cli/generateCodeSigning.ts
/expo/packages/expo-updates/tsconfig.cli.json
/expo/tsconfig.node.json
/expo/yarn.lock
d43fb2a320-Sep-2023 Evan Bacon <[email protected]>

feat(server): add Netlify adapter (#24510)

# Why

- Add adapter and guide for publishing Expo Router v3 websites/api
routes to Netlify.

---------

Co-authored-by: Expo Bot <34669131+expo-bot

feat(server): add Netlify adapter (#24510)

# Why

- Add adapter and guide for publishing Expo Router v3 websites/api
routes to Netlify.

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>

show more ...

cd4367ed20-Sep-2023 Evan Bacon <[email protected]>

feat(cli): Improve truncated Metro Node.js errors. (#24546)

# Why

Split errors by lines and measure to ensure we're only tested against
libraries with one really long line.

---------

Co-au

feat(cli): Improve truncated Metro Node.js errors. (#24546)

# Why

Split errors by lines and measure to ensure we're only tested against
libraries with one really long line.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...

e015d41c20-Sep-2023 Evan Bacon <[email protected]>

feat(cli): reduce static group routes (#24529)

# Why

- In server mode, we don't need to export every group variation because
the server can automatically delegate all matchable paths to the sing

feat(cli): reduce static group routes (#24529)

# Why

- In server mode, we don't need to export every group variation because
the server can automatically delegate all matchable paths to the single
group file.
- This change only exports one static HTML file for a given group route
when server mode is used in export, this can drastically reduce the
amount of output files.


# Test Plan

- Added an e2e test to ensure the path variation is served as expected.

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...


/expo/android/app/build.gradle
/expo/android/app/src/androidTest/java/host/exp/exponent/utils/DeviceUtils.kt
/expo/android/build.gradle
/expo/android/expoview/build.gradle
/expo/android/expoview/src/main/java/host/exp/exponent/LauncherActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/HomeActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/experience/ReactNativeActivity.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/Kernel.kt
/expo/android/expoview/src/main/java/host/exp/exponent/utils/ExperienceActivityUtils.kt
/expo/android/expoview/src/main/java/host/exp/exponent/utils/ScopedPermissionsRequester.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/VersionedUtils.kt
/expo/apps/bare-expo/android/build.gradle
/expo/apps/router-e2e/__e2e__/server/app/(alpha)/beta.tsx
cli/CHANGELOG.md
cli/e2e/__tests__/export/server.test.ts
cli/src/export/__tests__/exportStaticAsync.test.ts
cli/src/export/exportStaticAsync.ts
/expo/packages/expo-application/CHANGELOG.md
/expo/packages/expo-application/android/build.gradle
/expo/packages/expo-av/CHANGELOG.md
/expo/packages/expo-av/android/build.gradle
/expo/packages/expo-av/android/src/main/java/expo/modules/av/AVManager.java
/expo/packages/expo-av/android/src/main/java/expo/modules/av/player/MediaPlayerData.java
/expo/packages/expo-background-fetch/CHANGELOG.md
/expo/packages/expo-background-fetch/android/build.gradle
/expo/packages/expo-barcode-scanner/CHANGELOG.md
/expo/packages/expo-barcode-scanner/android/build.gradle
/expo/packages/expo-battery/CHANGELOG.md
/expo/packages/expo-battery/android/build.gradle
/expo/packages/expo-battery/android/src/main/java/expo/modules/battery/BatteryModule.kt
/expo/packages/expo-blur/CHANGELOG.md
/expo/packages/expo-blur/android/build.gradle
/expo/packages/expo-branch/CHANGELOG.md
/expo/packages/expo-branch/android/build.gradle
/expo/packages/expo-brightness/CHANGELOG.md
/expo/packages/expo-brightness/android/build.gradle
/expo/packages/expo-brightness/android/src/main/java/expo/modules/brightness/BrightnessModule.kt
/expo/packages/expo-calendar/CHANGELOG.md
/expo/packages/expo-calendar/android/build.gradle
/expo/packages/expo-camera/CHANGELOG.md
/expo/packages/expo-camera/android/build.gradle
/expo/packages/expo-cellular/CHANGELOG.md
/expo/packages/expo-cellular/android/build.gradle
/expo/packages/expo-clipboard/CHANGELOG.md
/expo/packages/expo-clipboard/android/build.gradle
/expo/packages/expo-clipboard/android/src/main/java/expo/modules/clipboard/ClipboardFileProvider.kt
/expo/packages/expo-constants/CHANGELOG.md
/expo/packages/expo-constants/android/build.gradle
/expo/packages/expo-contacts/CHANGELOG.md
/expo/packages/expo-contacts/android/build.gradle
/expo/packages/expo-crypto/CHANGELOG.md
/expo/packages/expo-crypto/android/build.gradle
/expo/packages/expo-dev-client/CHANGELOG.md
/expo/packages/expo-dev-client/android/build.gradle
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/android/build.gradle
/expo/packages/expo-dev-launcher/android/src/main/java/expo/modules/devlauncher/launcher/configurators/DevLauncherExpoActivityConfigurator.kt
/expo/packages/expo-dev-menu-interface/android/build.gradle
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/android/build.gradle
/expo/packages/expo-dev-menu/android/src/main/java/expo/modules/devmenu/devtools/DevMenuDevToolsDelegate.kt
/expo/packages/expo-device/CHANGELOG.md
/expo/packages/expo-device/android/build.gradle
/expo/packages/expo-device/android/src/main/java/expo/modules/device/DeviceModule.kt
/expo/packages/expo-document-picker/CHANGELOG.md
/expo/packages/expo-document-picker/android/build.gradle
/expo/packages/expo-eas-client/CHANGELOG.md
/expo/packages/expo-eas-client/android/build.gradle
/expo/packages/expo-face-detector/CHANGELOG.md
/expo/packages/expo-face-detector/android/build.gradle
/expo/packages/expo-file-system/CHANGELOG.md
/expo/packages/expo-file-system/android/build.gradle
/expo/packages/expo-font/CHANGELOG.md
/expo/packages/expo-font/android/build.gradle
/expo/packages/expo-gl/CHANGELOG.md
/expo/packages/expo-gl/android/build.gradle
/expo/packages/expo-haptics/CHANGELOG.md
/expo/packages/expo-haptics/android/build.gradle
/expo/packages/expo-image-loader/CHANGELOG.md
/expo/packages/expo-image-loader/android/build.gradle
/expo/packages/expo-image-manipulator/CHANGELOG.md
/expo/packages/expo-image-manipulator/android/build.gradle
/expo/packages/expo-image-picker/CHANGELOG.md
/expo/packages/expo-image-picker/android/build.gradle
/expo/packages/expo-image/CHANGELOG.md
/expo/packages/expo-image/android/build.gradle
/expo/packages/expo-in-app-purchases/CHANGELOG.md
/expo/packages/expo-in-app-purchases/android/build.gradle
/expo/packages/expo-insights/android/build.gradle
/expo/packages/expo-intent-launcher/CHANGELOG.md
/expo/packages/expo-intent-launcher/android/build.gradle
/expo/packages/expo-json-utils/CHANGELOG.md
/expo/packages/expo-json-utils/android/build.gradle
/expo/packages/expo-keep-awake/CHANGELOG.md
/expo/packages/expo-keep-awake/android/build.gradle
/expo/packages/expo-linear-gradient/CHANGELOG.md
/expo/packages/expo-linear-gradient/android/build.gradle
/expo/packages/expo-local-authentication/CHANGELOG.md
/expo/packages/expo-local-authentication/android/build.gradle
/expo/packages/expo-local-authentication/android/src/main/java/expo/modules/localauthentication/LocalAuthenticationModule.kt
/expo/packages/expo-localization/CHANGELOG.md
/expo/packages/expo-localization/android/build.gradle
/expo/packages/expo-location/CHANGELOG.md
/expo/packages/expo-location/android/build.gradle
/expo/packages/expo-mail-composer/CHANGELOG.md
/expo/packages/expo-mail-composer/android/build.gradle
/expo/packages/expo-manifests/CHANGELOG.md
/expo/packages/expo-manifests/android/build.gradle
/expo/packages/expo-maps/CHANGELOG.md
/expo/packages/expo-maps/android/build.gradle
/expo/packages/expo-media-library/CHANGELOG.md
/expo/packages/expo-media-library/android/build.gradle
/expo/packages/expo-modules-core/CHANGELOG.md
/expo/packages/expo-modules-core/android-annotation-processor/build.gradle
/expo/packages/expo-modules-core/android-annotation/build.gradle
/expo/packages/expo-modules-core/android/ExpoModulesCorePlugin.gradle
/expo/packages/expo-modules-core/android/build.gradle
/expo/packages/expo-modules-core/android/src/main/java/expo/modules/adapters/react/permissions/PermissionsService.kt
/expo/packages/expo-modules-test-core/android/build.gradle
/expo/packages/expo-navigation-bar/CHANGELOG.md
/expo/packages/expo-navigation-bar/android/build.gradle
/expo/packages/expo-navigation-bar/android/src/main/java/expo/modules/navigationbar/singletons/NavigationBar.kt
/expo/packages/expo-network-addons/android/build.gradle
/expo/packages/expo-network/CHANGELOG.md
/expo/packages/expo-network/android/build.gradle
/expo/packages/expo-notifications/CHANGELOG.md
/expo/packages/expo-notifications/android/build.gradle
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.java
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/ExpoPresentationDelegate.kt
/expo/packages/expo-permissions/CHANGELOG.md
/expo/packages/expo-permissions/android/build.gradle
/expo/packages/expo-print/CHANGELOG.md
/expo/packages/expo-print/android/build.gradle
/expo/packages/expo-random/CHANGELOG.md
/expo/packages/expo-random/android/build.gradle
/expo/packages/expo-screen-capture/CHANGELOG.md
/expo/packages/expo-screen-capture/android/build.gradle
/expo/packages/expo-screen-orientation/CHANGELOG.md
/expo/packages/expo-screen-orientation/android/build.gradle
/expo/packages/expo-secure-store/CHANGELOG.md
/expo/packages/expo-secure-store/android/build.gradle
/expo/packages/expo-secure-store/android/src/main/java/expo/modules/securestore/SecureStoreModule.kt
/expo/packages/expo-secure-store/android/src/main/java/expo/modules/securestore/encryptors/HybridAESEncryptor.kt
/expo/packages/expo-sensors/CHANGELOG.md
/expo/packages/expo-sensors/android/build.gradle
/expo/packages/expo-sharing/CHANGELOG.md
/expo/packages/expo-sharing/android/build.gradle
/expo/packages/expo-sms/CHANGELOG.md
/expo/packages/expo-sms/android/build.gradle
/expo/packages/expo-speech/CHANGELOG.md
/expo/packages/expo-speech/android/build.gradle
/expo/packages/expo-splash-screen/CHANGELOG.md
/expo/packages/expo-splash-screen/android/build.gradle
/expo/packages/expo-sqlite/CHANGELOG.md
/expo/packages/expo-sqlite/android/build.gradle
/expo/packages/expo-store-review/CHANGELOG.md
/expo/packages/expo-store-review/android/build.gradle
/expo/packages/expo-structured-headers/CHANGELOG.md
/expo/packages/expo-structured-headers/android/build.gradle
/expo/packages/expo-system-ui/CHANGELOG.md
/expo/packages/expo-system-ui/android/build.gradle
/expo/packages/expo-task-manager/CHANGELOG.md
/expo/packages/expo-task-manager/android/build.gradle
/expo/packages/expo-updates-interface/CHANGELOG.md
/expo/packages/expo-updates-interface/android/build.gradle
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/android/build.gradle
/expo/packages/expo-video-thumbnails/CHANGELOG.md
/expo/packages/expo-video-thumbnails/android/build.gradle
/expo/packages/expo-web-browser/CHANGELOG.md
/expo/packages/expo-web-browser/android/build.gradle
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/android/build.gradle
/expo/packages/unimodules-app-loader/CHANGELOG.md
/expo/packages/unimodules-app-loader/android/build.gradle
039366f020-Sep-2023 Kudo Chien <[email protected]>

Publish @expo/fingerprint

@expo/[email protected]


/expo/apps/bare-expo/ios/Podfile.lock
/expo/docs/.vale/writing-styles/expo-docs/HeadingCase.yml
/expo/docs/constants/navigation.js
/expo/docs/pages/accounts/account-types.mdx
/expo/docs/pages/accounts/programmatic-access.mdx
/expo/docs/pages/additional-resources/index.mdx
/expo/docs/pages/app-signing/app-credentials.mdx
/expo/docs/pages/app-signing/local-credentials.mdx
/expo/docs/pages/app-signing/managed-credentials.mdx
/expo/docs/pages/app-signing/security.mdx
/expo/docs/pages/archive/classic-updates/configuring-updates.mdx
/expo/docs/pages/archive/classic-updates/hosting-your-app.mdx
/expo/docs/pages/archive/classic-updates/preloading-and-caching-assets.mdx
/expo/docs/pages/archive/classic-updates/release-channels.mdx
/expo/docs/pages/archive/classic-updates/turtle-cli.mdx
/expo/docs/pages/archive/classic-updates/updating-your-app.mdx
/expo/docs/pages/archive/expo-cli.mdx
/expo/docs/pages/archive/notification-channels.mdx
/expo/docs/pages/archive/technical-specs/expo-updates-0.mdx
/expo/docs/pages/bare/error-recovery.mdx
/expo/docs/pages/bare/installing-updates.mdx
/expo/docs/pages/build-reference/android-builds.mdx
/expo/docs/pages/build-reference/apk.mdx
/expo/docs/pages/build-reference/app-versions.mdx
/expo/docs/pages/build-reference/caching.mdx
/expo/docs/pages/build-reference/e2e-tests.mdx
/expo/docs/pages/build-reference/infrastructure.mdx
/expo/docs/pages/build-reference/ios-builds.mdx
/expo/docs/pages/build-reference/ios-capabilities.mdx
/expo/docs/pages/build-reference/migrating.mdx
/expo/docs/pages/build-reference/troubleshooting.mdx
/expo/docs/pages/build/internal-distribution.mdx
/expo/docs/pages/config-plugins/development-and-debugging.mdx
/expo/docs/pages/config-plugins/plugins-and-mods.mdx
/expo/docs/pages/core-concepts.mdx
/expo/docs/pages/develop/development-builds/development-workflows.mdx
/expo/docs/pages/distribution/app-stores.mdx
/expo/docs/pages/distribution/publishing-websites.mdx
/expo/docs/pages/eas-update/code-signing.mdx
/expo/docs/pages/eas-update/introduction.mdx
/expo/docs/pages/eas/metadata/schema.mdx
/expo/docs/pages/feature-preview/index.mdx
/expo/docs/pages/get-started/expo-go.mdx
/expo/docs/pages/guides/adopting-prebuild.mdx
/expo/docs/pages/guides/authentication.mdx
/expo/docs/pages/guides/configuring-js-engines.mdx
/expo/docs/pages/guides/configuring-statusbar.mdx
/expo/docs/pages/guides/customizing-metro.mdx
/expo/docs/pages/guides/customizing-webpack.mdx
/expo/docs/pages/guides/deep-linking.mdx
/expo/docs/pages/guides/icons.mdx
/expo/docs/pages/guides/localization.mdx
/expo/docs/pages/guides/progressive-web-apps.mdx
/expo/docs/pages/guides/sharing-preview-releases.mdx
/expo/docs/pages/guides/troubleshooting-proxies.mdx
/expo/docs/pages/guides/using-eslint.mdx
/expo/docs/pages/guides/using-sentry.mdx
/expo/docs/pages/guides/web-performance.mdx
/expo/docs/pages/modules/android-lifecycle-listeners.mdx
/expo/docs/pages/modules/appdelegate-subscribers.mdx
/expo/docs/pages/modules/autolinking.mdx
/expo/docs/pages/modules/module-api.mdx
/expo/docs/pages/more/expo-cli.mdx
/expo/docs/pages/more/glossary-of-terms.mdx
/expo/docs/pages/preview/api-routes.mdx
/expo/docs/pages/push-notifications/sending-notifications.mdx
/expo/docs/pages/router/migrate/from-react-navigation.mdx
/expo/docs/pages/router/reference/faq.mdx
/expo/docs/pages/router/reference/search-parameters.mdx
/expo/docs/pages/router/reference/static-rendering.mdx
/expo/docs/pages/router/reference/testing.mdx
/expo/docs/pages/submit/ios.mdx
/expo/docs/pages/technical-specs/expo-updates-1.mdx
/expo/docs/pages/troubleshooting/application-has-not-been-registered.mdx
/expo/docs/pages/tutorial/build-a-screen.mdx
/expo/docs/pages/tutorial/follow-up.mdx
/expo/docs/pages/ui-programming/image-background.mdx
/expo/docs/pages/versions/unversioned/config/metro.mdx
/expo/docs/pages/versions/unversioned/sdk/apple-authentication.mdx
/expo/docs/pages/versions/unversioned/sdk/application.mdx
/expo/docs/pages/versions/unversioned/sdk/audio.mdx
/expo/docs/pages/versions/unversioned/sdk/auth-session.mdx
/expo/docs/pages/versions/unversioned/sdk/barometer.mdx
/expo/docs/pages/versions/unversioned/sdk/brightness.mdx
/expo/docs/pages/versions/unversioned/sdk/camera.mdx
/expo/docs/pages/versions/unversioned/sdk/cellular.mdx
/expo/docs/pages/versions/unversioned/sdk/crypto.mdx
/expo/docs/pages/versions/unversioned/sdk/device.mdx
/expo/docs/pages/versions/unversioned/sdk/facedetector.mdx
/expo/docs/pages/versions/unversioned/sdk/filesystem.mdx
/expo/docs/pages/versions/unversioned/sdk/font.mdx
/expo/docs/pages/versions/unversioned/sdk/gl-view.mdx
/expo/docs/pages/versions/unversioned/sdk/in-app-purchases.mdx
/expo/docs/pages/versions/unversioned/sdk/location.mdx
/expo/docs/pages/versions/unversioned/sdk/netinfo.mdx
/expo/docs/pages/versions/unversioned/sdk/network.mdx
/expo/docs/pages/versions/unversioned/sdk/reanimated.mdx
/expo/docs/pages/versions/unversioned/sdk/screens.mdx
/expo/docs/pages/versions/unversioned/sdk/storereview.mdx
/expo/docs/pages/versions/unversioned/sdk/svg.mdx
/expo/docs/pages/versions/unversioned/sdk/updates.mdx
/expo/docs/pages/versions/unversioned/sdk/view-pager.mdx
/expo/docs/pages/versions/unversioned/sdk/webbrowser.mdx
/expo/docs/pages/versions/v46.0.0/sdk/apple-authentication.mdx
/expo/docs/pages/versions/v46.0.0/sdk/application.mdx
/expo/docs/pages/versions/v46.0.0/sdk/audio.mdx
/expo/docs/pages/versions/v46.0.0/sdk/auth-session.mdx
/expo/docs/pages/versions/v46.0.0/sdk/background-fetch.mdx
/expo/docs/pages/versions/v46.0.0/sdk/barometer.mdx
/expo/docs/pages/versions/v46.0.0/sdk/brightness.mdx
/expo/docs/pages/versions/v46.0.0/sdk/camera.mdx
/expo/docs/pages/versions/v46.0.0/sdk/cellular.mdx
/expo/docs/pages/versions/v46.0.0/sdk/contacts.mdx
/expo/docs/pages/versions/v46.0.0/sdk/crypto.mdx
/expo/docs/pages/versions/v46.0.0/sdk/device.mdx
/expo/docs/pages/versions/v46.0.0/sdk/facedetector.mdx
/expo/docs/pages/versions/v46.0.0/sdk/filesystem.mdx
/expo/docs/pages/versions/v46.0.0/sdk/firebase-analytics.mdx
/expo/docs/pages/versions/v46.0.0/sdk/firebase-recaptcha.mdx
/expo/docs/pages/versions/v46.0.0/sdk/font.mdx
/expo/docs/pages/versions/v46.0.0/sdk/gl-view.mdx
/expo/docs/pages/versions/v46.0.0/sdk/in-app-purchases.mdx
/expo/docs/pages/versions/v46.0.0/sdk/localization.mdx
/expo/docs/pages/versions/v46.0.0/sdk/location.mdx
/expo/docs/pages/versions/v46.0.0/sdk/netinfo.mdx
/expo/docs/pages/versions/v46.0.0/sdk/network.mdx
/expo/docs/pages/versions/v46.0.0/sdk/reanimated.mdx
/expo/docs/pages/versions/v46.0.0/sdk/screen-orientation.mdx
/expo/docs/pages/versions/v46.0.0/sdk/screens.mdx
/expo/docs/pages/versions/v46.0.0/sdk/storereview.mdx
/expo/docs/pages/versions/v46.0.0/sdk/svg.mdx
/expo/docs/pages/versions/v46.0.0/sdk/task-manager.mdx
/expo/docs/pages/versions/v46.0.0/sdk/updates.mdx
/expo/docs/pages/versions/v46.0.0/sdk/view-pager.mdx
/expo/docs/pages/versions/v46.0.0/sdk/webbrowser.mdx
/expo/docs/pages/versions/v47.0.0/sdk/apple-authentication.mdx
/expo/docs/pages/versions/v47.0.0/sdk/application.mdx
/expo/docs/pages/versions/v47.0.0/sdk/audio.mdx
/expo/docs/pages/versions/v47.0.0/sdk/auth-session.mdx
/expo/docs/pages/versions/v47.0.0/sdk/background-fetch.mdx
/expo/docs/pages/versions/v47.0.0/sdk/barometer.mdx
/expo/docs/pages/versions/v47.0.0/sdk/brightness.mdx
/expo/docs/pages/versions/v47.0.0/sdk/camera.mdx
/expo/docs/pages/versions/v47.0.0/sdk/cellular.mdx
/expo/docs/pages/versions/v47.0.0/sdk/crypto.mdx
/expo/docs/pages/versions/v47.0.0/sdk/device.mdx
/expo/docs/pages/versions/v47.0.0/sdk/facedetector.mdx
/expo/docs/pages/versions/v47.0.0/sdk/filesystem.mdx
/expo/docs/pages/versions/v47.0.0/sdk/firebase-analytics.mdx
/expo/docs/pages/versions/v47.0.0/sdk/firebase-recaptcha.mdx
/expo/docs/pages/versions/v47.0.0/sdk/font.mdx
/expo/docs/pages/versions/v47.0.0/sdk/gl-view.mdx
/expo/docs/pages/versions/v47.0.0/sdk/in-app-purchases.mdx
/expo/docs/pages/versions/v47.0.0/sdk/location.mdx
/expo/docs/pages/versions/v47.0.0/sdk/netinfo.mdx
/expo/docs/pages/versions/v47.0.0/sdk/network.mdx
/expo/docs/pages/versions/v47.0.0/sdk/reanimated.mdx
/expo/docs/pages/versions/v47.0.0/sdk/screen-orientation.mdx
/expo/docs/pages/versions/v47.0.0/sdk/screens.mdx
/expo/docs/pages/versions/v47.0.0/sdk/storereview.mdx
/expo/docs/pages/versions/v47.0.0/sdk/svg.mdx
/expo/docs/pages/versions/v47.0.0/sdk/task-manager.mdx
/expo/docs/pages/versions/v47.0.0/sdk/updates.mdx
/expo/docs/pages/versions/v47.0.0/sdk/view-pager.mdx
/expo/docs/pages/versions/v47.0.0/sdk/webbrowser.mdx
/expo/docs/pages/versions/v48.0.0/sdk/apple-authentication.mdx
/expo/docs/pages/versions/v48.0.0/sdk/application.mdx
/expo/docs/pages/versions/v48.0.0/sdk/audio.mdx
/expo/docs/pages/versions/v48.0.0/sdk/auth-session.mdx
/expo/docs/pages/versions/v48.0.0/sdk/barometer.mdx
/expo/docs/pages/versions/v48.0.0/sdk/brightness.mdx
/expo/docs/pages/versions/v48.0.0/sdk/camera.mdx
/expo/docs/pages/versions/v48.0.0/sdk/cellular.mdx
/expo/docs/pages/versions/v48.0.0/sdk/crypto.mdx
/expo/docs/pages/versions/v48.0.0/sdk/device.mdx
/expo/docs/pages/versions/v48.0.0/sdk/facedetector.mdx
/expo/docs/pages/versions/v48.0.0/sdk/filesystem.mdx
/expo/docs/pages/versions/v48.0.0/sdk/font.mdx
/expo/docs/pages/versions/v48.0.0/sdk/gl-view.mdx
/expo/docs/pages/versions/v48.0.0/sdk/in-app-purchases.mdx
/expo/docs/pages/versions/v48.0.0/sdk/location.mdx
/expo/docs/pages/versions/v48.0.0/sdk/netinfo.mdx
/expo/docs/pages/versions/v48.0.0/sdk/network.mdx
/expo/docs/pages/versions/v48.0.0/sdk/reanimated.mdx
/expo/docs/pages/versions/v48.0.0/sdk/screen-orientation.mdx
/expo/docs/pages/versions/v48.0.0/sdk/screens.mdx
/expo/docs/pages/versions/v48.0.0/sdk/storereview.mdx
/expo/docs/pages/versions/v48.0.0/sdk/svg.mdx
/expo/docs/pages/versions/v48.0.0/sdk/updates.mdx
/expo/docs/pages/versions/v48.0.0/sdk/view-pager.mdx
/expo/docs/pages/versions/v48.0.0/sdk/webbrowser.mdx
/expo/docs/pages/versions/v49.0.0/config/metro.mdx
/expo/docs/pages/versions/v49.0.0/sdk/apple-authentication.mdx
/expo/docs/pages/versions/v49.0.0/sdk/application.mdx
/expo/docs/pages/versions/v49.0.0/sdk/audio.mdx
/expo/docs/pages/versions/v49.0.0/sdk/auth-session.mdx
/expo/docs/pages/versions/v49.0.0/sdk/barometer.mdx
/expo/docs/pages/versions/v49.0.0/sdk/brightness.mdx
/expo/docs/pages/versions/v49.0.0/sdk/camera.mdx
/expo/docs/pages/versions/v49.0.0/sdk/cellular.mdx
/expo/docs/pages/versions/v49.0.0/sdk/crypto.mdx
/expo/docs/pages/versions/v49.0.0/sdk/device.mdx
/expo/docs/pages/versions/v49.0.0/sdk/facedetector.mdx
/expo/docs/pages/versions/v49.0.0/sdk/filesystem.mdx
/expo/docs/pages/versions/v49.0.0/sdk/font.mdx
/expo/docs/pages/versions/v49.0.0/sdk/gl-view.mdx
/expo/docs/pages/versions/v49.0.0/sdk/in-app-purchases.mdx
/expo/docs/pages/versions/v49.0.0/sdk/location.mdx
/expo/docs/pages/versions/v49.0.0/sdk/netinfo.mdx
/expo/docs/pages/versions/v49.0.0/sdk/network.mdx
/expo/docs/pages/versions/v49.0.0/sdk/reanimated.mdx
/expo/docs/pages/versions/v49.0.0/sdk/screens.mdx
/expo/docs/pages/versions/v49.0.0/sdk/storereview.mdx
/expo/docs/pages/versions/v49.0.0/sdk/svg.mdx
/expo/docs/pages/versions/v49.0.0/sdk/updates.mdx
/expo/docs/pages/versions/v49.0.0/sdk/view-pager.mdx
/expo/docs/pages/versions/v49.0.0/sdk/webbrowser.mdx
/expo/docs/pages/workflow/configuration.mdx
/expo/docs/pages/workflow/ios-simulator.mdx
/expo/docs/pages/workflow/web.mdx
/expo/ios/Podfile.lock
config-plugins/package.json
fingerprint/CHANGELOG.md
fingerprint/package.json
58a0132520-Sep-2023 Cedric van Putten <[email protected]>

docs(package-manager): move fix out of `1.2.0` as its not released yet

82c7d45620-Sep-2023 Cedric van Putten <[email protected]>

fix(package-manager): detect `bun` before `yarn` to allow `bun install --yarn` usage (#24360)

# Why

Some people value readable lock files, and unfortunately, `bun.lockb`
isn't readable. Bun has

fix(package-manager): detect `bun` before `yarn` to allow `bun install --yarn` usage (#24360)

# Why

Some people value readable lock files, and unfortunately, `bun.lockb`
isn't readable. Bun has a feature for this, where it exports both a
`bun.lockb` and `yarn.lock` (based on `bun.lockb`).

For that reason, we should resolve `bun` before `yarn`. If people use
`bun install --yarn`, we always resolve to `yarn`.

# How

- Move `bun` detection before `yarn`.

# Test Plan

- `$ bun create expo ./test -t tabs`
- `$ cd ./test`
- `$ bun install --yarn`
- `$ bun expo install`
- _Should use `bun` to install_

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

show more ...

1aeb130d20-Sep-2023 Kudo Chien <[email protected]>

[fingerprint] revamp config-plugins sourcer (#24520)

# Why

originally, for local config-plugins we will include the entire app directory from generating fingerprints. in this state, fingerprint i

[fingerprint] revamp config-plugins sourcer (#24520)

# Why

originally, for local config-plugins we will include the entire app directory from generating fingerprints. in this state, fingerprint is kind of useless, e.g. just updating README.md will have new fingerprint. this pr tries to follow local config-plugins dependencies and only includes necessary files from hashing.

# How

based on Evan's great suggestion, to create a process to call `getConfig()` and inspect the loaded modules by `module._cache`. this pr introduces a **ExpoConfigLoader.js** to load that. also passing ignoredPaths to the loader so that we don't have to pass the known/useless loadedModules back to caller process.

show more ...


/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedExpoNotificationCategoriesModule.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedExpoNotificationPresentationModule.kt
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedNotificationScheduler.kt
fingerprint/CHANGELOG.md
fingerprint/README.md
fingerprint/__mocks__/@expo/spawn-async.ts
fingerprint/__mocks__/fs/promises.ts
fingerprint/build/Options.js
fingerprint/build/Options.js.map
fingerprint/build/hash/Hash.d.ts
fingerprint/build/hash/Hash.js
fingerprint/build/hash/Hash.js.map
fingerprint/build/sourcer/Expo.js
fingerprint/build/sourcer/Expo.js.map
fingerprint/build/sourcer/ExpoConfigLoader.d.ts
fingerprint/build/sourcer/ExpoConfigLoader.js
fingerprint/build/sourcer/ExpoConfigLoader.js.map
fingerprint/build/utils/Path.d.ts
fingerprint/build/utils/Path.js
fingerprint/build/utils/Path.js.map
fingerprint/e2e/__tests__/bare-test.ts
fingerprint/e2e/__tests__/managed-test.ts
fingerprint/package.json
fingerprint/src/Options.ts
fingerprint/src/hash/Hash.ts
fingerprint/src/hash/__tests__/Hash-test.ts
fingerprint/src/sourcer/Expo.ts
fingerprint/src/sourcer/ExpoConfigLoader.ts
fingerprint/src/sourcer/__tests__/Expo-test.ts
fingerprint/src/sourcer/__tests__/PatchPackage-test.ts
fingerprint/src/sourcer/__tests__/Sourcer-test.ts
fingerprint/src/utils/Path.ts
fingerprint/src/utils/__tests__/Path-test.ts
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle
/expo/packages/expo-dev-launcher/bundle/screens/HomeScreen.tsx
/expo/packages/expo-dev-launcher/ios/main.jsbundle
/expo/packages/expo-image-picker/CHANGELOG.md
/expo/packages/expo-image-picker/android/src/main/java/expo/modules/imagepicker/ImagePickerModule.kt
/expo/packages/expo-image-picker/android/src/main/java/expo/modules/imagepicker/ImagePickerResponse.kt
/expo/packages/expo-image-picker/android/src/main/java/expo/modules/imagepicker/MediaHandler.kt
/expo/packages/expo-image-picker/android/src/main/java/expo/modules/imagepicker/contracts/ImageLibraryContract.kt
/expo/packages/expo-image-picker/build/ImagePicker.types.d.ts
/expo/packages/expo-image-picker/build/ImagePicker.types.d.ts.map
/expo/packages/expo-image-picker/build/ImagePicker.types.js.map
/expo/packages/expo-image-picker/src/ImagePicker.types.ts
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/Utils.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/categories/ExpoNotificationCategoriesModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/ExpoNotificationPresentationModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/scheduling/NotificationScheduler.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/permissions/NotificationPermissionsModule.kt
/expo/packages/expo-notifications/build/BackgroundNotificationTasksModule.native.d.ts.map
/expo/packages/expo-notifications/build/BackgroundNotificationTasksModule.native.js
/expo/packages/expo-notifications/build/BackgroundNotificationTasksModule.native.js.map
/expo/packages/expo-notifications/build/BadgeModule.native.d.ts.map
/expo/packages/expo-notifications/build/BadgeModule.native.js
/expo/packages/expo-notifications/build/BadgeModule.native.js.map
/expo/packages/expo-notifications/build/NotificationCategoriesModule.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationCategoriesModule.native.js
/expo/packages/expo-notifications/build/NotificationCategoriesModule.native.js.map
/expo/packages/expo-notifications/build/NotificationChannelGroupManager.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationChannelGroupManager.native.js
/expo/packages/expo-notifications/build/NotificationChannelGroupManager.native.js.map
/expo/packages/expo-notifications/build/NotificationChannelManager.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationChannelManager.native.js
/expo/packages/expo-notifications/build/NotificationChannelManager.native.js.map
/expo/packages/expo-notifications/build/NotificationPermissionsModule.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationPermissionsModule.native.js
/expo/packages/expo-notifications/build/NotificationPermissionsModule.native.js.map
/expo/packages/expo-notifications/build/NotificationPresenterModule.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationPresenterModule.native.js
/expo/packages/expo-notifications/build/NotificationPresenterModule.native.js.map
/expo/packages/expo-notifications/build/NotificationScheduler.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationScheduler.native.js
/expo/packages/expo-notifications/build/NotificationScheduler.native.js.map
/expo/packages/expo-notifications/build/NotificationsEmitterModule.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationsEmitterModule.native.js
/expo/packages/expo-notifications/build/NotificationsEmitterModule.native.js.map
/expo/packages/expo-notifications/build/NotificationsHandlerModule.native.d.ts.map
/expo/packages/expo-notifications/build/NotificationsHandlerModule.native.js
/expo/packages/expo-notifications/build/NotificationsHandlerModule.native.js.map
/expo/packages/expo-notifications/build/PushTokenManager.native.d.ts.map
/expo/packages/expo-notifications/build/PushTokenManager.native.js
/expo/packages/expo-notifications/build/PushTokenManager.native.js.map
/expo/packages/expo-notifications/build/ServerRegistrationModule.native.d.ts.map
/expo/packages/expo-notifications/build/ServerRegistrationModule.native.js
/expo/packages/expo-notifications/build/ServerRegistrationModule.native.js.map
/expo/packages/expo-notifications/src/BackgroundNotificationTasksModule.native.ts
/expo/packages/expo-notifications/src/BadgeModule.native.ts
/expo/packages/expo-notifications/src/NotificationCategoriesModule.native.ts
/expo/packages/expo-notifications/src/NotificationChannelGroupManager.native.ts
/expo/packages/expo-notifications/src/NotificationChannelManager.native.ts
/expo/packages/expo-notifications/src/NotificationPermissionsModule.native.ts
/expo/packages/expo-notifications/src/NotificationPresenterModule.native.ts
/expo/packages/expo-notifications/src/NotificationScheduler.native.ts
/expo/packages/expo-notifications/src/NotificationsEmitterModule.native.ts
/expo/packages/expo-notifications/src/NotificationsHandlerModule.native.ts
/expo/packages/expo-notifications/src/PushTokenManager.native.ts
/expo/packages/expo-notifications/src/ServerRegistrationModule.native.ts
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/build/global-state/routing.d.ts
/expo/packages/expo-router/build/global-state/routing.d.ts.map
/expo/packages/expo-router/build/global-state/routing.js
/expo/packages/expo-router/build/global-state/routing.js.map
/expo/packages/expo-router/src/__tests__/navigation.test.tsx
/expo/packages/expo-router/src/__tests__/smoke.test.tsx
/expo/packages/expo-router/src/global-state/routing.ts
/expo/templates/expo-template-bare-minimum/android/app/src/debug/AndroidManifest.xml
feefc93019-Sep-2023 Kudo Chien <[email protected]>

[config] fix withAnonymous raw config-plugin name serialization (#24363)

# Why

fix config plugins raw functions serialization for anonymous functions

# How

it's better to use `||` in the ch

[config] fix withAnonymous raw config-plugin name serialization (#24363)

# Why

fix config plugins raw functions serialization for anonymous functions

# How

it's better to use `||` in the checking to get `withAnonymous` name works

show more ...

62f7610518-Sep-2023 Brent Vatne <[email protected]>

Publish packages

@expo/[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
expo-module-

Publish packages

@expo/[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

show more ...


/expo/apps/native-component-list/package.json
/expo/ios/Podfile.lock
cli/CHANGELOG.md
cli/package.json
/expo/packages/expo-contacts/CHANGELOG.md
/expo/packages/expo-contacts/android/build.gradle
/expo/packages/expo-contacts/package.json
/expo/packages/expo-dev-client/CHANGELOG.md
/expo/packages/expo-dev-client/android/build.gradle
/expo/packages/expo-dev-client/package.json
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/android/build.gradle
/expo/packages/expo-dev-launcher/package.json
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/android/build.gradle
/expo/packages/expo-dev-menu/package.json
/expo/packages/expo-image/CHANGELOG.md
/expo/packages/expo-image/android/build.gradle
/expo/packages/expo-image/package.json
/expo/packages/expo-insights/android/build.gradle
/expo/packages/expo-insights/package.json
/expo/packages/expo-intent-launcher/CHANGELOG.md
/expo/packages/expo-intent-launcher/android/build.gradle
/expo/packages/expo-intent-launcher/package.json
/expo/packages/expo-module-scripts/CHANGELOG.md
/expo/packages/expo-module-scripts/package.json
/expo/packages/expo-module-template/$package.json
/expo/packages/expo-module-template/package.json
/expo/packages/expo-notifications/CHANGELOG.md
/expo/packages/expo-notifications/android/build.gradle
/expo/packages/expo-notifications/package.json
/expo/packages/expo-processing/package.json
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/package.json
/expo/packages/expo-splash-screen/CHANGELOG.md
/expo/packages/expo-splash-screen/android/build.gradle
/expo/packages/expo-splash-screen/package.json
/expo/packages/expo-sqlite/CHANGELOG.md
/expo/packages/expo-sqlite/android/build.gradle
/expo/packages/expo-sqlite/package.json
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/android/build.gradle
/expo/packages/expo-updates/package.json
/expo/packages/expo-yarn-workspaces/CHANGELOG.md
/expo/packages/expo-yarn-workspaces/package.json
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/android/build.gradle
/expo/packages/expo/bundledNativeModules.json
/expo/packages/expo/package.json
2d4e7de918-Sep-2023 Evan Bacon <[email protected]>

router v3 public fixes (#24472)

# Why

- Some small fixes for Expo Router v3 based on the alpha release

---------

Co-authored-by: Expo Bot <[email protected]>


/expo/.github/resources/expo-video.svg
/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedServerRegistrationModule.kt
/expo/android/versioned-abis/expoview-abi47_0_0/src/main/java/abi47_0_0/expo/modules/notifications/NotificationsPackage.java
/expo/android/versioned-abis/expoview-abi47_0_0/src/main/java/abi47_0_0/expo/modules/notifications/badge/BadgeModule.java
/expo/android/versioned-abis/expoview-abi48_0_0/src/main/java/abi48_0_0/expo/modules/notifications/NotificationsPackage.java
/expo/android/versioned-abis/expoview-abi48_0_0/src/main/java/abi48_0_0/expo/modules/notifications/badge/BadgeModule.java
/expo/android/versioned-abis/expoview-abi49_0_0/src/main/java/abi49_0_0/expo/modules/notifications/NotificationsPackage.java
/expo/android/versioned-abis/expoview-abi49_0_0/src/main/java/abi49_0_0/expo/modules/notifications/badge/BadgeModule.java
/expo/apps/bare-expo/ios/Podfile.lock
/expo/apps/native-component-list/package.json
/expo/apps/native-component-list/src/navigation/ExpoComponentsStackNavigator.tsx
/expo/apps/native-component-list/src/screens/AV/VideoScreen.tsx
/expo/apps/native-component-list/src/screens/ExpoComponentsScreen.tsx
/expo/apps/native-component-list/src/screens/Video/VideoScreen.tsx
/expo/apps/test-suite/tests/SQLite.ts
/expo/docs/pages/index.tsx
/expo/docs/pages/router/reference/api-routes.mdx
/expo/docs/public/static/data/unversioned/expo-contacts.json
/expo/docs/ui/components/Sidebar/SidebarFooter.tsx
/expo/ios/Podfile.lock
cli/CHANGELOG.md
cli/src/export/exportApp.ts
cli/src/export/getPublicExpoManifest.ts
cli/src/start/server/metro/MetroBundlerDevServer.ts
/expo/packages/expo-asset/CHANGELOG.md
/expo/packages/expo-asset/package.json
/expo/packages/expo-auth-session/CHANGELOG.md
/expo/packages/expo-auth-session/package.json
/expo/packages/expo-contacts/build/Contacts.d.ts
/expo/packages/expo-contacts/build/Contacts.js.map
/expo/packages/expo-contacts/src/Contacts.ts
/expo/packages/expo-dev-client/CHANGELOG.md
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-menu/.eslintignore
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/app/App.tsx
/expo/packages/expo-dev-menu/app/components/LoadInitialData.tsx
/expo/packages/expo-dev-menu/app/components/Main.tsx
/expo/packages/expo-dev-menu/app/hooks/useClipboard.tsx
/expo/packages/expo-dev-menu/app/hooks/useDevSettings.tsx
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.android.js
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.ios.js
/expo/packages/expo-dev-menu/package.json
/expo/packages/expo-dev-menu/tsconfig.app.json
/expo/packages/expo-intent-launcher/CHANGELOG.md
/expo/packages/expo-intent-launcher/android/src/main/java/expo/modules/intentlauncher/IntentLauncherModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/badge/BadgeHelper.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/badge/BadgeModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/background/ExpoBackgroundNotificationTasksModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelGroupManagerModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/channels/NotificationChannelManagerModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/emitting/NotificationsEmitter.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/handling/NotificationsHandler.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/handling/SingleNotificationHandlerTask.java
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/serverregistration/ServerRegistrationModule.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/tokens/PushTokenModule.kt
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/package.json
/expo/packages/expo-sqlite/CHANGELOG.md
/expo/packages/expo-sqlite/android/build.gradle
/expo/packages/expo-sqlite/android/src/main/java/expo/modules/sqlite/SQLRecords.kt
/expo/packages/expo-sqlite/android/src/main/java/expo/modules/sqlite/SQLiteModule.kt
/expo/packages/expo-sqlite/android/src/main/jniLibs/arm64-v8a/libcrsqlite.so
/expo/packages/expo-sqlite/android/src/main/jniLibs/arm64/libcrsqlite.so
/expo/packages/expo-sqlite/ios/ExpoSQLite.podspec
/expo/packages/expo-sqlite/ios/crsqlite.xcframework/Info.plist
/expo/packages/expo-sqlite/ios/crsqlite.xcframework/ios-arm64/crsqlite.framework/crsqlite
/expo/packages/expo-sqlite/ios/crsqlite.xcframework/ios-arm64_x86_64-simulator/crsqlite.framework/crsqlite
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/ios/EXUpdates.podspec
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration4To5.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration5To6.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration6To7.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration7To8.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration8To9.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/Migrations/UpdatesDatabaseMigration9To10.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/UpdatesDatabase.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/UpdatesDatabaseInitialization.swift
/expo/packages/expo-updates/ios/EXUpdates/Database/UpdatesDatabaseUtils.swift
/expo/packages/expo-updates/ios/Tests/DatabaseInitializationSpec.swift
/expo/packages/expo-video/.eslintrc.js
/expo/packages/expo-video/.npmignore
/expo/packages/expo-video/CHANGELOG.md
/expo/packages/expo-video/README.md
/expo/packages/expo-video/android/.gitignore
/expo/packages/expo-video/android/build.gradle
/expo/packages/expo-video/android/src/main/AndroidManifest.xml
/expo/packages/expo-video/babel.config.js
/expo/packages/expo-video/build/NativeVideoModule.d.ts
/expo/packages/expo-video/build/NativeVideoModule.d.ts.map
/expo/packages/expo-video/build/NativeVideoModule.js
/expo/packages/expo-video/build/NativeVideoModule.js.map
/expo/packages/expo-video/build/NativeVideoView.d.ts
/expo/packages/expo-video/build/NativeVideoView.d.ts.map
/expo/packages/expo-video/build/NativeVideoView.js
/expo/packages/expo-video/build/NativeVideoView.js.map
/expo/packages/expo-video/build/VideoPlayer.d.ts
/expo/packages/expo-video/build/VideoPlayer.d.ts.map
/expo/packages/expo-video/build/VideoPlayer.js
/expo/packages/expo-video/build/VideoPlayer.js.map
/expo/packages/expo-video/build/VideoView.d.ts
/expo/packages/expo-video/build/VideoView.d.ts.map
/expo/packages/expo-video/build/VideoView.js
/expo/packages/expo-video/build/VideoView.js.map
/expo/packages/expo-video/build/index.d.ts
/expo/packages/expo-video/build/index.d.ts.map
/expo/packages/expo-video/build/index.js
/expo/packages/expo-video/build/index.js.map
/expo/packages/expo-video/expo-module.config.json
/expo/packages/expo-video/ios/ExpoVideo.podspec
/expo/packages/expo-video/ios/VideoContentFit.swift
/expo/packages/expo-video/ios/VideoItem.swift
/expo/packages/expo-video/ios/VideoModule.swift
/expo/packages/expo-video/ios/VideoPlayer.swift
/expo/packages/expo-video/ios/VideoView.swift
/expo/packages/expo-video/package.json
/expo/packages/expo-video/src/NativeVideoModule.ts
/expo/packages/expo-video/src/NativeVideoView.ts
/expo/packages/expo-video/src/VideoPlayer.ts
/expo/packages/expo-video/src/VideoView.tsx
/expo/packages/expo-video/src/index.ts
/expo/packages/expo-video/tsconfig.json
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/android/build.gradle
/expo/packages/expo/bundledNativeModules.json
/expo/packages/expo/package.json
/expo/templates/expo-template-bare-minimum/package.json
/expo/templates/expo-template-blank-typescript/package.json
/expo/templates/expo-template-blank/package.json
/expo/templates/expo-template-tabs/package.json
/expo/templates/expo-template-tv/package.json
/expo/yarn.lock
ff40b4b315-Sep-2023 Brent Vatne <[email protected]>

Publish packages

@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
[email protected]
[email protected]

46f023fa15-Sep-2023 Evan Bacon <[email protected]>

[RFC] API Routes in Expo Router (#24429)

# Why

Servers are an important part of developing many different types of
apps, but they're much harder to configure than they need to be.

API Routes

[RFC] API Routes in Expo Router (#24429)

# Why

Servers are an important part of developing many different types of
apps, but they're much harder to configure than they need to be.

API Routes will enable users to express some abstract JavaScript code
that runs in a server by simply creating a file in the app directory,
and adding the `+api.js` suffix. For example, to securely interact with
OpenAI, simply:

```ts
// app/generate+api.ts
import { ExpoRequest, ExpoResponse } from 'expo-router/server';

export async function POST(req: ExpoRequest): Promise<ExpoResponse> {
const { prompt } = await req.json();

const json = await fetch('https://api.openai.com/v1/engines/text-davinci-003/completions', {
headers: {
'Content-Type': 'application/json',
// `OPENAI_API_KEY` is pulled from the .env file when running in Expo CLI.
Authorization: `Bearer ${process.env.OPENAI_API_KEY ?? ''}`,
},
method: 'POST',
body: JSON.stringify({
prompt,
max_tokens: 100,
}),
}).then(res => res.json());

// Return as JSON
return ExpoResponse.json(json);
}
```

This will be served at `http://localhost:8081/generate` with `npx expo`
and can be used by making a request:

```sh
$ curl -X POST -H "Content-Type: application/json" -d \'{"prompt":"Hello, my name is"}\' http://localhost:8081/generate
```

Expo Router polyfills the URL and `window.location` object on native to
allow for universally requesting with a relative URL:

```js
// Expo prepends the host and port to the URL automatically in development.
const json = await fetch('/generate').then(res => res.json());
```

# How

- API Routes are bundled with Metro, leveraging all the same
functionality as the rest of the app and website.
- The project babel config is used to transpile the API routes.
Indication is passed to the Babel caller via the `isServer` boolean.
This can be used to change the preset based on the environment.
- Each API route is bundled into a standalone file in the `dist/_expo`
directory. This is akin to ncc, the tool we use to make Create Expo App
download in ~1 second.
- Create a new package `@expo/server` which includes the requisite
middleware and runtime polyfills for the Expo server environment.
- Add a new routes manifest which will be used by `@expo/server` to
serve up the three types of routes: HTML routes, API routes, and not
found routes (404s).
- Add a new export `expo-router/server` (potentially will be moved to
`expo/server`) which contains the `ExpoRequest` and `ExpoResponse`
objects. These are all based on the WinterCG specification, and include
some additional properties for interop with the Expo Router filesystem
convention. These are inspired by Remix, SvelteKit, and Next.js for
simplicity.
- Add a new export mode `web.output: "server"` which can be used to
export a dynamic server. Note: I may drop this for now and make server
the default since there's no expo-specific hosting code that must be
exported.
- This PR adds the ability to host the app with an express server,
different production adapters to follow.

# Test Plan

In addition to all the E2E Metro tests, I've added a new E2E runner
which starts a server and pings different requests to ensure expected
behavior. These run in the CLI as opposed to the `@expo/server` package.

- resolve ENG-10057 ENG-8243 ENG-8082 ENG-8079 ENG-8242 ENG-8081
ENG-8080 ENG-9625

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Cedric van Putten <[email protected]>

show more ...


/expo/apps/router-e2e/__e2e__/server/app/api/[dynamic]+api.ts
/expo/apps/router-e2e/__e2e__/server/app/api/a/[...spread]+api.tsx
/expo/apps/router-e2e/__e2e__/server/app/api/empty+api.ts
/expo/apps/router-e2e/__e2e__/server/app/api/env-vars+api.ts
/expo/apps/router-e2e/__e2e__/server/app/api/externals+api.ts
/expo/apps/router-e2e/__e2e__/server/app/api/json+api.ts
/expo/apps/router-e2e/__e2e__/server/app/api/problematic+api.ts
/expo/apps/router-e2e/__e2e__/server/app/blog/[post].tsx
/expo/apps/router-e2e/__e2e__/server/app/index.tsx
/expo/apps/router-e2e/__e2e__/server/app/methods+api.ts
/expo/apps/router-e2e/__e2e__/server/express.js
/expo/apps/router-e2e/app.config.js
/expo/apps/router-e2e/package.json
/expo/apps/sandbox/app.json
/expo/apps/sandbox/babel.config.js
/expo/docs/components/base/code.tsx
/expo/docs/constants/navigation.js
/expo/docs/pages/router/reference/api-routes.mdx
cli/CHANGELOG.md
cli/e2e/__tests__/export-embed-test.ts
cli/e2e/__tests__/export-test.ts
cli/e2e/__tests__/export/__snapshots__/static-rendering.test.ts.snap
cli/e2e/__tests__/export/base-path.test.ts
cli/e2e/__tests__/export/server.test.ts
cli/e2e/__tests__/export/single-page-app.test.ts
cli/e2e/__tests__/export/static-rendering.test.ts
cli/e2e/__tests__/export/url-polyfill.test.ts
cli/e2e/__tests__/export/without-sourcemaps.test.ts
cli/package.json
cli/src/export/createMetadataJson.ts
cli/src/export/exportApp.ts
cli/src/export/exportStaticAsync.ts
cli/src/export/writeContents.ts
cli/src/start/server/getStaticRenderFunctions.ts
cli/src/start/server/metro/MetroBundlerDevServer.ts
cli/src/start/server/metro/bundleApiRoutes.ts
cli/src/start/server/metro/createServerRouteMiddleware.ts
cli/src/start/server/metro/fetchRouterManifest.ts
cli/src/start/server/metro/instantiateMetro.ts
cli/src/start/server/metro/metroErrorInterface.ts
cli/src/start/server/metro/router.ts
cli/src/start/server/metro/waitForMetroToObserveTypeScriptFile.ts
cli/src/start/server/metro/withMetroMultiPlatform.ts
cli/src/start/server/middleware/ManifestMiddleware.ts
cli/src/start/server/middleware/inspector/LaunchBrowserImplWindows.ts
cli/src/start/server/type-generation/__tests__/startTypescriptTypeGeneration.test.ts
cli/src/start/server/type-generation/routes.ts
cli/src/start/server/type-generation/startTypescriptTypeGeneration.ts
metro-config/CHANGELOG.md
metro-config/build/customizeFrame.js
metro-config/build/customizeFrame.js.map
metro-config/build/transform-worker/transform-worker.js
metro-config/build/transform-worker/transform-worker.js.map
metro-config/src/customizeFrame.ts
metro-config/src/transform-worker/__tests__/transform-worker.test.ts
metro-config/src/transform-worker/transform-worker.ts
server/.eslintignore
server/CHANGELOG.md
server/LICENSE-third-party
server/README.md
server/babel.config.js
server/build/environment.d.ts
server/build/environment.js
server/build/environment.js.map
server/build/index.d.ts
server/build/index.js
server/build/index.js.map
server/build/types.d.ts
server/build/types.js
server/build/types.js.map
server/build/vendor/express.d.ts
server/build/vendor/express.js
server/build/vendor/express.js.map
server/build/vendor/http.d.ts
server/build/vendor/http.js
server/build/vendor/http.js.map
server/install.js
server/jest.config.js
server/package.json
server/src/environment.ts
server/src/index.ts
server/src/types.ts
server/src/vendor/express.ts
server/src/vendor/http.ts
server/tsconfig.json
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/build/Route.d.ts
/expo/packages/expo-router/build/Route.d.ts.map
/expo/packages/expo-router/build/Route.js
/expo/packages/expo-router/build/Route.js.map
/expo/packages/expo-router/build/fork/getPathFromState.d.ts.map
/expo/packages/expo-router/build/fork/getPathFromState.js
/expo/packages/expo-router/build/fork/getPathFromState.js.map
/expo/packages/expo-router/build/getRoutes.d.ts
/expo/packages/expo-router/build/getRoutes.d.ts.map
/expo/packages/expo-router/build/getRoutes.js
/expo/packages/expo-router/build/getRoutes.js.map
/expo/packages/expo-router/build/getServerManifest.d.ts
/expo/packages/expo-router/build/getServerManifest.d.ts.map
/expo/packages/expo-router/build/getServerManifest.js
/expo/packages/expo-router/build/getServerManifest.js.map
/expo/packages/expo-router/build/matchers.js
/expo/packages/expo-router/build/matchers.js.map
/expo/packages/expo-router/build/routes-manifest.d.ts
/expo/packages/expo-router/build/routes-manifest.d.ts.map
/expo/packages/expo-router/build/routes-manifest.js
/expo/packages/expo-router/build/routes-manifest.js.map
/expo/packages/expo-router/build/sortRoutes.d.ts
/expo/packages/expo-router/build/sortRoutes.d.ts.map
/expo/packages/expo-router/build/sortRoutes.js
/expo/packages/expo-router/build/sortRoutes.js.map
/expo/packages/expo-router/build/static/renderStaticContent.js
/expo/packages/expo-router/build/static/renderStaticContent.js.map
/expo/packages/expo-router/package.json
/expo/packages/expo-router/server.d.ts
/expo/packages/expo-router/server.js
/expo/packages/expo-router/src/Route.tsx
/expo/packages/expo-router/src/__tests__/getRoutes.test.node.ts
/expo/packages/expo-router/src/__tests__/getServerManifest.test.node.ts
/expo/packages/expo-router/src/fork/getPathFromState.ts
/expo/packages/expo-router/src/getRoutes.ts
/expo/packages/expo-router/src/getServerManifest.ts
/expo/packages/expo-router/src/matchers.tsx
/expo/packages/expo-router/src/routes-manifest.ts
/expo/packages/expo-router/src/sortRoutes.ts
/expo/packages/expo-router/src/static/renderStaticContent.tsx
/expo/templates/expo-template-bare-minimum/package.json
/expo/templates/expo-template-blank-typescript/package.json
/expo/templates/expo-template-blank/package.json
/expo/templates/expo-template-tabs/package.json
/expo/templates/expo-template-tv/package.json
/expo/yarn.lock
ee2c866b15-Sep-2023 Will Schurman <[email protected]>

Publish packages

@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
[email protected]

Publish packages

@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
@expo/[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

show more ...


/expo/android/expoview/src/main/java/host/exp/exponent/ExpoApplication.kt
/expo/android/expoview/src/main/java/host/exp/exponent/ExponentManifest.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/Kernel.kt
/expo/android/expoview/src/main/java/host/exp/exponent/kernel/KernelConstants.kt
/expo/android/expoview/src/main/java/host/exp/exponent/storage/ExponentSharedPreferences.kt
/expo/android/expoview/src/main/java/host/exp/expoview/ExpoViewBuildConfig.kt
/expo/apps/bare-expo/package.json
/expo/apps/fabric-tester/package.json
/expo/apps/jest-expo-mock-generator/package.json
/expo/apps/native-component-list/package.json
/expo/apps/native-tests/package.json
/expo/apps/sandbox/package.json
/expo/apps/test-suite/package.json
/expo/guides/releasing/Release Workflow.md
/expo/home/app.json
/expo/home/package.json
/expo/ios/Client/EXHomeAppManager.h
/expo/ios/Client/EXHomeAppManager.m
/expo/ios/Client/EXRootViewController.m
/expo/ios/Exponent.xcodeproj/project.pbxproj
/expo/ios/Exponent/Kernel/AppLoader/EXDevelopmentHomeLoader.h
/expo/ios/Exponent/Kernel/AppLoader/EXDevelopmentHomeLoader.m
/expo/ios/Exponent/Kernel/AppLoader/EXEmbeddedHomeLoader.h
/expo/ios/Exponent/Kernel/AppLoader/EXEmbeddedHomeLoader.m
/expo/ios/Podfile.lock
/expo/ios/Tests/AppLoader/EXAppLoader+Tests.h
/expo/ios/Tests/AppLoader/EXAppLoaderConfigurationTests.m
/expo/ios/Tests/AppLoader/EXAppLoaderRequestExpectation.h
/expo/ios/Tests/AppLoader/EXAppLoaderRequestExpectation.m
cli/CHANGELOG.md
cli/package.json
config-plugins/CHANGELOG.md
config-plugins/package.json
config-types/package.json
config/package.json
metro-config/CHANGELOG.md
metro-config/package.json
metro-runtime/CHANGELOG.md
metro-runtime/package.json
package-manager/CHANGELOG.md
package-manager/package.json
prebuild-config/package.json
/expo/packages/babel-preset-expo/CHANGELOG.md
/expo/packages/babel-preset-expo/package.json
/expo/packages/create-expo-module/package.json
/expo/packages/expo-application/CHANGELOG.md
/expo/packages/expo-application/android/build.gradle
/expo/packages/expo-application/package.json
/expo/packages/expo-asset/package.json
/expo/packages/expo-auth-session/package.json
/expo/packages/expo-av/CHANGELOG.md
/expo/packages/expo-av/android/build.gradle
/expo/packages/expo-av/package.json
/expo/packages/expo-background-fetch/CHANGELOG.md
/expo/packages/expo-background-fetch/android/build.gradle
/expo/packages/expo-background-fetch/package.json
/expo/packages/expo-blur/CHANGELOG.md
/expo/packages/expo-blur/android/build.gradle
/expo/packages/expo-blur/package.json
/expo/packages/expo-camera/CHANGELOG.md
/expo/packages/expo-camera/android/build.gradle
/expo/packages/expo-camera/package.json
/expo/packages/expo-clipboard/CHANGELOG.md
/expo/packages/expo-clipboard/android/build.gradle
/expo/packages/expo-clipboard/package.json
/expo/packages/expo-constants/CHANGELOG.md
/expo/packages/expo-constants/android/build.gradle
/expo/packages/expo-constants/package.json
/expo/packages/expo-contacts/CHANGELOG.md
/expo/packages/expo-contacts/android/build.gradle
/expo/packages/expo-contacts/package.json
/expo/packages/expo-dev-client/package.json
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/android/build.gradle
/expo/packages/expo-dev-launcher/package.json
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/android/build.gradle
/expo/packages/expo-dev-menu/package.json
/expo/packages/expo-device/CHANGELOG.md
/expo/packages/expo-device/android/build.gradle
/expo/packages/expo-device/package.json
/expo/packages/expo-eas-client/CHANGELOG.md
/expo/packages/expo-eas-client/android/build.gradle
/expo/packages/expo-eas-client/package.json
/expo/packages/expo-file-system/CHANGELOG.md
/expo/packages/expo-file-system/android/build.gradle
/expo/packages/expo-file-system/package.json
/expo/packages/expo-font/CHANGELOG.md
/expo/packages/expo-font/android/build.gradle
/expo/packages/expo-font/package.json
/expo/packages/expo-gl/CHANGELOG.md
/expo/packages/expo-gl/android/build.gradle
/expo/packages/expo-gl/package.json
/expo/packages/expo-insights/package.json
/expo/packages/expo-json-utils/CHANGELOG.md
/expo/packages/expo-json-utils/android/build.gradle
/expo/packages/expo-json-utils/package.json
/expo/packages/expo-keep-awake/CHANGELOG.md
/expo/packages/expo-keep-awake/android/build.gradle
/expo/packages/expo-keep-awake/package.json
/expo/packages/expo-linking/CHANGELOG.md
/expo/packages/expo-linking/package.json
/expo/packages/expo-manifests/CHANGELOG.md
/expo/packages/expo-manifests/android/build.gradle
/expo/packages/expo-manifests/package.json
/expo/packages/expo-module-scripts/package.json
/expo/packages/expo-module-template/$package.json
/expo/packages/expo-modules-autolinking/CHANGELOG.md
/expo/packages/expo-modules-autolinking/package.json
/expo/packages/expo-modules-core/CHANGELOG.md
/expo/packages/expo-modules-core/android/build.gradle
/expo/packages/expo-modules-core/package.json
/expo/packages/expo-modules-test-core/android/build.gradle
/expo/packages/expo-modules-test-core/package.json
/expo/packages/expo-notifications/CHANGELOG.md
/expo/packages/expo-notifications/android/build.gradle
/expo/packages/expo-notifications/package.json
/expo/packages/expo-processing/package.json
/expo/packages/expo-router/package.json
/expo/packages/expo-sensors/CHANGELOG.md
/expo/packages/expo-sensors/android/build.gradle
/expo/packages/expo-sensors/package.json
/expo/packages/expo-splash-screen/CHANGELOG.md
/expo/packages/expo-splash-screen/android/build.gradle
/expo/packages/expo-splash-screen/package.json
/expo/packages/expo-sqlite/CHANGELOG.md
/expo/packages/expo-sqlite/android/build.gradle
/expo/packages/expo-sqlite/package.json
/expo/packages/expo-status-bar/CHANGELOG.md
/expo/packages/expo-status-bar/package.json
/expo/packages/expo-structured-headers/CHANGELOG.md
/expo/packages/expo-structured-headers/android/build.gradle
/expo/packages/expo-structured-headers/package.json
/expo/packages/expo-updates-interface/CHANGELOG.md
/expo/packages/expo-updates-interface/android/build.gradle
/expo/packages/expo-updates-interface/package.json
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/android/build.gradle
/expo/packages/expo-updates/package.json
/expo/packages/expo-web-browser/CHANGELOG.md
/expo/packages/expo-web-browser/android/build.gradle
/expo/packages/expo-web-browser/package.json
/expo/packages/expo-yarn-workspaces/package.json
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/android/build.gradle
/expo/packages/expo/bundledNativeModules.json
/expo/packages/expo/package.json
/expo/packages/jest-expo/CHANGELOG.md
/expo/packages/jest-expo/package.json
/expo/tools/src/EASUpdate.ts
/expo/tools/src/commands/PublishDevExpoHomeCommand.ts
/expo/tools/src/commands/PublishProdExpoHomeCommand.ts
/expo/tools/src/typings/AppConfig.ts
76d9873115-Sep-2023 Douglas Lowder <[email protected]>

Apple TV support 2: add TV template, fix config plugin, add CI (#24411)


/expo/.github/workflows/cli.yml
/expo/.github/workflows/create-expo-app.yml
/expo/.github/workflows/updates-e2e.yml
/expo/docs/components/Permalink.tsx
/expo/docs/components/icons/Permalink.tsx
/expo/docs/components/plugins/__snapshots__/APISection.test.tsx.snap
/expo/docs/components/plugins/__snapshots__/AppConfigSchemaPropertiesTable.test.tsx.snap
/expo/docs/pages/guides/using-flipper.mdx
/expo/docs/ui/components/Collapsible/index.tsx
config-plugins/CHANGELOG.md
config-plugins/build/ios/DeviceFamily.js
config-plugins/build/ios/DeviceFamily.js.map
config-plugins/src/ios/DeviceFamily.ts
/expo/packages/expo-clipboard/ios/Tests/ClipboardModuleSpec.swift
/expo/packages/expo-file-system/CHANGELOG.md
/expo/packages/expo-file-system/ios/FileSystemHelpers.swift
/expo/packages/expo-modules-core/CHANGELOG.md
/expo/packages/expo-modules-core/android/src/androidTest/java/expo/modules/kotlin/jni/SharedRefTest.kt
/expo/packages/expo-modules-core/android/src/main/cpp/types/JNIToJSIConverter.cpp
/expo/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/sharedobjects/SharedRef.kt
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/NotificationsPackage.java
/expo/packages/expo-notifications/android/src/main/java/expo/modules/notifications/badge/BadgeModule.kt
/expo/packages/expo-updates/CHANGELOG.md
/expo/packages/expo-updates/android/src/main/java/expo/modules/updates/manifest/BareUpdateManifest.kt
/expo/packages/expo-updates/e2e/fixtures/project_files/eas-hooks/eas-build-on-success.sh
/expo/packages/expo-updates/e2e/setup/create-eas-project-tv.js
/expo/packages/expo-updates/e2e/setup/create-eas-project.js
/expo/packages/expo-updates/e2e/setup/create-updates-test.js
/expo/packages/expo-updates/e2e/setup/project.js
/expo/templates/expo-template-tv/.gitattributes
/expo/templates/expo-template-tv/.npmignore
/expo/templates/expo-template-tv/App.tsx
/expo/templates/expo-template-tv/android/app/build.gradle
/expo/templates/expo-template-tv/android/app/debug.keystore
/expo/templates/expo-template-tv/android/app/proguard-rules.pro
/expo/templates/expo-template-tv/android/app/src/debug/AndroidManifest.xml
/expo/templates/expo-template-tv/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java
/expo/templates/expo-template-tv/android/app/src/main/AndroidManifest.xml
/expo/templates/expo-template-tv/android/app/src/main/java/com/helloworld/MainActivity.java
/expo/templates/expo-template-tv/android/app/src/main/java/com/helloworld/MainApplication.java
/expo/templates/expo-template-tv/android/app/src/main/res/drawable/rn_edit_text_material.xml
/expo/templates/expo-template-tv/android/app/src/main/res/drawable/splashscreen.xml
/expo/templates/expo-template-tv/android/app/src/main/res/drawable/splashscreen_image.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
/expo/templates/expo-template-tv/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
/expo/templates/expo-template-tv/android/app/src/main/res/values/colors.xml
/expo/templates/expo-template-tv/android/app/src/main/res/values/strings.xml
/expo/templates/expo-template-tv/android/app/src/main/res/values/styles.xml
/expo/templates/expo-template-tv/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java
/expo/templates/expo-template-tv/android/build.gradle
/expo/templates/expo-template-tv/android/gitignore
/expo/templates/expo-template-tv/android/gradle.properties
/expo/templates/expo-template-tv/android/gradle/wrapper/gradle-wrapper.jar
/expo/templates/expo-template-tv/android/gradle/wrapper/gradle-wrapper.properties
/expo/templates/expo-template-tv/android/gradlew
/expo/templates/expo-template-tv/android/gradlew.bat
/expo/templates/expo-template-tv/android/settings.gradle
/expo/templates/expo-template-tv/app.json
/expo/templates/expo-template-tv/assets/adaptive-icon.png
/expo/templates/expo-template-tv/assets/favicon.png
/expo/templates/expo-template-tv/assets/icon.png
/expo/templates/expo-template-tv/assets/splash.png
/expo/templates/expo-template-tv/babel.config.js
/expo/templates/expo-template-tv/gitignore
/expo/templates/expo-template-tv/index.js
/expo/templates/expo-template-tv/ios/.xcode.env
/expo/templates/expo-template-tv/ios/HelloWorld.xcodeproj/project.pbxproj
/expo/templates/expo-template-tv/ios/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata
/expo/templates/expo-template-tv/ios/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
/expo/templates/expo-template-tv/ios/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld.xcscheme
/expo/templates/expo-template-tv/ios/HelloWorld.xcworkspace/contents.xcworkspacedata
/expo/templates/expo-template-tv/ios/HelloWorld.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
/expo/templates/expo-template-tv/ios/HelloWorld/AppDelegate.h
/expo/templates/expo-template-tv/ios/HelloWorld/AppDelegate.mm
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/Contents.json
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/SplashScreen.imageset/Contents.json
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/SplashScreen.imageset/splashscreen.png
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/SplashScreenBackground.imageset/Contents.json
/expo/templates/expo-template-tv/ios/HelloWorld/Images.xcassets/SplashScreenBackground.imageset/background.png
/expo/templates/expo-template-tv/ios/HelloWorld/Info.plist
/expo/templates/expo-template-tv/ios/HelloWorld/SplashScreen.storyboard
/expo/templates/expo-template-tv/ios/HelloWorld/Supporting/Expo.plist
/expo/templates/expo-template-tv/ios/HelloWorld/main.m
/expo/templates/expo-template-tv/ios/Podfile
/expo/templates/expo-template-tv/ios/Podfile.properties.json
/expo/templates/expo-template-tv/ios/gitignore
/expo/templates/expo-template-tv/metro.config.js
/expo/templates/expo-template-tv/package.json
/expo/templates/expo-template-tv/tsconfig.json
4c178d0515-Sep-2023 Evan Bacon <[email protected]>

Move `process.env` polyfill strip to `expo/metro-config`. (#24455)

# Why

Improves the sourcemaps as we aren't modifying the string after the maps
are generated.

---------

Co-authored-by: E

Move `process.env` polyfill strip to `expo/metro-config`. (#24455)

# Why

Improves the sourcemaps as we aren't modifying the string after the maps
are generated.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...

92ddc08b14-Sep-2023 Evan Bacon <[email protected]>

Support mocking Node.js externals for client-side bundles. (#24453)

# Why

- Fix regression in https://github.com/expo/expo/pull/24199 which breaks
all Metro web tests.

---------

Co-authore

Support mocking Node.js externals for client-side bundles. (#24453)

# Why

- Fix regression in https://github.com/expo/expo/pull/24199 which breaks
all Metro web tests.

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...

7c98c35714-Sep-2023 Evan Bacon <[email protected]>

feat(cli, router, metro, asset): add basePath support (#23911)

# Why

- Add the ability to export websites for hosting from a custom path.
This is required for GitHub pages.
- Resolve ENG-9193

feat(cli, router, metro, asset): add basePath support (#23911)

# Why

- Add the ability to export websites for hosting from a custom path.
This is required for GitHub pages.
- Resolve ENG-9193
- Resolve https://github.com/expo/expo/issues/20562
- Resolve https://github.com/expo/router/issues/165

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

# How

- Add `expo.experiments.basePath` which can be used during `npx expo
export` to modify how assets are referenced.
- Set the `publicPath` in Metro to output as expected.
- Add custom asset writing for web to support stripping the unused
prefix.

- It's unclear if this should also apply to native, and if we should
have platform-specific variations.
- Update Expo Router to support automatically adjusting paths to support
basePath in production builds.
<!--
How did you build this feature or fix this bug and why?
-->

# Test Plan

- [ ] New `expo export` test.

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>
Co-authored-by: Aman Mittal <[email protected]>

show more ...


/expo/apps/bare-expo/e2e/TestSuite-test.web.js
/expo/apps/bare-expo/ios/Podfile.lock
/expo/apps/bare-expo/jest-puppeteer.config.js
/expo/apps/bare-expo/package.json
/expo/apps/router-e2e/__e2e__/static-rendering/app/links.tsx
/expo/apps/router-e2e/app.config.js
/expo/apps/router-e2e/metro.config.js
/expo/apps/test-suite/tests/FileSystem.js
/expo/docs/pages/more/expo-cli.mdx
/expo/docs/public/static/data/unversioned/expo-gl.json
/expo/home/api/ApolloClient.ts
/expo/home/api/__tests__/AuthSessions-test.js
/expo/ios/Exponent/Versioned/Core/EXVersionManagerObjC.m
/expo/ios/Exponent/Versioned/Core/UniversalModules/EXScopedFileSystem/EXScopedFilePermissionModule.h
/expo/ios/Exponent/Versioned/Core/UniversalModules/EXScopedFileSystem/EXScopedFilePermissionModule.m
/expo/ios/Exponent/Versioned/Core/UniversalModules/EXScopedFileSystem/EXScopedFileSystemModule.h
/expo/ios/Exponent/Versioned/Core/UniversalModules/EXScopedFileSystem/EXScopedFileSystemModule.m
/expo/ios/Exponent/Versioned/Core/UniversalModules/EXScopedModuleRegistryAdapter.m
/expo/ios/Podfile.lock
cli/CHANGELOG.md
cli/e2e/__tests__/export-test.ts
cli/e2e/__tests__/export/base-path.test.ts
cli/src/export/__tests__/persistMetroAssets.test.ts
cli/src/export/embed/exportEmbedAsync.ts
cli/src/export/exportApp.ts
cli/src/export/exportAssets.ts
cli/src/export/exportStaticAsync.ts
cli/src/export/favicon.ts
cli/src/export/fork-bundleAsync.ts
cli/src/export/persistMetroAssets.ts
cli/src/start/server/metro/MetroBundlerDevServer.ts
cli/src/start/server/metro/instantiateMetro.ts
metro-config/CHANGELOG.md
metro-config/build/serializer/getCssDeps.d.ts
metro-config/build/serializer/getCssDeps.js
metro-config/build/serializer/getCssDeps.js.map
metro-config/src/serializer/getCssDeps.ts
/expo/packages/expo-background-fetch/build/ExpoBackgroundFetch.d.ts.map
/expo/packages/expo-background-fetch/build/ExpoBackgroundFetch.js.map
/expo/packages/expo-constants/build/ExponentConstants.web.js
/expo/packages/expo-constants/build/ExponentConstants.web.js.map
/expo/packages/expo-constants/src/ExponentConstants.web.ts
/expo/packages/expo-contacts/build/Contacts.d.ts.map
/expo/packages/expo-contacts/build/Contacts.js
/expo/packages/expo-contacts/build/Contacts.js.map
/expo/packages/expo-contacts/src/Contacts.ts
/expo/packages/expo-dev-launcher/android/src/debug/assets/expo_dev_launcher_android.bundle
/expo/packages/expo-dev-launcher/ios/main.jsbundle
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/app/components/Onboarding.tsx
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.android.js
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.ios.js
/expo/packages/expo-dev-menu/ios/Interceptors/DevMenuKeyCommandsInterceptor.swift
/expo/packages/expo-file-system/CHANGELOG.md
/expo/packages/expo-file-system/build/ExponentFileSystem.d.ts.map
/expo/packages/expo-file-system/build/ExponentFileSystem.js
/expo/packages/expo-file-system/build/ExponentFileSystem.js.map
/expo/packages/expo-file-system/build/FileSystem.d.ts.map
/expo/packages/expo-file-system/build/FileSystem.js
/expo/packages/expo-file-system/build/FileSystem.js.map
/expo/packages/expo-file-system/expo-module.config.json
/expo/packages/expo-file-system/ios/EXFilePermissionModule.h
/expo/packages/expo-file-system/ios/EXFilePermissionModule.m
/expo/packages/expo-file-system/ios/EXFileSystem.h
/expo/packages/expo-file-system/ios/EXFileSystem.m
/expo/packages/expo-file-system/ios/EXFileSystemAssetLibraryHandler.h
/expo/packages/expo-file-system/ios/EXFileSystemAssetLibraryHandler.m
/expo/packages/expo-file-system/ios/EXFileSystemHandler.h
/expo/packages/expo-file-system/ios/EXFileSystemLocalFileHandler.h
/expo/packages/expo-file-system/ios/EXFileSystemLocalFileHandler.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionCancelableUploadTaskDelegate.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionCancelableUploadTaskDelegate.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionDownloadTaskDelegate.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionDownloadTaskDelegate.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionHandler.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionHandler.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionResumableDownloadTaskDelegate.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionResumableDownloadTaskDelegate.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionTaskDelegate.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionTaskDelegate.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionTaskDispatcher.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionTaskDispatcher.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionUploadTaskDelegate.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXSessionUploadTaskDelegate.m
/expo/packages/expo-file-system/ios/EXSessionTasks/EXTaskHandlersManager.h
/expo/packages/expo-file-system/ios/EXSessionTasks/EXTaskHandlersManager.m
/expo/packages/expo-file-system/ios/Encoding.swift
/expo/packages/expo-file-system/ios/ExpoFileSystem.h
/expo/packages/expo-file-system/ios/ExpoFileSystem.podspec
/expo/packages/expo-file-system/ios/FileSystemBackgroundSessionHandler.swift
/expo/packages/expo-file-system/ios/FileSystemExceptions.swift
/expo/packages/expo-file-system/ios/FileSystemHelpers.swift
/expo/packages/expo-file-system/ios/FileSystemModule.swift
/expo/packages/expo-file-system/ios/FileSystemRecords.swift
/expo/packages/expo-file-system/ios/NSData+EXFileSystem.h
/expo/packages/expo-file-system/ios/NSData+EXFileSystem.m
/expo/packages/expo-file-system/ios/NetworkingHelpers.swift
/expo/packages/expo-file-system/ios/Tests/EXFileSystemSpec.swift
/expo/packages/expo-file-system/src/ExponentFileSystem.ts
/expo/packages/expo-file-system/src/FileSystem.ts
/expo/packages/expo-font/CHANGELOG.md
/expo/packages/expo-font/build/ExpoFontLoader.web.d.ts.map
/expo/packages/expo-font/build/ExpoFontLoader.web.js
/expo/packages/expo-font/build/ExpoFontLoader.web.js.map
/expo/packages/expo-font/build/server.d.ts
/expo/packages/expo-font/build/server.d.ts.map
/expo/packages/expo-font/build/server.js.map
/expo/packages/expo-font/src/ExpoFontLoader.web.ts
/expo/packages/expo-font/src/server.ts
/expo/packages/expo-gl/build/GLView.types.d.ts
/expo/packages/expo-gl/build/GLView.types.js.map
/expo/packages/expo-gl/src/GLView.types.ts
/expo/packages/expo-modules-core/CHANGELOG.md
/expo/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/defaultmodules/CoreModule.kt
/expo/packages/expo-modules-core/android/src/main/java/expo/modules/kotlin/jni/JavaCallback.kt
/expo/packages/expo-modules-core/build/index.d.ts
/expo/packages/expo-modules-core/build/index.d.ts.map
/expo/packages/expo-modules-core/build/index.js
/expo/packages/expo-modules-core/build/index.js.map
/expo/packages/expo-modules-core/build/requireNativeModule.d.ts
/expo/packages/expo-modules-core/build/requireNativeModule.d.ts.map
/expo/packages/expo-modules-core/build/requireNativeModule.js.map
/expo/packages/expo-modules-core/build/uuid/index.d.ts
/expo/packages/expo-modules-core/build/uuid/index.d.ts.map
/expo/packages/expo-modules-core/build/uuid/index.js
/expo/packages/expo-modules-core/build/uuid/index.js.map
/expo/packages/expo-modules-core/build/uuid/uuid.d.ts
/expo/packages/expo-modules-core/build/uuid/uuid.d.ts.map
/expo/packages/expo-modules-core/build/uuid/uuid.js
/expo/packages/expo-modules-core/build/uuid/uuid.js.map
/expo/packages/expo-modules-core/build/uuid/uuid.types.d.ts
/expo/packages/expo-modules-core/build/uuid/uuid.types.d.ts.map
/expo/packages/expo-modules-core/build/uuid/uuid.types.js
/expo/packages/expo-modules-core/build/uuid/uuid.types.js.map
/expo/packages/expo-modules-core/build/uuid/uuid.web.d.ts
/expo/packages/expo-modules-core/build/uuid/uuid.web.d.ts.map
/expo/packages/expo-modules-core/build/uuid/uuid.web.js
/expo/packages/expo-modules-core/build/uuid/uuid.web.js.map
/expo/packages/expo-modules-core/ios/AppDelegates/ExpoAppDelegate.swift
/expo/packages/expo-modules-core/ios/Swift/DynamicTypes/DynamicSharedObjectType.swift
/expo/packages/expo-modules-core/ios/Swift/Modules/CoreModule.swift
/expo/packages/expo-modules-core/ios/Swift/SharedObjects/SharedRef.swift
/expo/packages/expo-modules-core/src/index.ts
/expo/packages/expo-modules-core/src/requireNativeModule.ts
/expo/packages/expo-modules-core/src/uuid/index.ts
/expo/packages/expo-modules-core/src/uuid/uuid.ts
/expo/packages/expo-modules-core/src/uuid/uuid.types.ts
/expo/packages/expo-modules-core/src/uuid/uuid.web.ts
/expo/packages/expo-notifications/build/ServerRegistrationModule.web.js
/expo/packages/expo-notifications/build/ServerRegistrationModule.web.js.map
/expo/packages/expo-notifications/build/presentNotificationAsync.d.ts.map
/expo/packages/expo-notifications/build/presentNotificationAsync.js
/expo/packages/expo-notifications/build/presentNotificationAsync.js.map
/expo/packages/expo-notifications/build/scheduleNotificationAsync.js
/expo/packages/expo-notifications/build/scheduleNotificationAsync.js.map
/expo/packages/expo-notifications/src/ServerRegistrationModule.web.ts
/expo/packages/expo-notifications/src/presentNotificationAsync.ts
/expo/packages/expo-notifications/src/scheduleNotificationAsync.ts
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/build/LocationProvider.d.ts
/expo/packages/expo-router/build/LocationProvider.d.ts.map
/expo/packages/expo-router/build/LocationProvider.js
/expo/packages/expo-router/build/LocationProvider.js.map
/expo/packages/expo-router/build/fork/getPathFromState.d.ts
/expo/packages/expo-router/build/fork/getPathFromState.d.ts.map
/expo/packages/expo-router/build/fork/getPathFromState.js
/expo/packages/expo-router/build/fork/getPathFromState.js.map
/expo/packages/expo-router/build/fork/getStateFromPath.d.ts
/expo/packages/expo-router/build/fork/getStateFromPath.d.ts.map
/expo/packages/expo-router/build/fork/getStateFromPath.js
/expo/packages/expo-router/build/fork/getStateFromPath.js.map
/expo/packages/expo-router/build/link/useLinkToPathProps.d.ts.map
/expo/packages/expo-router/build/link/useLinkToPathProps.js
/expo/packages/expo-router/build/link/useLinkToPathProps.js.map
/expo/packages/expo-router/build/static/renderStaticContent.d.ts.map
/expo/packages/expo-router/build/static/renderStaticContent.js
/expo/packages/expo-router/build/static/renderStaticContent.js.map
/expo/packages/expo-router/src/LocationProvider.tsx
/expo/packages/expo-router/src/__tests__/LocationProvider.test.node.ts
/expo/packages/expo-router/src/__tests__/navigation.test.tsx
/expo/packages/expo-router/src/fork/__tests__/getPathFromState-upstream.test.node.ts
/expo/packages/expo-router/src/fork/__tests__/getStateFromPath.test.node.ts
/expo/packages/expo-router/src/fork/getPathFromState.ts
/expo/packages/expo-router/src/fork/getStateFromPath.ts
/expo/packages/expo-router/src/link/useLinkToPathProps.tsx
/expo/packages/expo-router/src/static/renderStaticContent.tsx
/expo/packages/jest-expo/src/preset/setup.js
/expo/yarn.lock
0107ef6113-Sep-2023 Douglas Lowder <[email protected]>

[config-plugins][config-types] align with server schema and fix errors (#24430)

# Why

- Align with schema changes (add `supportsTVOnly`)
- Fix test snapshots in `config-plugins`

# How

```

[config-plugins][config-types] align with server schema and fix errors (#24430)

# Why

- Align with schema changes (add `supportsTVOnly`)
- Fix test snapshots in `config-plugins`

# How

```
cd packages/\@expo/config-types
yarn generate --path ../../../../../easProjects/universe/server/www/xdl-schemas/UNVERSIONED-schema.json
npx prettier --write src/ExpoConfig.ts
```

Then fix tests in `config-plugins`.

# Test Plan

Existing tests should pass

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

show more ...

21bd91d013-Sep-2023 Evan Bacon <[email protected]>

feat(metro-config)!: replace metroTarget with isServer in babel caller (#24410)

# Why

This is a more pragmatic name, we haven't really rolled the other change
in a capacity that has been used ye

feat(metro-config)!: replace metroTarget with isServer in babel caller (#24410)

# Why

This is a more pragmatic name, we haven't really rolled the other change
in a capacity that has been used yet (only released in `@next`
versions).

# Test Plan

Updated the tests

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [ ] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).

---------

Co-authored-by: Expo Bot <[email protected]>

show more ...

12345678910>>...23