Fix all failing SDK checks
[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
show more ...
[linear-gradient] simplify web code (#20611)Co-authored-by: Fernando Rojo <[email protected]>
Fix check-packages on CI broken due to enzyme removal (#19791)
Fix test snapshots after removing ViewPropTypes (#16796)
Extract react-native-web color utility into linear gradient (#16098)* Extract react-native-web color utility into linear gradient to minimize bundler setup * Update packages/expo-linear-gradient
Extract react-native-web color utility into linear gradient (#16098)* Extract react-native-web color utility into linear gradient to minimize bundler setup * Update packages/expo-linear-gradient/CHANGELOG.md Co-authored-by: Expo Bot <[email protected]> Co-authored-by: Expo Bot <[email protected]>
[LinearGradient][iOS] fix implicit locations on iOS (#15955)* [LinearGradient] fix implicit locations on iOS * docs: changelog * fix: remove default value for locations from type definition
[LinearGradient][iOS] fix implicit locations on iOS (#15955)* [LinearGradient] fix implicit locations on iOS * docs: changelog * fix: remove default value for locations from type definition * fix: build files for defaults change * fix: clarify locations property behavior * fix: update build files * Update packages/expo-linear-gradient/CHANGELOG.md Co-authored-by: Evan Bacon <[email protected]>
[linear-gradient][ios] Rewrite entire module to Swift (#15168)
[eslint-config] remove `arrowParens` overwrite, reformat files (#14232)
[eslint-config] bump dependencies and minimum required lint tools versions (#13858)Co-authored-by: James Ide <[email protected]>
Rename unimodules imports to expo-modules-core
[linear-gradient] simplify props TS types (#13594)# Why Refs #13567 This small PR simplifies and unifies a bit more the TS types for components that extend `View`. # How Change: * `Rea
[linear-gradient] simplify props TS types (#13594)# Why Refs #13567 This small PR simplifies and unifies a bit more the TS types for components that extend `View`. # How Change: * `React.ComponentProps<typeof View>` => `ViewProps` # Test Plan The change has been tested by running on the `native-component-list` app and docs website on `localhost`.
[web][linear-gradient] fix: useMemo instead of useEffect (#12625)* useMemo instead of useEffect Unless I'm missing something, the intent of the code was to only recalculate gradient/angle when s
[web][linear-gradient] fix: useMemo instead of useEffect (#12625)* useMemo instead of useEffect Unless I'm missing something, the intent of the code was to only recalculate gradient/angle when some of the props change. For that, `useMemo` is the correct way to do it. With `useMemo`, the first render already has the correct result, instead of waiting for the `useEffect` to run. This also fixes SSR. * Build package
[linear-gradient] add doc comments in source (#12618)
Revert to class component (#11111)* Revert to class component * Added animated test to NCL * Update CHANGELOG.md * Update LinearGradientScreen.tsx
[expo-linear-gradient] Add proper children prop declaration (#10227)# Why We allow `children` property on `LinearGradient` in code, but no in type. # How Wrapped props with `React.PropsWit
[expo-linear-gradient] Add proper children prop declaration (#10227)# Why We allow `children` property on `LinearGradient` in code, but no in type. # How Wrapped props with `React.PropsWithChildren`. # Test Plan TS compiled the library, no longer reported problems in NCL.
[expo-linear-gradient] Avoid unnecessary re-render of NativeLinearGradient on web (#9342)* rebase on more recent master * add comment to trigger new CI run
[linear-gradient] Migrate to functional components (#8673)* Remove index re-export * Created shim element for unsupported platforms * Convert LinearGradient to functional component * Conve
[linear-gradient] Migrate to functional components (#8673)* Remove index re-export * Created shim element for unsupported platforms * Convert LinearGradient to functional component * Convert all react imports to star imports * Unify types and add doc blocks * Update NativeLinearGradient.web.tsx * Updated build files * Updated docs for linear gradient * Update linear-gradient.md * Update CHANGELOG.md * Use nullish * Clean up function export * Apply suggestions from code review Co-authored-by: James Ide <[email protected]> * Updated docs Co-authored-by: James Ide <[email protected]>
[lint] Add React hooks support to the linter plugin (#8455)This adds support for analyzing hooks with https://www.npmjs.com/package/eslint-plugin-react-hooks. This way we are more likely to catch e
[lint] Add React hooks support to the linter plugin (#8455)This adds support for analyzing hooks with https://www.npmjs.com/package/eslint-plugin-react-hooks. This way we are more likely to catch errors regarding hooks earlier. I enabled the two rules the plugin supports with their recommended severity levels. Added test cases to the fixtures, generated snapshots, and ensured the snapshots contained the expected errors and warnings.
Delete propTypes (#8108)
[lint] Add "prefer-const" setting (#7389)* [lint] Add "prefer-const" setting See https://github.com/expo/expo/blob/master/guides/Expo%20JavaScript%20Style%20Guide.md#let-and-const which explains
[lint] Add "prefer-const" setting (#7389)* [lint] Add "prefer-const" setting See https://github.com/expo/expo/blob/master/guides/Expo%20JavaScript%20Style%20Guide.md#let-and-const which explains the overall rationale for using `const` (mainly to pick a lintable option and to reduce attention cost talking about it). Tested by adding a test case to the linter and running tests and looking at the snapshot to see that the linter autofixed let to const. * [lint] Apply let/const autofixes * Add build files
[expo] Export types (#7120)* [location] Export missing types (#7079) # Why Part of https://github.com/expo/expo/issues/7077, resolves #4422 # How Exports: - LocationTaskOptions - Regi
[expo] Export types (#7120)* [location] Export missing types (#7079) # Why Part of https://github.com/expo/expo/issues/7077, resolves #4422 # How Exports: - LocationTaskOptions - Region - LocationCallback - HeadingCallback * [expo-analytics-amplitude] Export types (#7078) * [expo-error-recovery] Export types (#7084) * [expo-background-fetch] Export types (#7081) * [expo-barcode-scanner] Export types (#7082) * [expo-gl] Export types (#7085) * [expo-image-picker] Export types (#7087) * [expo-mail-composer] Export types (#7094) * [expo-localization] Export types (#7092) * [expo-local-authentication] Export types (#7090) * [expo-intent-launcher] Export types (#7089) * [expo-in-app-purchases] Export types (#7088) * [expo-screen-orientation] Export types (#7109) * [expo-sms] Export types (#7108) * [expo-speech] Export types (#7107) * [expo-web-browser] Export types (#7106) * [expo-video-thumbnails] Export types (#7105) * [expo-blur] Export types (#7113) * [expo-camera] Export types (#7114) * [expo-linear-gradient] Export types (#7115) * [expo-sensors] Export types (#7116) * [expo-sharing] Export types (#7117) * [expo-av] Export types (#7111) * [expo-av] Export types * [expo-av] Fix CI * [expo-blur] Type prefixing * [expo] Prefix types * [expo-camera] Fix typo * [expo-error-recovery] Use record type * [expo] Apply requested changes * [expo] Rebuilt packages * [expo] Update changelog
[eslint-config-universe] Add import ordering alphabetization (#7038)
[lint] Upgrade Prettier to 1.19 and other ESLint dependenciesPrettier 1.19 has support for null coalescing, which we need for TypeScript 3.7.
[sdk36] Update jest-expo and tests for RN 0.61Gets all unit tests in `packages` passing. These are the changes:- Updates `jest-preset.js` so that it matches RN 0.61's transformIgnorePatterns- Du
[sdk36] Update jest-expo and tests for RN 0.61Gets all unit tests in `packages` passing. These are the changes:- Updates `jest-preset.js` so that it matches RN 0.61's transformIgnorePatterns- Due to a change in RN 0.61's setup script (specifically how requireNativeComponent is mocked, which now causes mounted Enzyme component trees to contain two components with the same name for native components), changed expo-blur and expo-linear-gradient's tests to use the first component node that matches the given name.- Removed the PlatformConstants mock from jest-expo's setup since RN 0.61 now does this- Removed the `NativeModules.UIManager.takeSnapshot` mock from jest-expo's setup since it appears no longer needed -- our tests all pass- Removed the `UIManager` mock from jest-expo's setup since this is now mocked out by RN 0.61's Jest preset so we don't need to worry that UIManager's implementation is not idempotent.All tests pass with `et check-packages`.
12