History log of /expo/docs/ (Results 1 – 25 of 5858)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
75d433ca26-Sep-2023 Aman Mittal <[email protected]>

[docs] Fix inconsistent terms usage, ellipses usage and update vale's token ignore scopes (#24593)


/expo/android/expoview/src/main/java/versioned/host/exp/exponent/ExperiencePackagePicker.kt
.vale.ini
.vale/writing-styles/expo-docs/Consistency.yml
.vale/writing-styles/expo-docs/Ellipses.yml
pages/app-signing/app-credentials.mdx
pages/archive/classic-updates/building-standalone-apps.mdx
pages/archive/managed-vs-bare.mdx
pages/build-reference/e2e-tests.mdx
pages/build-reference/troubleshooting.mdx
pages/build-reference/variables.mdx
pages/build-reference/variants.mdx
pages/build/eas-json.mdx
pages/core-concepts.mdx
pages/custom-builds/get-started.mdx
pages/debugging/tools.mdx
pages/eas-update/build-locally.mdx
pages/eas-update/github-actions.mdx
pages/eas-update/migrate-from-classic-updates.mdx
pages/get-started/expo-go.mdx
pages/guides/ios-developer-mode.mdx
pages/guides/localization.mdx
pages/guides/monorepos.mdx
pages/more/expo-cli.mdx
pages/more/glossary-of-terms.mdx
pages/preview/api-routes.mdx
pages/preview/introduction.mdx
pages/push-notifications/faq.mdx
pages/push-notifications/push-notifications-setup.mdx
pages/push-notifications/sending-notifications-custom.mdx
pages/push-notifications/sending-notifications.mdx
pages/tutorial/follow-up.mdx
pages/versions/unversioned/sdk/auth-session.mdx
pages/versions/unversioned/sdk/filesystem.mdx
pages/versions/unversioned/sdk/flash-list.mdx
pages/versions/unversioned/sdk/gesture-handler.mdx
pages/versions/unversioned/sdk/netinfo.mdx
pages/versions/v46.0.0/sdk/auth-session.mdx
pages/versions/v46.0.0/sdk/filesystem.mdx
pages/versions/v46.0.0/sdk/firebase-analytics.mdx
pages/versions/v46.0.0/sdk/firebase-recaptcha.mdx
pages/versions/v46.0.0/sdk/flash-list.mdx
pages/versions/v46.0.0/sdk/gesture-handler.mdx
pages/versions/v46.0.0/sdk/netinfo.mdx
pages/versions/v46.0.0/sdk/stripe.mdx
pages/versions/v47.0.0/sdk/auth-session.mdx
pages/versions/v47.0.0/sdk/filesystem.mdx
pages/versions/v47.0.0/sdk/firebase-analytics.mdx
pages/versions/v47.0.0/sdk/firebase-recaptcha.mdx
pages/versions/v47.0.0/sdk/flash-list.mdx
pages/versions/v47.0.0/sdk/gesture-handler.mdx
pages/versions/v47.0.0/sdk/netinfo.mdx
pages/versions/v47.0.0/sdk/stripe.mdx
pages/versions/v48.0.0/sdk/auth-session.mdx
pages/versions/v48.0.0/sdk/filesystem.mdx
pages/versions/v48.0.0/sdk/flash-list.mdx
pages/versions/v48.0.0/sdk/gesture-handler.mdx
pages/versions/v48.0.0/sdk/netinfo.mdx
pages/versions/v48.0.0/sdk/stripe.mdx
pages/versions/v49.0.0/sdk/auth-session.mdx
pages/versions/v49.0.0/sdk/filesystem.mdx
pages/versions/v49.0.0/sdk/flash-list.mdx
pages/versions/v49.0.0/sdk/gesture-handler.mdx
pages/versions/v49.0.0/sdk/netinfo.mdx
pages/workflow/continuous-native-generation.mdx
pages/workflow/ios-simulator.mdx
/expo/packages/expo-task-manager/CHANGELOG.md
/expo/packages/expo-task-manager/android/src/main/java/expo/modules/taskManager/TaskManagerModule.kt
/expo/packages/expo-task-manager/android/src/main/java/expo/modules/taskManager/TaskManagerPackage.java
/expo/packages/expo-task-manager/build/ExpoTaskManager.d.ts
/expo/packages/expo-task-manager/build/ExpoTaskManager.d.ts.map
/expo/packages/expo-task-manager/build/ExpoTaskManager.js
/expo/packages/expo-task-manager/build/ExpoTaskManager.js.map
/expo/packages/expo-task-manager/expo-module.config.json
/expo/packages/expo-task-manager/src/ExpoTaskManager.ts
f345162525-Sep-2023 Mark Lawlor <[email protected]>

