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

Add version property to worklets for Reanimated plugin version verification #4370

Merged
merged 6 commits into from
Apr 18, 2023

Conversation

tjzel
Copy link
Contributor

@tjzel tjzel commented Apr 17, 2023

Summary

This PR modifies the way we verify if there is no mismatch between versions of Reanimated and Reanimated Babel plugin (for eg. when metro cache was not reset).

  • Added __version prop to every worklet in DEV.
  • Added version checking in runtime.
  • Added global variable to ensure error for the mismatch is logged only once.
  • Removed old checkPluginVersion.ts and moved checkCppVersion.ts back to checkVersion.ts.
  • Changed plugin's code and jest tests accordingly.

Test plan

  1. Run yarn jest.
  2. Make a DEV bundle to confirm __version prop appears on worklets.
  3. Make a production to bundle to confirm it doesn't appear there.
  4. Build ExampleApp and fiddle with jsVersion.ts to confirm that it's working.

removed plugin version check
moved cpp version check back to original file
modified tests and plugin to be able to run tests
__tests__/plugin.test.js Outdated Show resolved Hide resolved
__tests__/plugin.test.js Outdated Show resolved Hide resolved
plugin/src/makeWorklet.ts Outdated Show resolved Hide resolved
plugin/src/buildWorkletString.ts Outdated Show resolved Hide resolved
src/reanimated2/globals.d.ts Outdated Show resolved Hide resolved
src/reanimated2/shareables.ts Outdated Show resolved Hide resolved
__tests__/plugin.test.js Outdated Show resolved Hide resolved
src/reanimated2/platform-specific/checkVersion.ts Outdated Show resolved Hide resolved
__tests__/versionCheck.test.js Outdated Show resolved Hide resolved
plugin/src/makeWorklet.ts Outdated Show resolved Hide resolved
src/reanimated2/shareables.ts Outdated Show resolved Hide resolved
src/reanimated2/shareables.ts Outdated Show resolved Hide resolved
src/reanimated2/platform-specific/checkVersion.ts Outdated Show resolved Hide resolved
@tjzel tjzel added this pull request to the merge queue Apr 18, 2023
Merged via the queue into main with commit aa2d87f Apr 18, 2023
2 checks passed
@tjzel tjzel deleted the @tjzel/plugin-cache-versioning branch April 18, 2023 15:29
tjzel added a commit that referenced this pull request Apr 18, 2023
<!-- Thanks for submitting a pull request! We appreciate you spending
the time to work on these changes. Please follow the template so that
the reviewers can easily understand what the code changes affect. -->

## Summary

This PR is adding a commit missed in #4370 .

## Test plan

<!-- Provide a minimal but complete code snippet that can be used to
test out this change along with instructions how to run it and a
description of the expected behavior. -->
fluiddot pushed a commit to wordpress-mobile/react-native-reanimated that referenced this pull request Jun 5, 2023
…cation (software-mansion#4370)

## Summary

This PR modifies the way we verify if there is no mismatch between
versions of Reanimated and Reanimated Babel plugin (for eg. when metro
cache was not reset).

- Added `__version` prop to every worklet in DEV.
- Added version checking in runtime.
- Added global variable to ensure error for the mismatch is logged only
once.
- Removed old `checkPluginVersion.ts` and moved `checkCppVersion.ts`
back to `checkVersion.ts`.
- Changed plugin's code and jest tests accordingly.

## Test plan

0. Run `yarn jest`.
1. Make a DEV bundle to confirm `__version` prop appears on worklets.
2. Make a production to bundle to confirm it doesn't appear there.
3. Build ExampleApp and fiddle with `jsVersion.ts` to confirm that it's
working.
fluiddot pushed a commit to wordpress-mobile/react-native-reanimated that referenced this pull request Jun 5, 2023
<!-- Thanks for submitting a pull request! We appreciate you spending
the time to work on these changes. Please follow the template so that
the reviewers can easily understand what the code changes affect. -->

## Summary

This PR is adding a commit missed in software-mansion#4370 .

## Test plan

<!-- Provide a minimal but complete code snippet that can be used to
test out this change along with instructions how to run it and a
description of the expected behavior. -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants