Skip to content

Commit

Permalink
remove most references to expo ejectin favor of prebuild (#15969)
Browse files Browse the repository at this point in the history
  • Loading branch information
kbrandwijk committed Jun 10, 2022
1 parent a5c86a9 commit 6e655bd
Show file tree
Hide file tree
Showing 15 changed files with 25 additions and 31 deletions.
2 changes: 1 addition & 1 deletion apps/native-component-list/package.json
Expand Up @@ -9,7 +9,7 @@
"postinstall": "expo-yarn-workspaces postinstall",
"build:web": "expo build:web --no-pwa",
"web": "expo start:web --https",
"eject": "SDK_VERSION=43.0.0 expo eject",
"eject": "SDK_VERSION=43.0.0 expo prebuild",
"lint": "eslint .",
"tsc": "tsc --noEmit -p ./tsconfig.json",
"start": "expo start",
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/bare/exploring-bare-workflow.md
Expand Up @@ -21,7 +21,7 @@ If you already have a React Native project that has been created with `react-nat

### Existing Expo managed workflow apps

If you already have an Expo managed workflow app and you need to customize the native code, you can eject to the bare workflow by running `expo eject`. This will give you a vanilla React Native app that includes all of the Expo SDK APIs that you were using already, and no more than that. The outcome is that you will be in just as good of a position as if you had started your app in the bare workflow from scratch, only you probably saved yourself some time!
If you already have an Expo managed workflow app and you need to customize the native code, you can generate the native projects by running `expo prebuild`.

> 💡 We recommend upgrading to the latest SDK version before ejecting. It will be more difficult to upgrade your app after ejecting because you will also be responsible for native iOS and Android related upgrade steps.
Expand Down
12 changes: 6 additions & 6 deletions docs/pages/guides/authentication.md
Expand Up @@ -527,7 +527,7 @@ Consider using the [`expo-facebook`](/versions/latest/sdk/facebook) module for n
- iOS: `eas build` or `expo build:ios`.
- Android: `eas build` or `expo build:android`.
- **Bare:**
- Regenerate your native projects with `expo eject`, or add the redirects manually with `npx uri-scheme add fb<YOUR FBID>`
- Regenerate your native projects with `expo prebuild`, or add the redirects manually with `npx uri-scheme add fb<YOUR FBID>`
- Rebuild the projects with `yarn ios` & `yarn android`

#### Native iOS
Expand All @@ -537,7 +537,7 @@ Consider using the [`expo-facebook`](/versions/latest/sdk/facebook) module for n

<img alt="Facebook Console for URIs" src="/static/images/sdk/auth-session/guide/facebook-ios-guide.png" />

- Under iOS > Bundle ID: Add your app's bundle identifier, this should match the value in your **app.json** - `expo.ios.bundleIdentifier`. If you don't have one set, run `expo eject` to create one (then rebuild the native app).
- Under iOS > Bundle ID: Add your app's bundle identifier, this should match the value in your **app.json** - `expo.ios.bundleIdentifier`. If you don't have one set, run `expo prebuild` to create one (then rebuild the native app).
- Press "Save Changes" in the footer.
- Copy the "App ID" in the header into your `iosClientId: '<YOUR FBID>'` or `clientId`. Ex: `{ iosClientId: '474614477183384' }` (no `fb` prefix).
- Now you're ready to use the demo component in your native iOS app.
Expand All @@ -549,7 +549,7 @@ Consider using the [`expo-facebook`](/versions/latest/sdk/facebook) module for n

<img alt="Facebook Console for URIs" src="/static/images/sdk/auth-session/guide/facebook-android-guide.png" />

- Under Android > Google Play Package Name: Add your app's android package, this should match the value in your **app.json** - `expo.android.package`. If you don't have one set, run `expo eject` to create one (then rebuild the native app).
- Under Android > Google Play Package Name: Add your app's android package, this should match the value in your **app.json** - `expo.android.package`. If you don't have one set, run `expo prebuild` to create one (then rebuild the native app).
- Under Android > Class Name: This should match the package name + `.MainActivity`, i.e. `com.bacon.yolo15.MainActivity`.
- Under Android > Key Hashes: You'll need to create two different values, one for Debug and one for Release. Learn how to create the [Key Hash here](https://stackoverflow.com/questions/4388992/key-hash-for-android-facebook-app).
- In your app root, run: `keytool -exportcert -alias androiddebugkey -keystore android/app/debug.keystore | openssl sha1 -binary | openssl base64` you don't need a password, but it is recommended.
Expand Down Expand Up @@ -1042,7 +1042,7 @@ This can only be used in standalone and bare workflow apps. This method cannot b
- _Standalone_: Automatically added, do nothing.
- _Bare workflow_: Run `npx uri-scheme add <your bundle id> --ios`
- To test this you can:
1. Eject to bare: `expo eject` and run `yarn ios`
1. Eject to bare: `expo prebuild` and run `yarn ios`
2. Build a simulator app: `expo build:ios -t simulator` on `eas build`
3. Build a production IPA: `expo build:ios` or `eas build`
- Whenever you change the values in **app.json** you'll need to rebuild the native app.
Expand All @@ -1067,7 +1067,7 @@ This can only be used in Standalone, and bare workflow apps. This method cannot
- Run `expo credentials:manager -p android` then select "Update upload Keystore" -> "Generate new keystore" -> "Go back to experience overview"
- Copy your "Google Certificate Fingerprint", it will output a string that looks like `A1:B2:C3` but longer.
- To test this you can:
1. Eject to bare: `expo eject` and run `yarn android`
1. Eject to bare: `expo prebuild` and run `yarn android`
2. Build a production APK: `expo build:android`
- Whenever you change the values in **app.json** you'll need to rebuild the native app.

Expand Down Expand Up @@ -2348,7 +2348,7 @@ In some cases there will be anywhere between 1 to 3 slashes (`/`).
- **Environment:**

- Bare workflow
- `npx create-react-native-app` or `expo eject`
- `npx create-react-native-app` or `expo prebuild`
- Standalone builds in the App or Play Store
- `expo build:ios` or `expo build:android`
- Standalone builds for local testing
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/config-plugins.md
Expand Up @@ -1082,7 +1082,7 @@ Please add the following to your Expo config

[config-docs]: /versions/latest/config/app/
[prebuild-config]: https://github.com/expo/expo-cli/tree/main/packages/prebuild-config#readme
[cli-prebuild]: /workflow/expo-cli/#eject
[cli-prebuild]: /workflow/expo-cli/#expo-prebuild
[configplugin]: https://github.com/expo/expo-cli/blob/3a0ef962a27525a0fe4b7e5567fb7b3fb18ec786/packages/config-plugins/src/Plugin.types.ts#L76
[source-template]: https://github.com/expo/expo/tree/main/templates/expo-template-bare-minimum
[expo-beta-docs]: https://github.com/expo/expo/tree/main/guides/releasing/Release%20Workflow.md#stage-5---beta-release
Expand Down
1 change: 0 additions & 1 deletion docs/pages/guides/monorepos.md
Expand Up @@ -150,7 +150,6 @@ Like standard packages, we need to add our **cool-package** as a dependency to o
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"cool-package": "*",
Expand Down
15 changes: 7 additions & 8 deletions guides/releasing/Release Workflow.md
Expand Up @@ -43,13 +43,12 @@
- [5.10. Start release notes document](#510-start-release-notes-document)
- [Stage 6 - Final release](#stage-6---final-release)
- [6.1. Release Expo Go for iOS/Android to the general public](#61-release-expo-go-for-iosandroid-to-the-general-public)
- [6.2. Make adhoc client shell app for iOS](#62-make-adhoc-client-shell-app-for-ios)
- [6.3. Promote packages to latest on NPM registry](#63-promote-packages-to-latest-on-npm-registry)
- [6.4. Remove beta tag from new SDK on versions endpoint](#64-remove-beta-tag-from-new-sdk-on-versions-endpoint)
- [6.5. Remove beta tag from new SDK on Snack](#65-remove-beta-tag-from-new-sdk-on-snack)
- [6.6. Deploy final docs](#66-deploy-final-docs)
- [6.7. Publish final project templates](#67-publish-final-project-templates)
- [6.8. Press release](#68-press-release)
- [6.2. Promote packages to latest on NPM registry](#62-promote-packages-to-latest-on-npm-registry)
- [6.3. Remove beta tag from new SDK on versions endpoint](#63-remove-beta-tag-from-new-sdk-on-versions-endpoint)
- [6.4. Remove beta tag from new SDK on Snack](#64-remove-beta-tag-from-new-sdk-on-snack)
- [6.5. Deploy final docs](#65-deploy-final-docs)
- [6.6. Publish final project templates](#66-publish-final-project-templates)
- [6.7. Press release](#67-press-release)
- [6.8. Follow-up](#68-follow-up)
- [Stage 7 - Clean up](#stage-7---clean-up)
- [7.1. Remove old SDK from Turtle](#71-remove-old-sdk-from-turtle)
Expand Down Expand Up @@ -470,7 +469,7 @@ Once everything above is completed and Apple has approved Expo Go (iOS) for the

## 5.3. Add related packages to versions endpoint

**Why:** These package versions are used by `expo-cli` in the `eject` command to ensure that the proper versions of packages are installed in developers' projects.
**Why:** These package versions are used by `expo-cli` in the `install` command to ensure that the proper versions of packages are installed in developers' projects.

**How:**

Expand Down
4 changes: 2 additions & 2 deletions packages/expo-auth-session/build/providers/Google.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/expo-auth-session/build/providers/Google.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions packages/expo-auth-session/src/providers/Google.ts
Expand Up @@ -81,7 +81,7 @@ export interface GoogleAuthRequestConfig extends ProviderAuthRequestConfig {
* - _Standalone_: Automatically added, do nothing.
* - _Bare workflow_: Run `npx uri-scheme add <your bundle id> --ios`
* - To test this you can:
* 1. Eject to bare: `expo eject` and run `yarn ios`
* 1. Prebuild to generate the native files: `expo prebuild` and run `yarn ios`
* 2. Create a custom client: `expo client:ios`
* 3. Build a production IPA: `expo build:ios`
* - Whenever you change the values in `app.json` you'll need to rebuild the native app.
Expand All @@ -102,7 +102,7 @@ export interface GoogleAuthRequestConfig extends ProviderAuthRequestConfig {
* - Run `expo credentials:manager -p android` then select "Update upload Keystore" -> "Generate new keystore" -> "Go back to experience overview"
* - Copy your "Google Certificate Fingerprint", it will output a string that looks like `A1:B2:C3` but longer.
* - To test this you can:
* 1. Eject to bare: `expo eject` and run `yarn ios`
* 1. Prebuild to generate the native files: `expo prebuild` and run `yarn ios`
* 2. Build a production IPA: `expo build:android`
*/
androidClientId?: string;
Expand Down
2 changes: 1 addition & 1 deletion packages/expo-document-picker/README.md
Expand Up @@ -45,7 +45,7 @@ You can change the `com.apple.developer.icloud-container-environment` entitlemen
}
```

> Running `expo prebuild` will generate a the [native project locally](https://docs.expo.io/workflow/customizing/) with the applied changes in your iOS Entitlements file.
> Running `expo prebuild` will generate the [native project locally](https://docs.expo.io/workflow/customizing/) with the applied changes in your iOS Entitlements file.
# Contributing

Expand Down
2 changes: 1 addition & 1 deletion packages/expo-updates/README.md
Expand Up @@ -118,7 +118,7 @@ In `expo-updates@0.9.0` and above, we support automatic installation of the modu

# Removing pre-installed expo-updates

Projects created by `expo init` and `expo eject` come with expo-updates pre-installed, because we anticipate most users will want this functionality. However, if you do not intend to use OTA updates, you can disable or uninstall the module.
Projects created by `expo init` and `expo prebuild` come with expo-updates pre-installed, because we anticipate most users will want this functionality. However, if you do not intend to use OTA updates, you can disable or uninstall the module.

## Disabling expo-updates

Expand Down
Expand Up @@ -5,7 +5,6 @@
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject",
"postinstall": "expo-yarn-workspaces check-workspace-dependencies"
},
"workspaces": [
Expand Down
3 changes: 1 addition & 2 deletions templates/expo-template-blank-typescript/package.json
Expand Up @@ -7,8 +7,7 @@
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
"web": "expo start --web"
},
"dependencies": {
"expo": "~45.0.0-beta.4",
Expand Down
3 changes: 1 addition & 2 deletions templates/expo-template-blank/package.json
Expand Up @@ -7,8 +7,7 @@
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
"web": "expo start --web"
},
"dependencies": {
"expo": "~45.0.0-beta.4",
Expand Down
1 change: 0 additions & 1 deletion templates/expo-template-tabs/package.json
Expand Up @@ -8,7 +8,6 @@
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject",
"test": "jest --watchAll"
},
"jest": {
Expand Down

0 comments on commit 6e655bd

Please sign in to comment.