docs: npx expo customize tsconfig.json (#24170)

# Why

Document the new `npx expo customize tsconfig.json` functionality

---------

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

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

8e7e039524-Sep-2023 Craig Malton <[email protected]>

[docs] Update local-builds.mdx (#24594)

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

7a936a3324-Sep-2023 sak2 <[email protected]>

[docs] Update android-studio-emulator.mdx - Windows PATH instruction (#24566)

f7a1430024-Sep-2023 Aman Mittal <[email protected]>

[docs] Consolidate build/submit eas.json reference into one page (#24491)

Co-authored-by: Brent Vatne <[email protected]>

6ad37b8224-Sep-2023 Randall71 <[email protected]>

[docs] Update tools.mdx (#24589)

4ba221c323-Sep-2023 Aman Mittal <[email protected]>

[docs] Change Icons under Explore APIs section on Home page (#24479)

c0d9871d22-Sep-2023 Brent Vatne <[email protected]>

[docs] Fix broken link

0dde25e822-Sep-2023 Łukasz Kosmaty <[email protected]>

[android] [application] migrate to sweet API (#24568)

# Why

Improved version of https://github.com/expo/expo/pull/22585.


/expo/android/expoview/src/main/java/host/exp/exponent/experience/DetachedModuleRegistryAdapter.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/test-suite/tests/Application.js
public/static/data/unversioned/expo-application.json
public/static/data/v48.0.0/expo-application.json
/expo/ios/Podfile
/expo/ios/Podfile.lock
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/src/export/__tests__/exportStaticAsync.test.ts
/expo/packages/@expo/cli/src/export/exportStaticAsync.ts
/expo/packages/@expo/cli/src/start/server/type-generation/__tests__/startTypescriptTypeGeneration.test.ts
/expo/packages/@expo/cli/src/start/server/type-generation/expo-env.ts
/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-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-launcher/CHANGELOG.md
/expo/packages/expo-dev-launcher/ios/ReactDelegateHandler/ExpoDevLauncherAppDelegateSubscriber.swift
/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/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-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
/expo/packages/expo/CHANGELOG.md
/expo/packages/expo/types/global.d.ts
/expo/packages/expo/types/index.d.ts
/expo/packages/expo/types/metro-require.d.ts
/expo/packages/expo/types/react-native-web.d.ts
05bcf8e721-Sep-2023 Wojciech Dróżdż <[email protected]>

[go] Improve the incompatible SDK version error screen (#24310)

# Why

We want to improve the incompatible SDK error screen in Expo Go, because
we will be supporting only two SDK versions, so mor

[go] Improve the incompatible SDK version error screen (#24310)

# Why

We want to improve the incompatible SDK error screen in Expo Go, because
we will be supporting only two SDK versions, so more people will see it.

# How

- The header is now descriptive instead of generic "Something went
wrong"
- Updated the message to provide more information
- The message now contains a link to a docs page
- On iOS it was created with attributed string and replacing the UILabel
with UITextView
- On Android we embed html hyperlink into the message and then render
the text as HTML
- Added update instructions into the docs page. Also added instructions
on how to install an older version of Expo Go.

# Test Plan

Tested in Go on iOS 16 and Android SDK 33, 34

<img width="190" alt="image"
src="https://github.com/expo/expo/assets/31368152/c79ec613-8f19-4aef-91d0-99c682124f31">
<img width="190" alt="image"
src="https://github.com/expo/expo/assets/31368152/292d8fcd-5532-4ac9-828a-6d870c396040">
<img width="190" alt="image"
src="https://github.com/expo/expo/assets/31368152/d94eff4e-0113-4cea-a5ee-64a9284fb254">
<img width="190" alt="image"
src="https://github.com/expo/expo/assets/31368152/6c819e52-2cc5-4e6f-9614-0bb22427e61c">

---------

Co-authored-by: Brent Vatne <[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/apps/bare-expo/ios/Podfile.lock
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
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/bin/cli.ts
/expo/packages/@expo/cli/package.json
/expo/packages/@expo/cli/src/config/configAsync.ts
/expo/packages/@expo/cli/src/config/index.ts
/expo/packages/@expo/cli/src/customize/generate.ts
/expo/packages/@expo/cli/src/customize/typescript.ts
/expo/packages/@expo/cli/src/export/embed/index.ts
/expo/packages/@expo/cli/src/export/index.ts
/expo/packages/@expo/cli/src/export/web/index.ts
/expo/packages/@expo/cli/src/install/installAsync.ts
/expo/packages/@expo/cli/src/login/index.ts
/expo/packages/@expo/cli/src/logout/index.ts
/expo/packages/@expo/cli/src/prebuild/index.ts
/expo/packages/@expo/cli/src/prebuild/prebuildAsync.ts
/expo/packages/@expo/cli/src/register/index.ts
/expo/packages/@expo/cli/src/run/android/index.ts
/expo/packages/@expo/cli/src/run/ios/index.ts
/expo/packages/@expo/cli/src/start/index.ts
/expo/packages/@expo/cli/src/start/server/metro/MetroBundlerDevServer.ts
/expo/packages/@expo/cli/src/utils/cocoapods.ts
/expo/packages/@expo/cli/src/whoami/index.ts
/expo/packages/@expo/fingerprint/CHANGELOG.md
/expo/packages/@expo/fingerprint/build/utils/Path.js
/expo/packages/@expo/fingerprint/build/utils/Path.js.map
/expo/packages/@expo/metro-config/CHANGELOG.md
/expo/packages/@expo/metro-config/build/transform-worker/css-modules.js
/expo/packages/@expo/metro-config/build/transform-worker/css-modules.js.map
/expo/packages/@expo/metro-config/build/transform-worker/postcss.js
/expo/packages/@expo/metro-config/build/transform-worker/postcss.js.map
/expo/packages/@expo/metro-config/build/transform-worker/transform-worker.js
/expo/packages/@expo/metro-config/build/transform-worker/transform-worker.js.map
/expo/packages/@expo/metro-config/src/transform-worker/css-modules.ts
/expo/packages/@expo/metro-config/src/transform-worker/postcss.ts
/expo/packages/@expo/metro-config/src/transform-worker/transform-worker.ts
/expo/packages/@expo/package-manager/CHANGELOG.md
/expo/packages/@expo/package-manager/build/ios/CocoaPodsPackageManager.js
/expo/packages/@expo/package-manager/build/ios/CocoaPodsPackageManager.js.map
/expo/packages/@expo/package-manager/build/node/BasePackageManager.js
/expo/packages/@expo/package-manager/build/node/BasePackageManager.js.map
/expo/packages/@expo/package-manager/build/node/BunPackageManager.js
/expo/packages/@expo/package-manager/build/node/BunPackageManager.js.map
/expo/packages/@expo/package-manager/build/node/NpmPackageManager.js
/expo/packages/@expo/package-manager/build/node/NpmPackageManager.js.map
/expo/packages/@expo/package-manager/build/node/PnpmPackageManager.js
/expo/packages/@expo/package-manager/build/node/PnpmPackageManager.js.map
/expo/packages/@expo/package-manager/build/node/YarnPackageManager.js
/expo/packages/@expo/package-manager/build/node/YarnPackageManager.js.map
/expo/packages/@expo/prebuild-config/CHANGELOG.md
/expo/packages/@expo/prebuild-config/build/plugins/unversioned/expo-ads-admob/expo-ads-admob.d.ts
/expo/packages/@expo/prebuild-config/build/plugins/unversioned/expo-branch/expo-branch.d.ts
/expo/packages/@expo/prebuild-config/build/plugins/unversioned/expo-navigation-bar/expo-navigation-bar.d.ts
/expo/packages/@expo/prebuild-config/build/plugins/unversioned/expo-splash-screen/expo-splash-screen.d.ts
/expo/packages/@expo/prebuild-config/build/plugins/unversioned/expo-system-ui/expo-system-ui.d.ts
/expo/packages/@expo/server/CHANGELOG.md
/expo/packages/@expo/server/build/environment.js
/expo/packages/@expo/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-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/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 ...

911e875f20-Sep-2023 Aman Mittal <[email protected]>

[docs] Add a guide on how to build apps locally (#24371)

Co-authored-by: Brent Vatne <[email protected]>


/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/bare-expo/ios/Podfile.lock
/expo/apps/router-e2e/__e2e__/server/app/(alpha)/beta.tsx
.vale/writing-styles/expo-docs/HeadingCase.yml
constants/navigation.js
pages/deploy/build-project.mdx
pages/develop/development-builds/create-a-build.mdx
pages/develop/development-builds/development-workflows.mdx
pages/guides/local-app-development.mdx
/expo/ios/Podfile.lock
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/e2e/__tests__/export/server.test.ts
/expo/packages/@expo/cli/src/export/__tests__/exportStaticAsync.test.ts
/expo/packages/@expo/cli/src/export/exportStaticAsync.ts
/expo/packages/@expo/config-plugins/package.json
/expo/packages/@expo/fingerprint/CHANGELOG.md
/expo/packages/@expo/fingerprint/package.json
/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
a16ac08220-Sep-2023 Aman Mittal <[email protected]>

[docs] Fix vale warning about Latin abbrv., inconsistent case in headings and update verbiage (#24452)

Co-authored-by: Bartosz Kaszubowski <[email protected]>


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

[docs] Move API Routes guide under Preview (#24506)


/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
constants/navigation.js
pages/preview/api-routes.mdx
/expo/packages/@expo/config/CHANGELOG.md
/expo/packages/@expo/config/build/Serialize.js
/expo/packages/@expo/config/build/Serialize.js.map
/expo/packages/@expo/config/src/Serialize.ts
/expo/packages/@expo/fingerprint/CHANGELOG.md
/expo/packages/@expo/fingerprint/README.md
/expo/packages/@expo/fingerprint/__mocks__/@expo/spawn-async.ts
/expo/packages/@expo/fingerprint/__mocks__/fs/promises.ts
/expo/packages/@expo/fingerprint/build/Options.js
/expo/packages/@expo/fingerprint/build/Options.js.map
/expo/packages/@expo/fingerprint/build/hash/Hash.d.ts
/expo/packages/@expo/fingerprint/build/hash/Hash.js
/expo/packages/@expo/fingerprint/build/hash/Hash.js.map
/expo/packages/@expo/fingerprint/build/sourcer/Expo.js
/expo/packages/@expo/fingerprint/build/sourcer/Expo.js.map
/expo/packages/@expo/fingerprint/build/sourcer/ExpoConfigLoader.d.ts
/expo/packages/@expo/fingerprint/build/sourcer/ExpoConfigLoader.js
/expo/packages/@expo/fingerprint/build/sourcer/ExpoConfigLoader.js.map
/expo/packages/@expo/fingerprint/build/utils/Path.d.ts
/expo/packages/@expo/fingerprint/build/utils/Path.js
/expo/packages/@expo/fingerprint/build/utils/Path.js.map
/expo/packages/@expo/fingerprint/e2e/__tests__/bare-test.ts
/expo/packages/@expo/fingerprint/e2e/__tests__/managed-test.ts
/expo/packages/@expo/fingerprint/package.json
/expo/packages/@expo/fingerprint/src/Options.ts
/expo/packages/@expo/fingerprint/src/hash/Hash.ts
/expo/packages/@expo/fingerprint/src/hash/__tests__/Hash-test.ts
/expo/packages/@expo/fingerprint/src/sourcer/Expo.ts
/expo/packages/@expo/fingerprint/src/sourcer/ExpoConfigLoader.ts
/expo/packages/@expo/fingerprint/src/sourcer/__tests__/Expo-test.ts
/expo/packages/@expo/fingerprint/src/sourcer/__tests__/PatchPackage-test.ts
/expo/packages/@expo/fingerprint/src/sourcer/__tests__/Sourcer-test.ts
/expo/packages/@expo/fingerprint/src/utils/Path.ts
/expo/packages/@expo/fingerprint/src/utils/__tests__/Path-test.ts
/expo/packages/@expo/package-manager/CHANGELOG.md
/expo/packages/@expo/package-manager/build/utils/nodeManagers.js
/expo/packages/@expo/package-manager/build/utils/nodeManagers.js.map
/expo/packages/@expo/package-manager/src/utils/__tests__/nodeManagers-test.ts
/expo/packages/@expo/package-manager/src/utils/nodeManagers.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
e9783df218-Sep-2023 Douglas Lowder <[email protected]>

[expo-updates] Add missing export in checkForUpdateAsync result (#24503)

# Why

In testing with the launch week demo app (UpdatesAPIDemo), found that
the new "reason" enum was not exported in `Up

[expo-updates] Add missing export in checkForUpdateAsync result (#24503)

# Why

In testing with the launch week demo app (UpdatesAPIDemo), found that
the new "reason" enum was not exported in `Updates.types.ts`.

# How

- Added the export
- Regenerated API docs

# Test Plan

- New enum is accessible from demo app code
- Check generated docs in local server

# 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).

---------

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

show more ...

3d1dcea818-Sep-2023 Evan Bacon <[email protected]>

chore(expo-network): remove deprecated getMacAddressAsync (#24505)

# Why

- `getMacAddressAsync` has been deprecated for years.
- Add support for running the module in server environments.

---

chore(expo-network): remove deprecated getMacAddressAsync (#24505)

# Why

- `getMacAddressAsync` has been deprecated for years.
- Add support for running the module in server environments.

---------

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

show more ...

8d56e5c518-Sep-2023 Felix Schindler <[email protected]>

[docs] Fix typo in "Create a development build" (#24507)

Co-authored-by: Felix Schindler <[email protected]>


/expo/android/expoview/src/main/java/versioned/host/exp/exponent/modules/universal/notifications/ScopedServerRegistrationModule.kt
/expo/apps/native-component-list/package.json
/expo/apps/test-suite/tests/SQLite.ts
pages/develop/development-builds/create-a-build.mdx
/expo/ios/Podfile.lock
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/package.json
/expo/packages/@expo/cli/src/export/exportApp.ts
/expo/packages/@expo/cli/src/export/getPublicExpoManifest.ts
/expo/packages/@expo/cli/src/start/server/metro/MetroBundlerDevServer.ts
/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/.eslintignore
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/android/build.gradle
/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-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/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-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
/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
c8170acc18-Sep-2023 Aman Mittal <[email protected]>

[expo-contacts][docs] Fix broken link for app config doc (#24477)

e6b55b9318-Sep-2023 Aman Mittal <[email protected]>

[docs] Add newsletter links to sidebar footer and Home page (#24482)

0685088e18-Sep-2023 Aman Mittal <[email protected]>

[docs] Update verbiage, fix formatting issues and vale warnings in API Routes guide (#24478)


/expo/.github/resources/expo-video.svg
/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
pages/router/reference/api-routes.mdx
/expo/ios/Exponent.xcodeproj/project.pbxproj
/expo/ios/Exponent/ExpoKit/ExpoKit.m
/expo/ios/Exponent/Kernel/Core/EXKernel.h
/expo/ios/Exponent/Kernel/Core/EXKernel.m
/expo/ios/Exponent/Kernel/Core/EXKernelServiceRegistry.h
/expo/ios/Exponent/Kernel/Core/EXKernelServiceRegistry.m
/expo/ios/Exponent/Kernel/ReactAppManager/EXReactAppManager.mm
/expo/ios/Exponent/Kernel/Services/EXErrorRecoveryManager.m
/expo/ios/Podfile.lock
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/package.json
/expo/packages/@expo/config/CHANGELOG.md
/expo/packages/@expo/config/package.json
/expo/packages/@expo/metro-config/CHANGELOG.md
/expo/packages/@expo/metro-config/package.json
/expo/packages/@expo/prebuild-config/CHANGELOG.md
/expo/packages/@expo/prebuild-config/package.json
/expo/packages/@expo/server/CHANGELOG.md
/expo/packages/@expo/server/package.json
/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-dev-client/CHANGELOG.md
/expo/packages/expo-dev-launcher/CHANGELOG.md
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-image/CHANGELOG.md
/expo/packages/expo-notifications/CHANGELOG.md
/expo/packages/expo-notifications/android/build.gradle
/expo/packages/expo-notifications/ios/EXNotifications/Notifications/EXNotificationCenterDelegate.m
/expo/packages/expo-notifications/package.json
/expo/packages/expo-router/CHANGELOG.md
/expo/packages/expo-router/package.json
/expo/packages/expo-splash-screen/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
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/.github/workflows/updates-e2e.yml
/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/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/apps/sandbox/package.json
/expo/apps/test-suite/package.json
components/base/code.tsx
constants/navigation.js
pages/router/reference/api-routes.mdx
/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
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/e2e/__tests__/export-embed-test.ts
/expo/packages/@expo/cli/e2e/__tests__/export-test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/__snapshots__/static-rendering.test.ts.snap
/expo/packages/@expo/cli/e2e/__tests__/export/base-path.test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/server.test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/single-page-app.test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/static-rendering.test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/url-polyfill.test.ts
/expo/packages/@expo/cli/e2e/__tests__/export/without-sourcemaps.test.ts
/expo/packages/@expo/cli/package.json
/expo/packages/@expo/cli/src/export/createMetadataJson.ts
/expo/packages/@expo/cli/src/export/exportApp.ts
/expo/packages/@expo/cli/src/export/exportStaticAsync.ts
/expo/packages/@expo/cli/src/export/writeContents.ts
/expo/packages/@expo/cli/src/start/server/getStaticRenderFunctions.ts
/expo/packages/@expo/cli/src/start/server/metro/MetroBundlerDevServer.ts
/expo/packages/@expo/cli/src/start/server/metro/bundleApiRoutes.ts
/expo/packages/@expo/cli/src/start/server/metro/createServerRouteMiddleware.ts
/expo/packages/@expo/cli/src/start/server/metro/fetchRouterManifest.ts
/expo/packages/@expo/cli/src/start/server/metro/instantiateMetro.ts
/expo/packages/@expo/cli/src/start/server/metro/metroErrorInterface.ts
/expo/packages/@expo/cli/src/start/server/metro/router.ts
/expo/packages/@expo/cli/src/start/server/metro/waitForMetroToObserveTypeScriptFile.ts
/expo/packages/@expo/cli/src/start/server/metro/withMetroMultiPlatform.ts
/expo/packages/@expo/cli/src/start/server/middleware/ManifestMiddleware.ts
/expo/packages/@expo/cli/src/start/server/middleware/inspector/LaunchBrowserImplWindows.ts
/expo/packages/@expo/cli/src/start/server/type-generation/__tests__/startTypescriptTypeGeneration.test.ts
/expo/packages/@expo/cli/src/start/server/type-generation/routes.ts
/expo/packages/@expo/cli/src/start/server/type-generation/startTypescriptTypeGeneration.ts
/expo/packages/@expo/config-plugins/CHANGELOG.md
/expo/packages/@expo/config-plugins/build/ios/DeviceFamily.js
/expo/packages/@expo/config-plugins/build/ios/DeviceFamily.js.map
/expo/packages/@expo/config-plugins/package.json
/expo/packages/@expo/config-plugins/src/ios/DeviceFamily.ts
/expo/packages/@expo/config-types/package.json
/expo/packages/@expo/config/package.json
/expo/packages/@expo/metro-config/CHANGELOG.md
/expo/packages/@expo/metro-config/build/customizeFrame.js
/expo/packages/@expo/metro-config/build/customizeFrame.js.map
/expo/packages/@expo/metro-config/build/transform-worker/transform-worker.js
/expo/packages/@expo/metro-config/build/transform-worker/transform-worker.js.map
/expo/packages/@expo/metro-config/package.json
/expo/packages/@expo/metro-config/src/customizeFrame.ts
/expo/packages/@expo/metro-config/src/transform-worker/__tests__/transform-worker.test.ts
/expo/packages/@expo/metro-config/src/transform-worker/transform-worker.ts
/expo/packages/@expo/metro-runtime/CHANGELOG.md
/expo/packages/@expo/metro-runtime/package.json
/expo/packages/@expo/package-manager/CHANGELOG.md
/expo/packages/@expo/package-manager/package.json
/expo/packages/@expo/prebuild-config/package.json
/expo/packages/@expo/server/.eslintignore
/expo/packages/@expo/server/CHANGELOG.md
/expo/packages/@expo/server/LICENSE-third-party
/expo/packages/@expo/server/README.md
/expo/packages/@expo/server/babel.config.js
/expo/packages/@expo/server/build/environment.d.ts
/expo/packages/@expo/server/build/environment.js
/expo/packages/@expo/server/build/environment.js.map
/expo/packages/@expo/server/build/index.d.ts
/expo/packages/@expo/server/build/index.js
/expo/packages/@expo/server/build/index.js.map
/expo/packages/@expo/server/build/types.d.ts
/expo/packages/@expo/server/build/types.js
/expo/packages/@expo/server/build/types.js.map
/expo/packages/@expo/server/build/vendor/express.d.ts
/expo/packages/@expo/server/build/vendor/express.js
/expo/packages/@expo/server/build/vendor/express.js.map
/expo/packages/@expo/server/build/vendor/http.d.ts
/expo/packages/@expo/server/build/vendor/http.js
/expo/packages/@expo/server/build/vendor/http.js.map
/expo/packages/@expo/server/install.js
/expo/packages/@expo/server/jest.config.js
/expo/packages/@expo/server/package.json
/expo/packages/@expo/server/src/environment.ts
/expo/packages/@expo/server/src/index.ts
/expo/packages/@expo/server/src/types.ts
/expo/packages/@expo/server/src/vendor/express.ts
/expo/packages/@expo/server/src/vendor/http.ts
/expo/packages/@expo/server/tsconfig.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/ios/FileSystemHelpers.swift
/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/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/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/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/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/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/.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
/expo/tools/src/EASUpdate.ts
/expo/tools/src/commands/PublishDevExpoHomeCommand.ts
/expo/tools/src/commands/PublishProdExpoHomeCommand.ts
/expo/tools/src/typings/AppConfig.ts
/expo/yarn.lock
7b7829a615-Sep-2023 Brent Vatne <[email protected]>

[docs] Add note about Flipper RFC and point to debugging tools doc

46b58c5915-Sep-2023 Keith Kurak <[email protected]>

[docs] separate copy and link icons on headers/ collapsibles (#24448)

# Why
A follow-up to https://github.com/expo/expo/pull/24293 based on feedback
from @brentvatne . The goal is to create more c

[docs] separate copy and link icons on headers/ collapsibles (#24448)

# Why
A follow-up to https://github.com/expo/expo/pull/24293 based on feedback
from @brentvatne . The goal is to create more consistency and clarity
between the anchor link and copy anchor link functionality on both
headers and collapsibles.

**UPDATE**: After talking with Brent, I removed the copy functionality,
the idea being that, now that clicking the link icon everywhere gets you
an updated URL, it's easy enough to copy. So, this really just updates
collapsibles and removes copy functionality from the headings. I left
the icon switch in there in case there was some appeal to that, since
the link icon seemed to be a one-off.

# How (old)
There's a few ways to slice this, but this approach is to try separating
the functionality into two icons. I've definitely seen this elsewhere,
can't remember where tho.
<img width="419" alt="image"
src="https://github.com/expo/expo/assets/8053974/19917dd5-eeae-4bcd-9152-242608fbf39c">
<img width="554" alt="image"
src="https://github.com/expo/expo/assets/8053974/12164972-6728-4e08-b993-2d3c38026ba4">

Now we have consistent rules for both headers and collapsibles:
- the link icon always navigates to the anchor tag on click
- the copy icon always copies the anchor tag on click (and __only__
copies, no updating of the URL here!)

Additionally, we now have better copy feedback:
<img width="301" alt="image"
src="https://github.com/expo/expo/assets/8053974/2587ad54-bd3f-4977-9361-97092ef8f3c6">
<img width="301" alt="image"
src="https://github.com/expo/expo/assets/8053974/946fae82-c6bf-4225-a097-3836e95b028d">

Design notes:
- I removed the arrow from the tooltip since, if the heading is at the
top of the page, the tooltip moves below the icon, but the arrow still
points down ��
- I didn't see a copy icon in the docs, noticed it seemed like a lot of
other icons were going in the styleguide direction, so I switched both
icons to styleguide. I have no idea how to see all the icons, so I'm not
sure if this is the best of the like 20 different link icons.

## Special collapsible stuff
- Unlike a heading, where you can click anywhere and navigate to the
anchor tag, you have to click the link icon in order to navigate anchor
tag here. This is so you can expand the collapsible without also
scrolling the page.
- If you click the link icon and the collapsible is closed, it will
expand the collapsible as well as updating the URL. However, if the
collapsible is already open, clicking the link icon will not close it.
Thus, clicking the link icon will always leave you in the same state as
if you copied the URL with anchor tag and opened it in another tab.
- The copy icon also expands the collapsible but will not close it.

# Test Plan
- [x] clicking on header text updates URL with anchor tag
- [x] Headers: clicking on link icon updates URL with anchor tag
~~- [x] Headers: clicking on copy icon copies URL (doesn't navigate)~~
- [x] Collapsibles: clicking on header expands/ collapses section ONLY
- [x] Collapsibles: clicking on link expands and navigates
~~- [x] Collapsibles: clicking on copy expands and copies (doesn't
navigate)~~
~~- [x] Collapsibles: clicking on link or copy when already opened
doesn't close~~
~~- [x] Copy tooltip: updates to "Copied!" on click~~

# 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 ...


/expo/.github/workflows/cli.yml
/expo/.github/workflows/create-expo-app.yml
components/Permalink.tsx
components/icons/Permalink.tsx
components/plugins/__snapshots__/APISection.test.tsx.snap
components/plugins/__snapshots__/AppConfigSchemaPropertiesTable.test.tsx.snap
ui/components/Collapsible/index.tsx
/expo/packages/@expo/cli/CHANGELOG.md
/expo/packages/@expo/cli/src/start/server/getStaticRenderFunctions.ts
/expo/packages/@expo/cli/src/start/server/metro/MetroTerminalReporter.ts
/expo/packages/@expo/cli/src/start/server/metro/__tests__/MetroTerminalReporter-test.ts
/expo/packages/@expo/cli/src/start/server/metro/withMetroMultiPlatform.ts
/expo/packages/@expo/metro-config/CHANGELOG.md
/expo/packages/@expo/metro-config/build/serializer/environmentVariableSerializerPlugin.d.ts
/expo/packages/@expo/metro-config/build/serializer/environmentVariableSerializerPlugin.js
/expo/packages/@expo/metro-config/build/serializer/environmentVariableSerializerPlugin.js.map
/expo/packages/@expo/metro-config/build/serializer/withExpoSerializers.js
/expo/packages/@expo/metro-config/build/serializer/withExpoSerializers.js.map
/expo/packages/@expo/metro-config/src/serializer/environmentVariableSerializerPlugin.ts
/expo/packages/@expo/metro-config/src/serializer/withExpoSerializers.ts
/expo/packages/expo-clipboard/ios/Tests/ClipboardModuleSpec.swift
/expo/packages/expo-dev-menu/CHANGELOG.md
/expo/packages/expo-dev-menu/README.md
/expo/packages/expo-dev-menu/app/components/Main.tsx
/expo/packages/expo-dev-menu/app/components/__tests__/Main.test.tsx
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.android.js
/expo/packages/expo-dev-menu/assets/EXDevMenuApp.ios.js
/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

12345678910>>...235