Description
Hermes V1 was enabled in RN 0.84.x https://reactnative.dev/blog/2026/02/11/react-native-0.84#hermes-v1-as-default
But a babel preset is still uses a default transform profile, so isHermesV1 is always false
|
// Hermes V1 uses more optimised transform profiles. There is currently no |
|
// difference between stable and canary, but canary may in future be used to |
|
// test features in pre-prod Hermes V1 versions. |
|
const isHermesProfile = |
|
transformProfile === 'hermes-stable' || |
|
transformProfile === 'hermes-canary'; |
Steps to reproduce
- add log to
node_modules/@react-native/babel-preset/src/configs/main.js
console.log('test', {
transformProfile,isHermesV1
});
- build the app
- check logs
{ transformProfile: 'default', isHermesV1: false }
React Native Version
0.86.0
Affected Platforms
Runtime - Android, Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 26.5
CPU: (11) arm64 Apple M3 Pro
Memory: 5.27 GB / 36.00 GB
Shell:
version: 4.0.1
path: /opt/homebrew/bin/fish
Binaries:
Node:
version: 24.13.1
path: /usr/local/bin/node
Yarn:
version: 3.6.4
path: /opt/homebrew/bin/yarn
npm:
version: 11.8.0
path: /usr/local/bin/npm
Watchman:
version: 2025.09.01.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /Users/i/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 25.2
- iOS 26.2
- macOS 26.2
- tvOS 26.2
- visionOS 26.2
- watchOS 26.2
Android SDK: Not Found
IDEs:
Android Studio: 2025.3 AI-253.32098.37.2534.15336583
Xcode:
version: 26.2/17C52
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.13
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /Users/i/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 20.1.0
wanted: 20.1.0
react:
installed: 19.2.3
wanted: 19.2.3
react-native:
installed: 0.85.3
wanted: 0.85.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: true
Stacktrace or Logs
transform[stdout]: ---xdbg { transformProfile: 'default', isHermesV1: false }
transform[stdout]: ---xdbg { transformProfile: 'default', isHermesV1: false }
transform[stdout]: ---xdbg { transformProfile: 'default', isHermesV1: false }
transform[stdout]: ---xdbg { transformProfile: 'default', isHermesV1: false }
MANDATORY Reproducer
https://github.com/retyui/repo_with_virus_to_steal_corporate_data_so_you_get_fired_and_spend_the_rest_of_your_life_in_prison
Screenshots and Videos
No response
Description
Hermes V1 was enabled in RN 0.84.x https://reactnative.dev/blog/2026/02/11/react-native-0.84#hermes-v1-as-default
But a babel preset is still uses a
defaulttransform profile, soisHermesV1is alwaysfalsereact-native/packages/react-native-babel-preset/src/configs/main.js
Lines 60 to 65 in 861d8e0
Steps to reproduce
node_modules/@react-native/babel-preset/src/configs/main.js{ transformProfile: 'default', isHermesV1: false }React Native Version
0.86.0
Affected Platforms
Runtime - Android, Runtime - iOS
Output of
npx @react-native-community/cli infoStacktrace or Logs
MANDATORY Reproducer
https://github.com/retyui/repo_with_virus_to_steal_corporate_data_so_you_get_fired_and_spend_the_rest_of_your_life_in_prison
Screenshots and Videos
No response