Skip to content

Conversation

@robhogan
Copy link
Contributor

@robhogan robhogan commented Jan 5, 2026

Summary:
When unstable_transformProfile (either the preset option or via caller from Metro) is set to 'hermes-stable' or 'hermes-canary', infer that the target engine is Hermes V1.

For Hermes V1, we don't need to transform class syntax any more - this has been proven in production experiments.

This should improve the performance of class-intensive APIs, like Animated, reduce bundle size, and improve bundling times.

Differential Revision: D89724839

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 5, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 5, 2026

@robhogan has exported this pull request. If you are a Meta employee, you can view the originating Diff in D89724839.

facebook-github-bot pushed a commit that referenced this pull request Jan 6, 2026
…t) (#55039)

Summary:

When `unstable_transformProfile` (either the preset option or via `caller` from Metro) is set to `'hermes-stable'` or `'hermes-canary'`, infer that the target engine is Hermes V1.

For Hermes V1, we don't need to transform `class` syntax any more - this has been proven in production experiments.

This should improve the performance of class-intensive APIs, like `Animated`, reduce bundle size, and improve bundling times.

Changelog: [Internal] Disable JS class transform behind unstable_transformProfile=hermes-stable

Reviewed By: huntie

Differential Revision: D89724839
facebook-github-bot pushed a commit that referenced this pull request Jan 6, 2026
…t) (#55039)

Summary:

When `unstable_transformProfile` (either the preset option or via `caller` from Metro) is set to `'hermes-stable'` or `'hermes-canary'`, infer that the target engine is Hermes V1.

For Hermes V1, we don't need to transform `class` syntax any more - this has been proven in production experiments.

This should improve the performance of class-intensive APIs, like `Animated`, reduce bundle size, and improve bundling times.

Changelog: [Internal] Disable JS class transform behind unstable_transformProfile=hermes-stable

Reviewed By: huntie

Differential Revision: D89724839
…t) (#55039)

Summary:

When `unstable_transformProfile` (either the preset option or via `caller` from Metro) is set to `'hermes-stable'` or `'hermes-canary'`, infer that the target engine is Hermes V1.

For Hermes V1, we don't need to transform `class` syntax any more - this has been proven in production experiments.

This should improve the performance of class-intensive APIs, like `Animated`, reduce bundle size, and improve bundling times.

Changelog: [Internal] Disable JS class transform behind unstable_transformProfile=hermes-stable

Reviewed By: huntie

Differential Revision: D89724839
@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @robhogan in f654168

When will my fix make it into a release? | How to file a pick request?

@react-native-bot react-native-bot added the Merged This PR has been merged. label Jan 7, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 7, 2026

This pull request has been merged in f654168.

@facebook-github-bot
Copy link
Contributor

This pull request has been reverted by 1236b6b.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner Reverted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants