Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions docs/components/plugins/api/APIStaticData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,36 @@ export const sdkVersionHardcodedTypeLinks: Record<string, Record<string, string
TriggerProps: '/versions/latest/sdk/router/ui/#triggerprops',
VectorIconProps: '/versions/latest/sdk/router/#vectoriconprops',
},
'v56.0.0': {
BufferOptions: '/versions/unversioned/sdk/video/#bufferoptions-1',
ButtonElementColors: '/versions/unversioned/sdk/ui/jetpack-compose/button/#buttonelementcolors',
CameraPosition: '/versions/unversioned/sdk/maps/#cameraposition-2',
CornerRadii: '/versions/unversioned/sdk/ui/jetpack-compose/shape/#cornerradii',
EventEmitter: '/versions/unversioned/sdk/expo/#eventemittertype',
ExpoModifier: '/versions/unversioned/sdk/ui/jetpack-compose/modifiers/#expomodifier',
Href: '/versions/unversioned/sdk/router/#hreft',
HrefObject: '/versions/unversioned/sdk/router/#hrefobject',
NativeModule: '/versions/unversioned/sdk/expo/#nativemoduletype',
NativeTabsTriggerBadgeProps:
'/versions/unversioned/sdk/router/native-tabs/#nativetabstriggerbadgeprops',
NativeTabsTriggerIconProps:
'/versions/unversioned/sdk/router/native-tabs/#nativetabstriggericonprops',
NativeTabsTriggerLabelProps:
'/versions/unversioned/sdk/router/native-tabs/#nativetabstriggerlabelprops',
ScrubbingModeOptions: '/versions/unversioned/sdk/video/#scrubbingmodeoptions-1',
SeekTolerance: '/versions/unversioned/sdk/video/#scrubbingmodeoptions-1',
ShapeJSXElement: '/versions/unversioned/sdk/ui/jetpack-compose/shape/#shapejsxelement',
SharedObject: '/versions/unversioned/sdk/expo/#sharedobjecttype',
SharedRef: '/versions/unversioned/sdk/expo/#sharedreftype',
SharedRefType: '/versions/unversioned/sdk/expo/#sharedreftype',
SingularOptions: '/versions/unversioned/sdk/router/#singularoptions',
StackToolbarBadgeProps: '/versions/unversioned/sdk/router/stack/#stacktoolbarbadgeprops',
StackToolbarIconProps: '/versions/unversioned/sdk/router/stack/#stacktoolbariconprops',
StackToolbarLabelProps: '/versions/unversioned/sdk/router/stack/#stacktoolbarlabelprops',
TabsProps: '/versions/unversioned/sdk/router/ui/#tabsprops',
TriggerProps: '/versions/unversioned/sdk/router/ui/#triggerprops',
VectorIconProps: '/versions/unversioned/sdk/router/#vectoriconprops',
},
unversioned: {
BufferOptions: '/versions/unversioned/sdk/video/#bufferoptions-1',
ButtonElementColors: '/versions/unversioned/sdk/ui/jetpack-compose/button/#buttonelementcolors',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,14 @@ export const APISectionPlatformTags = ({
const { platforms: defaultPlatforms } = usePageMetadata();
const { version } = usePageApiVersion();

const isCompatibleVersion = ['unversioned', 'latest', 'v55.0.0', 'v54.0.0', 'v53.0.0'].includes(
version
);
const isCompatibleVersion = [
'unversioned',
'latest',
'v56.0.0',
'v55.0.0',
'v54.0.0',
'v53.0.0',
].includes(version);
const platformsData = platforms ?? getAllTagData('platform', comment);
const experimentalData = getAllTagData('experimental', comment);

Expand Down
1 change: 1 addition & 0 deletions docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "expo-docs",
"version": "55.0.0",
"betaVersion": "56.0.0",
"private": true,
"type": "module",
"scripts": {
Expand Down
1 change: 0 additions & 1 deletion docs/pages/versions/unversioned/sdk/brownfield.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ description: Toolkit and APIs for integrating Expo into existing native applicat
sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-brownfield'
packageName: 'expo-brownfield'
platforms: ['android', 'ios']
isNew: true
---

import APISection from '~/components/plugins/APISection';
Expand Down
1 change: 0 additions & 1 deletion docs/pages/versions/unversioned/sdk/contacts-next.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-contacts'
packageName: 'expo-contacts'
iconUrl: '/static/images/packages/expo-contacts.png'
platforms: ['android', 'ios', 'expo-go']
isNew: true
---

import APISection from '~/components/plugins/APISection';
Expand Down
3 changes: 3 additions & 0 deletions docs/pages/versions/unversioned/sdk/contacts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-contacts'
packageName: 'expo-contacts'
iconUrl: '/static/images/packages/expo-contacts.png'
platforms: ['android', 'ios', 'expo-go']
isDeprecated: true
---

import APISection from '~/components/plugins/APISection';
Expand All @@ -17,6 +18,8 @@ import {
} from '~/ui/components/ConfigSection';
import { SnackInline } from '~/ui/components/Snippet';

> **warning** **[Deprecated](/more/release-statuses/#deprecated):** The `expo-contacts` library is being replaced by a new version in [`expo-contacts/next`](contacts-next.mdx). The current API is not receiving patches and will be removed in an upcoming release.

`expo-contacts` provides access to the device's system contacts, allowing you to get contact information as well as adding, editing, or removing contacts.

On iOS, contacts have a multi-layered grouping system that you can also access through this API.
Expand Down
1 change: 0 additions & 1 deletion docs/pages/versions/unversioned/sdk/media-library-next.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-media-libra
packageName: 'expo-media-library'
iconUrl: '/static/images/packages/expo-media-library.png'
platforms: ['android', 'ios', 'tvos', 'expo-go']
isNew: true
---

import APISection from '~/components/plugins/APISection';
Expand Down
3 changes: 3 additions & 0 deletions docs/pages/versions/unversioned/sdk/media-library.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-media-libra
packageName: 'expo-media-library'
iconUrl: '/static/images/packages/expo-media-library.png'
platforms: ['android', 'ios', 'tvos', 'expo-go']
isDeprecated: true
---

import APISection from '~/components/plugins/APISection';
Expand All @@ -17,6 +18,8 @@ import {
} from '~/ui/components/ConfigSection';
import { SnackInline } from '~/ui/components/Snippet';

> **warning** **[Deprecated](/more/release-statuses/#deprecated):** The `expo-media-library` library is being replaced by a new version in [`expo-media-library/next`](media-library-next.mdx). The current API is not receiving patches and will be removed in an upcoming release.

`expo-media-library` provides access to the user's media library, allowing them to access their existing images and videos from your app, as well as save new ones. You can also subscribe to any updates made to the user's media library.

> **warning** Android allows full access to the media library (which is the purpose of this package) only for applications needing broad access to photos. See [Details on Google Play's Photo and Video Permissions policy](https://support.google.com/googleplay/android-developer/answer/14115180).
Expand Down
1 change: 0 additions & 1 deletion docs/pages/versions/unversioned/sdk/router/split-view.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-router'
packageName: 'expo-router'
platforms: ['ios']
isAlpha: true
isNew: true
---

import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';
Expand Down
3 changes: 1 addition & 2 deletions docs/pages/versions/unversioned/sdk/widgets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@ description: A library to build iOS home screen widgets and Live Activities usin
sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-widgets'
packageName: 'expo-widgets'
platforms: ['ios']
isAlpha: true
---

import APISection from '~/components/plugins/APISection';
import { APIInstallSection } from '~/components/plugins/InstallSection';
import { ConfigPluginExample, ConfigPluginProperties } from '~/ui/components/ConfigSection';

> **important** This library is currently in [alpha](/more/release-statuses/#alpha) and subject to breaking changes. It is not available in the Expo Go app, use [development builds](/develop/development-builds/introduction) to try it out.
> **important** This library is not available in the Expo Go app use [development builds](/develop/development-builds/introduction) to try it out.

`expo-widgets` enables the creation of iOS home screen widgets and Live Activities using Expo UI components, without writing native code. It provides a simple API for creating and updating widgets timeline, as well as starting and managing Live Activities. Layout can be built using [`expo/ui`](/versions/latest/sdk/ui/swift-ui/) components and modifiers.

Expand Down
24 changes: 24 additions & 0 deletions docs/pages/versions/v56.0.0/config/app.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: app.json / app.config.js
description: A reference of available properties in Expo app config.
maxHeadingDepth: 5
---

import { BookOpen02Icon } from '@expo/styleguide-icons/outline/BookOpen02Icon';

import schema from '~/public/static/schemas/v56.0.0/app-config-schema.json';
import AppConfigSchemaTable from '~/ui/components/AppConfigSchemaTable';
import { BoxLink } from '~/ui/components/BoxLink';

The following is a list of properties that are available for you under the `"expo"` key in **app.json** or **app.config.json**. These properties can be passed to the top level object of **app.config.js** or **app.config.ts**.

<BoxLink
title="Configuration with app config"
description="For information on app configuration, the differences between various app config files, and how to use them dynamically."
href="/workflow/configuration/"
Icon={BookOpen02Icon}
/>

## Properties

<AppConfigSchemaTable schema={schema} />
37 changes: 37 additions & 0 deletions docs/pages/versions/v56.0.0/config/babel.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: babel.config.js
description: A reference for Babel configuration file.
---

import { Terminal } from '~/ui/components/Snippet';

Babel is used as the JavaScript compiler to transform modern JavaScript (ES6+) into a version compatible with the JavaScript engine on mobile devices.

Each new Expo project created using `npx create-expo-app` configures Babel automatically and uses [`babel-preset-expo`](https://github.com/expo/expo/tree/main/packages/babel-preset-expo) as the default preset. There is no need to create a **babel.config.js** file unless you need to customize the Babel configuration.

## Create babel.config.js

If your project requires a custom Babel configuration, you need to create the **babel.config.js** file in your project by following the steps below:

1. Navigate to the root of your project and run the following command inside a terminal. This will generate a **babel.config.js** file in the root of your project.

<Terminal cmd={['$ npx expo customize babel.config.js']} />

2. The **babel.config.js** file contains the following default configuration:

```js babel.config.js
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
};
};
```

3. If you make a change to the **babel.config.js** file, you need to restart the Metro bundler to apply the changes and use `--clear` option from Expo CLI to clear the Metro bundler cache:

<Terminal cmd={['$ npx expo start --clear']} />

## babel-preset-expo

[`babel-preset-expo`](https://github.com/expo/expo/tree/main/packages/babel-preset-expo) is the default preset used in Expo projects. It extends the default React Native preset (`@react-native/babel-preset`) and adds support for decorators, tree-shaking web libraries, and loading font icons.
Loading
Loading