refactor(package-manager)!: extend the API and provide access to spawn child (#18576)# Why Fixes ENG-7545 This proposal PR changes the API of the (node) package managers, with the goal of:
refactor(package-manager)!: extend the API and provide access to spawn child (#18576)# Why Fixes ENG-7545 This proposal PR changes the API of the (node) package managers, with the goal of: - Having the right API options to install/remove packages to `dependencies`/`devDependencies`/global deps - Having access to the actual `spawnAsync` child, to pipe logs into different systems (for example in EAS build) - Allowing us to fix a couple of annoying DX issues (see follow up PRs) > This is further outlined in the Package Manager API proposal. Before merging this one, we need to merge these other PRs to not-break `main`. Any feedback on the proposal is welcome, especially while in draft. - https://github.com/expo/expo/pull/19343 - https://github.com/expo/expo/pull/19344 # How See Package Manager API proposal. # Test Plan > These changes are backward incompatible and require a new version update. This change also allowed us to implement the following fixes (all stacked PRs): - https://github.com/expo/expo/pull/19343 - https://github.com/expo/expo/pull/19344 - https://github.com/expo/expo/pull/19342 - https://github.com/expo/expo/pull/19340 - https://github.com/expo/expo/pull/19341 - https://github.com/expo/expo/pull/19764 - https://github.com/expo/expo/pull/19835 - https://github.com/expo/expo/pull/21189 # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] 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 `expo prebuild` & EAS Build (eg: updated a module plugin).
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
chore: move package manager over from expo-cli (#18551)* chore: move package manager over from expo-cli * chore: remove tsbuildinfo * chore: update package.json repository references * cho
chore: move package manager over from expo-cli (#18551)* chore: move package manager over from expo-cli * chore: remove tsbuildinfo * chore: update package.json repository references * chore: update jest.config.js settings * chore: update tsconfig.json settings * chore: update README.md to match other packages * chore: add .eslintignore * chore: add babel.config.js for jest * fix: jest test and move fs mock * fix: new linting issues * fix: cwd typing issues due to URL being possible * chore: update yarn lockfile * fix: add sourcemaps when building