[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 ...
[cli] Add styling to SSO auth redirect completion page (#23477)
[cli] Use node server default port selection for SSO login server (#23505)
[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]>
[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]>
[cli] Add graphql-codegen (#21980)
[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
[@expo/cli] Avoid dependency on uuid (#20479)# Why Older versions of uuid is deprecated. This will start using a secure random source, and will produce one less deprecation warning when instal
[@expo/cli] Avoid dependency on uuid (#20479)# Why Older versions of uuid is deprecated. This will start using a secure random source, and will produce one less deprecation warning when installing! > [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. # How The `@expo/cli` package only used the UUID v4 function from a Node.js context, and Node.js already have a `randomUUID` function built in. # Test Plan I'm not sure, since this is used in the tests I'm hoping the CI will cover it? # Checklist - [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 `expo prebuild` & EAS Build (eg: updated a module plugin). Co-authored-by: Evan Bacon <[email protected]> Co-authored-by: Evan Bacon <[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]>
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)
fix(cli): fix type errors (#16724)* fix(cli): fix type errors * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]
fix(cli): fix type errors (#16724)* fix(cli): fix type errors * Update CHANGELOG.md * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * fix typecheck * Update yarn.lock * Update package.json * Update MetroTerminalReporter.ts Co-authored-by: Expo Bot <[email protected]>
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