Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diff between wp-fork branch and main repo's default branch #3

Draft
wants to merge 105 commits into
base: trunk-2.9.1
Choose a base branch
from

Conversation

ceyhun
Copy link

@ceyhun ceyhun commented Jun 22, 2021

Bump React Native version (updated by @fluiddot )

Check the following instructions for updating the RN version: #3 (comment)

Tweaks applied to the fork

  • GitHub workflow
    • Point to trunk branch instead of main.
  • Podspec file
    • Set React Native version manually and remove logic for calculating.
    • Change source to point to the forked repository.
  • android-npm
    • Add build.gradle file to publish the Android binaries.
  • android/build.gradle
    • Update the Gradle plugin version.
    • Update Sdk versions.
    • Change repositories to use our React Native mirror Maven repository (only when publishing the binaries).
    • Update dependencies to use a specific React Native (only when publishing the binaries).
  • android/gradle.properties
    • Update settings for Jitpack
  • Gradle wrapper
    • Use a different version.
  • android/settings.gradle
    • Use Kotlin version.
  • createNPMPackage script
    • Update the script to use a specific React Native version and enable Hermes.
  • Add Jitpack configuration.
  • Add Jest utils patch (probably could be removed in the future).

@geriux geriux mentioned this pull request Aug 11, 2022
6 tasks
Gerardo and others added 23 commits August 24, 2022 16:49
Update wp-fork to version `2.9.1`
Update `trunk` with upstream version `2.9.1`
Upgrade compile and target sdk version to Android API 31
# Conflicts:
#	android-npm/expo/linking.gradle
#	android/build.gradle
#	package.json
#	react-native-reanimated-2.4.1-wp-4.tgz
…nneeded code comparing the changes from the original repo's file in 2.9.1.
Updates createNPMPackage.sh to fix an issue after merge
Upgrade compile and target sdk version to Android API 31 (version 2.9.1)
…n#3559)

Reanimated is not fully compatible with Jest 28+ even after the PR software-mansion#3347. Using it with Jest 28+ leads to this error:

<img width="796" alt="Ekran Resmi 2022-09-10 15 00 33" src="https://user-images.githubusercontent.com/22980987/189482337-cc2655f6-9463-4a05-9998-5fc3592f5cc0.png">

The reason is, the "expect" module's export approach has changed starting from Jest 28. It used to export the `expect` function directly, as can be seen [here](https://github.com/facebook/jest/blob/v27.5.1/packages/expect/src/index.ts#L441).

This means, requiring the "expect" module like this

```ts
const expect = require('expect')
```

was providing direct access to the `expect` function alongside with its attached methods, like `extend`.

This has [changed with Jest 28](https://github.com/facebook/jest/blob/v28.0.0/packages/expect/src/index.ts#L449). `export default expect` is the new export statement, which means requiring the "expect" package returns the module object, instead of the function.

software-mansion#3347 PR attempts to fix this error by assuming "expect" package should throw an error with Jest 28 and it can catch that and require the "expect" from the `@jest/globals` package for Jest 28+ project but it's not the case in reality. "expect" package is still shipped with Jest 28, so, requiring it doesn't throw an error as expected in the PR.

By knowing the export difference, I checked if the value of the module is object or not after requiring it. If it's an object, it means user is on Jest 28+ codebase. The rest is the same with the previous PR. I require the "expect" function from `@jest/globals` and use it.

Tested on Jest 29 and Jest 27.5.1

Fixes software-mansion#3553 and software-mansion#3215.
Upgrade compile and target sdk version to Android API 33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.