chore(cli): delete @expo/dev-server (#24272)# Why - I tried this before but the logs endpoint was blocking it. - I forked the dev server when I wrote the original `expo/cli`, been meaning to d
chore(cli): delete @expo/dev-server (#24272)# Why - I tried this before but the logs endpoint was blocking it. - I forked the dev server when I wrote the original `expo/cli`, been meaning to delete the original for a while. The duplicate code and indirection is making the new server features harder to implement. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Copy/paste remaining code from `@expo/dev-server` in to `@expo/cli`. - Delete `@expo/dev-server`. - Drop unused `/logs` and json parser middleware. - Drop logging mocks. - Drop experimental Webpack native support. - Drop legacy react-native middleware support (no longer needed since everything is versioned). <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Tests should keep passing. - Need to do some actual runs since there aren't any e2e tests for various parts of dev-server. <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]>
show more ...
fix(cli): fix webpack dev server reload socket command. (#24208)# Why - fix https://github.com/expo/expo/issues/21994 <!-- Please describe the motivation for this PR, and link to relevant Gi
fix(cli): fix webpack dev server reload socket command. (#24208)# Why - fix https://github.com/expo/expo/issues/21994 <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How <!-- How did you build this feature or fix this bug and why? --> # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]>
feat(cli): Add metro favicon middleware (#23072)# Why - Expo Webpack had support and this was a nice feature. <!-- Please describe the motivation for this PR, and link to relevant GitHub is
feat(cli): Add metro favicon middleware (#23072)# Why - Expo Webpack had support and this was a nice feature. <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> # How - Add middleware in development for `/favicon.ico` which generates a favicon based on the config in `app.json` `web.favicon` <!-- How did you build this feature or fix this bug and why? --> # Test Plan - Added tests. They're not fully exhaustive and don't cover the `single` export case. <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [ ] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Expo Bot <[email protected]>
[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
feat(cli): add `export:web` command (#17363)* feat(cli): add `export:web` command * Update index-test.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <34669131+expo-bo
feat(cli): add `export:web` command (#17363)* feat(cli): add `export:web` command * Update index-test.ts * Update packages/@expo/cli/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> * Clean up and test Update exportWebAsync.ts * remove webpack-dev-server dep * Generalize progress bar CI check * use progress bar wrapper everywhere 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