[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with th
[lint] Upgrade to Prettier v3, typescript-eslint to v6 (#23544)Why --- Prettier 3 is out. Add support for it with this linter config. **Note for reviewer:** the first commit is the one with the actual changes. The rest of this PR are changes to get the linter passing (mostly autofix). How --- Update eslint-config-prettier and eslint-plugin-prettier. To address deprecation warnings, also update typescript-eslint/parser and typescript-eslint/eslint-plugin. Because of an update to typescript-eslint/parser, we need to suppress deprecation warnings (documented in a comment). Regenerated test snapshots. Due to the upgraded dependencies, typecasts and optional chaining are now auto-fixable by lint. This converts warnings into autofixes. Test Plan --- `yarn test` in the linter config. Run `expotools check --all --fix-lint --no-build --no-test --no-uniformity-check` to try this config on the whole repo. --------- Co-authored-by: Expo Bot <[email protected]>
show more ...
feat(cli): improve offline support (#22961)# Why Offline support is sometimes needed in parts of other commands besides `start`, this PR introduces an `EXPO_OFFLINE` env var which can be gener
feat(cli): improve offline support (#22961)# Why Offline support is sometimes needed in parts of other commands besides `start`, this PR introduces an `EXPO_OFFLINE` env var which can be generally used to force offline support. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - `EXPO_OFFLINE` - Show a better error message when your computer is connected to wifi but there's no signal. - Assert in `npx expo login` and `npx expo register` when `EXPO_OFFLINE` is set. - Fail better when validating versions offline. In the case of running `npx expo` without wifi: ## Before ``` june-16 nexpo Starting project at /Users/evanbacon/Documents/GitHub/lab/june-16 Starting Metro Bundler Unable to reach Expo servers. Falling back to using the cached dependency map (bundledNativeModules.json) from the package "expo" installed in your project. FetchError: request to https://api.expo.dev/v2/versions/latest failed, reason: getaddrinfo ENOTFOUND api.expo.dev FetchError: request to https://api.expo.dev/v2/versions/latest failed, reason: getaddrinfo ENOTFOUND api.expo.dev at ClientRequest.<anonymous> (/Users/evanbacon/Documents/GitHub/expo/node_modules/node-fetch/lib/index.js:1491:11) at ClientRequest.emit (node:events:513:28) at TLSSocket.socketErrorListener (node:_http_client:502:9) at TLSSocket.emit (node:events:513:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) ``` ## After ``` june-16 nexpo Starting project at /Users/evanbacon/Documents/GitHub/lab/june-16 Starting Metro Bundler Unable to reach Expo servers. Falling back to using the cached dependency map (bundledNativeModules.json) from the package "expo" installed in your project. CommandError: Network connection is unreliable. Try again with the environment variable `EXPO_OFFLINE=1` to skip network requests. ``` <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Updated tests and added new tests for things like the register command. --------- Co-authored-by: Expo Bot <[email protected]>
[cli][packages] unify the default dev server port to 8081 (#22880)# Why for historical reasons, when running `npx expo start` the dev-server listens to port 19000, and running `npx expo start --
[cli][packages] unify the default dev server port to 8081 (#22880)# Why for historical reasons, when running `npx expo start` the dev-server listens to port 19000, and running `npx expo start --dev-client` it listens to port 8081. since we are now on our effort to deprecate `--dev-client` option, it is better to unify the listening port. close ENG-8936 # How - update packages/**/*.ts for port 19000 -> 8081 - search more occurrences for 19000 to 8081 # Test Plan - ci passed - bare-expo - unversioned expo go + ncl
[cli] fix activity starting error on android 13 (#22286)# Why fix `yarn run android` does not start activity on android 13 from a bare-minimum app fix #22210 close ENG-8426 # How from an
[cli] fix activity starting error on android 13 (#22286)# Why fix `yarn run android` does not start activity on android 13 from a bare-minimum app fix #22210 close ENG-8426 # How from android 13, starting will fail if there are no explicitly matched intent-filters: https://developer.android.com/guide/components/intents-filters#match-intent-filter on an app from generated from bare-minimum template: `yarn create expo -t bare-minimum` without ever prebuilding. we will start the activity with `android.intent.action.RUN` action, but the app does not register this action and cause an error. ``` Starting: Intent { act=android.intent.action.RUN cmp=com.testapp/.MainActivity } Error type 3 Error: Activity class {com.testapp/com.testapp.MainActivity} does not exist. ``` this pr tries to remove the `android.intent.action.RUN` given that `-n package/.MainActivity` should be good enough. # Test Plan - [x] ci passed - [x] bare-minimum app on android 13 - [x] bare-minimum app on android 12 - [x] bare-minimum app after prebuild (will start with deep linking because we will generate scheme after prebuild: `adb shell am start -a android.intent.action.VIEW -d com.testapp://expo-development-client/?url=...`) - [x] npx expo run:android with expo-dev-client (`adb shell am start -a android.intent.action.VIEW -d com.testapp://expo-development-client/?url=...`) - [x] npx expo start (Expo Go case, `adb shell monkey -p host.exp.exponent -c android.intent.category.LAUNCHER 1` + `adb shell am start -a android.intent.action.VIEW -d exp://192.168.1.1:19000`)
[docs] Update references to expo install/run to npx expo install/run (#22197)# Why We should point to `npx expo *` instead of just `expo *` everywhere # How Search/replace ---------
[docs] Update references to expo install/run to npx expo install/run (#22197)# Why We should point to `npx expo *` instead of just `expo *` everywhere # How Search/replace --------- Co-authored-by: Aman Mittal <[email protected]> Co-authored-by: Bartosz Kaszubowski <[email protected]>
feat(cli): improve UNVERSIONED (internal-only) support (#20754)# Why Fail a little bit more expectedly when using Expo CLI for UNVERSIONED projects. # Test Plan - unit tests - tested aga
feat(cli): improve UNVERSIONED (internal-only) support (#20754)# Why Fail a little bit more expectedly when using Expo CLI for UNVERSIONED projects. # Test Plan - unit tests - tested against apps/test-suite Co-authored-by: Expo Bot <[email protected]>
Escape ampersands in URLs sent to adb. (#20398)# Why - applies bug found in `uri-scheme` https://github.com/expo/expo-cli/pull/4538 <!-- Please describe the motivation for this PR, and link
Escape ampersands in URLs sent to adb. (#20398)# Why - applies bug found in `uri-scheme` https://github.com/expo/expo-cli/pull/4538 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # Test Plan Added automated test Co-authored-by: Expo Bot <[email protected]>
feat(cli): reduce multi target iOS warnings (#18890)* feat(cli): handle multi-target ios app opening better * Update scheme.ts * Update clearNativeFolder.ts * Update withIosBaseMods.ts
feat(cli): reduce multi target iOS warnings (#18890)* feat(cli): handle multi-target ios app opening better * Update scheme.ts * Update clearNativeFolder.ts * Update withIosBaseMods.ts * check for pbxproj * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update scheme.ts * Update clearNativeFolder-test.ts * Update MetroBundlerDevServer-test.ts * Update MetroBundlerDevServer-test.ts * Update scheme.ts Co-authored-by: Expo Bot <[email protected]>
fix(cli): skip adb when Android SDK is missing (#19593)* fix(cli): skip adb when Android SDK is missing * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+expo-bot@us
fix(cli): skip adb when Android SDK is missing (#19593)* fix(cli): skip adb when Android SDK is missing * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update AsyncNgrok-test.ts * Update AsyncNgrok-test.ts Co-authored-by: Expo Bot <[email protected]>
fix(cli): disable API interaction when running in offline mode (#19418)* fix(cli): disable dependency validation when running in offline mode * docs(cli): add changelog entry * refactor(cli):
fix(cli): disable API interaction when running in offline mode (#19418)* fix(cli): disable dependency validation when running in offline mode * docs(cli): add changelog entry * refactor(cli): show warning about skipped dependency validation Co-authored-by: Evan Bacon <[email protected]> * fix(cli): Add support for offline mode in Expo Go installer * fix(cli): Skip fetching user when running in offline mode This will default to an anonymous user, and should skip the signed manifest part. Resulting in just being able to load the bundle. * docs(cli): update changelog entry * test(cli): drop unused CommandError import from Expo Go installer Co-authored-by: Evan Bacon <[email protected]>
[cli] catch error when launching redirect page without applicationId (#19312)
[cli] Use package / bundle id from app config or native project for launching redirect page (#19260)
[cli] ensure that development build is installed when opening interstitial page (#18836)Co-authored-by: evanbacon <[email protected]>
fix(cli): fix `npx expo start --dev-client --ios` (#18747)* fix(cli): resolve bundle identifier from `app.json` correctly when using `npx expo start --dev-client --ios` with no local `ios` director
fix(cli): fix `npx expo start --dev-client --ios` (#18747)* fix(cli): resolve bundle identifier from `app.json` correctly when using `npx expo start --dev-client --ios` with no local `ios` directory * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Expo Bot <[email protected]>
[cli] Implement getApplicationIdFromBundle fixing iOS app launch issue with SDK 46 (#18537)* [cli] Implement getApplicationIdFromBundle fixing iOS app launch issue with SDK 46 * Update AppleDevi
[cli] Implement getApplicationIdFromBundle fixing iOS app launch issue with SDK 46 (#18537)* [cli] Implement getApplicationIdFromBundle fixing iOS app launch issue with SDK 46 * Update AppleDeviceManager.ts Co-authored-by: Evan Bacon <[email protected]>
fix(cli): speed up device opening (#18385)* fix(cli): speed up device opening * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]>
fix(cli): speed up device opening (#18385)* fix(cli): speed up device opening * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Expo Bot <[email protected]>
feat(cli): add telemetry event tracking a command run (#17948)* add telemetry event tracking a command run * Ensure user authenticated * Update rudderstackClient.ts * Update rudderstackCli
feat(cli): add telemetry event tracking a command run (#17948)* add telemetry event tracking a command run * Ensure user authenticated * Update rudderstackClient.ts * Update rudderstackClient.ts * Update CHANGELOG.md
fix(cli): fix installing latest client (#18298)
chore(cli): migrate to debug package (#17084)* chore(cli): migrate to debug package * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]
chore(cli): migrate to debug package (#17084)* chore(cli): migrate to debug package * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update checkPackages.ts * Update packages/@expo/cli/src/start/platforms/android/ADBServer.ts * Update ADBServer.ts * Update activateWindow.ts * Update adb.ts * migrate new methods to debug * Update variadic.ts * Update yarn.lock Co-authored-by: Expo Bot <[email protected]>
[cli] Fix ADB device name filtering for windows (#17286)
[cli] Add ANDROID_SDK_ROOT and default SDK location support for adb (#17259)* [cli] Add ANDROID_SDK_ROOT and default SDK location support for adb * [cli] Assert and warn if the Android SDK path
[cli] Add ANDROID_SDK_ROOT and default SDK location support for adb (#17259)* [cli] Add ANDROID_SDK_ROOT and default SDK location support for adb * [cli] Assert and warn if the Android SDK path is invalid * [cli] Fix linting issues * [cli] Add Android SDK validation changelog
feat(cli): add `run:ios` command (#16662)* [wip] Added expo run:ios command * Clean up run:ios * feat(cli): add headless server mode * fix(cli): fix run:ios logic issues * Update CHANGE
feat(cli): add `run:ios` command (#16662)* [wip] Added expo run:ios command * Clean up run:ios * feat(cli): add headless server mode * fix(cli): fix run:ios logic issues * Update CHANGELOG.md * Update packages/expo/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * clean up * refine fixture * refactor and test code signing * Update resolveOptionsAsync.ts * fix merge * added new impl * Update AppleDevice.ts * Added more tests * fixed e2e tests * lint fix * Update index-test.ts Co-authored-by: Expo Bot <[email protected]>
chore(cli): deduplicate asMock helper function (#17294)
fix(cli): clean up emulator process (#17273)* fix(cli): clean up emulator process * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+expo-bot
fix(cli): clean up emulator process (#17273)* fix(cli): clean up emulator process * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Expo Bot <[email protected]>
fix(cli): prevent autocomplete from crashing (#17271)* fix(cli): prevent autocomplete from crashing * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+expo-bot@users.
fix(cli): prevent autocomplete from crashing (#17271)* fix(cli): prevent autocomplete from crashing * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Update promptAppleDevice.ts Co-authored-by: Expo Bot <[email protected]>
12