[cli] Add support for SSO user type and log in with SSO (#22945)
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]>
show more ...
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packag
[2/3] upgrade react native 0.71 (#20832)# Why follow up #20799 for react-native 0.71 upgrade. this pr aims for jest upgrade and fix all broken tests. close ENG-7192 # How - upgrade packages - `jest: ^26.0.24 -> ^29.2.1` - `jest-watch-typeahead: 0.6.4 -> 2.2.1` - `@types/jest: ^26.0.24 -> ^29.2.1` - `babel-jest: ^26.6.3 -> ^29.2.1` - `@jest/create-cache-key-function: ^27.0.1 -> ^29.2.1` - `@babel/preset-env: ^7.12.9 -> ^7.14.0` - `eslint: ^8.20.0 -> ^8.29.0` - add `jest-environment-jsdom` because new jest does not include it by default - [core] fix `SyntheticPlatformEmitter` type error. originally it refers to `react-native/Libraries/EventEmitter/RCTDeviceEventEmitter` internal file which has incorrect type setup in 0.71. we could use the `react-native.DeviceEventEmitter` instead. - [expo-linking]: remove the deprecated `Linking.removeEventListener` (which is also removed from upstream) - [firebase-recaptcha] remove broken web test because firebase ESM which is not supported by jest. this pr simply remove the test case because the package is deprecated. - [jest-expo-enzyme] remove this package and move to [the archived repo](https://github.com/expo/jest-expo-enzyme). enzyme cannot upgrade to jest 29. - remove `@types/react-native` and the versioned cli package check. because 0.71 ships the types directly. - [ncl] workaround `@react-native-community/slider`, `@react-native-segmented-control/segmented-control`, and `@react-native-masked-view/masked-view` type errors in the `react-native-71-fix.d.ts`. - for other details, please check the commit histories one by one. # Test Plan - ci passed - for test-suite ios ci error, i've mentioned in #20799
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]>
chore(cli): deduplicate asMock helper function (#17294)
chore(cli): reduce mocking (#17046)* chore(cli): reduce mocking chore(cli): add `Log` object for easier import/export * Update cocoapods.ts * Update packages/@expo/cli/CHANGELOG.md Co-a
chore(cli): reduce mocking (#17046)* chore(cli): reduce mocking chore(cli): add `Log` object for easier import/export * Update cocoapods.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Expo Bot <[email protected]>
feat(cli): add development code signing (#16845)
chore: refactor `expo/cli` to `@expo/cli` package (#16717)* chore: refactor `expo/cli` to `@expo/cli` package * Update CODEOWNERS * fix linking * fix lint script * fix build file * f
chore: refactor `expo/cli` to `@expo/cli` package (#16717)* chore: refactor `expo/cli` to `@expo/cli` package * Update CODEOWNERS * fix linking * fix lint script * fix build file * fix e2e tests * lint before build * use mock version